aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorverytable <verytable@yandex-team.com>2022-09-18 11:31:09 +0300
committerverytable <verytable@yandex-team.com>2022-09-18 11:31:09 +0300
commit93d91eedd7b2f27f2878fa7d3d026d99b8e1d6b2 (patch)
tree57ece98a6385e58165e88a88a8736143efbe626d
parent9f7e9f2f762bf8fb187d2066336faaf0629ae3e7 (diff)
downloadydb-93d91eedd7b2f27f2878fa7d3d026d99b8e1d6b2.tar.gz
[vendor] Add github.com/itchyny/gojq.
``` ya tool yo get github.com/itchyny/gojq go: downloading github.com/itchyny/gojq v0.12.9 go: downloading github.com/itchyny/timefmt-go v0.1.4 go: downloading github.com/mattn/go-isatty v0.0.16 go: downloading golang.org/x/sys v0.0.0-20220829200755-d48e67d00261 go: added github.com/itchyny/gojq v0.12.9 go: added github.com/itchyny/timefmt-go v0.1.4 go: upgraded github.com/mattn/go-isatty v0.0.14 => v0.0.16 go: upgraded golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d => v0.0.0-20220829200755-d48e67d00261 ``` Тесты: ``` ya make -t -A ./vendor/github.com/itchyny/gojq Total 2 suites: 2 - GOOD Total 905 tests: 905 - GOOD Ok ``` Для двух тестов, использовавших локальные файлы добавил `TEST_CWD`.
-rw-r--r--contrib/restricted/boost/align/include/boost/align/align_up.hpp27
-rw-r--r--contrib/restricted/boost/align/include/boost/align/detail/align_up.hpp28
-rw-r--r--contrib/restricted/boost/align/include/boost/align/detail/not_pointer.hpp27
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp133
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp151
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/async_result.hpp223
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp1042
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp292
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp1759
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/datagram_socket_service.hpp468
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp40
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp32
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp47
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp818
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp546
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp127
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp68
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp192
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp85
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp94
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp114
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp151
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp62
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp220
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp268
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp50
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp85
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp86
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp41
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp82
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp93
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp70
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp67
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp101
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp54
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp237
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp45
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp57
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp242
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp558
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp97
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp333
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp120
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp93
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp448
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp91
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp789
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp167
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp360
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp95
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp568
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp76
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp126
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp61
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp48
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp86
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp48
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp302
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp156
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp573
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp102
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp335
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp96
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp199
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp3573
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp178
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp120
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp179
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp47
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp103
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp78
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp105
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp556
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp801
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp86
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp138
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp152
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp59
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp631
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp84
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp86
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp128
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp72
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp244
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/limits.hpp26
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp64
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp72
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp50
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp45
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp102
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp49
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp61
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp66
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp70
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp71
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp510
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp62
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp69
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp70
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp173
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp216
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp164
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp40
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp91
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp164
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp120
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp82
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp78
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp87
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp66
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp111
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp81
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp92
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp219
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp115
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp137
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp140
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp134
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp136
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp132
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp528
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp513
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp92
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp32
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactor_fwd.hpp42
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp67
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp170
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp106
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp124
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp47
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp136
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp147
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp142
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp215
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp80
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp42
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp103
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp89
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp48
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp240
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp166
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp46
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp49
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp100
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp339
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp318
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp93
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp418
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp64
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp54
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp178
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp64
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp72
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp75
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp83
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp73
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp144
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp62
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp44
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp91
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp123
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp55
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp70
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp68
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp71
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp119
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp47
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp153
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp151
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp92
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp75
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp330
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp123
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp98
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp299
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp129
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp119
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp127
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp120
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp113
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp601
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp593
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp36
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp123
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp80
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp76
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp149
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp81
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp126
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp126
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp296
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp67
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp120
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp200
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp94
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp114
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp105
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp243
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp361
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp108
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp130
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp74
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp293
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/error.hpp361
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp413
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp172
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp83
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp56
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp87
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/handler_type.hpp52
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp130
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp109
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp84
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp54
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp347
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp176
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/post.hpp79
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp36
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp75
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp87
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/io_context.hpp878
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp386
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/io_service.hpp35
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp262
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp331
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp338
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp50
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp265
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp1020
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp115
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp194
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp246
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp313
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp141
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp201
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp44
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp69
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp236
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp69
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp212
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp69
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp352
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp45
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp56
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp131
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp45
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/resolver_service.hpp202
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp113
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp48
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/post.hpp109
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp561
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/system_context.hpp80
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp131
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp88
-rw-r--r--contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp58
-rw-r--r--contrib/restricted/boost/boost/log/attributes.hpp38
-rw-r--r--contrib/restricted/boost/boost/log/attributes/attribute.hpp191
-rw-r--r--contrib/restricted/boost/boost/log/attributes/attribute_cast.hpp74
-rw-r--r--contrib/restricted/boost/boost/log/attributes/attribute_name.hpp185
-rw-r--r--contrib/restricted/boost/boost/log/attributes/attribute_set.hpp514
-rw-r--r--contrib/restricted/boost/boost/log/attributes/attribute_value.hpp380
-rw-r--r--contrib/restricted/boost/boost/log/attributes/attribute_value_impl.hpp137
-rw-r--r--contrib/restricted/boost/boost/log/attributes/attribute_value_set.hpp480
-rw-r--r--contrib/restricted/boost/boost/log/attributes/clock.hpp95
-rw-r--r--contrib/restricted/boost/boost/log/attributes/constant.hpp122
-rw-r--r--contrib/restricted/boost/boost/log/attributes/counter.hpp118
-rw-r--r--contrib/restricted/boost/boost/log/attributes/current_process_id.hpp67
-rw-r--r--contrib/restricted/boost/boost/log/attributes/current_process_name.hpp71
-rw-r--r--contrib/restricted/boost/boost/log/attributes/current_thread_id.hpp109
-rw-r--r--contrib/restricted/boost/boost/log/attributes/fallback_policy.hpp186
-rw-r--r--contrib/restricted/boost/boost/log/attributes/fallback_policy_fwd.hpp48
-rw-r--r--contrib/restricted/boost/boost/log/attributes/function.hpp170
-rw-r--r--contrib/restricted/boost/boost/log/attributes/mutable_constant.hpp332
-rw-r--r--contrib/restricted/boost/boost/log/attributes/named_scope.hpp474
-rw-r--r--contrib/restricted/boost/boost/log/attributes/scoped_attribute.hpp253
-rw-r--r--contrib/restricted/boost/boost/log/attributes/time_traits.hpp81
-rw-r--r--contrib/restricted/boost/boost/log/attributes/timer.hpp83
-rw-r--r--contrib/restricted/boost/boost/log/attributes/value_extraction.hpp816
-rw-r--r--contrib/restricted/boost/boost/log/attributes/value_extraction_fwd.hpp62
-rw-r--r--contrib/restricted/boost/boost/log/attributes/value_visitation.hpp372
-rw-r--r--contrib/restricted/boost/boost/log/attributes/value_visitation_fwd.hpp45
-rw-r--r--contrib/restricted/boost/boost/log/common.hpp41
-rw-r--r--contrib/restricted/boost/boost/log/core.hpp28
-rw-r--r--contrib/restricted/boost/boost/log/core/core.hpp329
-rw-r--r--contrib/restricted/boost/boost/log/core/record.hpp211
-rw-r--r--contrib/restricted/boost/boost/log/core/record_view.hpp266
-rw-r--r--contrib/restricted/boost/boost/log/detail/adaptive_mutex.hpp235
-rw-r--r--contrib/restricted/boost/boost/log/detail/allocator_traits.hpp77
-rw-r--r--contrib/restricted/boost/boost/log/detail/asio_fwd.hpp43
-rw-r--r--contrib/restricted/boost/boost/log/detail/attachable_sstream_buf.hpp336
-rw-r--r--contrib/restricted/boost/boost/log/detail/attr_output_impl.hpp111
-rw-r--r--contrib/restricted/boost/boost/log/detail/attr_output_terminal.hpp162
-rw-r--r--contrib/restricted/boost/boost/log/detail/attribute_get_value_impl.hpp43
-rw-r--r--contrib/restricted/boost/boost/log/detail/attribute_predicate.hpp116
-rw-r--r--contrib/restricted/boost/boost/log/detail/c_str.hpp55
-rw-r--r--contrib/restricted/boost/boost/log/detail/cleanup_scope_guard.hpp55
-rw-r--r--contrib/restricted/boost/boost/log/detail/code_conversion.hpp192
-rw-r--r--contrib/restricted/boost/boost/log/detail/config.hpp389
-rw-r--r--contrib/restricted/boost/boost/log/detail/copy_cv.hpp64
-rw-r--r--contrib/restricted/boost/boost/log/detail/custom_terminal_spec.hpp70
-rw-r--r--contrib/restricted/boost/boost/log/detail/date_time_fmt_gen_traits_fwd.hpp44
-rw-r--r--contrib/restricted/boost/boost/log/detail/date_time_format_parser.hpp486
-rw-r--r--contrib/restricted/boost/boost/log/detail/decomposed_time.hpp439
-rw-r--r--contrib/restricted/boost/boost/log/detail/deduce_char_type.hpp108
-rw-r--r--contrib/restricted/boost/boost/log/detail/default_attribute_names.hpp53
-rw-r--r--contrib/restricted/boost/boost/log/detail/embedded_string_type.hpp125
-rw-r--r--contrib/restricted/boost/boost/log/detail/enqueued_record.hpp103
-rw-r--r--contrib/restricted/boost/boost/log/detail/event.hpp170
-rw-r--r--contrib/restricted/boost/boost/log/detail/fake_mutex.hpp56
-rw-r--r--contrib/restricted/boost/boost/log/detail/footer.hpp22
-rw-r--r--contrib/restricted/boost/boost/log/detail/format.hpp340
-rw-r--r--contrib/restricted/boost/boost/log/detail/function_traits.hpp236
-rw-r--r--contrib/restricted/boost/boost/log/detail/generate_overloads.hpp30
-rw-r--r--contrib/restricted/boost/boost/log/detail/header.hpp66
-rw-r--r--contrib/restricted/boost/boost/log/detail/id.hpp84
-rw-r--r--contrib/restricted/boost/boost/log/detail/is_character_type.hpp73
-rw-r--r--contrib/restricted/boost/boost/log/detail/is_ostream.hpp57
-rw-r--r--contrib/restricted/boost/boost/log/detail/light_function.hpp521
-rw-r--r--contrib/restricted/boost/boost/log/detail/light_function_pp.hpp424
-rw-r--r--contrib/restricted/boost/boost/log/detail/light_rw_mutex.hpp175
-rw-r--r--contrib/restricted/boost/boost/log/detail/locking_ptr.hpp148
-rw-r--r--contrib/restricted/boost/boost/log/detail/locks.hpp199
-rw-r--r--contrib/restricted/boost/boost/log/detail/named_scope_fmt_pp.hpp82
-rw-r--r--contrib/restricted/boost/boost/log/detail/native_typeof.hpp63
-rw-r--r--contrib/restricted/boost/boost/log/detail/parameter_tools.hpp153
-rw-r--r--contrib/restricted/boost/boost/log/detail/pause.hpp61
-rw-r--r--contrib/restricted/boost/boost/log/detail/pp_identity.hpp27
-rw-r--r--contrib/restricted/boost/boost/log/detail/process_id.hpp60
-rw-r--r--contrib/restricted/boost/boost/log/detail/setup_config.hpp60
-rw-r--r--contrib/restricted/boost/boost/log/detail/sfinae_tools.hpp44
-rw-r--r--contrib/restricted/boost/boost/log/detail/singleton.hpp89
-rw-r--r--contrib/restricted/boost/boost/log/detail/sink_init_helpers.hpp118
-rw-r--r--contrib/restricted/boost/boost/log/detail/snprintf.hpp107
-rw-r--r--contrib/restricted/boost/boost/log/detail/tagged_integer.hpp147
-rw-r--r--contrib/restricted/boost/boost/log/detail/thread_id.hpp65
-rw-r--r--contrib/restricted/boost/boost/log/detail/thread_specific.hpp116
-rw-r--r--contrib/restricted/boost/boost/log/detail/threadsafe_queue.hpp279
-rw-r--r--contrib/restricted/boost/boost/log/detail/timestamp.hpp102
-rw-r--r--contrib/restricted/boost/boost/log/detail/trivial_keyword.hpp43
-rw-r--r--contrib/restricted/boost/boost/log/detail/unary_function_terminal.hpp142
-rw-r--r--contrib/restricted/boost/boost/log/detail/unhandled_exception_count.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/detail/value_ref_visitation.hpp107
-rw-r--r--contrib/restricted/boost/boost/log/exceptions.hpp469
-rw-r--r--contrib/restricted/boost/boost/log/expressions.hpp38
-rw-r--r--contrib/restricted/boost/boost/log/expressions/attr.hpp278
-rw-r--r--contrib/restricted/boost/boost/log/expressions/attr_fwd.hpp69
-rw-r--r--contrib/restricted/boost/boost/log/expressions/filter.hpp187
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatter.hpp484
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters.hpp39
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters/c_decorator.hpp280
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters/char_decorator.hpp645
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters/csv_decorator.hpp140
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters/date_time.hpp345
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters/format.hpp130
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters/if.hpp319
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters/max_size_decorator.hpp561
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters/named_scope.hpp655
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters/stream.hpp53
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters/wrap_formatter.hpp342
-rw-r--r--contrib/restricted/boost/boost/log/expressions/formatters/xml_decorator.hpp138
-rw-r--r--contrib/restricted/boost/boost/log/expressions/is_keyword_descriptor.hpp67
-rw-r--r--contrib/restricted/boost/boost/log/expressions/keyword.hpp258
-rw-r--r--contrib/restricted/boost/boost/log/expressions/keyword_fwd.hpp53
-rw-r--r--contrib/restricted/boost/boost/log/expressions/message.hpp130
-rw-r--r--contrib/restricted/boost/boost/log/expressions/predicates.hpp34
-rw-r--r--contrib/restricted/boost/boost/log/expressions/predicates/begins_with.hpp129
-rw-r--r--contrib/restricted/boost/boost/log/expressions/predicates/channel_severity_filter.hpp575
-rw-r--r--contrib/restricted/boost/boost/log/expressions/predicates/contains.hpp129
-rw-r--r--contrib/restricted/boost/boost/log/expressions/predicates/ends_with.hpp129
-rw-r--r--contrib/restricted/boost/boost/log/expressions/predicates/has_attr.hpp172
-rw-r--r--contrib/restricted/boost/boost/log/expressions/predicates/is_debugger_present.hpp107
-rw-r--r--contrib/restricted/boost/boost/log/expressions/predicates/is_in_range.hpp133
-rw-r--r--contrib/restricted/boost/boost/log/expressions/predicates/matches.hpp119
-rw-r--r--contrib/restricted/boost/boost/log/expressions/record.hpp50
-rw-r--r--contrib/restricted/boost/boost/log/keywords/auto_flush.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/block_size.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/capacity.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/channel.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/delimiter.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/depth.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/empty_marker.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/enable_final_rotation.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/facility.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/file_name.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/filter.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/format.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/ident.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/incomplete_marker.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/ip_version.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/iteration.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/log_name.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/log_source.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/max_files.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/max_size.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/message_file.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/min_free_space.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/name.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/open_mode.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/order.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/ordering_window.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/overflow_policy.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/permissions.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/registration.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/rotation_size.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/scan_method.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/severity.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/start_thread.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/target.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/time_based_rotation.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/keywords/use_impl.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/sinks.hpp48
-rw-r--r--contrib/restricted/boost/boost/log/sinks/async_frontend.hpp514
-rw-r--r--contrib/restricted/boost/boost/log/sinks/attribute_mapping.hpp290
-rw-r--r--contrib/restricted/boost/boost/log/sinks/basic_sink_backend.hpp97
-rw-r--r--contrib/restricted/boost/boost/log/sinks/basic_sink_frontend.hpp541
-rw-r--r--contrib/restricted/boost/boost/log/sinks/block_on_overflow.hpp147
-rw-r--r--contrib/restricted/boost/boost/log/sinks/bounded_fifo_queue.hpp192
-rw-r--r--contrib/restricted/boost/boost/log/sinks/bounded_ordering_queue.hpp262
-rw-r--r--contrib/restricted/boost/boost/log/sinks/debug_output_backend.hpp93
-rw-r--r--contrib/restricted/boost/boost/log/sinks/drop_on_overflow.hpp80
-rw-r--r--contrib/restricted/boost/boost/log/sinks/event_log_backend.hpp662
-rw-r--r--contrib/restricted/boost/boost/log/sinks/event_log_constants.hpp88
-rw-r--r--contrib/restricted/boost/boost/log/sinks/frontend_requirements.hpp119
-rw-r--r--contrib/restricted/boost/boost/log/sinks/sink.hpp115
-rw-r--r--contrib/restricted/boost/boost/log/sinks/sync_frontend.hpp187
-rw-r--r--contrib/restricted/boost/boost/log/sinks/syslog_backend.hpp288
-rw-r--r--contrib/restricted/boost/boost/log/sinks/syslog_constants.hpp101
-rw-r--r--contrib/restricted/boost/boost/log/sinks/text_file_backend.hpp575
-rw-r--r--contrib/restricted/boost/boost/log/sinks/text_ipc_message_queue_backend.hpp172
-rw-r--r--contrib/restricted/boost/boost/log/sinks/text_multifile_backend.hpp204
-rw-r--r--contrib/restricted/boost/boost/log/sinks/text_ostream_backend.hpp124
-rw-r--r--contrib/restricted/boost/boost/log/sinks/unbounded_fifo_queue.hpp141
-rw-r--r--contrib/restricted/boost/boost/log/sinks/unbounded_ordering_queue.hpp245
-rw-r--r--contrib/restricted/boost/boost/log/sinks/unlocked_frontend.hpp163
-rw-r--r--contrib/restricted/boost/boost/log/sources/basic_logger.hpp742
-rw-r--r--contrib/restricted/boost/boost/log/sources/channel_feature.hpp242
-rw-r--r--contrib/restricted/boost/boost/log/sources/channel_logger.hpp325
-rw-r--r--contrib/restricted/boost/boost/log/sources/exception_handler_feature.hpp253
-rw-r--r--contrib/restricted/boost/boost/log/sources/features.hpp150
-rw-r--r--contrib/restricted/boost/boost/log/sources/global_logger_storage.hpp219
-rw-r--r--contrib/restricted/boost/boost/log/sources/logger.hpp103
-rw-r--r--contrib/restricted/boost/boost/log/sources/record_ostream.hpp583
-rw-r--r--contrib/restricted/boost/boost/log/sources/severity_channel_logger.hpp309
-rw-r--r--contrib/restricted/boost/boost/log/sources/severity_feature.hpp310
-rw-r--r--contrib/restricted/boost/boost/log/sources/severity_logger.hpp325
-rw-r--r--contrib/restricted/boost/boost/log/sources/threading_models.hpp125
-rw-r--r--contrib/restricted/boost/boost/log/support/date_time.hpp548
-rw-r--r--contrib/restricted/boost/boost/log/support/exception.hpp84
-rw-r--r--contrib/restricted/boost/boost/log/support/regex.hpp76
-rw-r--r--contrib/restricted/boost/boost/log/support/spirit_classic.hpp112
-rw-r--r--contrib/restricted/boost/boost/log/support/spirit_qi.hpp92
-rw-r--r--contrib/restricted/boost/boost/log/support/std_regex.hpp86
-rw-r--r--contrib/restricted/boost/boost/log/support/xpressive.hpp75
-rw-r--r--contrib/restricted/boost/boost/log/trivial.hpp127
-rw-r--r--contrib/restricted/boost/boost/log/utility/exception_handler.hpp354
-rw-r--r--contrib/restricted/boost/boost/log/utility/formatting_ostream.hpp916
-rw-r--r--contrib/restricted/boost/boost/log/utility/formatting_ostream_fwd.hpp51
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional.hpp40
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/as_action.hpp60
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/begins_with.hpp57
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/bind.hpp237
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/bind_assign.hpp55
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/bind_output.hpp55
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/bind_to_log.hpp76
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/contains.hpp69
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/ends_with.hpp57
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/fun_ref.hpp79
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/in_range.hpp63
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/logical.hpp225
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/matches.hpp66
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/nop.hpp55
-rw-r--r--contrib/restricted/boost/boost/log/utility/functional/save_result.hpp60
-rw-r--r--contrib/restricted/boost/boost/log/utility/ipc/object_name.hpp271
-rw-r--r--contrib/restricted/boost/boost/log/utility/ipc/reliable_message_queue.hpp776
-rw-r--r--contrib/restricted/boost/boost/log/utility/manipulators.hpp28
-rw-r--r--contrib/restricted/boost/boost/log/utility/manipulators/add_value.hpp165
-rw-r--r--contrib/restricted/boost/boost/log/utility/manipulators/dump.hpp231
-rw-r--r--contrib/restricted/boost/boost/log/utility/manipulators/to_log.hpp81
-rw-r--r--contrib/restricted/boost/boost/log/utility/once_block.hpp196
-rw-r--r--contrib/restricted/boost/boost/log/utility/open_mode.hpp46
-rw-r--r--contrib/restricted/boost/boost/log/utility/permissions.hpp211
-rw-r--r--contrib/restricted/boost/boost/log/utility/record_ordering.hpp229
-rw-r--r--contrib/restricted/boost/boost/log/utility/setup.hpp37
-rw-r--r--contrib/restricted/boost/boost/log/utility/setup/common_attributes.hpp76
-rw-r--r--contrib/restricted/boost/boost/log/utility/setup/console.hpp243
-rw-r--r--contrib/restricted/boost/boost/log/utility/setup/file.hpp167
-rw-r--r--contrib/restricted/boost/boost/log/utility/setup/filter_parser.hpp350
-rw-r--r--contrib/restricted/boost/boost/log/utility/setup/formatter_parser.hpp216
-rw-r--r--contrib/restricted/boost/boost/log/utility/setup/from_settings.hpp164
-rw-r--r--contrib/restricted/boost/boost/log/utility/setup/from_stream.hpp47
-rw-r--r--contrib/restricted/boost/boost/log/utility/setup/settings.hpp643
-rw-r--r--contrib/restricted/boost/boost/log/utility/setup/settings_parser.hpp47
-rw-r--r--contrib/restricted/boost/boost/log/utility/strictest_lock.hpp219
-rw-r--r--contrib/restricted/boost/boost/log/utility/string_literal.hpp711
-rw-r--r--contrib/restricted/boost/boost/log/utility/string_literal_fwd.hpp55
-rw-r--r--contrib/restricted/boost/boost/log/utility/type_dispatch/date_time_types.hpp174
-rw-r--r--contrib/restricted/boost/boost/log/utility/type_dispatch/dynamic_type_dispatcher.hpp152
-rw-r--r--contrib/restricted/boost/boost/log/utility/type_dispatch/standard_types.hpp145
-rw-r--r--contrib/restricted/boost/boost/log/utility/type_dispatch/static_type_dispatcher.hpp320
-rw-r--r--contrib/restricted/boost/boost/log/utility/type_dispatch/type_dispatcher.hpp188
-rw-r--r--contrib/restricted/boost/boost/log/utility/unique_identifier_name.hpp51
-rw-r--r--contrib/restricted/boost/boost/log/utility/unused_variable.hpp51
-rw-r--r--contrib/restricted/boost/boost/log/utility/value_ref.hpp656
-rw-r--r--contrib/restricted/boost/boost/log/utility/value_ref_fwd.hpp38
-rw-r--r--contrib/restricted/boost/boost_common.inc2
-rw-r--r--contrib/restricted/boost/container/include/boost/container/detail/container_or_allocator_rebind.hpp53
-rw-r--r--contrib/restricted/boost/container/include/boost/container/detail/container_rebind.hpp163
-rw-r--r--contrib/restricted/boost/container/include/boost/container/detail/flat_tree.hpp1698
-rw-r--r--contrib/restricted/boost/container/include/boost/container/detail/is_container.hpp72
-rw-r--r--contrib/restricted/boost/container/include/boost/container/detail/is_contiguous_container.hpp82
-rw-r--r--contrib/restricted/boost/container/include/boost/container/detail/is_sorted.hpp57
-rw-r--r--contrib/restricted/boost/container/include/boost/container/detail/pair_key_mapped_of_value.hpp55
-rw-r--r--contrib/restricted/boost/container/include/boost/container/flat_map.hpp3069
-rw-r--r--contrib/restricted/boost/container/include/boost/container/map.hpp2316
-rw-r--r--contrib/restricted/boost/container/include/boost/container/string.hpp3604
-rw-r--r--contrib/restricted/boost/core/include/boost/core/null_deleter.hpp44
-rw-r--r--contrib/restricted/boost/core/include/boost/detail/scoped_enum_emulation.hpp21
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_facet.hpp766
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_format_simple.hpp159
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_formatting.hpp137
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_limited.hpp121
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_locales.hpp234
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_generator_formatter.hpp265
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_generator_parser.hpp330
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_names_put.hpp321
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/date_parsing.hpp342
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/dst_transition_generators.hpp75
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/find_match.hpp42
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/format_date_parser.hpp724
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters.hpp162
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters_limited.hpp81
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_facet.hpp374
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian.hpp38
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian_io.hpp784
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/gregorian/parsers.hpp110
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/iso_format.hpp303
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/local_time/custom_time_zone.hpp168
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/local_time/date_duration_operators.hpp115
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/local_time/dst_transition_day_rules.hpp77
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_date_time.hpp529
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_time_types.hpp52
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/parse_format_base.hpp29
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/period_formatter.hpp200
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/period_parser.hpp197
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time.hpp39
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_io.hpp236
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_legacy_io.hpp153
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters.hpp289
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters_limited.hpp212
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_parsers.hpp52
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/special_values_formatter.hpp97
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/special_values_parser.hpp163
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/string_convert.hpp32
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/string_parse_tree.hpp281
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/strings_from_facet.hpp127
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_facet.hpp1370
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_formatting_streams.hpp122
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_parsing.hpp339
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_zone_base.hpp100
-rw-r--r--contrib/restricted/boost/date_time/include/boost/date_time/time_zone_names.hpp98
-rw-r--r--contrib/restricted/boost/exception/include/boost/exception/enable_error_info.hpp11
-rw-r--r--contrib/restricted/boost/exception/include/boost/exception/errinfo_at_line.hpp18
-rw-r--r--contrib/restricted/boost/filesystem/include/boost/filesystem/convenience.hpp52
-rw-r--r--contrib/restricted/boost/filesystem/include/boost/filesystem/fstream.hpp207
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/adapt_struct.hpp125
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_auto.hpp14
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_base.hpp309
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp70
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp16
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/at_impl.hpp39
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/begin_impl.hpp70
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp42
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/deref_impl.hpp41
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/end_impl.hpp70
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/extension.hpp58
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp36
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/is_view_impl.hpp33
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp39
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/size_impl.hpp33
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/value_at_impl.hpp33
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/value_of_impl.hpp29
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/algorithm/auxiliary/copy.hpp91
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/algorithm/transformation/filter_if.hpp34
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/pp_make_vector.hpp115
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp22
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp191
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp351
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp511
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp671
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp831
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/generation/make_vector.hpp55
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set.hpp15
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/convert.hpp50
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/as_set.hpp67
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/begin_impl.hpp45
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/convert_impl.hpp47
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/as_set.hpp145
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp22
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp223
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp433
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp643
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp853
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp1063
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp22
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp77
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp107
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp137
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp167
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp197
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/set.hpp107
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp40
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/deref_data_impl.hpp25
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/deref_impl.hpp47
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/end_impl.hpp45
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/key_of_impl.hpp25
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/value_of_data_impl.hpp24
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/value_of_impl.hpp35
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/container/set/set.hpp140
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/as_vector.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/at.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/copy.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/deref.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/end.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/equal_to.hpp14
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/filter_if.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/is_sequence.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/make_vector.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/mpl.hpp14
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/out.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/pop_front.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/push_front.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/value_at.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/include/vector.hpp13
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/iterator/basic_iterator.hpp156
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/detail/manip.hpp268
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/detail/out.hpp86
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/out.hpp45
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/sequence/sequence_facade.hpp30
-rw-r--r--contrib/restricted/boost/fusion/include/boost/fusion/support/detail/is_same_size.hpp29
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/creation_tags.hpp85
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/detail/char_wchar_holder.hpp127
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/detail/config_external_begin.hpp23
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/detail/config_external_end.hpp12
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/detail/intermodule_singleton_common.hpp505
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/detail/os_file_functions.hpp855
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/detail/os_thread_functions.hpp630
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/detail/shared_dir_helpers.hpp258
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/detail/timed_utils.hpp388
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/detail/windows_intermodule_singleton.hpp315
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/mapped_region.hpp922
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/permissions.hpp136
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/shared_memory_object.hpp514
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/streams/bufferstream.hpp491
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/cv_status.hpp29
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/common_algorithms.hpp98
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/condition_algorithm_8a.hpp389
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/locks.hpp111
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/interprocess_condition.hpp176
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/interprocess_mutex.hpp197
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/condition.hpp218
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/mutex.hpp188
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/pthread_helpers.hpp176
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/timepoint_to_timespec.hpp87
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/condition.hpp298
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/mutex.hpp116
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/wait.hpp185
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/condition.hpp146
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/mutex.hpp125
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/semaphore.hpp119
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/sync_utils.hpp275
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp135
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp169
-rw-r--r--contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_wrapper_common.hpp87
-rw-r--r--contrib/restricted/boost/intrusive/include/boost/intrusive/derivation_value_traits.hpp77
-rw-r--r--contrib/restricted/boost/intrusive/include/boost/intrusive/detail/hash_combine.hpp92
-rw-r--r--contrib/restricted/boost/intrusive/include/boost/intrusive/set.hpp1073
-rw-r--r--contrib/restricted/boost/libs/log/src/alignment_gap_between.hpp50
-rw-r--r--contrib/restricted/boost/libs/log/src/attribute_name.cpp228
-rw-r--r--contrib/restricted/boost/libs/log/src/attribute_set.cpp148
-rw-r--r--contrib/restricted/boost/libs/log/src/attribute_set_impl.hpp389
-rw-r--r--contrib/restricted/boost/libs/log/src/attribute_value_set.cpp570
-rw-r--r--contrib/restricted/boost/libs/log/src/bit_tools.hpp51
-rw-r--r--contrib/restricted/boost/libs/log/src/code_conversion.cpp298
-rw-r--r--contrib/restricted/boost/libs/log/src/core.cpp766
-rw-r--r--contrib/restricted/boost/libs/log/src/date_time_format_parser.cpp423
-rw-r--r--contrib/restricted/boost/libs/log/src/default_attribute_names.cpp122
-rw-r--r--contrib/restricted/boost/libs/log/src/default_sink.cpp228
-rw-r--r--contrib/restricted/boost/libs/log/src/default_sink.hpp75
-rw-r--r--contrib/restricted/boost/libs/log/src/dump.cpp265
-rw-r--r--contrib/restricted/boost/libs/log/src/event.cpp277
-rw-r--r--contrib/restricted/boost/libs/log/src/exceptions.cpp646
-rw-r--r--contrib/restricted/boost/libs/log/src/format_parser.cpp154
-rw-r--r--contrib/restricted/boost/libs/log/src/global_logger_storage.cpp110
-rw-r--r--contrib/restricted/boost/libs/log/src/id_formatting.hpp61
-rw-r--r--contrib/restricted/boost/libs/log/src/murmur3.hpp84
-rw-r--r--contrib/restricted/boost/libs/log/src/named_scope.cpp313
-rw-r--r--contrib/restricted/boost/libs/log/src/named_scope_format_parser.cpp751
-rw-r--r--contrib/restricted/boost/libs/log/src/once_block.cpp471
-rw-r--r--contrib/restricted/boost/libs/log/src/permissions.cpp94
-rw-r--r--contrib/restricted/boost/libs/log/src/posix/ipc_reliable_message_queue.cpp881
-rw-r--r--contrib/restricted/boost/libs/log/src/posix/ipc_sync_wrappers.hpp267
-rw-r--r--contrib/restricted/boost/libs/log/src/posix/object_name.cpp166
-rw-r--r--contrib/restricted/boost/libs/log/src/process_id.cpp123
-rw-r--r--contrib/restricted/boost/libs/log/src/process_name.cpp187
-rw-r--r--contrib/restricted/boost/libs/log/src/record_ostream.cpp183
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/default_filter_factory.cpp313
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/default_filter_factory.hpp106
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/default_formatter_factory.cpp285
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/default_formatter_factory.hpp59
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/filter_parser.cpp531
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/formatter_parser.cpp486
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/init_from_settings.cpp847
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/init_from_stream.cpp47
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/matches_relation_factory.cpp274
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/parser_utils.cpp431
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/parser_utils.hpp313
-rw-r--r--contrib/restricted/boost/libs/log/src/setup/settings_parser.cpp260
-rw-r--r--contrib/restricted/boost/libs/log/src/severity_level.cpp92
-rw-r--r--contrib/restricted/boost/libs/log/src/spirit_encoding.cpp48
-rw-r--r--contrib/restricted/boost/libs/log/src/spirit_encoding.hpp104
-rw-r--r--contrib/restricted/boost/libs/log/src/stateless_allocator.hpp95
-rw-r--r--contrib/restricted/boost/libs/log/src/syslog_backend.cpp594
-rw-r--r--contrib/restricted/boost/libs/log/src/text_file_backend.cpp1445
-rw-r--r--contrib/restricted/boost/libs/log/src/text_multifile_backend.cpp92
-rw-r--r--contrib/restricted/boost/libs/log/src/text_ostream_backend.cpp138
-rw-r--r--contrib/restricted/boost/libs/log/src/thread_id.cpp272
-rw-r--r--contrib/restricted/boost/libs/log/src/thread_specific.cpp292
-rw-r--r--contrib/restricted/boost/libs/log/src/threadsafe_queue.cpp160
-rw-r--r--contrib/restricted/boost/libs/log/src/timer.cpp159
-rw-r--r--contrib/restricted/boost/libs/log/src/timestamp.cpp279
-rw-r--r--contrib/restricted/boost/libs/log/src/trivial.cpp117
-rw-r--r--contrib/restricted/boost/libs/log/src/unhandled_exception_count.cpp86
-rw-r--r--contrib/restricted/boost/libs/log/src/unique_ptr.hpp59
-rw-r--r--contrib/restricted/boost/move/include/boost/move/algo/adaptive_sort.hpp654
-rw-r--r--contrib/restricted/boost/move/include/boost/move/algo/detail/pdqsort.hpp344
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/bind/bind_function_object.hpp38
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/bind_function_object.hpp74
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object.hpp25
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_10.hpp222
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_20.hpp462
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_30.hpp702
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_40.hpp942
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_50.hpp1182
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/config.hpp81
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core.hpp23
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/actor.hpp255
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/argument.hpp150
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/as_actor.hpp28
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/call.hpp128
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/argument.hpp46
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/actor_operator.hpp179
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/actor_result_of.hpp90
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/call.hpp92
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/expression.hpp111
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/function_eval.hpp105
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/function_eval_expr.hpp39
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator.hpp25
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_10.hpp567
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_20.hpp1237
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_30.hpp1907
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_40.hpp2577
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_50.hpp3247
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of.hpp25
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_10.hpp245
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_20.hpp465
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_30.hpp685
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_40.hpp905
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_50.hpp1125
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument.hpp45
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_10.hpp18
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_10.hpp22
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call.hpp25
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_10.hpp348
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_20.hpp688
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_30.hpp1028
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_40.hpp1368
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_50.hpp1708
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression.hpp25
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_10.hpp430
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_20.hpp840
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_30.hpp1250
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_40.hpp1660
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_50.hpp2070
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval.hpp25
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_10.hpp457
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_20.hpp957
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_30.hpp1457
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_40.hpp1957
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_50.hpp2457
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr.hpp25
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_10.hpp8
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_20.hpp8
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_30.hpp8
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_40.hpp8
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_50.hpp8
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/expression.hpp461
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/function_eval.hpp159
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/index_sequence.hpp17
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/domain.hpp83
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/environment.hpp469
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/expression.hpp86
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/function_equal.hpp178
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_actor.hpp49
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_nullary.hpp177
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_value.hpp63
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/limits.hpp141
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/meta_grammar.hpp156
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/nothing.hpp60
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/reference.hpp150
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/terminal.hpp141
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/terminal_fwd.hpp27
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/v2_eval.hpp51
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/core/value.hpp139
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/function_operator.hpp58
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator.hpp25
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_10.hpp177
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_20.hpp347
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_30.hpp517
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_40.hpp687
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_50.hpp857
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/function/function.hpp149
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/operator/comparison.hpp35
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/operator/detail/define_operator.hpp125
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/operator/detail/undef_operator.hpp17
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/operator/logical.hpp33
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/scope/detail/local_variable.hpp232
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/scope/local_variable.hpp194
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/scope/scoped_environment.hpp178
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/statement/sequence.hpp45
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/support/detail/iterate_define.hpp155
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/support/iterate.hpp20
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector.hpp25
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_10.hpp466
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_20.hpp866
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_30.hpp1266
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_40.hpp1666
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_50.hpp2066
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessor/round.hpp71
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/support/vector.hpp166
-rw-r--r--contrib/restricted/boost/phoenix/include/boost/phoenix/version.hpp22
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/detail/class_member_traits.hpp51
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/detail/decltype.hpp453
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/detail/memfun_funop.hpp45
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/detail/preprocessed/class_member_traits.hpp139
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/detail/preprocessed/memfun_funop.hpp77
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/functional/fusion/at.hpp56
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/transform.hpp24
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/transform/default.hpp598
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/transform/detail/default_function_impl.hpp97
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/transform/detail/lazy.hpp79
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/transform/detail/preprocessed/default_function_impl.hpp392
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/transform/detail/preprocessed/lazy.hpp407
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/transform/integral_c.hpp111
-rw-r--r--contrib/restricted/boost/proto/include/boost/proto/transform/lazy.hpp59
-rw-r--r--contrib/restricted/boost/random/include/boost/random/detail/operators.hpp84
-rw-r--r--contrib/restricted/boost/random/include/boost/random/linear_feedback_shift.hpp217
-rw-r--r--contrib/restricted/boost/random/include/boost/random/taus88.hpp45
-rw-r--r--contrib/restricted/boost/random/include/boost/random/xor_combine.hpp210
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/auxiliary/lazy.hpp272
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/delimit_flag.hpp27
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/delimit_out.hpp45
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/attributes.hpp80
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/enable_lit.hpp30
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/extract_from.hpp278
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/generate.hpp131
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/generate_to.hpp67
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/get_casetag.hpp29
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/output_iterator.hpp650
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/string_generate.hpp127
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/unused_delimiter.hpp50
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/domain.hpp74
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/generate.hpp232
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/generator.hpp159
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/meta_compiler.hpp178
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp786
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/numeric/uint.hpp576
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/karma/stream/ostream_iterator.hpp69
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/action.hpp16
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/action/action.hpp195
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/auxiliary/lazy.hpp294
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char.hpp18
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char.hpp615
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char_class.hpp118
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char_parser.hpp159
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/alternative_function.hpp212
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/assign_to.hpp403
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/attributes.hpp134
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/construct.hpp202
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/enable_lit.hpp30
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/expect_function.hpp105
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/expectation_failure.hpp35
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/fail_function.hpp59
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/parse.hpp97
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/pass_container.hpp382
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/pass_function.hpp69
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/permute_function.hpp71
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/string_parse.hpp89
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/unused_skipper.hpp62
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive.hpp27
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/as.hpp176
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/encoding.hpp32
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/expect.hpp113
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/hold.hpp109
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/lexeme.hpp120
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/matches.hpp107
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/no_case.hpp32
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/no_skip.hpp120
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/omit.hpp107
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/raw.hpp111
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/repeat.hpp296
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/skip.hpp202
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/domain.hpp74
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/meta_compiler.hpp178
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal.hpp21
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/debug_handler.hpp145
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/debug_handler_state.hpp24
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/fcall.hpp53
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/parameterized.hpp75
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp87
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/error_handler.hpp176
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/grammar.hpp134
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp31
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/rule.hpp458
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/simple_trace.hpp135
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/success_handler.hpp83
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric.hpp19
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/bool.hpp338
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/bool_policies.hpp81
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp517
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/detail/real_impl.hpp350
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/int.hpp411
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/numeric_utils.hpp149
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/real.hpp342
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/real_policies.hpp233
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/uint.hpp464
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator.hpp27
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/alternative.hpp120
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/and_predicate.hpp94
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/difference.hpp114
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/expect.hpp91
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/kleene.hpp136
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/list.hpp137
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/not_predicate.hpp93
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/optional.hpp137
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/permutation.hpp144
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/plus.hpp127
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequence.hpp98
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequence_base.hpp140
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequential_or.hpp130
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/parse.hpp219
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/parser.hpp140
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/reference.hpp69
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/skip_flag.hpp29
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/skip_over.hpp44
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string.hpp17
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/detail/tst.hpp212
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/lit.hpp312
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/symbols.hpp429
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/tst.hpp137
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/qi/what.hpp33
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/action_dispatch.hpp222
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if.hpp220
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if_ns.hpp94
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if_ns_so.hpp96
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_ns.hpp102
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_ns_so.hpp106
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/argument.hpp221
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/assert_msg.hpp54
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/attributes.hpp1343
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/attributes_fwd.hpp294
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_class.hpp769
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/ascii.hpp337
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/iso8859_1.hpp728
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/standard.hpp168
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/standard_wide.hpp189
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode.hpp344
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/category_table.hpp2216
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/lowercase_table.hpp620
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/query.hpp305
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/script_table.hpp2159
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/uppercase_table.hpp639
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/basic_chset.hpp249
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range.hpp32
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_functions.hpp98
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_run.hpp56
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_run_impl.hpp185
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/common_terminals.hpp439
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/container.hpp588
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/context.hpp302
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/as_variant.hpp114
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/get_encoding.hpp75
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/hold_any.hpp475
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/is_spirit_tag.hpp16
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/make_cons.hpp83
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/make_vector.hpp21
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/pow10.hpp114
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/scoped_enum_emulation.hpp30
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/what_function.hpp47
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/handles_container.hpp55
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/has_semantic_action.hpp47
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/info.hpp157
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/iterators/ostream_iterator.hpp16
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/lazy.hpp46
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/limits.hpp22
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/make_component.hpp450
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/meta_compiler.hpp321
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/modify.hpp116
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/multi_pass_wrapper.hpp52
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/expand_arg.hpp88
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/extract_param.hpp148
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/locals.hpp54
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/numeric_traits.hpp122
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/sequence_base_id.hpp39
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/string_traits.hpp358
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/terminal.hpp698
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/terminal_expression.hpp12
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/unused.hpp84
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/utf8.hpp111
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/home/support/utree/utree_traits_fwd.hpp24
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/include/karma_generate.hpp18
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/include/karma_uint.hpp18
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/include/qi_core.hpp27
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/include/qi_parse.hpp18
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/include/qi_uint.hpp18
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/include/support_standard.hpp18
-rw-r--r--contrib/restricted/boost/spirit/include/boost/spirit/include/support_standard_wide.hpp18
-rw-r--r--contrib/restricted/boost/utility/include/boost/utility/detail/in_place_factory_prefix.hpp36
-rw-r--r--contrib/restricted/boost/utility/include/boost/utility/detail/in_place_factory_suffix.hpp23
-rw-r--r--contrib/restricted/boost/utility/include/boost/utility/in_place_factory.hpp86
-rw-r--r--contrib/restricted/boost/utility/include/boost/utility/string_ref_fwd.hpp37
-rw-r--r--contrib/restricted/boost/utility/include/boost/utility/string_view_fwd.hpp39
-rw-r--r--contrib/restricted/boost/winapi/include/boost/winapi/thread_pool.hpp132
-rw-r--r--contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/dynamic.hpp337
-rw-r--r--contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parse_charset.hpp368
-rw-r--r--contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser.hpp359
-rw-r--r--contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser_enum.hpp81
-rw-r--r--contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser_traits.hpp475
-rw-r--r--contrib/restricted/boost/xpressive/include/boost/xpressive/regex_compiler.hpp759
-rw-r--r--contrib/restricted/boost/xpressive/include/boost/xpressive/xpressive_dynamic.hpp25
1039 files changed, 1 insertions, 238929 deletions
diff --git a/contrib/restricted/boost/align/include/boost/align/align_up.hpp b/contrib/restricted/boost/align/include/boost/align/align_up.hpp
deleted file mode 100644
index 84e1a3cb58..0000000000
--- a/contrib/restricted/boost/align/include/boost/align/align_up.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2015 Glen Joseph Fernandes
-(glenjofe@gmail.com)
-
-Distributed under the Boost Software License, Version 1.0.
-(http://www.boost.org/LICENSE_1_0.txt)
-*/
-#ifndef BOOST_ALIGN_ALIGN_UP_HPP
-#define BOOST_ALIGN_ALIGN_UP_HPP
-
-#include <boost/align/detail/align_up.hpp>
-#include <boost/align/detail/not_pointer.hpp>
-
-namespace boost {
-namespace alignment {
-
-template<class T>
-BOOST_CONSTEXPR inline typename detail::not_pointer<T, T>::type
-align_up(T value, std::size_t alignment) BOOST_NOEXCEPT
-{
- return T((value + (T(alignment) - 1)) & ~T(alignment - 1));
-}
-
-} /* alignment */
-} /* boost */
-
-#endif
diff --git a/contrib/restricted/boost/align/include/boost/align/detail/align_up.hpp b/contrib/restricted/boost/align/include/boost/align/detail/align_up.hpp
deleted file mode 100644
index ac11f8964f..0000000000
--- a/contrib/restricted/boost/align/include/boost/align/detail/align_up.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2015 Glen Joseph Fernandes
-(glenjofe@gmail.com)
-
-Distributed under the Boost Software License, Version 1.0.
-(http://www.boost.org/LICENSE_1_0.txt)
-*/
-#ifndef BOOST_ALIGN_DETAIL_ALIGN_UP_HPP
-#define BOOST_ALIGN_DETAIL_ALIGN_UP_HPP
-
-#include <boost/align/detail/is_alignment.hpp>
-#include <boost/assert.hpp>
-
-namespace boost {
-namespace alignment {
-
-inline void*
-align_up(void* ptr, std::size_t alignment) BOOST_NOEXCEPT
-{
- BOOST_ASSERT(detail::is_alignment(alignment));
- return reinterpret_cast<void*>(~(alignment - 1) &
- (reinterpret_cast<std::size_t>(ptr) + alignment - 1));
-}
-
-} /* alignment */
-} /* boost */
-
-#endif
diff --git a/contrib/restricted/boost/align/include/boost/align/detail/not_pointer.hpp b/contrib/restricted/boost/align/include/boost/align/detail/not_pointer.hpp
deleted file mode 100644
index 122610182b..0000000000
--- a/contrib/restricted/boost/align/include/boost/align/detail/not_pointer.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2019 Glen Joseph Fernandes
-(glenjofe@gmail.com)
-
-Distributed under the Boost Software License, Version 1.0.
-(http://www.boost.org/LICENSE_1_0.txt)
-*/
-#ifndef BOOST_ALIGN_DETAIL_NOT_POINTER_HPP
-#define BOOST_ALIGN_DETAIL_NOT_POINTER_HPP
-
-namespace boost {
-namespace alignment {
-namespace detail {
-
-template<class T, class U>
-struct not_pointer {
- typedef U type;
-};
-
-template<class T, class U>
-struct not_pointer<T*, U> { };
-
-} /* detail */
-} /* alignment */
-} /* boost */
-
-#endif
diff --git a/contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp
deleted file mode 100644
index bcf1eca3ae..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/associated_allocator.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-//
-// associated_allocator.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_ASSOCIATED_ALLOCATOR_HPP
-#define BOOST_ASIO_ASSOCIATED_ALLOCATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <memory>
-#include <boost/asio/detail/type_traits.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename>
-struct associated_allocator_check
-{
- typedef void type;
-};
-
-template <typename T, typename E, typename = void>
-struct associated_allocator_impl
-{
- typedef E type;
-
- static type get(const T&, const E& e) BOOST_ASIO_NOEXCEPT
- {
- return e;
- }
-};
-
-template <typename T, typename E>
-struct associated_allocator_impl<T, E,
- typename associated_allocator_check<typename T::allocator_type>::type>
-{
- typedef typename T::allocator_type type;
-
- static type get(const T& t, const E&) BOOST_ASIO_NOEXCEPT
- {
- return t.get_allocator();
- }
-};
-
-} // namespace detail
-
-/// Traits type used to obtain the allocator associated with an object.
-/**
- * A program may specialise this traits type if the @c T template parameter in
- * the specialisation is a user-defined type. The template parameter @c
- * Allocator shall be a type meeting the Allocator requirements.
- *
- * Specialisations shall meet the following requirements, where @c t is a const
- * reference to an object of type @c T, and @c a is an object of type @c
- * Allocator.
- *
- * @li Provide a nested typedef @c type that identifies a type meeting the
- * Allocator requirements.
- *
- * @li Provide a noexcept static member function named @c get, callable as @c
- * get(t) and with return type @c type.
- *
- * @li Provide a noexcept static member function named @c get, callable as @c
- * get(t,a) and with return type @c type.
- */
-template <typename T, typename Allocator = std::allocator<void> >
-struct associated_allocator
-{
- /// If @c T has a nested type @c allocator_type, <tt>T::allocator_type</tt>.
- /// Otherwise @c Allocator.
-#if defined(GENERATING_DOCUMENTATION)
- typedef see_below type;
-#else // defined(GENERATING_DOCUMENTATION)
- typedef typename detail::associated_allocator_impl<T, Allocator>::type type;
-#endif // defined(GENERATING_DOCUMENTATION)
-
- /// If @c T has a nested type @c allocator_type, returns
- /// <tt>t.get_allocator()</tt>. Otherwise returns @c a.
- static type get(const T& t,
- const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
- {
- return detail::associated_allocator_impl<T, Allocator>::get(t, a);
- }
-};
-
-/// Helper function to obtain an object's associated allocator.
-/**
- * @returns <tt>associated_allocator<T>::get(t)</tt>
- */
-template <typename T>
-inline typename associated_allocator<T>::type
-get_associated_allocator(const T& t) BOOST_ASIO_NOEXCEPT
-{
- return associated_allocator<T>::get(t);
-}
-
-/// Helper function to obtain an object's associated allocator.
-/**
- * @returns <tt>associated_allocator<T, Allocator>::get(t, a)</tt>
- */
-template <typename T, typename Allocator>
-inline typename associated_allocator<T, Allocator>::type
-get_associated_allocator(const T& t, const Allocator& a) BOOST_ASIO_NOEXCEPT
-{
- return associated_allocator<T, Allocator>::get(t, a);
-}
-
-#if defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES)
-
-template <typename T, typename Allocator = std::allocator<void> >
-using associated_allocator_t
- = typename associated_allocator<T, Allocator>::type;
-
-#endif // defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES)
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_ASSOCIATED_ALLOCATOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp
deleted file mode 100644
index c31800f394..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/associated_executor.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-//
-// associated_executor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_ASSOCIATED_EXECUTOR_HPP
-#define BOOST_ASIO_ASSOCIATED_EXECUTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-#include <boost/asio/is_executor.hpp>
-#include <boost/asio/system_executor.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename>
-struct associated_executor_check
-{
- typedef void type;
-};
-
-template <typename T, typename E, typename = void>
-struct associated_executor_impl
-{
- typedef E type;
-
- static type get(const T&, const E& e) BOOST_ASIO_NOEXCEPT
- {
- return e;
- }
-};
-
-template <typename T, typename E>
-struct associated_executor_impl<T, E,
- typename associated_executor_check<typename T::executor_type>::type>
-{
- typedef typename T::executor_type type;
-
- static type get(const T& t, const E&) BOOST_ASIO_NOEXCEPT
- {
- return t.get_executor();
- }
-};
-
-} // namespace detail
-
-/// Traits type used to obtain the executor associated with an object.
-/**
- * A program may specialise this traits type if the @c T template parameter in
- * the specialisation is a user-defined type. The template parameter @c
- * Executor shall be a type meeting the Executor requirements.
- *
- * Specialisations shall meet the following requirements, where @c t is a const
- * reference to an object of type @c T, and @c e is an object of type @c
- * Executor.
- *
- * @li Provide a nested typedef @c type that identifies a type meeting the
- * Executor requirements.
- *
- * @li Provide a noexcept static member function named @c get, callable as @c
- * get(t) and with return type @c type.
- *
- * @li Provide a noexcept static member function named @c get, callable as @c
- * get(t,e) and with return type @c type.
- */
-template <typename T, typename Executor = system_executor>
-struct associated_executor
-{
- /// If @c T has a nested type @c executor_type, <tt>T::executor_type</tt>.
- /// Otherwise @c Executor.
-#if defined(GENERATING_DOCUMENTATION)
- typedef see_below type;
-#else // defined(GENERATING_DOCUMENTATION)
- typedef typename detail::associated_executor_impl<T, Executor>::type type;
-#endif // defined(GENERATING_DOCUMENTATION)
-
- /// If @c T has a nested type @c executor_type, returns
- /// <tt>t.get_executor()</tt>. Otherwise returns @c ex.
- static type get(const T& t,
- const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
- {
- return detail::associated_executor_impl<T, Executor>::get(t, ex);
- }
-};
-
-/// Helper function to obtain an object's associated executor.
-/**
- * @returns <tt>associated_executor<T>::get(t)</tt>
- */
-template <typename T>
-inline typename associated_executor<T>::type
-get_associated_executor(const T& t) BOOST_ASIO_NOEXCEPT
-{
- return associated_executor<T>::get(t);
-}
-
-/// Helper function to obtain an object's associated executor.
-/**
- * @returns <tt>associated_executor<T, Executor>::get(t, ex)</tt>
- */
-template <typename T, typename Executor>
-inline typename associated_executor<T, Executor>::type
-get_associated_executor(const T& t, const Executor& ex,
- typename enable_if<is_executor<
- Executor>::value>::type* = 0) BOOST_ASIO_NOEXCEPT
-{
- return associated_executor<T, Executor>::get(t, ex);
-}
-
-/// Helper function to obtain an object's associated executor.
-/**
- * @returns <tt>associated_executor<T, typename
- * ExecutionContext::executor_type>::get(t, ctx.get_executor())</tt>
- */
-template <typename T, typename ExecutionContext>
-inline typename associated_executor<T,
- typename ExecutionContext::executor_type>::type
-get_associated_executor(const T& t, ExecutionContext& ctx,
- typename enable_if<is_convertible<ExecutionContext&,
- execution_context&>::value>::type* = 0) BOOST_ASIO_NOEXCEPT
-{
- return associated_executor<T,
- typename ExecutionContext::executor_type>::get(t, ctx.get_executor());
-}
-
-#if defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES)
-
-template <typename T, typename Executor = system_executor>
-using associated_executor_t = typename associated_executor<T, Executor>::type;
-
-#endif // defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES)
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_ASSOCIATED_EXECUTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/async_result.hpp b/contrib/restricted/boost/asio/include/boost/asio/async_result.hpp
deleted file mode 100644
index a2aafce134..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/async_result.hpp
+++ /dev/null
@@ -1,223 +0,0 @@
-//
-// async_result.hpp
-// ~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_ASYNC_RESULT_HPP
-#define BOOST_ASIO_ASYNC_RESULT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-#include <boost/asio/handler_type.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// An interface for customising the behaviour of an initiating function.
-/**
- * The async_result traits class is used for determining:
- *
- * @li the concrete completion handler type to be called at the end of the
- * asynchronous operation;
- *
- * @li the initiating function return type; and
- *
- * @li how the return value of the initiating function is obtained.
- *
- * The trait allows the handler and return types to be determined at the point
- * where the specific completion handler signature is known.
- *
- * This template may be specialised for user-defined completion token types.
- * The primary template assumes that the CompletionToken is the completion
- * handler.
- */
-#if defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
-template <typename CompletionToken, typename Signature>
-#else // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
-template <typename CompletionToken, typename Signature = void>
-#endif // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
-class async_result
-{
-public:
-#if defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
- /// The concrete completion handler type for the specific signature.
- typedef CompletionToken completion_handler_type;
-
- /// The return type of the initiating function.
- typedef void return_type;
-#else // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
- // For backward compatibility, determine the concrete completion handler type
- // by using the legacy handler_type trait.
- typedef typename handler_type<CompletionToken, Signature>::type
- completion_handler_type;
-
- // For backward compatibility, determine the initiating function return type
- // using the legacy single-parameter version of async_result.
- typedef typename async_result<completion_handler_type>::type return_type;
-#endif // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
-
- /// Construct an async result from a given handler.
- /**
- * When using a specalised async_result, the constructor has an opportunity
- * to initialise some state associated with the completion handler, which is
- * then returned from the initiating function.
- */
- explicit async_result(completion_handler_type& h)
-#if defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
- // No data members to initialise.
-#else // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
- : legacy_result_(h)
-#endif // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
- {
- (void)h;
- }
-
- /// Obtain the value to be returned from the initiating function.
- return_type get()
- {
-#if defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
- // Nothing to do.
-#else // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
- return legacy_result_.get();
-#endif // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
- }
-
-private:
- async_result(const async_result&) BOOST_ASIO_DELETED;
- async_result& operator=(const async_result&) BOOST_ASIO_DELETED;
-
-#if defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
- // No data members.
-#else // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
- async_result<completion_handler_type> legacy_result_;
-#endif // defined(BOOST_ASIO_NO_DEPRECATED) || defined(GENERATING_DOCUMENTATION)
-};
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-
-/// (Deprecated: Use two-parameter version of async_result.) An interface for
-/// customising the behaviour of an initiating function.
-/**
- * This template may be specialised for user-defined handler types.
- */
-template <typename Handler>
-class async_result<Handler>
-{
-public:
- /// The return type of the initiating function.
- typedef void type;
-
- /// Construct an async result from a given handler.
- /**
- * When using a specalised async_result, the constructor has an opportunity
- * to initialise some state associated with the handler, which is then
- * returned from the initiating function.
- */
- explicit async_result(Handler&)
- {
- }
-
- /// Obtain the value to be returned from the initiating function.
- type get()
- {
- }
-};
-
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-/// Helper template to deduce the handler type from a CompletionToken, capture
-/// a local copy of the handler, and then create an async_result for the
-/// handler.
-template <typename CompletionToken, typename Signature>
-struct async_completion
-{
- /// The real handler type to be used for the asynchronous operation.
- typedef typename boost::asio::async_result<
- typename decay<CompletionToken>::type,
- Signature>::completion_handler_type completion_handler_type;
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Constructor.
- /**
- * The constructor creates the concrete completion handler and makes the link
- * between the handler and the asynchronous result.
- */
- explicit async_completion(CompletionToken& token)
- : completion_handler(static_cast<typename conditional<
- is_same<CompletionToken, completion_handler_type>::value,
- completion_handler_type&, CompletionToken&&>::type>(token)),
- result(completion_handler)
- {
- }
-#else // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- explicit async_completion(typename decay<CompletionToken>::type& token)
- : completion_handler(token),
- result(completion_handler)
- {
- }
-
- explicit async_completion(const typename decay<CompletionToken>::type& token)
- : completion_handler(token),
- result(completion_handler)
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// A copy of, or reference to, a real handler object.
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- typename conditional<
- is_same<CompletionToken, completion_handler_type>::value,
- completion_handler_type&, completion_handler_type>::type completion_handler;
-#else // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- completion_handler_type completion_handler;
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// The result of the asynchronous operation's initiating function.
- async_result<typename decay<CompletionToken>::type, Signature> result;
-};
-
-namespace detail {
-
-template <typename CompletionToken, typename Signature>
-struct async_result_helper
- : async_result<typename decay<CompletionToken>::type, Signature>
-{
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(GENERATING_DOCUMENTATION)
-# define BOOST_ASIO_INITFN_RESULT_TYPE(ct, sig) \
- void_or_deduced
-#elif defined(_MSC_VER) && (_MSC_VER < 1500)
-# define BOOST_ASIO_INITFN_RESULT_TYPE(ct, sig) \
- typename ::boost::asio::detail::async_result_helper< \
- ct, sig>::return_type
-#define BOOST_ASIO_HANDLER_TYPE(ct, sig) \
- typename ::boost::asio::detail::async_result_helper< \
- ct, sig>::completion_handler_type
-#else
-# define BOOST_ASIO_INITFN_RESULT_TYPE(ct, sig) \
- typename ::boost::asio::async_result< \
- typename ::boost::asio::decay<ct>::type, sig>::return_type
-#define BOOST_ASIO_HANDLER_TYPE(ct, sig) \
- typename ::boost::asio::async_result< \
- typename ::boost::asio::decay<ct>::type, sig>::completion_handler_type
-#endif
-
-#endif // BOOST_ASIO_ASYNC_RESULT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp
deleted file mode 100644
index b512b75dde..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_datagram_socket.hpp
+++ /dev/null
@@ -1,1042 +0,0 @@
-//
-// basic_datagram_socket.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_BASIC_DATAGRAM_SOCKET_HPP
-#define BOOST_ASIO_BASIC_DATAGRAM_SOCKET_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <cstddef>
-#include <boost/asio/basic_socket.hpp>
-#include <boost/asio/detail/handler_type_requirements.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-#include <boost/asio/error.hpp>
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-# include <boost/asio/datagram_socket_service.hpp>
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// Provides datagram-oriented socket functionality.
-/**
- * The basic_datagram_socket class template provides asynchronous and blocking
- * datagram-oriented socket functionality.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Unsafe.
- */
-template <typename Protocol
- BOOST_ASIO_SVC_TPARAM_DEF1(= datagram_socket_service<Protocol>)>
-class basic_datagram_socket
- : public basic_socket<Protocol BOOST_ASIO_SVC_TARG>
-{
-public:
- /// The native representation of a socket.
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined native_handle_type;
-#else
- typedef typename basic_socket<
- Protocol BOOST_ASIO_SVC_TARG>::native_handle_type native_handle_type;
-#endif
-
- /// The protocol type.
- typedef Protocol protocol_type;
-
- /// The endpoint type.
- typedef typename Protocol::endpoint endpoint_type;
-
- /// Construct a basic_datagram_socket without opening it.
- /**
- * This constructor creates a datagram socket without opening it. The open()
- * function must be called before data can be sent or received on the socket.
- *
- * @param io_context The io_context object that the datagram socket will use
- * to dispatch handlers for any asynchronous operations performed on the
- * socket.
- */
- explicit basic_datagram_socket(boost::asio::io_context& io_context)
- : basic_socket<Protocol BOOST_ASIO_SVC_TARG>(io_context)
- {
- }
-
- /// Construct and open a basic_datagram_socket.
- /**
- * This constructor creates and opens a datagram socket.
- *
- * @param io_context The io_context object that the datagram socket will use
- * to dispatch handlers for any asynchronous operations performed on the
- * socket.
- *
- * @param protocol An object specifying protocol parameters to be used.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- basic_datagram_socket(boost::asio::io_context& io_context,
- const protocol_type& protocol)
- : basic_socket<Protocol BOOST_ASIO_SVC_TARG>(io_context, protocol)
- {
- }
-
- /// Construct a basic_datagram_socket, opening it and binding it to the given
- /// local endpoint.
- /**
- * This constructor creates a datagram socket and automatically opens it bound
- * to the specified endpoint on the local machine. The protocol used is the
- * protocol associated with the given endpoint.
- *
- * @param io_context The io_context object that the datagram socket will use
- * to dispatch handlers for any asynchronous operations performed on the
- * socket.
- *
- * @param endpoint An endpoint on the local machine to which the datagram
- * socket will be bound.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- basic_datagram_socket(boost::asio::io_context& io_context,
- const endpoint_type& endpoint)
- : basic_socket<Protocol BOOST_ASIO_SVC_TARG>(io_context, endpoint)
- {
- }
-
- /// Construct a basic_datagram_socket on an existing native socket.
- /**
- * This constructor creates a datagram socket object to hold an existing
- * native socket.
- *
- * @param io_context The io_context object that the datagram socket will use
- * to dispatch handlers for any asynchronous operations performed on the
- * socket.
- *
- * @param protocol An object specifying protocol parameters to be used.
- *
- * @param native_socket The new underlying socket implementation.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- basic_datagram_socket(boost::asio::io_context& io_context,
- const protocol_type& protocol, const native_handle_type& native_socket)
- : basic_socket<Protocol BOOST_ASIO_SVC_TARG>(
- io_context, protocol, native_socket)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move-construct a basic_datagram_socket from another.
- /**
- * This constructor moves a datagram socket from one object to another.
- *
- * @param other The other basic_datagram_socket object from which the move
- * will occur.
- *
- * @note Following the move, the moved-from object is in the same state as if
- * constructed using the @c basic_datagram_socket(io_context&) constructor.
- */
- basic_datagram_socket(basic_datagram_socket&& other)
- : basic_socket<Protocol BOOST_ASIO_SVC_TARG>(std::move(other))
- {
- }
-
- /// Move-assign a basic_datagram_socket from another.
- /**
- * This assignment operator moves a datagram socket from one object to
- * another.
- *
- * @param other The other basic_datagram_socket object from which the move
- * will occur.
- *
- * @note Following the move, the moved-from object is in the same state as if
- * constructed using the @c basic_datagram_socket(io_context&) constructor.
- */
- basic_datagram_socket& operator=(basic_datagram_socket&& other)
- {
- basic_socket<Protocol BOOST_ASIO_SVC_TARG>::operator=(std::move(other));
- return *this;
- }
-
- /// Move-construct a basic_datagram_socket from a socket of another protocol
- /// type.
- /**
- * This constructor moves a datagram socket from one object to another.
- *
- * @param other The other basic_datagram_socket object from which the move
- * will occur.
- *
- * @note Following the move, the moved-from object is in the same state as if
- * constructed using the @c basic_datagram_socket(io_context&) constructor.
- */
- template <typename Protocol1 BOOST_ASIO_SVC_TPARAM1>
- basic_datagram_socket(
- basic_datagram_socket<Protocol1 BOOST_ASIO_SVC_TARG1>&& other,
- typename enable_if<is_convertible<Protocol1, Protocol>::value>::type* = 0)
- : basic_socket<Protocol BOOST_ASIO_SVC_TARG>(std::move(other))
- {
- }
-
- /// Move-assign a basic_datagram_socket from a socket of another protocol
- /// type.
- /**
- * This assignment operator moves a datagram socket from one object to
- * another.
- *
- * @param other The other basic_datagram_socket object from which the move
- * will occur.
- *
- * @note Following the move, the moved-from object is in the same state as if
- * constructed using the @c basic_datagram_socket(io_context&) constructor.
- */
- template <typename Protocol1 BOOST_ASIO_SVC_TPARAM1>
- typename enable_if<is_convertible<Protocol1, Protocol>::value,
- basic_datagram_socket>::type& operator=(
- basic_datagram_socket<Protocol1 BOOST_ASIO_SVC_TARG1>&& other)
- {
- basic_socket<Protocol BOOST_ASIO_SVC_TARG>::operator=(std::move(other));
- return *this;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// Destroys the socket.
- /**
- * This function destroys the socket, cancelling any outstanding asynchronous
- * operations associated with the socket as if by calling @c cancel.
- */
- ~basic_datagram_socket()
- {
- }
-
- /// Send some data on a connected socket.
- /**
- * This function is used to send data on the datagram socket. The function
- * call will block until the data has been sent successfully or an error
- * occurs.
- *
- * @param buffers One ore more data buffers to be sent on the socket.
- *
- * @returns The number of bytes sent.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @note The send operation can only be used with a connected socket. Use
- * the send_to function to send data on an unconnected datagram socket.
- *
- * @par Example
- * To send a single data buffer use the @ref buffer function as follows:
- * @code socket.send(boost::asio::buffer(data, size)); @endcode
- * See the @ref buffer documentation for information on sending multiple
- * buffers in one go, and how to use it with arrays, boost::array or
- * std::vector.
- */
- template <typename ConstBufferSequence>
- std::size_t send(const ConstBufferSequence& buffers)
- {
- boost::system::error_code ec;
- std::size_t s = this->get_service().send(
- this->get_implementation(), buffers, 0, ec);
- boost::asio::detail::throw_error(ec, "send");
- return s;
- }
-
- /// Send some data on a connected socket.
- /**
- * This function is used to send data on the datagram socket. The function
- * call will block until the data has been sent successfully or an error
- * occurs.
- *
- * @param buffers One ore more data buffers to be sent on the socket.
- *
- * @param flags Flags specifying how the send call is to be made.
- *
- * @returns The number of bytes sent.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @note The send operation can only be used with a connected socket. Use
- * the send_to function to send data on an unconnected datagram socket.
- */
- template <typename ConstBufferSequence>
- std::size_t send(const ConstBufferSequence& buffers,
- socket_base::message_flags flags)
- {
- boost::system::error_code ec;
- std::size_t s = this->get_service().send(
- this->get_implementation(), buffers, flags, ec);
- boost::asio::detail::throw_error(ec, "send");
- return s;
- }
-
- /// Send some data on a connected socket.
- /**
- * This function is used to send data on the datagram socket. The function
- * call will block until the data has been sent successfully or an error
- * occurs.
- *
- * @param buffers One or more data buffers to be sent on the socket.
- *
- * @param flags Flags specifying how the send call is to be made.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns The number of bytes sent.
- *
- * @note The send operation can only be used with a connected socket. Use
- * the send_to function to send data on an unconnected datagram socket.
- */
- template <typename ConstBufferSequence>
- std::size_t send(const ConstBufferSequence& buffers,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- return this->get_service().send(
- this->get_implementation(), buffers, flags, ec);
- }
-
- /// Start an asynchronous send on a connected socket.
- /**
- * This function is used to asynchronously send data on the datagram socket.
- * The function call always returns immediately.
- *
- * @param buffers One or more data buffers to be sent on the socket. Although
- * the buffers object may be copied as necessary, ownership of the underlying
- * memory blocks is retained by the caller, which must guarantee that they
- * remain valid until the handler is called.
- *
- * @param handler The handler to be called when the send operation completes.
- * Copies will be made of the handler as required. The function signature of
- * the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * std::size_t bytes_transferred // Number of bytes sent.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * @note The async_send operation can only be used with a connected socket.
- * Use the async_send_to function to send data on an unconnected datagram
- * socket.
- *
- * @par Example
- * To send a single data buffer use the @ref buffer function as follows:
- * @code
- * socket.async_send(boost::asio::buffer(data, size), handler);
- * @endcode
- * See the @ref buffer documentation for information on sending multiple
- * buffers in one go, and how to use it with arrays, boost::array or
- * std::vector.
- */
- template <typename ConstBufferSequence, typename WriteHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
- void (boost::system::error_code, std::size_t))
- async_send(const ConstBufferSequence& buffers,
- BOOST_ASIO_MOVE_ARG(WriteHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a WriteHandler.
- BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check;
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_send(this->get_implementation(),
- buffers, 0, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- async_completion<WriteHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- this->get_service().async_send(this->get_implementation(),
- buffers, 0, init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-
- /// Start an asynchronous send on a connected socket.
- /**
- * This function is used to asynchronously send data on the datagram socket.
- * The function call always returns immediately.
- *
- * @param buffers One or more data buffers to be sent on the socket. Although
- * the buffers object may be copied as necessary, ownership of the underlying
- * memory blocks is retained by the caller, which must guarantee that they
- * remain valid until the handler is called.
- *
- * @param flags Flags specifying how the send call is to be made.
- *
- * @param handler The handler to be called when the send operation completes.
- * Copies will be made of the handler as required. The function signature of
- * the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * std::size_t bytes_transferred // Number of bytes sent.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * @note The async_send operation can only be used with a connected socket.
- * Use the async_send_to function to send data on an unconnected datagram
- * socket.
- */
- template <typename ConstBufferSequence, typename WriteHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
- void (boost::system::error_code, std::size_t))
- async_send(const ConstBufferSequence& buffers,
- socket_base::message_flags flags,
- BOOST_ASIO_MOVE_ARG(WriteHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a WriteHandler.
- BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check;
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_send(this->get_implementation(),
- buffers, flags, BOOST_ASIO_MOVE_CAST(WriteHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- async_completion<WriteHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- this->get_service().async_send(this->get_implementation(),
- buffers, flags, init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-
- /// Send a datagram to the specified endpoint.
- /**
- * This function is used to send a datagram to the specified remote endpoint.
- * The function call will block until the data has been sent successfully or
- * an error occurs.
- *
- * @param buffers One or more data buffers to be sent to the remote endpoint.
- *
- * @param destination The remote endpoint to which the data will be sent.
- *
- * @returns The number of bytes sent.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @par Example
- * To send a single data buffer use the @ref buffer function as follows:
- * @code
- * boost::asio::ip::udp::endpoint destination(
- * boost::asio::ip::address::from_string("1.2.3.4"), 12345);
- * socket.send_to(boost::asio::buffer(data, size), destination);
- * @endcode
- * See the @ref buffer documentation for information on sending multiple
- * buffers in one go, and how to use it with arrays, boost::array or
- * std::vector.
- */
- template <typename ConstBufferSequence>
- std::size_t send_to(const ConstBufferSequence& buffers,
- const endpoint_type& destination)
- {
- boost::system::error_code ec;
- std::size_t s = this->get_service().send_to(
- this->get_implementation(), buffers, destination, 0, ec);
- boost::asio::detail::throw_error(ec, "send_to");
- return s;
- }
-
- /// Send a datagram to the specified endpoint.
- /**
- * This function is used to send a datagram to the specified remote endpoint.
- * The function call will block until the data has been sent successfully or
- * an error occurs.
- *
- * @param buffers One or more data buffers to be sent to the remote endpoint.
- *
- * @param destination The remote endpoint to which the data will be sent.
- *
- * @param flags Flags specifying how the send call is to be made.
- *
- * @returns The number of bytes sent.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- template <typename ConstBufferSequence>
- std::size_t send_to(const ConstBufferSequence& buffers,
- const endpoint_type& destination, socket_base::message_flags flags)
- {
- boost::system::error_code ec;
- std::size_t s = this->get_service().send_to(
- this->get_implementation(), buffers, destination, flags, ec);
- boost::asio::detail::throw_error(ec, "send_to");
- return s;
- }
-
- /// Send a datagram to the specified endpoint.
- /**
- * This function is used to send a datagram to the specified remote endpoint.
- * The function call will block until the data has been sent successfully or
- * an error occurs.
- *
- * @param buffers One or more data buffers to be sent to the remote endpoint.
- *
- * @param destination The remote endpoint to which the data will be sent.
- *
- * @param flags Flags specifying how the send call is to be made.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns The number of bytes sent.
- */
- template <typename ConstBufferSequence>
- std::size_t send_to(const ConstBufferSequence& buffers,
- const endpoint_type& destination, socket_base::message_flags flags,
- boost::system::error_code& ec)
- {
- return this->get_service().send_to(this->get_implementation(),
- buffers, destination, flags, ec);
- }
-
- /// Start an asynchronous send.
- /**
- * This function is used to asynchronously send a datagram to the specified
- * remote endpoint. The function call always returns immediately.
- *
- * @param buffers One or more data buffers to be sent to the remote endpoint.
- * Although the buffers object may be copied as necessary, ownership of the
- * underlying memory blocks is retained by the caller, which must guarantee
- * that they remain valid until the handler is called.
- *
- * @param destination The remote endpoint to which the data will be sent.
- * Copies will be made of the endpoint as required.
- *
- * @param handler The handler to be called when the send operation completes.
- * Copies will be made of the handler as required. The function signature of
- * the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * std::size_t bytes_transferred // Number of bytes sent.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * @par Example
- * To send a single data buffer use the @ref buffer function as follows:
- * @code
- * boost::asio::ip::udp::endpoint destination(
- * boost::asio::ip::address::from_string("1.2.3.4"), 12345);
- * socket.async_send_to(
- * boost::asio::buffer(data, size), destination, handler);
- * @endcode
- * See the @ref buffer documentation for information on sending multiple
- * buffers in one go, and how to use it with arrays, boost::array or
- * std::vector.
- */
- template <typename ConstBufferSequence, typename WriteHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
- void (boost::system::error_code, std::size_t))
- async_send_to(const ConstBufferSequence& buffers,
- const endpoint_type& destination,
- BOOST_ASIO_MOVE_ARG(WriteHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a WriteHandler.
- BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check;
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_send_to(
- this->get_implementation(), buffers, destination, 0,
- BOOST_ASIO_MOVE_CAST(WriteHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- async_completion<WriteHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- this->get_service().async_send_to(
- this->get_implementation(), buffers, destination, 0,
- init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-
- /// Start an asynchronous send.
- /**
- * This function is used to asynchronously send a datagram to the specified
- * remote endpoint. The function call always returns immediately.
- *
- * @param buffers One or more data buffers to be sent to the remote endpoint.
- * Although the buffers object may be copied as necessary, ownership of the
- * underlying memory blocks is retained by the caller, which must guarantee
- * that they remain valid until the handler is called.
- *
- * @param flags Flags specifying how the send call is to be made.
- *
- * @param destination The remote endpoint to which the data will be sent.
- * Copies will be made of the endpoint as required.
- *
- * @param handler The handler to be called when the send operation completes.
- * Copies will be made of the handler as required. The function signature of
- * the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * std::size_t bytes_transferred // Number of bytes sent.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- */
- template <typename ConstBufferSequence, typename WriteHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
- void (boost::system::error_code, std::size_t))
- async_send_to(const ConstBufferSequence& buffers,
- const endpoint_type& destination, socket_base::message_flags flags,
- BOOST_ASIO_MOVE_ARG(WriteHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a WriteHandler.
- BOOST_ASIO_WRITE_HANDLER_CHECK(WriteHandler, handler) type_check;
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_send_to(
- this->get_implementation(), buffers, destination, flags,
- BOOST_ASIO_MOVE_CAST(WriteHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- async_completion<WriteHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- this->get_service().async_send_to(
- this->get_implementation(), buffers, destination, flags,
- init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-
- /// Receive some data on a connected socket.
- /**
- * This function is used to receive data on the datagram socket. The function
- * call will block until data has been received successfully or an error
- * occurs.
- *
- * @param buffers One or more buffers into which the data will be received.
- *
- * @returns The number of bytes received.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @note The receive operation can only be used with a connected socket. Use
- * the receive_from function to receive data on an unconnected datagram
- * socket.
- *
- * @par Example
- * To receive into a single data buffer use the @ref buffer function as
- * follows:
- * @code socket.receive(boost::asio::buffer(data, size)); @endcode
- * See the @ref buffer documentation for information on receiving into
- * multiple buffers in one go, and how to use it with arrays, boost::array or
- * std::vector.
- */
- template <typename MutableBufferSequence>
- std::size_t receive(const MutableBufferSequence& buffers)
- {
- boost::system::error_code ec;
- std::size_t s = this->get_service().receive(
- this->get_implementation(), buffers, 0, ec);
- boost::asio::detail::throw_error(ec, "receive");
- return s;
- }
-
- /// Receive some data on a connected socket.
- /**
- * This function is used to receive data on the datagram socket. The function
- * call will block until data has been received successfully or an error
- * occurs.
- *
- * @param buffers One or more buffers into which the data will be received.
- *
- * @param flags Flags specifying how the receive call is to be made.
- *
- * @returns The number of bytes received.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @note The receive operation can only be used with a connected socket. Use
- * the receive_from function to receive data on an unconnected datagram
- * socket.
- */
- template <typename MutableBufferSequence>
- std::size_t receive(const MutableBufferSequence& buffers,
- socket_base::message_flags flags)
- {
- boost::system::error_code ec;
- std::size_t s = this->get_service().receive(
- this->get_implementation(), buffers, flags, ec);
- boost::asio::detail::throw_error(ec, "receive");
- return s;
- }
-
- /// Receive some data on a connected socket.
- /**
- * This function is used to receive data on the datagram socket. The function
- * call will block until data has been received successfully or an error
- * occurs.
- *
- * @param buffers One or more buffers into which the data will be received.
- *
- * @param flags Flags specifying how the receive call is to be made.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns The number of bytes received.
- *
- * @note The receive operation can only be used with a connected socket. Use
- * the receive_from function to receive data on an unconnected datagram
- * socket.
- */
- template <typename MutableBufferSequence>
- std::size_t receive(const MutableBufferSequence& buffers,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- return this->get_service().receive(
- this->get_implementation(), buffers, flags, ec);
- }
-
- /// Start an asynchronous receive on a connected socket.
- /**
- * This function is used to asynchronously receive data from the datagram
- * socket. The function call always returns immediately.
- *
- * @param buffers One or more buffers into which the data will be received.
- * Although the buffers object may be copied as necessary, ownership of the
- * underlying memory blocks is retained by the caller, which must guarantee
- * that they remain valid until the handler is called.
- *
- * @param handler The handler to be called when the receive operation
- * completes. Copies will be made of the handler as required. The function
- * signature of the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * std::size_t bytes_transferred // Number of bytes received.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * @note The async_receive operation can only be used with a connected socket.
- * Use the async_receive_from function to receive data on an unconnected
- * datagram socket.
- *
- * @par Example
- * To receive into a single data buffer use the @ref buffer function as
- * follows:
- * @code
- * socket.async_receive(boost::asio::buffer(data, size), handler);
- * @endcode
- * See the @ref buffer documentation for information on receiving into
- * multiple buffers in one go, and how to use it with arrays, boost::array or
- * std::vector.
- */
- template <typename MutableBufferSequence, typename ReadHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler,
- void (boost::system::error_code, std::size_t))
- async_receive(const MutableBufferSequence& buffers,
- BOOST_ASIO_MOVE_ARG(ReadHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a ReadHandler.
- BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_receive(this->get_implementation(),
- buffers, 0, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- async_completion<ReadHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- this->get_service().async_receive(this->get_implementation(),
- buffers, 0, init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-
- /// Start an asynchronous receive on a connected socket.
- /**
- * This function is used to asynchronously receive data from the datagram
- * socket. The function call always returns immediately.
- *
- * @param buffers One or more buffers into which the data will be received.
- * Although the buffers object may be copied as necessary, ownership of the
- * underlying memory blocks is retained by the caller, which must guarantee
- * that they remain valid until the handler is called.
- *
- * @param flags Flags specifying how the receive call is to be made.
- *
- * @param handler The handler to be called when the receive operation
- * completes. Copies will be made of the handler as required. The function
- * signature of the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * std::size_t bytes_transferred // Number of bytes received.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * @note The async_receive operation can only be used with a connected socket.
- * Use the async_receive_from function to receive data on an unconnected
- * datagram socket.
- */
- template <typename MutableBufferSequence, typename ReadHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler,
- void (boost::system::error_code, std::size_t))
- async_receive(const MutableBufferSequence& buffers,
- socket_base::message_flags flags,
- BOOST_ASIO_MOVE_ARG(ReadHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a ReadHandler.
- BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_receive(this->get_implementation(),
- buffers, flags, BOOST_ASIO_MOVE_CAST(ReadHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- async_completion<ReadHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- this->get_service().async_receive(this->get_implementation(),
- buffers, flags, init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-
- /// Receive a datagram with the endpoint of the sender.
- /**
- * This function is used to receive a datagram. The function call will block
- * until data has been received successfully or an error occurs.
- *
- * @param buffers One or more buffers into which the data will be received.
- *
- * @param sender_endpoint An endpoint object that receives the endpoint of
- * the remote sender of the datagram.
- *
- * @returns The number of bytes received.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @par Example
- * To receive into a single data buffer use the @ref buffer function as
- * follows:
- * @code
- * boost::asio::ip::udp::endpoint sender_endpoint;
- * socket.receive_from(
- * boost::asio::buffer(data, size), sender_endpoint);
- * @endcode
- * See the @ref buffer documentation for information on receiving into
- * multiple buffers in one go, and how to use it with arrays, boost::array or
- * std::vector.
- */
- template <typename MutableBufferSequence>
- std::size_t receive_from(const MutableBufferSequence& buffers,
- endpoint_type& sender_endpoint)
- {
- boost::system::error_code ec;
- std::size_t s = this->get_service().receive_from(
- this->get_implementation(), buffers, sender_endpoint, 0, ec);
- boost::asio::detail::throw_error(ec, "receive_from");
- return s;
- }
-
- /// Receive a datagram with the endpoint of the sender.
- /**
- * This function is used to receive a datagram. The function call will block
- * until data has been received successfully or an error occurs.
- *
- * @param buffers One or more buffers into which the data will be received.
- *
- * @param sender_endpoint An endpoint object that receives the endpoint of
- * the remote sender of the datagram.
- *
- * @param flags Flags specifying how the receive call is to be made.
- *
- * @returns The number of bytes received.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- template <typename MutableBufferSequence>
- std::size_t receive_from(const MutableBufferSequence& buffers,
- endpoint_type& sender_endpoint, socket_base::message_flags flags)
- {
- boost::system::error_code ec;
- std::size_t s = this->get_service().receive_from(
- this->get_implementation(), buffers, sender_endpoint, flags, ec);
- boost::asio::detail::throw_error(ec, "receive_from");
- return s;
- }
-
- /// Receive a datagram with the endpoint of the sender.
- /**
- * This function is used to receive a datagram. The function call will block
- * until data has been received successfully or an error occurs.
- *
- * @param buffers One or more buffers into which the data will be received.
- *
- * @param sender_endpoint An endpoint object that receives the endpoint of
- * the remote sender of the datagram.
- *
- * @param flags Flags specifying how the receive call is to be made.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns The number of bytes received.
- */
- template <typename MutableBufferSequence>
- std::size_t receive_from(const MutableBufferSequence& buffers,
- endpoint_type& sender_endpoint, socket_base::message_flags flags,
- boost::system::error_code& ec)
- {
- return this->get_service().receive_from(this->get_implementation(),
- buffers, sender_endpoint, flags, ec);
- }
-
- /// Start an asynchronous receive.
- /**
- * This function is used to asynchronously receive a datagram. The function
- * call always returns immediately.
- *
- * @param buffers One or more buffers into which the data will be received.
- * Although the buffers object may be copied as necessary, ownership of the
- * underlying memory blocks is retained by the caller, which must guarantee
- * that they remain valid until the handler is called.
- *
- * @param sender_endpoint An endpoint object that receives the endpoint of
- * the remote sender of the datagram. Ownership of the sender_endpoint object
- * is retained by the caller, which must guarantee that it is valid until the
- * handler is called.
- *
- * @param handler The handler to be called when the receive operation
- * completes. Copies will be made of the handler as required. The function
- * signature of the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * std::size_t bytes_transferred // Number of bytes received.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * @par Example
- * To receive into a single data buffer use the @ref buffer function as
- * follows:
- * @code socket.async_receive_from(
- * boost::asio::buffer(data, size), sender_endpoint, handler); @endcode
- * See the @ref buffer documentation for information on receiving into
- * multiple buffers in one go, and how to use it with arrays, boost::array or
- * std::vector.
- */
- template <typename MutableBufferSequence, typename ReadHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler,
- void (boost::system::error_code, std::size_t))
- async_receive_from(const MutableBufferSequence& buffers,
- endpoint_type& sender_endpoint,
- BOOST_ASIO_MOVE_ARG(ReadHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a ReadHandler.
- BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_receive_from(
- this->get_implementation(), buffers, sender_endpoint, 0,
- BOOST_ASIO_MOVE_CAST(ReadHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- async_completion<ReadHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- this->get_service().async_receive_from(
- this->get_implementation(), buffers, sender_endpoint, 0,
- init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-
- /// Start an asynchronous receive.
- /**
- * This function is used to asynchronously receive a datagram. The function
- * call always returns immediately.
- *
- * @param buffers One or more buffers into which the data will be received.
- * Although the buffers object may be copied as necessary, ownership of the
- * underlying memory blocks is retained by the caller, which must guarantee
- * that they remain valid until the handler is called.
- *
- * @param sender_endpoint An endpoint object that receives the endpoint of
- * the remote sender of the datagram. Ownership of the sender_endpoint object
- * is retained by the caller, which must guarantee that it is valid until the
- * handler is called.
- *
- * @param flags Flags specifying how the receive call is to be made.
- *
- * @param handler The handler to be called when the receive operation
- * completes. Copies will be made of the handler as required. The function
- * signature of the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * std::size_t bytes_transferred // Number of bytes received.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- */
- template <typename MutableBufferSequence, typename ReadHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler,
- void (boost::system::error_code, std::size_t))
- async_receive_from(const MutableBufferSequence& buffers,
- endpoint_type& sender_endpoint, socket_base::message_flags flags,
- BOOST_ASIO_MOVE_ARG(ReadHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a ReadHandler.
- BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_receive_from(
- this->get_implementation(), buffers, sender_endpoint, flags,
- BOOST_ASIO_MOVE_CAST(ReadHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- async_completion<ReadHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- this->get_service().async_receive_from(
- this->get_implementation(), buffers, sender_endpoint, flags,
- init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-};
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_BASIC_DATAGRAM_SOCKET_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp
deleted file mode 100644
index c0c2c714eb..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_io_object.hpp
+++ /dev/null
@@ -1,292 +0,0 @@
-//
-// basic_io_object.hpp
-// ~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_BASIC_IO_OBJECT_HPP
-#define BOOST_ASIO_BASIC_IO_OBJECT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/io_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-namespace detail
-{
- // Type trait used to determine whether a service supports move.
- template <typename IoObjectService>
- class service_has_move
- {
- private:
- typedef IoObjectService service_type;
- typedef typename service_type::implementation_type implementation_type;
-
- template <typename T, typename U>
- static auto asio_service_has_move_eval(T* t, U* u)
- -> decltype(t->move_construct(*u, *u), char());
- static char (&asio_service_has_move_eval(...))[2];
-
- public:
- static const bool value =
- sizeof(asio_service_has_move_eval(
- static_cast<service_type*>(0),
- static_cast<implementation_type*>(0))) == 1;
- };
-}
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-/// Base class for all I/O objects.
-/**
- * @note All I/O objects are non-copyable. However, when using C++0x, certain
- * I/O objects do support move construction and move assignment.
- */
-#if !defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-template <typename IoObjectService>
-#else
-template <typename IoObjectService,
- bool Movable = detail::service_has_move<IoObjectService>::value>
-#endif
-class basic_io_object
-{
-public:
- /// The type of the service that will be used to provide I/O operations.
- typedef IoObjectService service_type;
-
- /// The underlying implementation type of I/O object.
- typedef typename service_type::implementation_type implementation_type;
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use get_executor().) Get the io_context associated with the
- /// object.
- /**
- * This function may be used to obtain the io_context object that the I/O
- * object uses to dispatch handlers for asynchronous operations.
- *
- * @return A reference to the io_context object that the I/O object will use
- * to dispatch handlers. Ownership is not transferred to the caller.
- */
- boost::asio::io_context& get_io_context()
- {
- return service_.get_io_context();
- }
-
- /// (Deprecated: Use get_executor().) Get the io_context associated with the
- /// object.
- /**
- * This function may be used to obtain the io_context object that the I/O
- * object uses to dispatch handlers for asynchronous operations.
- *
- * @return A reference to the io_context object that the I/O object will use
- * to dispatch handlers. Ownership is not transferred to the caller.
- */
- boost::asio::io_context& get_io_service()
- {
- return service_.get_io_context();
- }
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// The type of the executor associated with the object.
- typedef boost::asio::io_context::executor_type executor_type;
-
- /// Get the executor associated with the object.
- executor_type get_executor() BOOST_ASIO_NOEXCEPT
- {
- return service_.get_io_context().get_executor();
- }
-
-protected:
- /// Construct a basic_io_object.
- /**
- * Performs:
- * @code get_service().construct(get_implementation()); @endcode
- */
- explicit basic_io_object(boost::asio::io_context& io_context)
- : service_(boost::asio::use_service<IoObjectService>(io_context))
- {
- service_.construct(implementation_);
- }
-
-#if defined(GENERATING_DOCUMENTATION)
- /// Move-construct a basic_io_object.
- /**
- * Performs:
- * @code get_service().move_construct(
- * get_implementation(), other.get_implementation()); @endcode
- *
- * @note Available only for services that support movability,
- */
- basic_io_object(basic_io_object&& other);
-
- /// Move-assign a basic_io_object.
- /**
- * Performs:
- * @code get_service().move_assign(get_implementation(),
- * other.get_service(), other.get_implementation()); @endcode
- *
- * @note Available only for services that support movability,
- */
- basic_io_object& operator=(basic_io_object&& other);
-
- /// Perform a converting move-construction of a basic_io_object.
- template <typename IoObjectService1>
- basic_io_object(IoObjectService1& other_service,
- typename IoObjectService1::implementation_type& other_implementation);
-#endif // defined(GENERATING_DOCUMENTATION)
-
- /// Protected destructor to prevent deletion through this type.
- /**
- * Performs:
- * @code get_service().destroy(get_implementation()); @endcode
- */
- ~basic_io_object()
- {
- service_.destroy(implementation_);
- }
-
- /// Get the service associated with the I/O object.
- service_type& get_service()
- {
- return service_;
- }
-
- /// Get the service associated with the I/O object.
- const service_type& get_service() const
- {
- return service_;
- }
-
- /// Get the underlying implementation of the I/O object.
- implementation_type& get_implementation()
- {
- return implementation_;
- }
-
- /// Get the underlying implementation of the I/O object.
- const implementation_type& get_implementation() const
- {
- return implementation_;
- }
-
-private:
- basic_io_object(const basic_io_object&);
- basic_io_object& operator=(const basic_io_object&);
-
- // The service associated with the I/O object.
- service_type& service_;
-
- /// The underlying implementation of the I/O object.
- implementation_type implementation_;
-};
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-// Specialisation for movable objects.
-template <typename IoObjectService>
-class basic_io_object<IoObjectService, true>
-{
-public:
- typedef IoObjectService service_type;
- typedef typename service_type::implementation_type implementation_type;
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- boost::asio::io_context& get_io_context()
- {
- return service_->get_io_context();
- }
-
- boost::asio::io_context& get_io_service()
- {
- return service_->get_io_context();
- }
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- typedef boost::asio::io_context::executor_type executor_type;
-
- executor_type get_executor() BOOST_ASIO_NOEXCEPT
- {
- return service_->get_io_context().get_executor();
- }
-
-protected:
- explicit basic_io_object(boost::asio::io_context& io_context)
- : service_(&boost::asio::use_service<IoObjectService>(io_context))
- {
- service_->construct(implementation_);
- }
-
- basic_io_object(basic_io_object&& other)
- : service_(&other.get_service())
- {
- service_->move_construct(implementation_, other.implementation_);
- }
-
- template <typename IoObjectService1>
- basic_io_object(IoObjectService1& other_service,
- typename IoObjectService1::implementation_type& other_implementation)
- : service_(&boost::asio::use_service<IoObjectService>(
- other_service.get_io_context()))
- {
- service_->converting_move_construct(implementation_,
- other_service, other_implementation);
- }
-
- ~basic_io_object()
- {
- service_->destroy(implementation_);
- }
-
- basic_io_object& operator=(basic_io_object&& other)
- {
- service_->move_assign(implementation_,
- *other.service_, other.implementation_);
- service_ = other.service_;
- return *this;
- }
-
- service_type& get_service()
- {
- return *service_;
- }
-
- const service_type& get_service() const
- {
- return *service_;
- }
-
- implementation_type& get_implementation()
- {
- return implementation_;
- }
-
- const implementation_type& get_implementation() const
- {
- return implementation_;
- }
-
-private:
- basic_io_object(const basic_io_object&);
- void operator=(const basic_io_object&);
-
- IoObjectService* service_;
- implementation_type implementation_;
-};
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_BASIC_IO_OBJECT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp b/contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp
deleted file mode 100644
index ed22cd2b79..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/basic_socket.hpp
+++ /dev/null
@@ -1,1759 +0,0 @@
-//
-// basic_socket.hpp
-// ~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_BASIC_SOCKET_HPP
-#define BOOST_ASIO_BASIC_SOCKET_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/async_result.hpp>
-#include <boost/asio/basic_io_object.hpp>
-#include <boost/asio/detail/handler_type_requirements.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/post.hpp>
-#include <boost/asio/socket_base.hpp>
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-# include <utility>
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-#if !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-# if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# include <boost/asio/detail/winrt_ssocket_service.hpp>
-# define BOOST_ASIO_SVC_T detail::winrt_ssocket_service<Protocol>
-# elif defined(BOOST_ASIO_HAS_IOCP)
-# include <boost/asio/detail/win_iocp_socket_service.hpp>
-# define BOOST_ASIO_SVC_T detail::win_iocp_socket_service<Protocol>
-# else
-# include <boost/asio/detail/reactive_socket_service.hpp>
-# define BOOST_ASIO_SVC_T detail::reactive_socket_service<Protocol>
-# endif
-#endif // !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// Provides socket functionality.
-/**
- * The basic_socket class template provides functionality that is common to both
- * stream-oriented and datagram-oriented sockets.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Unsafe.
- */
-template <typename Protocol BOOST_ASIO_SVC_TPARAM>
-class basic_socket
- : BOOST_ASIO_SVC_ACCESS basic_io_object<BOOST_ASIO_SVC_T>,
- public socket_base
-{
-public:
- /// The type of the executor associated with the object.
- typedef io_context::executor_type executor_type;
-
- /// The native representation of a socket.
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined native_handle_type;
-#else
- typedef typename BOOST_ASIO_SVC_T::native_handle_type native_handle_type;
-#endif
-
- /// The protocol type.
- typedef Protocol protocol_type;
-
- /// The endpoint type.
- typedef typename Protocol::endpoint endpoint_type;
-
-#if !defined(BOOST_ASIO_NO_EXTENSIONS)
- /// A basic_socket is always the lowest layer.
- typedef basic_socket<Protocol BOOST_ASIO_SVC_TARG> lowest_layer_type;
-#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
-
- /// Construct a basic_socket without opening it.
- /**
- * This constructor creates a socket without opening it.
- *
- * @param io_context The io_context object that the socket will use to
- * dispatch handlers for any asynchronous operations performed on the socket.
- */
- explicit basic_socket(boost::asio::io_context& io_context)
- : basic_io_object<BOOST_ASIO_SVC_T>(io_context)
- {
- }
-
- /// Construct and open a basic_socket.
- /**
- * This constructor creates and opens a socket.
- *
- * @param io_context The io_context object that the socket will use to
- * dispatch handlers for any asynchronous operations performed on the socket.
- *
- * @param protocol An object specifying protocol parameters to be used.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- basic_socket(boost::asio::io_context& io_context,
- const protocol_type& protocol)
- : basic_io_object<BOOST_ASIO_SVC_T>(io_context)
- {
- boost::system::error_code ec;
- this->get_service().open(this->get_implementation(), protocol, ec);
- boost::asio::detail::throw_error(ec, "open");
- }
-
- /// Construct a basic_socket, opening it and binding it to the given local
- /// endpoint.
- /**
- * This constructor creates a socket and automatically opens it bound to the
- * specified endpoint on the local machine. The protocol used is the protocol
- * associated with the given endpoint.
- *
- * @param io_context The io_context object that the socket will use to
- * dispatch handlers for any asynchronous operations performed on the socket.
- *
- * @param endpoint An endpoint on the local machine to which the socket will
- * be bound.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- basic_socket(boost::asio::io_context& io_context,
- const endpoint_type& endpoint)
- : basic_io_object<BOOST_ASIO_SVC_T>(io_context)
- {
- boost::system::error_code ec;
- const protocol_type protocol = endpoint.protocol();
- this->get_service().open(this->get_implementation(), protocol, ec);
- boost::asio::detail::throw_error(ec, "open");
- this->get_service().bind(this->get_implementation(), endpoint, ec);
- boost::asio::detail::throw_error(ec, "bind");
- }
-
- /// Construct a basic_socket on an existing native socket.
- /**
- * This constructor creates a socket object to hold an existing native socket.
- *
- * @param io_context The io_context object that the socket will use to
- * dispatch handlers for any asynchronous operations performed on the socket.
- *
- * @param protocol An object specifying protocol parameters to be used.
- *
- * @param native_socket A native socket.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- basic_socket(boost::asio::io_context& io_context,
- const protocol_type& protocol, const native_handle_type& native_socket)
- : basic_io_object<BOOST_ASIO_SVC_T>(io_context)
- {
- boost::system::error_code ec;
- this->get_service().assign(this->get_implementation(),
- protocol, native_socket, ec);
- boost::asio::detail::throw_error(ec, "assign");
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move-construct a basic_socket from another.
- /**
- * This constructor moves a socket from one object to another.
- *
- * @param other The other basic_socket object from which the move will
- * occur.
- *
- * @note Following the move, the moved-from object is in the same state as if
- * constructed using the @c basic_socket(io_context&) constructor.
- */
- basic_socket(basic_socket&& other)
- : basic_io_object<BOOST_ASIO_SVC_T>(std::move(other))
- {
- }
-
- /// Move-assign a basic_socket from another.
- /**
- * This assignment operator moves a socket from one object to another.
- *
- * @param other The other basic_socket object from which the move will
- * occur.
- *
- * @note Following the move, the moved-from object is in the same state as if
- * constructed using the @c basic_socket(io_context&) constructor.
- */
- basic_socket& operator=(basic_socket&& other)
- {
- basic_io_object<BOOST_ASIO_SVC_T>::operator=(std::move(other));
- return *this;
- }
-
- // All sockets have access to each other's implementations.
- template <typename Protocol1 BOOST_ASIO_SVC_TPARAM1>
- friend class basic_socket;
-
- /// Move-construct a basic_socket from a socket of another protocol type.
- /**
- * This constructor moves a socket from one object to another.
- *
- * @param other The other basic_socket object from which the move will
- * occur.
- *
- * @note Following the move, the moved-from object is in the same state as if
- * constructed using the @c basic_socket(io_context&) constructor.
- */
- template <typename Protocol1 BOOST_ASIO_SVC_TPARAM1>
- basic_socket(basic_socket<Protocol1 BOOST_ASIO_SVC_TARG1>&& other,
- typename enable_if<is_convertible<Protocol1, Protocol>::value>::type* = 0)
- : basic_io_object<BOOST_ASIO_SVC_T>(
- other.get_service(), other.get_implementation())
- {
- }
-
- /// Move-assign a basic_socket from a socket of another protocol type.
- /**
- * This assignment operator moves a socket from one object to another.
- *
- * @param other The other basic_socket object from which the move will
- * occur.
- *
- * @note Following the move, the moved-from object is in the same state as if
- * constructed using the @c basic_socket(io_context&) constructor.
- */
- template <typename Protocol1 BOOST_ASIO_SVC_TPARAM1>
- typename enable_if<is_convertible<Protocol1, Protocol>::value,
- basic_socket>::type& operator=(
- basic_socket<Protocol1 BOOST_ASIO_SVC_TARG1>&& other)
- {
- basic_socket tmp(std::move(other));
- basic_io_object<BOOST_ASIO_SVC_T>::operator=(std::move(tmp));
- return *this;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- // These functions are provided by basic_io_object<>.
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use get_executor().) Get the io_context associated with the
- /// object.
- /**
- * This function may be used to obtain the io_context object that the I/O
- * object uses to dispatch handlers for asynchronous operations.
- *
- * @return A reference to the io_context object that the I/O object will use
- * to dispatch handlers. Ownership is not transferred to the caller.
- */
- boost::asio::io_context& get_io_context()
- {
- return basic_io_object<BOOST_ASIO_SVC_T>::get_io_context();
- }
-
- /// (Deprecated: Use get_executor().) Get the io_context associated with the
- /// object.
- /**
- * This function may be used to obtain the io_context object that the I/O
- * object uses to dispatch handlers for asynchronous operations.
- *
- * @return A reference to the io_context object that the I/O object will use
- * to dispatch handlers. Ownership is not transferred to the caller.
- */
- boost::asio::io_context& get_io_service()
- {
- return basic_io_object<BOOST_ASIO_SVC_T>::get_io_service();
- }
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Get the executor associated with the object.
- executor_type get_executor() BOOST_ASIO_NOEXCEPT
- {
- return basic_io_object<BOOST_ASIO_SVC_T>::get_executor();
- }
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-
-#if !defined(BOOST_ASIO_NO_EXTENSIONS)
- /// Get a reference to the lowest layer.
- /**
- * This function returns a reference to the lowest layer in a stack of
- * layers. Since a basic_socket cannot contain any further layers, it simply
- * returns a reference to itself.
- *
- * @return A reference to the lowest layer in the stack of layers. Ownership
- * is not transferred to the caller.
- */
- lowest_layer_type& lowest_layer()
- {
- return *this;
- }
-
- /// Get a const reference to the lowest layer.
- /**
- * This function returns a const reference to the lowest layer in a stack of
- * layers. Since a basic_socket cannot contain any further layers, it simply
- * returns a reference to itself.
- *
- * @return A const reference to the lowest layer in the stack of layers.
- * Ownership is not transferred to the caller.
- */
- const lowest_layer_type& lowest_layer() const
- {
- return *this;
- }
-#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
-
- /// Open the socket using the specified protocol.
- /**
- * This function opens the socket so that it will use the specified protocol.
- *
- * @param protocol An object specifying protocol parameters to be used.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * socket.open(boost::asio::ip::tcp::v4());
- * @endcode
- */
- void open(const protocol_type& protocol = protocol_type())
- {
- boost::system::error_code ec;
- this->get_service().open(this->get_implementation(), protocol, ec);
- boost::asio::detail::throw_error(ec, "open");
- }
-
- /// Open the socket using the specified protocol.
- /**
- * This function opens the socket so that it will use the specified protocol.
- *
- * @param protocol An object specifying which protocol is to be used.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * boost::system::error_code ec;
- * socket.open(boost::asio::ip::tcp::v4(), ec);
- * if (ec)
- * {
- * // An error occurred.
- * }
- * @endcode
- */
- BOOST_ASIO_SYNC_OP_VOID open(const protocol_type& protocol,
- boost::system::error_code& ec)
- {
- this->get_service().open(this->get_implementation(), protocol, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Assign an existing native socket to the socket.
- /*
- * This function opens the socket to hold an existing native socket.
- *
- * @param protocol An object specifying which protocol is to be used.
- *
- * @param native_socket A native socket.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- void assign(const protocol_type& protocol,
- const native_handle_type& native_socket)
- {
- boost::system::error_code ec;
- this->get_service().assign(this->get_implementation(),
- protocol, native_socket, ec);
- boost::asio::detail::throw_error(ec, "assign");
- }
-
- /// Assign an existing native socket to the socket.
- /*
- * This function opens the socket to hold an existing native socket.
- *
- * @param protocol An object specifying which protocol is to be used.
- *
- * @param native_socket A native socket.
- *
- * @param ec Set to indicate what error occurred, if any.
- */
- BOOST_ASIO_SYNC_OP_VOID assign(const protocol_type& protocol,
- const native_handle_type& native_socket, boost::system::error_code& ec)
- {
- this->get_service().assign(this->get_implementation(),
- protocol, native_socket, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Determine whether the socket is open.
- bool is_open() const
- {
- return this->get_service().is_open(this->get_implementation());
- }
-
- /// Close the socket.
- /**
- * This function is used to close the socket. Any asynchronous send, receive
- * or connect operations will be cancelled immediately, and will complete
- * with the boost::asio::error::operation_aborted error.
- *
- * @throws boost::system::system_error Thrown on failure. Note that, even if
- * the function indicates an error, the underlying descriptor is closed.
- *
- * @note For portable behaviour with respect to graceful closure of a
- * connected socket, call shutdown() before closing the socket.
- */
- void close()
- {
- boost::system::error_code ec;
- this->get_service().close(this->get_implementation(), ec);
- boost::asio::detail::throw_error(ec, "close");
- }
-
- /// Close the socket.
- /**
- * This function is used to close the socket. Any asynchronous send, receive
- * or connect operations will be cancelled immediately, and will complete
- * with the boost::asio::error::operation_aborted error.
- *
- * @param ec Set to indicate what error occurred, if any. Note that, even if
- * the function indicates an error, the underlying descriptor is closed.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::system::error_code ec;
- * socket.close(ec);
- * if (ec)
- * {
- * // An error occurred.
- * }
- * @endcode
- *
- * @note For portable behaviour with respect to graceful closure of a
- * connected socket, call shutdown() before closing the socket.
- */
- BOOST_ASIO_SYNC_OP_VOID close(boost::system::error_code& ec)
- {
- this->get_service().close(this->get_implementation(), ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Release ownership of the underlying native socket.
- /**
- * This function causes all outstanding asynchronous connect, send and receive
- * operations to finish immediately, and the handlers for cancelled operations
- * will be passed the boost::asio::error::operation_aborted error. Ownership
- * of the native socket is then transferred to the caller.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @note This function is unsupported on Windows versions prior to Windows
- * 8.1, and will fail with boost::asio::error::operation_not_supported on
- * these platforms.
- */
-#if defined(BOOST_ASIO_MSVC) && (BOOST_ASIO_MSVC >= 1400) \
- && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0603)
- __declspec(deprecated("This function always fails with "
- "operation_not_supported when used on Windows versions "
- "prior to Windows 8.1."))
-#endif
- native_handle_type release()
- {
- boost::system::error_code ec;
- native_handle_type s = this->get_service().release(
- this->get_implementation(), ec);
- boost::asio::detail::throw_error(ec, "release");
- return s;
- }
-
- /// Release ownership of the underlying native socket.
- /**
- * This function causes all outstanding asynchronous connect, send and receive
- * operations to finish immediately, and the handlers for cancelled operations
- * will be passed the boost::asio::error::operation_aborted error. Ownership
- * of the native socket is then transferred to the caller.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @note This function is unsupported on Windows versions prior to Windows
- * 8.1, and will fail with boost::asio::error::operation_not_supported on
- * these platforms.
- */
-#if defined(BOOST_ASIO_MSVC) && (BOOST_ASIO_MSVC >= 1400) \
- && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0603)
- __declspec(deprecated("This function always fails with "
- "operation_not_supported when used on Windows versions "
- "prior to Windows 8.1."))
-#endif
- native_handle_type release(boost::system::error_code& ec)
- {
- return this->get_service().release(this->get_implementation(), ec);
- }
-
- /// Get the native socket representation.
- /**
- * This function may be used to obtain the underlying representation of the
- * socket. This is intended to allow access to native socket functionality
- * that is not otherwise provided.
- */
- native_handle_type native_handle()
- {
- return this->get_service().native_handle(this->get_implementation());
- }
-
- /// Cancel all asynchronous operations associated with the socket.
- /**
- * This function causes all outstanding asynchronous connect, send and receive
- * operations to finish immediately, and the handlers for cancelled operations
- * will be passed the boost::asio::error::operation_aborted error.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @note Calls to cancel() will always fail with
- * boost::asio::error::operation_not_supported when run on Windows XP, Windows
- * Server 2003, and earlier versions of Windows, unless
- * BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo function has
- * two issues that should be considered before enabling its use:
- *
- * @li It will only cancel asynchronous operations that were initiated in the
- * current thread.
- *
- * @li It can appear to complete without error, but the request to cancel the
- * unfinished operations may be silently ignored by the operating system.
- * Whether it works or not seems to depend on the drivers that are installed.
- *
- * For portable cancellation, consider using one of the following
- * alternatives:
- *
- * @li Disable asio's I/O completion port backend by defining
- * BOOST_ASIO_DISABLE_IOCP.
- *
- * @li Use the close() function to simultaneously cancel the outstanding
- * operations and close the socket.
- *
- * When running on Windows Vista, Windows Server 2008, and later, the
- * CancelIoEx function is always used. This function does not have the
- * problems described above.
- */
-#if defined(BOOST_ASIO_MSVC) && (BOOST_ASIO_MSVC >= 1400) \
- && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0600) \
- && !defined(BOOST_ASIO_ENABLE_CANCELIO)
- __declspec(deprecated("By default, this function always fails with "
- "operation_not_supported when used on Windows XP, Windows Server 2003, "
- "or earlier. Consult documentation for details."))
-#endif
- void cancel()
- {
- boost::system::error_code ec;
- this->get_service().cancel(this->get_implementation(), ec);
- boost::asio::detail::throw_error(ec, "cancel");
- }
-
- /// Cancel all asynchronous operations associated with the socket.
- /**
- * This function causes all outstanding asynchronous connect, send and receive
- * operations to finish immediately, and the handlers for cancelled operations
- * will be passed the boost::asio::error::operation_aborted error.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @note Calls to cancel() will always fail with
- * boost::asio::error::operation_not_supported when run on Windows XP, Windows
- * Server 2003, and earlier versions of Windows, unless
- * BOOST_ASIO_ENABLE_CANCELIO is defined. However, the CancelIo function has
- * two issues that should be considered before enabling its use:
- *
- * @li It will only cancel asynchronous operations that were initiated in the
- * current thread.
- *
- * @li It can appear to complete without error, but the request to cancel the
- * unfinished operations may be silently ignored by the operating system.
- * Whether it works or not seems to depend on the drivers that are installed.
- *
- * For portable cancellation, consider using one of the following
- * alternatives:
- *
- * @li Disable asio's I/O completion port backend by defining
- * BOOST_ASIO_DISABLE_IOCP.
- *
- * @li Use the close() function to simultaneously cancel the outstanding
- * operations and close the socket.
- *
- * When running on Windows Vista, Windows Server 2008, and later, the
- * CancelIoEx function is always used. This function does not have the
- * problems described above.
- */
-#if defined(BOOST_ASIO_MSVC) && (BOOST_ASIO_MSVC >= 1400) \
- && (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0600) \
- && !defined(BOOST_ASIO_ENABLE_CANCELIO)
- __declspec(deprecated("By default, this function always fails with "
- "operation_not_supported when used on Windows XP, Windows Server 2003, "
- "or earlier. Consult documentation for details."))
-#endif
- BOOST_ASIO_SYNC_OP_VOID cancel(boost::system::error_code& ec)
- {
- this->get_service().cancel(this->get_implementation(), ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Determine whether the socket is at the out-of-band data mark.
- /**
- * This function is used to check whether the socket input is currently
- * positioned at the out-of-band data mark.
- *
- * @return A bool indicating whether the socket is at the out-of-band data
- * mark.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- bool at_mark() const
- {
- boost::system::error_code ec;
- bool b = this->get_service().at_mark(this->get_implementation(), ec);
- boost::asio::detail::throw_error(ec, "at_mark");
- return b;
- }
-
- /// Determine whether the socket is at the out-of-band data mark.
- /**
- * This function is used to check whether the socket input is currently
- * positioned at the out-of-band data mark.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @return A bool indicating whether the socket is at the out-of-band data
- * mark.
- */
- bool at_mark(boost::system::error_code& ec) const
- {
- return this->get_service().at_mark(this->get_implementation(), ec);
- }
-
- /// Determine the number of bytes available for reading.
- /**
- * This function is used to determine the number of bytes that may be read
- * without blocking.
- *
- * @return The number of bytes that may be read without blocking, or 0 if an
- * error occurs.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- std::size_t available() const
- {
- boost::system::error_code ec;
- std::size_t s = this->get_service().available(
- this->get_implementation(), ec);
- boost::asio::detail::throw_error(ec, "available");
- return s;
- }
-
- /// Determine the number of bytes available for reading.
- /**
- * This function is used to determine the number of bytes that may be read
- * without blocking.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @return The number of bytes that may be read without blocking, or 0 if an
- * error occurs.
- */
- std::size_t available(boost::system::error_code& ec) const
- {
- return this->get_service().available(this->get_implementation(), ec);
- }
-
- /// Bind the socket to the given local endpoint.
- /**
- * This function binds the socket to the specified endpoint on the local
- * machine.
- *
- * @param endpoint An endpoint on the local machine to which the socket will
- * be bound.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * socket.open(boost::asio::ip::tcp::v4());
- * socket.bind(boost::asio::ip::tcp::endpoint(
- * boost::asio::ip::tcp::v4(), 12345));
- * @endcode
- */
- void bind(const endpoint_type& endpoint)
- {
- boost::system::error_code ec;
- this->get_service().bind(this->get_implementation(), endpoint, ec);
- boost::asio::detail::throw_error(ec, "bind");
- }
-
- /// Bind the socket to the given local endpoint.
- /**
- * This function binds the socket to the specified endpoint on the local
- * machine.
- *
- * @param endpoint An endpoint on the local machine to which the socket will
- * be bound.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * socket.open(boost::asio::ip::tcp::v4());
- * boost::system::error_code ec;
- * socket.bind(boost::asio::ip::tcp::endpoint(
- * boost::asio::ip::tcp::v4(), 12345), ec);
- * if (ec)
- * {
- * // An error occurred.
- * }
- * @endcode
- */
- BOOST_ASIO_SYNC_OP_VOID bind(const endpoint_type& endpoint,
- boost::system::error_code& ec)
- {
- this->get_service().bind(this->get_implementation(), endpoint, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Connect the socket to the specified endpoint.
- /**
- * This function is used to connect a socket to the specified remote endpoint.
- * The function call will block until the connection is successfully made or
- * an error occurs.
- *
- * The socket is automatically opened if it is not already open. If the
- * connect fails, and the socket was automatically opened, the socket is
- * not returned to the closed state.
- *
- * @param peer_endpoint The remote endpoint to which the socket will be
- * connected.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * boost::asio::ip::tcp::endpoint endpoint(
- * boost::asio::ip::address::from_string("1.2.3.4"), 12345);
- * socket.connect(endpoint);
- * @endcode
- */
- void connect(const endpoint_type& peer_endpoint)
- {
- boost::system::error_code ec;
- if (!is_open())
- {
- this->get_service().open(this->get_implementation(),
- peer_endpoint.protocol(), ec);
- boost::asio::detail::throw_error(ec, "connect");
- }
- this->get_service().connect(this->get_implementation(), peer_endpoint, ec);
- boost::asio::detail::throw_error(ec, "connect");
- }
-
- /// Connect the socket to the specified endpoint.
- /**
- * This function is used to connect a socket to the specified remote endpoint.
- * The function call will block until the connection is successfully made or
- * an error occurs.
- *
- * The socket is automatically opened if it is not already open. If the
- * connect fails, and the socket was automatically opened, the socket is
- * not returned to the closed state.
- *
- * @param peer_endpoint The remote endpoint to which the socket will be
- * connected.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * boost::asio::ip::tcp::endpoint endpoint(
- * boost::asio::ip::address::from_string("1.2.3.4"), 12345);
- * boost::system::error_code ec;
- * socket.connect(endpoint, ec);
- * if (ec)
- * {
- * // An error occurred.
- * }
- * @endcode
- */
- BOOST_ASIO_SYNC_OP_VOID connect(const endpoint_type& peer_endpoint,
- boost::system::error_code& ec)
- {
- if (!is_open())
- {
- this->get_service().open(this->get_implementation(),
- peer_endpoint.protocol(), ec);
- if (ec)
- {
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
- }
-
- this->get_service().connect(this->get_implementation(), peer_endpoint, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Start an asynchronous connect.
- /**
- * This function is used to asynchronously connect a socket to the specified
- * remote endpoint. The function call always returns immediately.
- *
- * The socket is automatically opened if it is not already open. If the
- * connect fails, and the socket was automatically opened, the socket is
- * not returned to the closed state.
- *
- * @param peer_endpoint The remote endpoint to which the socket will be
- * connected. Copies will be made of the endpoint object as required.
- *
- * @param handler The handler to be called when the connection operation
- * completes. Copies will be made of the handler as required. The function
- * signature of the handler must be:
- * @code void handler(
- * const boost::system::error_code& error // Result of operation
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * @par Example
- * @code
- * void connect_handler(const boost::system::error_code& error)
- * {
- * if (!error)
- * {
- * // Connect succeeded.
- * }
- * }
- *
- * ...
- *
- * boost::asio::ip::tcp::socket socket(io_context);
- * boost::asio::ip::tcp::endpoint endpoint(
- * boost::asio::ip::address::from_string("1.2.3.4"), 12345);
- * socket.async_connect(endpoint, connect_handler);
- * @endcode
- */
- template <typename ConnectHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ConnectHandler,
- void (boost::system::error_code))
- async_connect(const endpoint_type& peer_endpoint,
- BOOST_ASIO_MOVE_ARG(ConnectHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a ConnectHandler.
- BOOST_ASIO_CONNECT_HANDLER_CHECK(ConnectHandler, handler) type_check;
-
- if (!is_open())
- {
- boost::system::error_code ec;
- const protocol_type protocol = peer_endpoint.protocol();
- this->get_service().open(this->get_implementation(), protocol, ec);
- if (ec)
- {
- async_completion<ConnectHandler,
- void (boost::system::error_code)> init(handler);
-
- boost::asio::post(this->get_executor(),
- boost::asio::detail::bind_handler(
- BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE(
- ConnectHandler, void (boost::system::error_code)))(
- init.completion_handler), ec));
-
- return init.result.get();
- }
- }
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_connect(this->get_implementation(),
- peer_endpoint, BOOST_ASIO_MOVE_CAST(ConnectHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- async_completion<ConnectHandler,
- void (boost::system::error_code)> init(handler);
-
- this->get_service().async_connect(
- this->get_implementation(), peer_endpoint, init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-
- /// Set an option on the socket.
- /**
- * This function is used to set an option on the socket.
- *
- * @param option The new option value to be set on the socket.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @sa SettableSocketOption @n
- * boost::asio::socket_base::broadcast @n
- * boost::asio::socket_base::do_not_route @n
- * boost::asio::socket_base::keep_alive @n
- * boost::asio::socket_base::linger @n
- * boost::asio::socket_base::receive_buffer_size @n
- * boost::asio::socket_base::receive_low_watermark @n
- * boost::asio::socket_base::reuse_address @n
- * boost::asio::socket_base::send_buffer_size @n
- * boost::asio::socket_base::send_low_watermark @n
- * boost::asio::ip::multicast::join_group @n
- * boost::asio::ip::multicast::leave_group @n
- * boost::asio::ip::multicast::enable_loopback @n
- * boost::asio::ip::multicast::outbound_interface @n
- * boost::asio::ip::multicast::hops @n
- * boost::asio::ip::tcp::no_delay
- *
- * @par Example
- * Setting the IPPROTO_TCP/TCP_NODELAY option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::ip::tcp::no_delay option(true);
- * socket.set_option(option);
- * @endcode
- */
- template <typename SettableSocketOption>
- void set_option(const SettableSocketOption& option)
- {
- boost::system::error_code ec;
- this->get_service().set_option(this->get_implementation(), option, ec);
- boost::asio::detail::throw_error(ec, "set_option");
- }
-
- /// Set an option on the socket.
- /**
- * This function is used to set an option on the socket.
- *
- * @param option The new option value to be set on the socket.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @sa SettableSocketOption @n
- * boost::asio::socket_base::broadcast @n
- * boost::asio::socket_base::do_not_route @n
- * boost::asio::socket_base::keep_alive @n
- * boost::asio::socket_base::linger @n
- * boost::asio::socket_base::receive_buffer_size @n
- * boost::asio::socket_base::receive_low_watermark @n
- * boost::asio::socket_base::reuse_address @n
- * boost::asio::socket_base::send_buffer_size @n
- * boost::asio::socket_base::send_low_watermark @n
- * boost::asio::ip::multicast::join_group @n
- * boost::asio::ip::multicast::leave_group @n
- * boost::asio::ip::multicast::enable_loopback @n
- * boost::asio::ip::multicast::outbound_interface @n
- * boost::asio::ip::multicast::hops @n
- * boost::asio::ip::tcp::no_delay
- *
- * @par Example
- * Setting the IPPROTO_TCP/TCP_NODELAY option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::ip::tcp::no_delay option(true);
- * boost::system::error_code ec;
- * socket.set_option(option, ec);
- * if (ec)
- * {
- * // An error occurred.
- * }
- * @endcode
- */
- template <typename SettableSocketOption>
- BOOST_ASIO_SYNC_OP_VOID set_option(const SettableSocketOption& option,
- boost::system::error_code& ec)
- {
- this->get_service().set_option(this->get_implementation(), option, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Get an option from the socket.
- /**
- * This function is used to get the current value of an option on the socket.
- *
- * @param option The option value to be obtained from the socket.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @sa GettableSocketOption @n
- * boost::asio::socket_base::broadcast @n
- * boost::asio::socket_base::do_not_route @n
- * boost::asio::socket_base::keep_alive @n
- * boost::asio::socket_base::linger @n
- * boost::asio::socket_base::receive_buffer_size @n
- * boost::asio::socket_base::receive_low_watermark @n
- * boost::asio::socket_base::reuse_address @n
- * boost::asio::socket_base::send_buffer_size @n
- * boost::asio::socket_base::send_low_watermark @n
- * boost::asio::ip::multicast::join_group @n
- * boost::asio::ip::multicast::leave_group @n
- * boost::asio::ip::multicast::enable_loopback @n
- * boost::asio::ip::multicast::outbound_interface @n
- * boost::asio::ip::multicast::hops @n
- * boost::asio::ip::tcp::no_delay
- *
- * @par Example
- * Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::ip::tcp::socket::keep_alive option;
- * socket.get_option(option);
- * bool is_set = option.value();
- * @endcode
- */
- template <typename GettableSocketOption>
- void get_option(GettableSocketOption& option) const
- {
- boost::system::error_code ec;
- this->get_service().get_option(this->get_implementation(), option, ec);
- boost::asio::detail::throw_error(ec, "get_option");
- }
-
- /// Get an option from the socket.
- /**
- * This function is used to get the current value of an option on the socket.
- *
- * @param option The option value to be obtained from the socket.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @sa GettableSocketOption @n
- * boost::asio::socket_base::broadcast @n
- * boost::asio::socket_base::do_not_route @n
- * boost::asio::socket_base::keep_alive @n
- * boost::asio::socket_base::linger @n
- * boost::asio::socket_base::receive_buffer_size @n
- * boost::asio::socket_base::receive_low_watermark @n
- * boost::asio::socket_base::reuse_address @n
- * boost::asio::socket_base::send_buffer_size @n
- * boost::asio::socket_base::send_low_watermark @n
- * boost::asio::ip::multicast::join_group @n
- * boost::asio::ip::multicast::leave_group @n
- * boost::asio::ip::multicast::enable_loopback @n
- * boost::asio::ip::multicast::outbound_interface @n
- * boost::asio::ip::multicast::hops @n
- * boost::asio::ip::tcp::no_delay
- *
- * @par Example
- * Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::ip::tcp::socket::keep_alive option;
- * boost::system::error_code ec;
- * socket.get_option(option, ec);
- * if (ec)
- * {
- * // An error occurred.
- * }
- * bool is_set = option.value();
- * @endcode
- */
- template <typename GettableSocketOption>
- BOOST_ASIO_SYNC_OP_VOID get_option(GettableSocketOption& option,
- boost::system::error_code& ec) const
- {
- this->get_service().get_option(this->get_implementation(), option, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Perform an IO control command on the socket.
- /**
- * This function is used to execute an IO control command on the socket.
- *
- * @param command The IO control command to be performed on the socket.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @sa IoControlCommand @n
- * boost::asio::socket_base::bytes_readable @n
- * boost::asio::socket_base::non_blocking_io
- *
- * @par Example
- * Getting the number of bytes ready to read:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::ip::tcp::socket::bytes_readable command;
- * socket.io_control(command);
- * std::size_t bytes_readable = command.get();
- * @endcode
- */
- template <typename IoControlCommand>
- void io_control(IoControlCommand& command)
- {
- boost::system::error_code ec;
- this->get_service().io_control(this->get_implementation(), command, ec);
- boost::asio::detail::throw_error(ec, "io_control");
- }
-
- /// Perform an IO control command on the socket.
- /**
- * This function is used to execute an IO control command on the socket.
- *
- * @param command The IO control command to be performed on the socket.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @sa IoControlCommand @n
- * boost::asio::socket_base::bytes_readable @n
- * boost::asio::socket_base::non_blocking_io
- *
- * @par Example
- * Getting the number of bytes ready to read:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::ip::tcp::socket::bytes_readable command;
- * boost::system::error_code ec;
- * socket.io_control(command, ec);
- * if (ec)
- * {
- * // An error occurred.
- * }
- * std::size_t bytes_readable = command.get();
- * @endcode
- */
- template <typename IoControlCommand>
- BOOST_ASIO_SYNC_OP_VOID io_control(IoControlCommand& command,
- boost::system::error_code& ec)
- {
- this->get_service().io_control(this->get_implementation(), command, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Gets the non-blocking mode of the socket.
- /**
- * @returns @c true if the socket's synchronous operations will fail with
- * boost::asio::error::would_block if they are unable to perform the requested
- * operation immediately. If @c false, synchronous operations will block
- * until complete.
- *
- * @note The non-blocking mode has no effect on the behaviour of asynchronous
- * operations. Asynchronous operations will never fail with the error
- * boost::asio::error::would_block.
- */
- bool non_blocking() const
- {
- return this->get_service().non_blocking(this->get_implementation());
- }
-
- /// Sets the non-blocking mode of the socket.
- /**
- * @param mode If @c true, the socket's synchronous operations will fail with
- * boost::asio::error::would_block if they are unable to perform the requested
- * operation immediately. If @c false, synchronous operations will block
- * until complete.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @note The non-blocking mode has no effect on the behaviour of asynchronous
- * operations. Asynchronous operations will never fail with the error
- * boost::asio::error::would_block.
- */
- void non_blocking(bool mode)
- {
- boost::system::error_code ec;
- this->get_service().non_blocking(this->get_implementation(), mode, ec);
- boost::asio::detail::throw_error(ec, "non_blocking");
- }
-
- /// Sets the non-blocking mode of the socket.
- /**
- * @param mode If @c true, the socket's synchronous operations will fail with
- * boost::asio::error::would_block if they are unable to perform the requested
- * operation immediately. If @c false, synchronous operations will block
- * until complete.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @note The non-blocking mode has no effect on the behaviour of asynchronous
- * operations. Asynchronous operations will never fail with the error
- * boost::asio::error::would_block.
- */
- BOOST_ASIO_SYNC_OP_VOID non_blocking(
- bool mode, boost::system::error_code& ec)
- {
- this->get_service().non_blocking(this->get_implementation(), mode, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Gets the non-blocking mode of the native socket implementation.
- /**
- * This function is used to retrieve the non-blocking mode of the underlying
- * native socket. This mode has no effect on the behaviour of the socket
- * object's synchronous operations.
- *
- * @returns @c true if the underlying socket is in non-blocking mode and
- * direct system calls may fail with boost::asio::error::would_block (or the
- * equivalent system error).
- *
- * @note The current non-blocking mode is cached by the socket object.
- * Consequently, the return value may be incorrect if the non-blocking mode
- * was set directly on the native socket.
- *
- * @par Example
- * This function is intended to allow the encapsulation of arbitrary
- * non-blocking system calls as asynchronous operations, in a way that is
- * transparent to the user of the socket object. The following example
- * illustrates how Linux's @c sendfile system call might be encapsulated:
- * @code template <typename Handler>
- * struct sendfile_op
- * {
- * tcp::socket& sock_;
- * int fd_;
- * Handler handler_;
- * off_t offset_;
- * std::size_t total_bytes_transferred_;
- *
- * // Function call operator meeting WriteHandler requirements.
- * // Used as the handler for the async_write_some operation.
- * void operator()(boost::system::error_code ec, std::size_t)
- * {
- * // Put the underlying socket into non-blocking mode.
- * if (!ec)
- * if (!sock_.native_non_blocking())
- * sock_.native_non_blocking(true, ec);
- *
- * if (!ec)
- * {
- * for (;;)
- * {
- * // Try the system call.
- * errno = 0;
- * int n = ::sendfile(sock_.native_handle(), fd_, &offset_, 65536);
- * ec = boost::system::error_code(n < 0 ? errno : 0,
- * boost::asio::error::get_system_category());
- * total_bytes_transferred_ += ec ? 0 : n;
- *
- * // Retry operation immediately if interrupted by signal.
- * if (ec == boost::asio::error::interrupted)
- * continue;
- *
- * // Check if we need to run the operation again.
- * if (ec == boost::asio::error::would_block
- * || ec == boost::asio::error::try_again)
- * {
- * // We have to wait for the socket to become ready again.
- * sock_.async_wait(tcp::socket::wait_write, *this);
- * return;
- * }
- *
- * if (ec || n == 0)
- * {
- * // An error occurred, or we have reached the end of the file.
- * // Either way we must exit the loop so we can call the handler.
- * break;
- * }
- *
- * // Loop around to try calling sendfile again.
- * }
- * }
- *
- * // Pass result back to user's handler.
- * handler_(ec, total_bytes_transferred_);
- * }
- * };
- *
- * template <typename Handler>
- * void async_sendfile(tcp::socket& sock, int fd, Handler h)
- * {
- * sendfile_op<Handler> op = { sock, fd, h, 0, 0 };
- * sock.async_wait(tcp::socket::wait_write, op);
- * } @endcode
- */
- bool native_non_blocking() const
- {
- return this->get_service().native_non_blocking(this->get_implementation());
- }
-
- /// Sets the non-blocking mode of the native socket implementation.
- /**
- * This function is used to modify the non-blocking mode of the underlying
- * native socket. It has no effect on the behaviour of the socket object's
- * synchronous operations.
- *
- * @param mode If @c true, the underlying socket is put into non-blocking
- * mode and direct system calls may fail with boost::asio::error::would_block
- * (or the equivalent system error).
- *
- * @throws boost::system::system_error Thrown on failure. If the @c mode is
- * @c false, but the current value of @c non_blocking() is @c true, this
- * function fails with boost::asio::error::invalid_argument, as the
- * combination does not make sense.
- *
- * @par Example
- * This function is intended to allow the encapsulation of arbitrary
- * non-blocking system calls as asynchronous operations, in a way that is
- * transparent to the user of the socket object. The following example
- * illustrates how Linux's @c sendfile system call might be encapsulated:
- * @code template <typename Handler>
- * struct sendfile_op
- * {
- * tcp::socket& sock_;
- * int fd_;
- * Handler handler_;
- * off_t offset_;
- * std::size_t total_bytes_transferred_;
- *
- * // Function call operator meeting WriteHandler requirements.
- * // Used as the handler for the async_write_some operation.
- * void operator()(boost::system::error_code ec, std::size_t)
- * {
- * // Put the underlying socket into non-blocking mode.
- * if (!ec)
- * if (!sock_.native_non_blocking())
- * sock_.native_non_blocking(true, ec);
- *
- * if (!ec)
- * {
- * for (;;)
- * {
- * // Try the system call.
- * errno = 0;
- * int n = ::sendfile(sock_.native_handle(), fd_, &offset_, 65536);
- * ec = boost::system::error_code(n < 0 ? errno : 0,
- * boost::asio::error::get_system_category());
- * total_bytes_transferred_ += ec ? 0 : n;
- *
- * // Retry operation immediately if interrupted by signal.
- * if (ec == boost::asio::error::interrupted)
- * continue;
- *
- * // Check if we need to run the operation again.
- * if (ec == boost::asio::error::would_block
- * || ec == boost::asio::error::try_again)
- * {
- * // We have to wait for the socket to become ready again.
- * sock_.async_wait(tcp::socket::wait_write, *this);
- * return;
- * }
- *
- * if (ec || n == 0)
- * {
- * // An error occurred, or we have reached the end of the file.
- * // Either way we must exit the loop so we can call the handler.
- * break;
- * }
- *
- * // Loop around to try calling sendfile again.
- * }
- * }
- *
- * // Pass result back to user's handler.
- * handler_(ec, total_bytes_transferred_);
- * }
- * };
- *
- * template <typename Handler>
- * void async_sendfile(tcp::socket& sock, int fd, Handler h)
- * {
- * sendfile_op<Handler> op = { sock, fd, h, 0, 0 };
- * sock.async_wait(tcp::socket::wait_write, op);
- * } @endcode
- */
- void native_non_blocking(bool mode)
- {
- boost::system::error_code ec;
- this->get_service().native_non_blocking(
- this->get_implementation(), mode, ec);
- boost::asio::detail::throw_error(ec, "native_non_blocking");
- }
-
- /// Sets the non-blocking mode of the native socket implementation.
- /**
- * This function is used to modify the non-blocking mode of the underlying
- * native socket. It has no effect on the behaviour of the socket object's
- * synchronous operations.
- *
- * @param mode If @c true, the underlying socket is put into non-blocking
- * mode and direct system calls may fail with boost::asio::error::would_block
- * (or the equivalent system error).
- *
- * @param ec Set to indicate what error occurred, if any. If the @c mode is
- * @c false, but the current value of @c non_blocking() is @c true, this
- * function fails with boost::asio::error::invalid_argument, as the
- * combination does not make sense.
- *
- * @par Example
- * This function is intended to allow the encapsulation of arbitrary
- * non-blocking system calls as asynchronous operations, in a way that is
- * transparent to the user of the socket object. The following example
- * illustrates how Linux's @c sendfile system call might be encapsulated:
- * @code template <typename Handler>
- * struct sendfile_op
- * {
- * tcp::socket& sock_;
- * int fd_;
- * Handler handler_;
- * off_t offset_;
- * std::size_t total_bytes_transferred_;
- *
- * // Function call operator meeting WriteHandler requirements.
- * // Used as the handler for the async_write_some operation.
- * void operator()(boost::system::error_code ec, std::size_t)
- * {
- * // Put the underlying socket into non-blocking mode.
- * if (!ec)
- * if (!sock_.native_non_blocking())
- * sock_.native_non_blocking(true, ec);
- *
- * if (!ec)
- * {
- * for (;;)
- * {
- * // Try the system call.
- * errno = 0;
- * int n = ::sendfile(sock_.native_handle(), fd_, &offset_, 65536);
- * ec = boost::system::error_code(n < 0 ? errno : 0,
- * boost::asio::error::get_system_category());
- * total_bytes_transferred_ += ec ? 0 : n;
- *
- * // Retry operation immediately if interrupted by signal.
- * if (ec == boost::asio::error::interrupted)
- * continue;
- *
- * // Check if we need to run the operation again.
- * if (ec == boost::asio::error::would_block
- * || ec == boost::asio::error::try_again)
- * {
- * // We have to wait for the socket to become ready again.
- * sock_.async_wait(tcp::socket::wait_write, *this);
- * return;
- * }
- *
- * if (ec || n == 0)
- * {
- * // An error occurred, or we have reached the end of the file.
- * // Either way we must exit the loop so we can call the handler.
- * break;
- * }
- *
- * // Loop around to try calling sendfile again.
- * }
- * }
- *
- * // Pass result back to user's handler.
- * handler_(ec, total_bytes_transferred_);
- * }
- * };
- *
- * template <typename Handler>
- * void async_sendfile(tcp::socket& sock, int fd, Handler h)
- * {
- * sendfile_op<Handler> op = { sock, fd, h, 0, 0 };
- * sock.async_wait(tcp::socket::wait_write, op);
- * } @endcode
- */
- BOOST_ASIO_SYNC_OP_VOID native_non_blocking(
- bool mode, boost::system::error_code& ec)
- {
- this->get_service().native_non_blocking(
- this->get_implementation(), mode, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Get the local endpoint of the socket.
- /**
- * This function is used to obtain the locally bound endpoint of the socket.
- *
- * @returns An object that represents the local endpoint of the socket.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::ip::tcp::endpoint endpoint = socket.local_endpoint();
- * @endcode
- */
- endpoint_type local_endpoint() const
- {
- boost::system::error_code ec;
- endpoint_type ep = this->get_service().local_endpoint(
- this->get_implementation(), ec);
- boost::asio::detail::throw_error(ec, "local_endpoint");
- return ep;
- }
-
- /// Get the local endpoint of the socket.
- /**
- * This function is used to obtain the locally bound endpoint of the socket.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns An object that represents the local endpoint of the socket.
- * Returns a default-constructed endpoint object if an error occurred.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::system::error_code ec;
- * boost::asio::ip::tcp::endpoint endpoint = socket.local_endpoint(ec);
- * if (ec)
- * {
- * // An error occurred.
- * }
- * @endcode
- */
- endpoint_type local_endpoint(boost::system::error_code& ec) const
- {
- return this->get_service().local_endpoint(this->get_implementation(), ec);
- }
-
- /// Get the remote endpoint of the socket.
- /**
- * This function is used to obtain the remote endpoint of the socket.
- *
- * @returns An object that represents the remote endpoint of the socket.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::ip::tcp::endpoint endpoint = socket.remote_endpoint();
- * @endcode
- */
- endpoint_type remote_endpoint() const
- {
- boost::system::error_code ec;
- endpoint_type ep = this->get_service().remote_endpoint(
- this->get_implementation(), ec);
- boost::asio::detail::throw_error(ec, "remote_endpoint");
- return ep;
- }
-
- /// Get the remote endpoint of the socket.
- /**
- * This function is used to obtain the remote endpoint of the socket.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns An object that represents the remote endpoint of the socket.
- * Returns a default-constructed endpoint object if an error occurred.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::system::error_code ec;
- * boost::asio::ip::tcp::endpoint endpoint = socket.remote_endpoint(ec);
- * if (ec)
- * {
- * // An error occurred.
- * }
- * @endcode
- */
- endpoint_type remote_endpoint(boost::system::error_code& ec) const
- {
- return this->get_service().remote_endpoint(this->get_implementation(), ec);
- }
-
- /// Disable sends or receives on the socket.
- /**
- * This function is used to disable send operations, receive operations, or
- * both.
- *
- * @param what Determines what types of operation will no longer be allowed.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @par Example
- * Shutting down the send side of the socket:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * socket.shutdown(boost::asio::ip::tcp::socket::shutdown_send);
- * @endcode
- */
- void shutdown(shutdown_type what)
- {
- boost::system::error_code ec;
- this->get_service().shutdown(this->get_implementation(), what, ec);
- boost::asio::detail::throw_error(ec, "shutdown");
- }
-
- /// Disable sends or receives on the socket.
- /**
- * This function is used to disable send operations, receive operations, or
- * both.
- *
- * @param what Determines what types of operation will no longer be allowed.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @par Example
- * Shutting down the send side of the socket:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::system::error_code ec;
- * socket.shutdown(boost::asio::ip::tcp::socket::shutdown_send, ec);
- * if (ec)
- * {
- * // An error occurred.
- * }
- * @endcode
- */
- BOOST_ASIO_SYNC_OP_VOID shutdown(shutdown_type what,
- boost::system::error_code& ec)
- {
- this->get_service().shutdown(this->get_implementation(), what, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Wait for the socket to become ready to read, ready to write, or to have
- /// pending error conditions.
- /**
- * This function is used to perform a blocking wait for a socket to enter
- * a ready to read, write or error condition state.
- *
- * @param w Specifies the desired socket state.
- *
- * @par Example
- * Waiting for a socket to become readable.
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * socket.wait(boost::asio::ip::tcp::socket::wait_read);
- * @endcode
- */
- void wait(wait_type w)
- {
- boost::system::error_code ec;
- this->get_service().wait(this->get_implementation(), w, ec);
- boost::asio::detail::throw_error(ec, "wait");
- }
-
- /// Wait for the socket to become ready to read, ready to write, or to have
- /// pending error conditions.
- /**
- * This function is used to perform a blocking wait for a socket to enter
- * a ready to read, write or error condition state.
- *
- * @param w Specifies the desired socket state.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @par Example
- * Waiting for a socket to become readable.
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::system::error_code ec;
- * socket.wait(boost::asio::ip::tcp::socket::wait_read, ec);
- * @endcode
- */
- BOOST_ASIO_SYNC_OP_VOID wait(wait_type w, boost::system::error_code& ec)
- {
- this->get_service().wait(this->get_implementation(), w, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Asynchronously wait for the socket to become ready to read, ready to
- /// write, or to have pending error conditions.
- /**
- * This function is used to perform an asynchronous wait for a socket to enter
- * a ready to read, write or error condition state.
- *
- * @param w Specifies the desired socket state.
- *
- * @param handler The handler to be called when the wait operation completes.
- * Copies will be made of the handler as required. The function signature of
- * the handler must be:
- * @code void handler(
- * const boost::system::error_code& error // Result of operation
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * @par Example
- * @code
- * void wait_handler(const boost::system::error_code& error)
- * {
- * if (!error)
- * {
- * // Wait succeeded.
- * }
- * }
- *
- * ...
- *
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * socket.async_wait(boost::asio::ip::tcp::socket::wait_read, wait_handler);
- * @endcode
- */
- template <typename WaitHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(WaitHandler,
- void (boost::system::error_code))
- async_wait(wait_type w, BOOST_ASIO_MOVE_ARG(WaitHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a WaitHandler.
- BOOST_ASIO_WAIT_HANDLER_CHECK(WaitHandler, handler) type_check;
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_wait(this->get_implementation(),
- w, BOOST_ASIO_MOVE_CAST(WaitHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- async_completion<WaitHandler,
- void (boost::system::error_code)> init(handler);
-
- this->get_service().async_wait(this->get_implementation(),
- w, init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-
-protected:
- /// Protected destructor to prevent deletion through this type.
- /**
- * This function destroys the socket, cancelling any outstanding asynchronous
- * operations associated with the socket as if by calling @c cancel.
- */
- ~basic_socket()
- {
- }
-
-private:
- // Disallow copying and assignment.
- basic_socket(const basic_socket&) BOOST_ASIO_DELETED;
- basic_socket& operator=(const basic_socket&) BOOST_ASIO_DELETED;
-};
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-# undef BOOST_ASIO_SVC_T
-#endif // !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-
-#endif // BOOST_ASIO_BASIC_SOCKET_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/datagram_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/datagram_socket_service.hpp
deleted file mode 100644
index 816433ba78..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/datagram_socket_service.hpp
+++ /dev/null
@@ -1,468 +0,0 @@
-//
-// datagram_socket_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DATAGRAM_SOCKET_SERVICE_HPP
-#define BOOST_ASIO_DATAGRAM_SOCKET_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-
-#include <cstddef>
-#include <boost/asio/async_result.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# include <boost/asio/detail/null_socket_service.hpp>
-#elif defined(BOOST_ASIO_HAS_IOCP)
-# include <boost/asio/detail/win_iocp_socket_service.hpp>
-#else
-# include <boost/asio/detail/reactive_socket_service.hpp>
-#endif
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// Default service implementation for a datagram socket.
-template <typename Protocol>
-class datagram_socket_service
-#if defined(GENERATING_DOCUMENTATION)
- : public boost::asio::io_context::service
-#else
- : public boost::asio::detail::service_base<datagram_socket_service<Protocol> >
-#endif
-{
-public:
-#if defined(GENERATING_DOCUMENTATION)
- /// The unique service identifier.
- static boost::asio::io_context::id id;
-#endif
-
- /// The protocol type.
- typedef Protocol protocol_type;
-
- /// The endpoint type.
- typedef typename Protocol::endpoint endpoint_type;
-
-private:
- // The type of the platform-specific implementation.
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- typedef detail::null_socket_service<Protocol> service_impl_type;
-#elif defined(BOOST_ASIO_HAS_IOCP)
- typedef detail::win_iocp_socket_service<Protocol> service_impl_type;
-#else
- typedef detail::reactive_socket_service<Protocol> service_impl_type;
-#endif
-
-public:
- /// The type of a datagram socket.
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined implementation_type;
-#else
- typedef typename service_impl_type::implementation_type implementation_type;
-#endif
-
- /// The native socket type.
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined native_handle_type;
-#else
- typedef typename service_impl_type::native_handle_type native_handle_type;
-#endif
-
- /// Construct a new datagram socket service for the specified io_context.
- explicit datagram_socket_service(boost::asio::io_context& io_context)
- : boost::asio::detail::service_base<
- datagram_socket_service<Protocol> >(io_context),
- service_impl_(io_context)
- {
- }
-
- /// Construct a new datagram socket implementation.
- void construct(implementation_type& impl)
- {
- service_impl_.construct(impl);
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move-construct a new datagram socket implementation.
- void move_construct(implementation_type& impl,
- implementation_type& other_impl)
- {
- service_impl_.move_construct(impl, other_impl);
- }
-
- /// Move-assign from another datagram socket implementation.
- void move_assign(implementation_type& impl,
- datagram_socket_service& other_service,
- implementation_type& other_impl)
- {
- service_impl_.move_assign(impl, other_service.service_impl_, other_impl);
- }
-
- // All socket services have access to each other's implementations.
- template <typename Protocol1> friend class datagram_socket_service;
-
- /// Move-construct a new datagram socket implementation from another protocol
- /// type.
- template <typename Protocol1>
- void converting_move_construct(implementation_type& impl,
- datagram_socket_service<Protocol1>& other_service,
- typename datagram_socket_service<
- Protocol1>::implementation_type& other_impl,
- typename enable_if<is_convertible<
- Protocol1, Protocol>::value>::type* = 0)
- {
- service_impl_.template converting_move_construct<Protocol1>(
- impl, other_service.service_impl_, other_impl);
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// Destroy a datagram socket implementation.
- void destroy(implementation_type& impl)
- {
- service_impl_.destroy(impl);
- }
-
- // Open a new datagram socket implementation.
- BOOST_ASIO_SYNC_OP_VOID open(implementation_type& impl,
- const protocol_type& protocol, boost::system::error_code& ec)
- {
- if (protocol.type() == BOOST_ASIO_OS_DEF(SOCK_DGRAM))
- service_impl_.open(impl, protocol, ec);
- else
- ec = boost::asio::error::invalid_argument;
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Assign an existing native socket to a datagram socket.
- BOOST_ASIO_SYNC_OP_VOID assign(implementation_type& impl,
- const protocol_type& protocol, const native_handle_type& native_socket,
- boost::system::error_code& ec)
- {
- service_impl_.assign(impl, protocol, native_socket, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Determine whether the socket is open.
- bool is_open(const implementation_type& impl) const
- {
- return service_impl_.is_open(impl);
- }
-
- /// Close a datagram socket implementation.
- BOOST_ASIO_SYNC_OP_VOID close(implementation_type& impl,
- boost::system::error_code& ec)
- {
- service_impl_.close(impl, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Release ownership of the underlying socket.
- native_handle_type release(implementation_type& impl,
- boost::system::error_code& ec)
- {
- return service_impl_.release(impl, ec);
- }
-
- /// Get the native socket implementation.
- native_handle_type native_handle(implementation_type& impl)
- {
- return service_impl_.native_handle(impl);
- }
-
- /// Cancel all asynchronous operations associated with the socket.
- BOOST_ASIO_SYNC_OP_VOID cancel(implementation_type& impl,
- boost::system::error_code& ec)
- {
- service_impl_.cancel(impl, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Determine whether the socket is at the out-of-band data mark.
- bool at_mark(const implementation_type& impl,
- boost::system::error_code& ec) const
- {
- return service_impl_.at_mark(impl, ec);
- }
-
- /// Determine the number of bytes available for reading.
- std::size_t available(const implementation_type& impl,
- boost::system::error_code& ec) const
- {
- return service_impl_.available(impl, ec);
- }
-
- // Bind the datagram socket to the specified local endpoint.
- BOOST_ASIO_SYNC_OP_VOID bind(implementation_type& impl,
- const endpoint_type& endpoint, boost::system::error_code& ec)
- {
- service_impl_.bind(impl, endpoint, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Connect the datagram socket to the specified endpoint.
- BOOST_ASIO_SYNC_OP_VOID connect(implementation_type& impl,
- const endpoint_type& peer_endpoint, boost::system::error_code& ec)
- {
- service_impl_.connect(impl, peer_endpoint, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Start an asynchronous connect.
- template <typename ConnectHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ConnectHandler,
- void (boost::system::error_code))
- async_connect(implementation_type& impl,
- const endpoint_type& peer_endpoint,
- BOOST_ASIO_MOVE_ARG(ConnectHandler) handler)
- {
- async_completion<ConnectHandler,
- void (boost::system::error_code)> init(handler);
-
- service_impl_.async_connect(impl, peer_endpoint, init.completion_handler);
-
- return init.result.get();
- }
-
- /// Set a socket option.
- template <typename SettableSocketOption>
- BOOST_ASIO_SYNC_OP_VOID set_option(implementation_type& impl,
- const SettableSocketOption& option, boost::system::error_code& ec)
- {
- service_impl_.set_option(impl, option, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Get a socket option.
- template <typename GettableSocketOption>
- BOOST_ASIO_SYNC_OP_VOID get_option(const implementation_type& impl,
- GettableSocketOption& option, boost::system::error_code& ec) const
- {
- service_impl_.get_option(impl, option, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Perform an IO control command on the socket.
- template <typename IoControlCommand>
- BOOST_ASIO_SYNC_OP_VOID io_control(implementation_type& impl,
- IoControlCommand& command, boost::system::error_code& ec)
- {
- service_impl_.io_control(impl, command, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Gets the non-blocking mode of the socket.
- bool non_blocking(const implementation_type& impl) const
- {
- return service_impl_.non_blocking(impl);
- }
-
- /// Sets the non-blocking mode of the socket.
- BOOST_ASIO_SYNC_OP_VOID non_blocking(implementation_type& impl,
- bool mode, boost::system::error_code& ec)
- {
- service_impl_.non_blocking(impl, mode, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Gets the non-blocking mode of the native socket implementation.
- bool native_non_blocking(const implementation_type& impl) const
- {
- return service_impl_.native_non_blocking(impl);
- }
-
- /// Sets the non-blocking mode of the native socket implementation.
- BOOST_ASIO_SYNC_OP_VOID native_non_blocking(implementation_type& impl,
- bool mode, boost::system::error_code& ec)
- {
- service_impl_.native_non_blocking(impl, mode, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Get the local endpoint.
- endpoint_type local_endpoint(const implementation_type& impl,
- boost::system::error_code& ec) const
- {
- return service_impl_.local_endpoint(impl, ec);
- }
-
- /// Get the remote endpoint.
- endpoint_type remote_endpoint(const implementation_type& impl,
- boost::system::error_code& ec) const
- {
- return service_impl_.remote_endpoint(impl, ec);
- }
-
- /// Disable sends or receives on the socket.
- BOOST_ASIO_SYNC_OP_VOID shutdown(implementation_type& impl,
- socket_base::shutdown_type what, boost::system::error_code& ec)
- {
- service_impl_.shutdown(impl, what, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Wait for the socket to become ready to read, ready to write, or to have
- /// pending error conditions.
- BOOST_ASIO_SYNC_OP_VOID wait(implementation_type& impl,
- socket_base::wait_type w, boost::system::error_code& ec)
- {
- service_impl_.wait(impl, w, ec);
- BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
- }
-
- /// Asynchronously wait for the socket to become ready to read, ready to
- /// write, or to have pending error conditions.
- template <typename WaitHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(WaitHandler,
- void (boost::system::error_code))
- async_wait(implementation_type& impl, socket_base::wait_type w,
- BOOST_ASIO_MOVE_ARG(WaitHandler) handler)
- {
- async_completion<WaitHandler,
- void (boost::system::error_code)> init(handler);
-
- service_impl_.async_wait(impl, w, init.completion_handler);
-
- return init.result.get();
- }
-
- /// Send the given data to the peer.
- template <typename ConstBufferSequence>
- std::size_t send(implementation_type& impl,
- const ConstBufferSequence& buffers,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- return service_impl_.send(impl, buffers, flags, ec);
- }
-
- /// Start an asynchronous send.
- template <typename ConstBufferSequence, typename WriteHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
- void (boost::system::error_code, std::size_t))
- async_send(implementation_type& impl, const ConstBufferSequence& buffers,
- socket_base::message_flags flags,
- BOOST_ASIO_MOVE_ARG(WriteHandler) handler)
- {
- async_completion<WriteHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- service_impl_.async_send(impl, buffers, flags, init.completion_handler);
-
- return init.result.get();
- }
-
- /// Send a datagram to the specified endpoint.
- template <typename ConstBufferSequence>
- std::size_t send_to(implementation_type& impl,
- const ConstBufferSequence& buffers, const endpoint_type& destination,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- return service_impl_.send_to(impl, buffers, destination, flags, ec);
- }
-
- /// Start an asynchronous send.
- template <typename ConstBufferSequence, typename WriteHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(WriteHandler,
- void (boost::system::error_code, std::size_t))
- async_send_to(implementation_type& impl,
- const ConstBufferSequence& buffers, const endpoint_type& destination,
- socket_base::message_flags flags,
- BOOST_ASIO_MOVE_ARG(WriteHandler) handler)
- {
- async_completion<WriteHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- service_impl_.async_send_to(impl, buffers,
- destination, flags, init.completion_handler);
-
- return init.result.get();
- }
-
- /// Receive some data from the peer.
- template <typename MutableBufferSequence>
- std::size_t receive(implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- return service_impl_.receive(impl, buffers, flags, ec);
- }
-
- /// Start an asynchronous receive.
- template <typename MutableBufferSequence, typename ReadHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler,
- void (boost::system::error_code, std::size_t))
- async_receive(implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags flags,
- BOOST_ASIO_MOVE_ARG(ReadHandler) handler)
- {
- async_completion<ReadHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- service_impl_.async_receive(impl, buffers, flags, init.completion_handler);
-
- return init.result.get();
- }
-
- /// Receive a datagram with the endpoint of the sender.
- template <typename MutableBufferSequence>
- std::size_t receive_from(implementation_type& impl,
- const MutableBufferSequence& buffers, endpoint_type& sender_endpoint,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- return service_impl_.receive_from(impl, buffers, sender_endpoint, flags,
- ec);
- }
-
- /// Start an asynchronous receive that will get the endpoint of the sender.
- template <typename MutableBufferSequence, typename ReadHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ReadHandler,
- void (boost::system::error_code, std::size_t))
- async_receive_from(implementation_type& impl,
- const MutableBufferSequence& buffers, endpoint_type& sender_endpoint,
- socket_base::message_flags flags,
- BOOST_ASIO_MOVE_ARG(ReadHandler) handler)
- {
- async_completion<ReadHandler,
- void (boost::system::error_code, std::size_t)> init(handler);
-
- service_impl_.async_receive_from(impl, buffers,
- sender_endpoint, flags, init.completion_handler);
-
- return init.result.get();
- }
-
-private:
- // Destroy all user-defined handler objects owned by the service.
- void shutdown()
- {
- service_impl_.shutdown();
- }
-
- // The platform-specific implementation.
- service_impl_type service_impl_;
-};
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-
-#endif // BOOST_ASIO_DATAGRAM_SOCKET_SERVICE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp
deleted file mode 100644
index 238118e3a6..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/array.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// detail/array.hpp
-// ~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_ARRAY_HPP
-#define BOOST_ASIO_DETAIL_ARRAY_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_STD_ARRAY)
-# include <array>
-#else // defined(BOOST_ASIO_HAS_STD_ARRAY)
-# include <boost/array.hpp>
-#endif // defined(BOOST_ASIO_HAS_STD_ARRAY)
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if defined(BOOST_ASIO_HAS_STD_ARRAY)
-using std::array;
-#else // defined(BOOST_ASIO_HAS_STD_ARRAY)
-using boost::array;
-#endif // defined(BOOST_ASIO_HAS_STD_ARRAY)
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_ARRAY_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp
deleted file mode 100644
index fe306ce614..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/assert.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// detail/assert.hpp
-// ~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_ASSERT_HPP
-#define BOOST_ASIO_DETAIL_ASSERT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_BOOST_ASSERT)
-# include <boost/assert.hpp>
-#else // defined(BOOST_ASIO_HAS_BOOST_ASSERT)
-# include <cassert>
-#endif // defined(BOOST_ASIO_HAS_BOOST_ASSERT)
-
-#if defined(BOOST_ASIO_HAS_BOOST_ASSERT)
-# define BOOST_ASIO_ASSERT(expr) BOOST_ASSERT(expr)
-#else // defined(BOOST_ASIO_HAS_BOOST_ASSERT)
-# define BOOST_ASIO_ASSERT(expr) assert(expr)
-#endif // defined(BOOST_ASIO_HAS_BOOST_ASSERT)
-
-#endif // BOOST_ASIO_DETAIL_ASSERT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp
deleted file mode 100644
index 78cd0fb333..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/atomic_count.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// detail/atomic_count.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_ATOMIC_COUNT_HPP
-#define BOOST_ASIO_DETAIL_ATOMIC_COUNT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-// Nothing to include.
-#elif defined(BOOST_ASIO_HAS_STD_ATOMIC)
-# include <atomic>
-#else // defined(BOOST_ASIO_HAS_STD_ATOMIC)
-# include <boost/detail/atomic_count.hpp>
-#endif // defined(BOOST_ASIO_HAS_STD_ATOMIC)
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-typedef long atomic_count;
-inline void increment(atomic_count& a, long b) { a += b; }
-#elif defined(BOOST_ASIO_HAS_STD_ATOMIC)
-typedef std::atomic<long> atomic_count;
-inline void increment(atomic_count& a, long b) { a += b; }
-#else // defined(BOOST_ASIO_HAS_STD_ATOMIC)
-typedef boost::detail::atomic_count atomic_count;
-inline void increment(atomic_count& a, long b) { while (b > 0) ++a, --b; }
-#endif // defined(BOOST_ASIO_HAS_STD_ATOMIC)
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_ATOMIC_COUNT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp
deleted file mode 100644
index 39f1b29bcd..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/bind_handler.hpp
+++ /dev/null
@@ -1,818 +0,0 @@
-//
-// detail/bind_handler.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_BIND_HANDLER_HPP
-#define BOOST_ASIO_DETAIL_BIND_HANDLER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/associated_allocator.hpp>
-#include <boost/asio/associated_executor.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_cont_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Handler, typename Arg1>
-class binder1
-{
-public:
- template <typename T>
- binder1(int, BOOST_ASIO_MOVE_ARG(T) handler, const Arg1& arg1)
- : handler_(BOOST_ASIO_MOVE_CAST(T)(handler)),
- arg1_(arg1)
- {
- }
-
- binder1(Handler& handler, const Arg1& arg1)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler)),
- arg1_(arg1)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- binder1(const binder1& other)
- : handler_(other.handler_),
- arg1_(other.arg1_)
- {
- }
-
- binder1(binder1&& other)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_)),
- arg1_(BOOST_ASIO_MOVE_CAST(Arg1)(other.arg1_))
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- void operator()()
- {
- handler_(static_cast<const Arg1&>(arg1_));
- }
-
- void operator()() const
- {
- handler_(arg1_);
- }
-
-//private:
- Handler handler_;
- Arg1 arg1_;
-};
-
-template <typename Handler, typename Arg1>
-inline void* asio_handler_allocate(std::size_t size,
- binder1<Handler, Arg1>* this_handler)
-{
- return boost_asio_handler_alloc_helpers::allocate(
- size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1>
-inline void asio_handler_deallocate(void* pointer, std::size_t size,
- binder1<Handler, Arg1>* this_handler)
-{
- boost_asio_handler_alloc_helpers::deallocate(
- pointer, size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1>
-inline bool asio_handler_is_continuation(
- binder1<Handler, Arg1>* this_handler)
-{
- return boost_asio_handler_cont_helpers::is_continuation(
- this_handler->handler_);
-}
-
-template <typename Function, typename Handler, typename Arg1>
-inline void asio_handler_invoke(Function& function,
- binder1<Handler, Arg1>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->handler_);
-}
-
-template <typename Function, typename Handler, typename Arg1>
-inline void asio_handler_invoke(const Function& function,
- binder1<Handler, Arg1>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1>
-inline binder1<typename decay<Handler>::type, Arg1> bind_handler(
- BOOST_ASIO_MOVE_ARG(Handler) handler, const Arg1& arg1)
-{
- return binder1<typename decay<Handler>::type, Arg1>(0,
- BOOST_ASIO_MOVE_CAST(Handler)(handler), arg1);
-}
-
-template <typename Handler, typename Arg1, typename Arg2>
-class binder2
-{
-public:
- template <typename T>
- binder2(int, BOOST_ASIO_MOVE_ARG(T) handler,
- const Arg1& arg1, const Arg2& arg2)
- : handler_(BOOST_ASIO_MOVE_CAST(T)(handler)),
- arg1_(arg1),
- arg2_(arg2)
- {
- }
-
- binder2(Handler& handler, const Arg1& arg1, const Arg2& arg2)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler)),
- arg1_(arg1),
- arg2_(arg2)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- binder2(const binder2& other)
- : handler_(other.handler_),
- arg1_(other.arg1_),
- arg2_(other.arg2_)
- {
- }
-
- binder2(binder2&& other)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_)),
- arg1_(BOOST_ASIO_MOVE_CAST(Arg1)(other.arg1_)),
- arg2_(BOOST_ASIO_MOVE_CAST(Arg2)(other.arg2_))
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- void operator()()
- {
- handler_(static_cast<const Arg1&>(arg1_),
- static_cast<const Arg2&>(arg2_));
- }
-
- void operator()() const
- {
- handler_(arg1_, arg2_);
- }
-
-//private:
- Handler handler_;
- Arg1 arg1_;
- Arg2 arg2_;
-};
-
-template <typename Handler, typename Arg1, typename Arg2>
-inline void* asio_handler_allocate(std::size_t size,
- binder2<Handler, Arg1, Arg2>* this_handler)
-{
- return boost_asio_handler_alloc_helpers::allocate(
- size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2>
-inline void asio_handler_deallocate(void* pointer, std::size_t size,
- binder2<Handler, Arg1, Arg2>* this_handler)
-{
- boost_asio_handler_alloc_helpers::deallocate(
- pointer, size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2>
-inline bool asio_handler_is_continuation(
- binder2<Handler, Arg1, Arg2>* this_handler)
-{
- return boost_asio_handler_cont_helpers::is_continuation(
- this_handler->handler_);
-}
-
-template <typename Function, typename Handler, typename Arg1, typename Arg2>
-inline void asio_handler_invoke(Function& function,
- binder2<Handler, Arg1, Arg2>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->handler_);
-}
-
-template <typename Function, typename Handler, typename Arg1, typename Arg2>
-inline void asio_handler_invoke(const Function& function,
- binder2<Handler, Arg1, Arg2>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2>
-inline binder2<typename decay<Handler>::type, Arg1, Arg2> bind_handler(
- BOOST_ASIO_MOVE_ARG(Handler) handler, const Arg1& arg1, const Arg2& arg2)
-{
- return binder2<typename decay<Handler>::type, Arg1, Arg2>(0,
- BOOST_ASIO_MOVE_CAST(Handler)(handler), arg1, arg2);
-}
-
-template <typename Handler, typename Arg1, typename Arg2, typename Arg3>
-class binder3
-{
-public:
- template <typename T>
- binder3(int, BOOST_ASIO_MOVE_ARG(T) handler, const Arg1& arg1,
- const Arg2& arg2, const Arg3& arg3)
- : handler_(BOOST_ASIO_MOVE_CAST(T)(handler)),
- arg1_(arg1),
- arg2_(arg2),
- arg3_(arg3)
- {
- }
-
- binder3(Handler& handler, const Arg1& arg1,
- const Arg2& arg2, const Arg3& arg3)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler)),
- arg1_(arg1),
- arg2_(arg2),
- arg3_(arg3)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- binder3(const binder3& other)
- : handler_(other.handler_),
- arg1_(other.arg1_),
- arg2_(other.arg2_),
- arg3_(other.arg3_)
- {
- }
-
- binder3(binder3&& other)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_)),
- arg1_(BOOST_ASIO_MOVE_CAST(Arg1)(other.arg1_)),
- arg2_(BOOST_ASIO_MOVE_CAST(Arg2)(other.arg2_)),
- arg3_(BOOST_ASIO_MOVE_CAST(Arg3)(other.arg3_))
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- void operator()()
- {
- handler_(static_cast<const Arg1&>(arg1_),
- static_cast<const Arg2&>(arg2_), static_cast<const Arg3&>(arg3_));
- }
-
- void operator()() const
- {
- handler_(arg1_, arg2_, arg3_);
- }
-
-//private:
- Handler handler_;
- Arg1 arg1_;
- Arg2 arg2_;
- Arg3 arg3_;
-};
-
-template <typename Handler, typename Arg1, typename Arg2, typename Arg3>
-inline void* asio_handler_allocate(std::size_t size,
- binder3<Handler, Arg1, Arg2, Arg3>* this_handler)
-{
- return boost_asio_handler_alloc_helpers::allocate(
- size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2, typename Arg3>
-inline void asio_handler_deallocate(void* pointer, std::size_t size,
- binder3<Handler, Arg1, Arg2, Arg3>* this_handler)
-{
- boost_asio_handler_alloc_helpers::deallocate(
- pointer, size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2, typename Arg3>
-inline bool asio_handler_is_continuation(
- binder3<Handler, Arg1, Arg2, Arg3>* this_handler)
-{
- return boost_asio_handler_cont_helpers::is_continuation(
- this_handler->handler_);
-}
-
-template <typename Function, typename Handler,
- typename Arg1, typename Arg2, typename Arg3>
-inline void asio_handler_invoke(Function& function,
- binder3<Handler, Arg1, Arg2, Arg3>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->handler_);
-}
-
-template <typename Function, typename Handler,
- typename Arg1, typename Arg2, typename Arg3>
-inline void asio_handler_invoke(const Function& function,
- binder3<Handler, Arg1, Arg2, Arg3>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2, typename Arg3>
-inline binder3<typename decay<Handler>::type, Arg1, Arg2, Arg3> bind_handler(
- BOOST_ASIO_MOVE_ARG(Handler) handler, const Arg1& arg1, const Arg2& arg2,
- const Arg3& arg3)
-{
- return binder3<typename decay<Handler>::type, Arg1, Arg2, Arg3>(0,
- BOOST_ASIO_MOVE_CAST(Handler)(handler), arg1, arg2, arg3);
-}
-
-template <typename Handler, typename Arg1,
- typename Arg2, typename Arg3, typename Arg4>
-class binder4
-{
-public:
- template <typename T>
- binder4(int, BOOST_ASIO_MOVE_ARG(T) handler, const Arg1& arg1,
- const Arg2& arg2, const Arg3& arg3, const Arg4& arg4)
- : handler_(BOOST_ASIO_MOVE_CAST(T)(handler)),
- arg1_(arg1),
- arg2_(arg2),
- arg3_(arg3),
- arg4_(arg4)
- {
- }
-
- binder4(Handler& handler, const Arg1& arg1,
- const Arg2& arg2, const Arg3& arg3, const Arg4& arg4)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler)),
- arg1_(arg1),
- arg2_(arg2),
- arg3_(arg3),
- arg4_(arg4)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- binder4(const binder4& other)
- : handler_(other.handler_),
- arg1_(other.arg1_),
- arg2_(other.arg2_),
- arg3_(other.arg3_),
- arg4_(other.arg4_)
- {
- }
-
- binder4(binder4&& other)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_)),
- arg1_(BOOST_ASIO_MOVE_CAST(Arg1)(other.arg1_)),
- arg2_(BOOST_ASIO_MOVE_CAST(Arg2)(other.arg2_)),
- arg3_(BOOST_ASIO_MOVE_CAST(Arg3)(other.arg3_)),
- arg4_(BOOST_ASIO_MOVE_CAST(Arg4)(other.arg4_))
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- void operator()()
- {
- handler_(static_cast<const Arg1&>(arg1_),
- static_cast<const Arg2&>(arg2_), static_cast<const Arg3&>(arg3_),
- static_cast<const Arg4&>(arg4_));
- }
-
- void operator()() const
- {
- handler_(arg1_, arg2_, arg3_, arg4_);
- }
-
-//private:
- Handler handler_;
- Arg1 arg1_;
- Arg2 arg2_;
- Arg3 arg3_;
- Arg4 arg4_;
-};
-
-template <typename Handler, typename Arg1,
- typename Arg2, typename Arg3, typename Arg4>
-inline void* asio_handler_allocate(std::size_t size,
- binder4<Handler, Arg1, Arg2, Arg3, Arg4>* this_handler)
-{
- return boost_asio_handler_alloc_helpers::allocate(
- size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1,
- typename Arg2, typename Arg3, typename Arg4>
-inline void asio_handler_deallocate(void* pointer, std::size_t size,
- binder4<Handler, Arg1, Arg2, Arg3, Arg4>* this_handler)
-{
- boost_asio_handler_alloc_helpers::deallocate(
- pointer, size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1,
- typename Arg2, typename Arg3, typename Arg4>
-inline bool asio_handler_is_continuation(
- binder4<Handler, Arg1, Arg2, Arg3, Arg4>* this_handler)
-{
- return boost_asio_handler_cont_helpers::is_continuation(
- this_handler->handler_);
-}
-
-template <typename Function, typename Handler, typename Arg1,
- typename Arg2, typename Arg3, typename Arg4>
-inline void asio_handler_invoke(Function& function,
- binder4<Handler, Arg1, Arg2, Arg3, Arg4>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->handler_);
-}
-
-template <typename Function, typename Handler, typename Arg1,
- typename Arg2, typename Arg3, typename Arg4>
-inline void asio_handler_invoke(const Function& function,
- binder4<Handler, Arg1, Arg2, Arg3, Arg4>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1,
- typename Arg2, typename Arg3, typename Arg4>
-inline binder4<typename decay<Handler>::type, Arg1, Arg2, Arg3, Arg4>
-bind_handler(BOOST_ASIO_MOVE_ARG(Handler) handler, const Arg1& arg1,
- const Arg2& arg2, const Arg3& arg3, const Arg4& arg4)
-{
- return binder4<typename decay<Handler>::type, Arg1, Arg2, Arg3, Arg4>(0,
- BOOST_ASIO_MOVE_CAST(Handler)(handler), arg1, arg2, arg3, arg4);
-}
-
-template <typename Handler, typename Arg1, typename Arg2,
- typename Arg3, typename Arg4, typename Arg5>
-class binder5
-{
-public:
- template <typename T>
- binder5(int, BOOST_ASIO_MOVE_ARG(T) handler, const Arg1& arg1,
- const Arg2& arg2, const Arg3& arg3, const Arg4& arg4, const Arg5& arg5)
- : handler_(BOOST_ASIO_MOVE_CAST(T)(handler)),
- arg1_(arg1),
- arg2_(arg2),
- arg3_(arg3),
- arg4_(arg4),
- arg5_(arg5)
- {
- }
-
- binder5(Handler& handler, const Arg1& arg1, const Arg2& arg2,
- const Arg3& arg3, const Arg4& arg4, const Arg5& arg5)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler)),
- arg1_(arg1),
- arg2_(arg2),
- arg3_(arg3),
- arg4_(arg4),
- arg5_(arg5)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- binder5(const binder5& other)
- : handler_(other.handler_),
- arg1_(other.arg1_),
- arg2_(other.arg2_),
- arg3_(other.arg3_),
- arg4_(other.arg4_),
- arg5_(other.arg5_)
- {
- }
-
- binder5(binder5&& other)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_)),
- arg1_(BOOST_ASIO_MOVE_CAST(Arg1)(other.arg1_)),
- arg2_(BOOST_ASIO_MOVE_CAST(Arg2)(other.arg2_)),
- arg3_(BOOST_ASIO_MOVE_CAST(Arg3)(other.arg3_)),
- arg4_(BOOST_ASIO_MOVE_CAST(Arg4)(other.arg4_)),
- arg5_(BOOST_ASIO_MOVE_CAST(Arg5)(other.arg5_))
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- void operator()()
- {
- handler_(static_cast<const Arg1&>(arg1_),
- static_cast<const Arg2&>(arg2_), static_cast<const Arg3&>(arg3_),
- static_cast<const Arg4&>(arg4_), static_cast<const Arg5&>(arg5_));
- }
-
- void operator()() const
- {
- handler_(arg1_, arg2_, arg3_, arg4_, arg5_);
- }
-
-//private:
- Handler handler_;
- Arg1 arg1_;
- Arg2 arg2_;
- Arg3 arg3_;
- Arg4 arg4_;
- Arg5 arg5_;
-};
-
-template <typename Handler, typename Arg1, typename Arg2,
- typename Arg3, typename Arg4, typename Arg5>
-inline void* asio_handler_allocate(std::size_t size,
- binder5<Handler, Arg1, Arg2, Arg3, Arg4, Arg5>* this_handler)
-{
- return boost_asio_handler_alloc_helpers::allocate(
- size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2,
- typename Arg3, typename Arg4, typename Arg5>
-inline void asio_handler_deallocate(void* pointer, std::size_t size,
- binder5<Handler, Arg1, Arg2, Arg3, Arg4, Arg5>* this_handler)
-{
- boost_asio_handler_alloc_helpers::deallocate(
- pointer, size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2,
- typename Arg3, typename Arg4, typename Arg5>
-inline bool asio_handler_is_continuation(
- binder5<Handler, Arg1, Arg2, Arg3, Arg4, Arg5>* this_handler)
-{
- return boost_asio_handler_cont_helpers::is_continuation(
- this_handler->handler_);
-}
-
-template <typename Function, typename Handler, typename Arg1,
- typename Arg2, typename Arg3, typename Arg4, typename Arg5>
-inline void asio_handler_invoke(Function& function,
- binder5<Handler, Arg1, Arg2, Arg3, Arg4, Arg5>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->handler_);
-}
-
-template <typename Function, typename Handler, typename Arg1,
- typename Arg2, typename Arg3, typename Arg4, typename Arg5>
-inline void asio_handler_invoke(const Function& function,
- binder5<Handler, Arg1, Arg2, Arg3, Arg4, Arg5>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2,
- typename Arg3, typename Arg4, typename Arg5>
-inline binder5<typename decay<Handler>::type, Arg1, Arg2, Arg3, Arg4, Arg5>
-bind_handler(BOOST_ASIO_MOVE_ARG(Handler) handler, const Arg1& arg1,
- const Arg2& arg2, const Arg3& arg3, const Arg4& arg4, const Arg5& arg5)
-{
- return binder5<typename decay<Handler>::type, Arg1, Arg2, Arg3, Arg4, Arg5>(0,
- BOOST_ASIO_MOVE_CAST(Handler)(handler), arg1, arg2, arg3, arg4, arg5);
-}
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-
-template <typename Handler, typename Arg1>
-class move_binder1
-{
-public:
- move_binder1(int, BOOST_ASIO_MOVE_ARG(Handler) handler,
- BOOST_ASIO_MOVE_ARG(Arg1) arg1)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler)),
- arg1_(BOOST_ASIO_MOVE_CAST(Arg1)(arg1))
- {
- }
-
- move_binder1(move_binder1&& other)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_)),
- arg1_(BOOST_ASIO_MOVE_CAST(Arg1)(other.arg1_))
- {
- }
-
- void operator()()
- {
- handler_(BOOST_ASIO_MOVE_CAST(Arg1)(arg1_));
- }
-
-//private:
- Handler handler_;
- Arg1 arg1_;
-};
-
-template <typename Handler, typename Arg1>
-inline void* asio_handler_allocate(std::size_t size,
- move_binder1<Handler, Arg1>* this_handler)
-{
- return boost_asio_handler_alloc_helpers::allocate(
- size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1>
-inline void asio_handler_deallocate(void* pointer, std::size_t size,
- move_binder1<Handler, Arg1>* this_handler)
-{
- boost_asio_handler_alloc_helpers::deallocate(
- pointer, size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1>
-inline bool asio_handler_is_continuation(
- move_binder1<Handler, Arg1>* this_handler)
-{
- return boost_asio_handler_cont_helpers::is_continuation(
- this_handler->handler_);
-}
-
-template <typename Function, typename Handler, typename Arg1>
-inline void asio_handler_invoke(BOOST_ASIO_MOVE_ARG(Function) function,
- move_binder1<Handler, Arg1>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- BOOST_ASIO_MOVE_CAST(Function)(function), this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2>
-class move_binder2
-{
-public:
- move_binder2(int, BOOST_ASIO_MOVE_ARG(Handler) handler,
- const Arg1& arg1, BOOST_ASIO_MOVE_ARG(Arg2) arg2)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler)),
- arg1_(arg1),
- arg2_(BOOST_ASIO_MOVE_CAST(Arg2)(arg2))
- {
- }
-
- move_binder2(move_binder2&& other)
- : handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_)),
- arg1_(BOOST_ASIO_MOVE_CAST(Arg1)(other.arg1_)),
- arg2_(BOOST_ASIO_MOVE_CAST(Arg2)(other.arg2_))
- {
- }
-
- void operator()()
- {
- handler_(static_cast<const Arg1&>(arg1_),
- BOOST_ASIO_MOVE_CAST(Arg2)(arg2_));
- }
-
-//private:
- Handler handler_;
- Arg1 arg1_;
- Arg2 arg2_;
-};
-
-template <typename Handler, typename Arg1, typename Arg2>
-inline void* asio_handler_allocate(std::size_t size,
- move_binder2<Handler, Arg1, Arg2>* this_handler)
-{
- return boost_asio_handler_alloc_helpers::allocate(
- size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2>
-inline void asio_handler_deallocate(void* pointer, std::size_t size,
- move_binder2<Handler, Arg1, Arg2>* this_handler)
-{
- boost_asio_handler_alloc_helpers::deallocate(
- pointer, size, this_handler->handler_);
-}
-
-template <typename Handler, typename Arg1, typename Arg2>
-inline bool asio_handler_is_continuation(
- move_binder2<Handler, Arg1, Arg2>* this_handler)
-{
- return boost_asio_handler_cont_helpers::is_continuation(
- this_handler->handler_);
-}
-
-template <typename Function, typename Handler, typename Arg1, typename Arg2>
-inline void asio_handler_invoke(BOOST_ASIO_MOVE_ARG(Function) function,
- move_binder2<Handler, Arg1, Arg2>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- BOOST_ASIO_MOVE_CAST(Function)(function), this_handler->handler_);
-}
-
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-} // namespace detail
-
-template <typename Handler, typename Arg1, typename Allocator>
-struct associated_allocator<detail::binder1<Handler, Arg1>, Allocator>
-{
- typedef typename associated_allocator<Handler, Allocator>::type type;
-
- static type get(const detail::binder1<Handler, Arg1>& h,
- const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
- {
- return associated_allocator<Handler, Allocator>::get(h.handler_, a);
- }
-};
-
-template <typename Handler, typename Arg1, typename Arg2, typename Allocator>
-struct associated_allocator<detail::binder2<Handler, Arg1, Arg2>, Allocator>
-{
- typedef typename associated_allocator<Handler, Allocator>::type type;
-
- static type get(const detail::binder2<Handler, Arg1, Arg2>& h,
- const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
- {
- return associated_allocator<Handler, Allocator>::get(h.handler_, a);
- }
-};
-
-template <typename Handler, typename Arg1, typename Executor>
-struct associated_executor<detail::binder1<Handler, Arg1>, Executor>
-{
- typedef typename associated_executor<Handler, Executor>::type type;
-
- static type get(const detail::binder1<Handler, Arg1>& h,
- const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
- {
- return associated_executor<Handler, Executor>::get(h.handler_, ex);
- }
-};
-
-template <typename Handler, typename Arg1, typename Arg2, typename Executor>
-struct associated_executor<detail::binder2<Handler, Arg1, Arg2>, Executor>
-{
- typedef typename associated_executor<Handler, Executor>::type type;
-
- static type get(const detail::binder2<Handler, Arg1, Arg2>& h,
- const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
- {
- return associated_executor<Handler, Executor>::get(h.handler_, ex);
- }
-};
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-
-template <typename Handler, typename Arg1, typename Allocator>
-struct associated_allocator<detail::move_binder1<Handler, Arg1>, Allocator>
-{
- typedef typename associated_allocator<Handler, Allocator>::type type;
-
- static type get(const detail::move_binder1<Handler, Arg1>& h,
- const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
- {
- return associated_allocator<Handler, Allocator>::get(h.handler_, a);
- }
-};
-
-template <typename Handler, typename Arg1, typename Arg2, typename Allocator>
-struct associated_allocator<
- detail::move_binder2<Handler, Arg1, Arg2>, Allocator>
-{
- typedef typename associated_allocator<Handler, Allocator>::type type;
-
- static type get(const detail::move_binder2<Handler, Arg1, Arg2>& h,
- const Allocator& a = Allocator()) BOOST_ASIO_NOEXCEPT
- {
- return associated_allocator<Handler, Allocator>::get(h.handler_, a);
- }
-};
-
-template <typename Handler, typename Arg1, typename Executor>
-struct associated_executor<detail::move_binder1<Handler, Arg1>, Executor>
-{
- typedef typename associated_executor<Handler, Executor>::type type;
-
- static type get(const detail::move_binder1<Handler, Arg1>& h,
- const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
- {
- return associated_executor<Handler, Executor>::get(h.handler_, ex);
- }
-};
-
-template <typename Handler, typename Arg1, typename Arg2, typename Executor>
-struct associated_executor<detail::move_binder2<Handler, Arg1, Arg2>, Executor>
-{
- typedef typename associated_executor<Handler, Executor>::type type;
-
- static type get(const detail::move_binder2<Handler, Arg1, Arg2>& h,
- const Executor& ex = Executor()) BOOST_ASIO_NOEXCEPT
- {
- return associated_executor<Handler, Executor>::get(h.handler_, ex);
- }
-};
-
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_BIND_HANDLER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp
deleted file mode 100644
index 5ba55d266d..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/buffer_sequence_adapter.hpp
+++ /dev/null
@@ -1,546 +0,0 @@
-//
-// detail/buffer_sequence_adapter.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_BUFFER_SEQUENCE_ADAPTER_HPP
-#define BOOST_ASIO_DETAIL_BUFFER_SEQUENCE_ADAPTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/buffer.hpp>
-#include <boost/asio/detail/array_fwd.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class buffer_sequence_adapter_base
-{
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-public:
- // The maximum number of buffers to support in a single operation.
- enum { max_buffers = 1 };
-
-protected:
- typedef Windows::Storage::Streams::IBuffer^ native_buffer_type;
-
- BOOST_ASIO_DECL static void init_native_buffer(
- native_buffer_type& buf,
- const boost::asio::mutable_buffer& buffer);
-
- BOOST_ASIO_DECL static void init_native_buffer(
- native_buffer_type& buf,
- const boost::asio::const_buffer& buffer);
-#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-public:
- // The maximum number of buffers to support in a single operation.
- enum { max_buffers = 64 < max_iov_len ? 64 : max_iov_len };
-
-protected:
- typedef WSABUF native_buffer_type;
-
- static void init_native_buffer(WSABUF& buf,
- const boost::asio::mutable_buffer& buffer)
- {
- buf.buf = static_cast<char*>(buffer.data());
- buf.len = static_cast<ULONG>(buffer.size());
- }
-
- static void init_native_buffer(WSABUF& buf,
- const boost::asio::const_buffer& buffer)
- {
- buf.buf = const_cast<char*>(static_cast<const char*>(buffer.data()));
- buf.len = static_cast<ULONG>(buffer.size());
- }
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-public:
- // The maximum number of buffers to support in a single operation.
- enum { max_buffers = 64 < max_iov_len ? 64 : max_iov_len };
-
-protected:
- typedef iovec native_buffer_type;
-
- static void init_iov_base(void*& base, void* addr)
- {
- base = addr;
- }
-
- template <typename T>
- static void init_iov_base(T& base, void* addr)
- {
- base = static_cast<T>(addr);
- }
-
- static void init_native_buffer(iovec& iov,
- const boost::asio::mutable_buffer& buffer)
- {
- init_iov_base(iov.iov_base, buffer.data());
- iov.iov_len = buffer.size();
- }
-
- static void init_native_buffer(iovec& iov,
- const boost::asio::const_buffer& buffer)
- {
- init_iov_base(iov.iov_base, const_cast<void*>(buffer.data()));
- iov.iov_len = buffer.size();
- }
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-};
-
-// Helper class to translate buffers into the native buffer representation.
-template <typename Buffer, typename Buffers>
-class buffer_sequence_adapter
- : buffer_sequence_adapter_base
-{
-public:
- explicit buffer_sequence_adapter(const Buffers& buffer_sequence)
- : count_(0), total_buffer_size_(0)
- {
- buffer_sequence_adapter::init(
- boost::asio::buffer_sequence_begin(buffer_sequence),
- boost::asio::buffer_sequence_end(buffer_sequence));
- }
-
- native_buffer_type* buffers()
- {
- return buffers_;
- }
-
- std::size_t count() const
- {
- return count_;
- }
-
- std::size_t total_size() const
- {
- return total_buffer_size_;
- }
-
- bool all_empty() const
- {
- return total_buffer_size_ == 0;
- }
-
- static bool all_empty(const Buffers& buffer_sequence)
- {
- return buffer_sequence_adapter::all_empty(
- boost::asio::buffer_sequence_begin(buffer_sequence),
- boost::asio::buffer_sequence_end(buffer_sequence));
- }
-
- static void validate(const Buffers& buffer_sequence)
- {
- buffer_sequence_adapter::validate(
- boost::asio::buffer_sequence_begin(buffer_sequence),
- boost::asio::buffer_sequence_end(buffer_sequence));
- }
-
- static Buffer first(const Buffers& buffer_sequence)
- {
- return buffer_sequence_adapter::first(
- boost::asio::buffer_sequence_begin(buffer_sequence),
- boost::asio::buffer_sequence_end(buffer_sequence));
- }
-
-private:
- template <typename Iterator>
- void init(Iterator begin, Iterator end)
- {
- Iterator iter = begin;
- for (; iter != end && count_ < max_buffers; ++iter, ++count_)
- {
- Buffer buffer(*iter);
- init_native_buffer(buffers_[count_], buffer);
- total_buffer_size_ += buffer.size();
- }
- }
-
- template <typename Iterator>
- static bool all_empty(Iterator begin, Iterator end)
- {
- Iterator iter = begin;
- std::size_t i = 0;
- for (; iter != end && i < max_buffers; ++iter, ++i)
- if (Buffer(*iter).size() > 0)
- return false;
- return true;
- }
-
- template <typename Iterator>
- static void validate(Iterator begin, Iterator end)
- {
- Iterator iter = begin;
- for (; iter != end; ++iter)
- {
- Buffer buffer(*iter);
- buffer.data();
- }
- }
-
- template <typename Iterator>
- static Buffer first(Iterator begin, Iterator end)
- {
- Iterator iter = begin;
- for (; iter != end; ++iter)
- {
- Buffer buffer(*iter);
- if (buffer.size() != 0)
- return buffer;
- }
- return Buffer();
- }
-
- native_buffer_type buffers_[max_buffers];
- std::size_t count_;
- std::size_t total_buffer_size_;
-};
-
-template <typename Buffer>
-class buffer_sequence_adapter<Buffer, boost::asio::mutable_buffer>
- : buffer_sequence_adapter_base
-{
-public:
- explicit buffer_sequence_adapter(
- const boost::asio::mutable_buffer& buffer_sequence)
- {
- init_native_buffer(buffer_, Buffer(buffer_sequence));
- total_buffer_size_ = buffer_sequence.size();
- }
-
- native_buffer_type* buffers()
- {
- return &buffer_;
- }
-
- std::size_t count() const
- {
- return 1;
- }
-
- std::size_t total_size() const
- {
- return total_buffer_size_;
- }
-
- bool all_empty() const
- {
- return total_buffer_size_ == 0;
- }
-
- static bool all_empty(const boost::asio::mutable_buffer& buffer_sequence)
- {
- return buffer_sequence.size() == 0;
- }
-
- static void validate(const boost::asio::mutable_buffer& buffer_sequence)
- {
- buffer_sequence.data();
- }
-
- static Buffer first(const boost::asio::mutable_buffer& buffer_sequence)
- {
- return Buffer(buffer_sequence);
- }
-
-private:
- native_buffer_type buffer_;
- std::size_t total_buffer_size_;
-};
-
-template <typename Buffer>
-class buffer_sequence_adapter<Buffer, boost::asio::const_buffer>
- : buffer_sequence_adapter_base
-{
-public:
- explicit buffer_sequence_adapter(
- const boost::asio::const_buffer& buffer_sequence)
- {
- init_native_buffer(buffer_, Buffer(buffer_sequence));
- total_buffer_size_ = buffer_sequence.size();
- }
-
- native_buffer_type* buffers()
- {
- return &buffer_;
- }
-
- std::size_t count() const
- {
- return 1;
- }
-
- std::size_t total_size() const
- {
- return total_buffer_size_;
- }
-
- bool all_empty() const
- {
- return total_buffer_size_ == 0;
- }
-
- static bool all_empty(const boost::asio::const_buffer& buffer_sequence)
- {
- return buffer_sequence.size() == 0;
- }
-
- static void validate(const boost::asio::const_buffer& buffer_sequence)
- {
- buffer_sequence.data();
- }
-
- static Buffer first(const boost::asio::const_buffer& buffer_sequence)
- {
- return Buffer(buffer_sequence);
- }
-
-private:
- native_buffer_type buffer_;
- std::size_t total_buffer_size_;
-};
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-
-template <typename Buffer>
-class buffer_sequence_adapter<Buffer, boost::asio::mutable_buffers_1>
- : buffer_sequence_adapter_base
-{
-public:
- explicit buffer_sequence_adapter(
- const boost::asio::mutable_buffers_1& buffer_sequence)
- {
- init_native_buffer(buffer_, Buffer(buffer_sequence));
- total_buffer_size_ = buffer_sequence.size();
- }
-
- native_buffer_type* buffers()
- {
- return &buffer_;
- }
-
- std::size_t count() const
- {
- return 1;
- }
-
- std::size_t total_size() const
- {
- return total_buffer_size_;
- }
-
- bool all_empty() const
- {
- return total_buffer_size_ == 0;
- }
-
- static bool all_empty(const boost::asio::mutable_buffers_1& buffer_sequence)
- {
- return buffer_sequence.size() == 0;
- }
-
- static void validate(const boost::asio::mutable_buffers_1& buffer_sequence)
- {
- buffer_sequence.data();
- }
-
- static Buffer first(const boost::asio::mutable_buffers_1& buffer_sequence)
- {
- return Buffer(buffer_sequence);
- }
-
-private:
- native_buffer_type buffer_;
- std::size_t total_buffer_size_;
-};
-
-template <typename Buffer>
-class buffer_sequence_adapter<Buffer, boost::asio::const_buffers_1>
- : buffer_sequence_adapter_base
-{
-public:
- explicit buffer_sequence_adapter(
- const boost::asio::const_buffers_1& buffer_sequence)
- {
- init_native_buffer(buffer_, Buffer(buffer_sequence));
- total_buffer_size_ = buffer_sequence.size();
- }
-
- native_buffer_type* buffers()
- {
- return &buffer_;
- }
-
- std::size_t count() const
- {
- return 1;
- }
-
- std::size_t total_size() const
- {
- return total_buffer_size_;
- }
-
- bool all_empty() const
- {
- return total_buffer_size_ == 0;
- }
-
- static bool all_empty(const boost::asio::const_buffers_1& buffer_sequence)
- {
- return buffer_sequence.size() == 0;
- }
-
- static void validate(const boost::asio::const_buffers_1& buffer_sequence)
- {
- buffer_sequence.data();
- }
-
- static Buffer first(const boost::asio::const_buffers_1& buffer_sequence)
- {
- return Buffer(buffer_sequence);
- }
-
-private:
- native_buffer_type buffer_;
- std::size_t total_buffer_size_;
-};
-
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-template <typename Buffer, typename Elem>
-class buffer_sequence_adapter<Buffer, boost::array<Elem, 2> >
- : buffer_sequence_adapter_base
-{
-public:
- explicit buffer_sequence_adapter(
- const boost::array<Elem, 2>& buffer_sequence)
- {
- init_native_buffer(buffers_[0], Buffer(buffer_sequence[0]));
- init_native_buffer(buffers_[1], Buffer(buffer_sequence[1]));
- total_buffer_size_ = buffer_sequence[0].size() + buffer_sequence[1].size();
- }
-
- native_buffer_type* buffers()
- {
- return buffers_;
- }
-
- std::size_t count() const
- {
- return 2;
- }
-
- std::size_t total_size() const
- {
- return total_buffer_size_;
- }
-
- bool all_empty() const
- {
- return total_buffer_size_ == 0;
- }
-
- static bool all_empty(const boost::array<Elem, 2>& buffer_sequence)
- {
- return buffer_sequence[0].size() == 0 && buffer_sequence[1].size() == 0;
- }
-
- static void validate(const boost::array<Elem, 2>& buffer_sequence)
- {
- buffer_sequence[0].data();
- buffer_sequence[1].data();
- }
-
- static Buffer first(const boost::array<Elem, 2>& buffer_sequence)
- {
- return Buffer(buffer_sequence[0].size() != 0
- ? buffer_sequence[0] : buffer_sequence[1]);
- }
-
-private:
- native_buffer_type buffers_[2];
- std::size_t total_buffer_size_;
-};
-
-#if defined(BOOST_ASIO_HAS_STD_ARRAY)
-
-template <typename Buffer, typename Elem>
-class buffer_sequence_adapter<Buffer, std::array<Elem, 2> >
- : buffer_sequence_adapter_base
-{
-public:
- explicit buffer_sequence_adapter(
- const std::array<Elem, 2>& buffer_sequence)
- {
- init_native_buffer(buffers_[0], Buffer(buffer_sequence[0]));
- init_native_buffer(buffers_[1], Buffer(buffer_sequence[1]));
- total_buffer_size_ = buffer_sequence[0].size() + buffer_sequence[1].size();
- }
-
- native_buffer_type* buffers()
- {
- return buffers_;
- }
-
- std::size_t count() const
- {
- return 2;
- }
-
- std::size_t total_size() const
- {
- return total_buffer_size_;
- }
-
- bool all_empty() const
- {
- return total_buffer_size_ == 0;
- }
-
- static bool all_empty(const std::array<Elem, 2>& buffer_sequence)
- {
- return buffer_sequence[0].size() == 0 && buffer_sequence[1].size() == 0;
- }
-
- static void validate(const std::array<Elem, 2>& buffer_sequence)
- {
- buffer_sequence[0].data();
- buffer_sequence[1].data();
- }
-
- static Buffer first(const std::array<Elem, 2>& buffer_sequence)
- {
- return Buffer(buffer_sequence[0].size() != 0
- ? buffer_sequence[0] : buffer_sequence[1]);
- }
-
-private:
- native_buffer_type buffers_[2];
- std::size_t total_buffer_size_;
-};
-
-#endif // defined(BOOST_ASIO_HAS_STD_ARRAY)
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/buffer_sequence_adapter.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_DETAIL_BUFFER_SEQUENCE_ADAPTER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp
deleted file mode 100644
index 34f4de607f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/call_stack.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-//
-// detail/call_stack.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_CALL_STACK_HPP
-#define BOOST_ASIO_DETAIL_CALL_STACK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/tss_ptr.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Helper class to determine whether or not the current thread is inside an
-// invocation of io_context::run() for a specified io_context object.
-template <typename Key, typename Value = unsigned char>
-class call_stack
-{
-public:
- // Context class automatically pushes the key/value pair on to the stack.
- class context
- : private noncopyable
- {
- public:
- // Push the key on to the stack.
- explicit context(Key* k)
- : key_(k),
- next_(call_stack<Key, Value>::top_)
- {
- value_ = reinterpret_cast<unsigned char*>(this);
- call_stack<Key, Value>::top_ = this;
- }
-
- // Push the key/value pair on to the stack.
- context(Key* k, Value& v)
- : key_(k),
- value_(&v),
- next_(call_stack<Key, Value>::top_)
- {
- call_stack<Key, Value>::top_ = this;
- }
-
- // Pop the key/value pair from the stack.
- ~context()
- {
- call_stack<Key, Value>::top_ = next_;
- }
-
- // Find the next context with the same key.
- Value* next_by_key() const
- {
- context* elem = next_;
- while (elem)
- {
- if (elem->key_ == key_)
- return elem->value_;
- elem = elem->next_;
- }
- return 0;
- }
-
- private:
- friend class call_stack<Key, Value>;
-
- // The key associated with the context.
- Key* key_;
-
- // The value associated with the context.
- Value* value_;
-
- // The next element in the stack.
- context* next_;
- };
-
- friend class context;
-
- // Determine whether the specified owner is on the stack. Returns address of
- // key if present, 0 otherwise.
- static Value* contains(Key* k)
- {
- context* elem = top_;
- while (elem)
- {
- if (elem->key_ == k)
- return elem->value_;
- elem = elem->next_;
- }
- return 0;
- }
-
- // Obtain the value at the top of the stack.
- static Value* top()
- {
- context* elem = top_;
- return elem ? elem->value_ : 0;
- }
-
-private:
- // The top of the stack of calls for the current thread.
- static tss_ptr<context> top_;
-};
-
-template <typename Key, typename Value>
-tss_ptr<typename call_stack<Key, Value>::context>
-call_stack<Key, Value>::top_;
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_CALL_STACK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp
deleted file mode 100644
index 044f12c6c3..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//
-// detail/chrono.hpp
-// ~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_CHRONO_HPP
-#define BOOST_ASIO_DETAIL_CHRONO_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_STD_CHRONO)
-# include <chrono>
-#elif defined(BOOST_ASIO_HAS_BOOST_CHRONO)
-# include <boost/chrono/system_clocks.hpp>
-#endif // defined(BOOST_ASIO_HAS_BOOST_CHRONO)
-
-namespace boost {
-namespace asio {
-namespace chrono {
-
-#if defined(BOOST_ASIO_HAS_STD_CHRONO)
-using std::chrono::duration;
-using std::chrono::time_point;
-using std::chrono::duration_cast;
-using std::chrono::nanoseconds;
-using std::chrono::microseconds;
-using std::chrono::milliseconds;
-using std::chrono::seconds;
-using std::chrono::minutes;
-using std::chrono::hours;
-using std::chrono::time_point_cast;
-#if defined(BOOST_ASIO_HAS_STD_CHRONO_MONOTONIC_CLOCK)
-typedef std::chrono::monotonic_clock steady_clock;
-#else // defined(BOOST_ASIO_HAS_STD_CHRONO_MONOTONIC_CLOCK)
-using std::chrono::steady_clock;
-#endif // defined(BOOST_ASIO_HAS_STD_CHRONO_MONOTONIC_CLOCK)
-using std::chrono::system_clock;
-using std::chrono::high_resolution_clock;
-#elif defined(BOOST_ASIO_HAS_BOOST_CHRONO)
-using boost::chrono::duration;
-using boost::chrono::time_point;
-using boost::chrono::duration_cast;
-using boost::chrono::nanoseconds;
-using boost::chrono::microseconds;
-using boost::chrono::milliseconds;
-using boost::chrono::seconds;
-using boost::chrono::minutes;
-using boost::chrono::hours;
-using boost::chrono::time_point_cast;
-using boost::chrono::system_clock;
-using boost::chrono::steady_clock;
-using boost::chrono::high_resolution_clock;
-#endif // defined(BOOST_ASIO_HAS_BOOST_CHRONO)
-
-} // namespace chrono
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_CHRONO_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp
deleted file mode 100644
index 256389acaf..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/chrono_time_traits.hpp
+++ /dev/null
@@ -1,192 +0,0 @@
-//
-// detail/chrono_time_traits.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_CHRONO_TIME_TRAITS_HPP
-#define BOOST_ASIO_DETAIL_CHRONO_TIME_TRAITS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/cstdint.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Helper template to compute the greatest common divisor.
-template <int64_t v1, int64_t v2>
-struct gcd { enum { value = gcd<v2, v1 % v2>::value }; };
-
-template <int64_t v1>
-struct gcd<v1, 0> { enum { value = v1 }; };
-
-// Adapts std::chrono clocks for use with a deadline timer.
-template <typename Clock, typename WaitTraits>
-struct chrono_time_traits
-{
- // The clock type.
- typedef Clock clock_type;
-
- // The duration type of the clock.
- typedef typename clock_type::duration duration_type;
-
- // The time point type of the clock.
- typedef typename clock_type::time_point time_type;
-
- // The period of the clock.
- typedef typename duration_type::period period_type;
-
- // Get the current time.
- static time_type now()
- {
- return clock_type::now();
- }
-
- // Add a duration to a time.
- static time_type add(const time_type& t, const duration_type& d)
- {
- const time_type epoch;
- if (t >= epoch)
- {
- if ((time_type::max)() - t < d)
- return (time_type::max)();
- }
- else // t < epoch
- {
- if (-(t - (time_type::min)()) > d)
- return (time_type::min)();
- }
-
- return t + d;
- }
-
- // Subtract one time from another.
- static duration_type subtract(const time_type& t1, const time_type& t2)
- {
- const time_type epoch;
- if (t1 >= epoch)
- {
- if (t2 >= epoch)
- {
- return t1 - t2;
- }
- else if (t2 == (time_type::min)())
- {
- return (duration_type::max)();
- }
- else if ((time_type::max)() - t1 < epoch - t2)
- {
- return (duration_type::max)();
- }
- else
- {
- return t1 - t2;
- }
- }
- else // t1 < epoch
- {
- if (t2 < epoch)
- {
- return t1 - t2;
- }
- else if (t1 == (time_type::min)())
- {
- return (duration_type::min)();
- }
- else if ((time_type::max)() - t2 < epoch - t1)
- {
- return (duration_type::min)();
- }
- else
- {
- return -(t2 - t1);
- }
- }
- }
-
- // Test whether one time is less than another.
- static bool less_than(const time_type& t1, const time_type& t2)
- {
- return t1 < t2;
- }
-
- // Implement just enough of the posix_time::time_duration interface to supply
- // what the timer_queue requires.
- class posix_time_duration
- {
- public:
- explicit posix_time_duration(const duration_type& d)
- : d_(d)
- {
- }
-
- int64_t ticks() const
- {
- return d_.count();
- }
-
- int64_t total_seconds() const
- {
- return duration_cast<1, 1>();
- }
-
- int64_t total_milliseconds() const
- {
- return duration_cast<1, 1000>();
- }
-
- int64_t total_microseconds() const
- {
- return duration_cast<1, 1000000>();
- }
-
- private:
- template <int64_t Num, int64_t Den>
- int64_t duration_cast() const
- {
- const int64_t num1 = period_type::num / gcd<period_type::num, Num>::value;
- const int64_t num2 = Num / gcd<period_type::num, Num>::value;
-
- const int64_t den1 = period_type::den / gcd<period_type::den, Den>::value;
- const int64_t den2 = Den / gcd<period_type::den, Den>::value;
-
- const int64_t num = num1 * den2;
- const int64_t den = num2 * den1;
-
- if (num == 1 && den == 1)
- return ticks();
- else if (num != 1 && den == 1)
- return ticks() * num;
- else if (num == 1 && period_type::den != 1)
- return ticks() / den;
- else
- return ticks() * num / den;
- }
-
- duration_type d_;
- };
-
- // Convert to POSIX duration type.
- static posix_time_duration to_posix_duration(const duration_type& d)
- {
- return posix_time_duration(WaitTraits::to_wait_duration(d));
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_CHRONO_TIME_TRAITS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp
deleted file mode 100644
index e856a86f5a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/completion_handler.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// detail/completion_handler.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_COMPLETION_HANDLER_HPP
-#define BOOST_ASIO_DETAIL_COMPLETION_HANDLER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_work.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/operation.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Handler>
-class completion_handler : public operation
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(completion_handler);
-
- completion_handler(Handler& h)
- : operation(&completion_handler::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(h))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- completion_handler* h(static_cast<completion_handler*>(base));
- ptr p = { boost::asio::detail::addressof(h->handler_), h, h };
- handler_work<Handler> w(h->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*h));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- Handler handler(BOOST_ASIO_MOVE_CAST(Handler)(h->handler_));
- p.h = boost::asio::detail::addressof(handler);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN(());
- w.complete(handler, handler);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_COMPLETION_HANDLER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp
deleted file mode 100644
index c11b7f6109..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/concurrency_hint.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-//
-// detail/concurrency_hint.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_CONCURRENCY_HINT_HPP
-#define BOOST_ASIO_DETAIL_CONCURRENCY_HINT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-
-// The concurrency hint ID and mask are used to identify when a "well-known"
-// concurrency hint value has been passed to the io_context.
-#define BOOST_ASIO_CONCURRENCY_HINT_ID 0xA5100000u
-#define BOOST_ASIO_CONCURRENCY_HINT_ID_MASK 0xFFFF0000u
-
-// If set, this bit indicates that the scheduler should perform locking.
-#define BOOST_ASIO_CONCURRENCY_HINT_LOCKING_SCHEDULER 0x1u
-
-// If set, this bit indicates that the reactor should perform locking when
-// managing descriptor registrations.
-#define BOOST_ASIO_CONCURRENCY_HINT_LOCKING_REACTOR_REGISTRATION 0x2u
-
-// If set, this bit indicates that the reactor should perform locking for I/O.
-#define BOOST_ASIO_CONCURRENCY_HINT_LOCKING_REACTOR_IO 0x4u
-
-// Helper macro to determine if we have a special concurrency hint.
-#define BOOST_ASIO_CONCURRENCY_HINT_IS_SPECIAL(hint) \
- ((static_cast<unsigned>(hint) \
- & BOOST_ASIO_CONCURRENCY_HINT_ID_MASK) \
- == BOOST_ASIO_CONCURRENCY_HINT_ID)
-
-// Helper macro to determine if locking is enabled for a given facility.
-#define BOOST_ASIO_CONCURRENCY_HINT_IS_LOCKING(facility, hint) \
- (((static_cast<unsigned>(hint) \
- & (BOOST_ASIO_CONCURRENCY_HINT_ID_MASK \
- | BOOST_ASIO_CONCURRENCY_HINT_LOCKING_ ## facility)) \
- ^ BOOST_ASIO_CONCURRENCY_HINT_ID) != 0)
-
-// This special concurrency hint disables locking in both the scheduler and
-// reactor I/O. This hint has the following restrictions:
-//
-// - Care must be taken to ensure that all operations on the io_context and any
-// of its associated I/O objects (such as sockets and timers) occur in only
-// one thread at a time.
-//
-// - Asynchronous resolve operations fail with operation_not_supported.
-//
-// - If a signal_set is used with the io_context, signal_set objects cannot be
-// used with any other io_context in the program.
-#define BOOST_ASIO_CONCURRENCY_HINT_UNSAFE \
- static_cast<int>(BOOST_ASIO_CONCURRENCY_HINT_ID)
-
-// This special concurrency hint disables locking in the reactor I/O. This hint
-// has the following restrictions:
-//
-// - Care must be taken to ensure that run functions on the io_context, and all
-// operations on the io_context's associated I/O objects (such as sockets and
-// timers), occur in only one thread at a time.
-#define BOOST_ASIO_CONCURRENCY_HINT_UNSAFE_IO \
- static_cast<int>(BOOST_ASIO_CONCURRENCY_HINT_ID \
- | BOOST_ASIO_CONCURRENCY_HINT_LOCKING_SCHEDULER \
- | BOOST_ASIO_CONCURRENCY_HINT_LOCKING_REACTOR_REGISTRATION)
-
-// The special concurrency hint provides full thread safety.
-#define BOOST_ASIO_CONCURRENCY_HINT_SAFE \
- static_cast<int>(BOOST_ASIO_CONCURRENCY_HINT_ID \
- | BOOST_ASIO_CONCURRENCY_HINT_LOCKING_SCHEDULER \
- | BOOST_ASIO_CONCURRENCY_HINT_LOCKING_REACTOR_REGISTRATION \
- | BOOST_ASIO_CONCURRENCY_HINT_LOCKING_REACTOR_IO)
-
-// This #define may be overridden at compile time to specify a program-wide
-// default concurrency hint, used by the zero-argument io_context constructor.
-#if !defined(BOOST_ASIO_CONCURRENCY_HINT_DEFAULT)
-# define BOOST_ASIO_CONCURRENCY_HINT_DEFAULT -1
-#endif // !defined(BOOST_ASIO_CONCURRENCY_HINT_DEFAULT)
-
-// This #define may be overridden at compile time to specify a program-wide
-// concurrency hint, used by the one-argument io_context constructor when
-// passed a value of 1.
-#if !defined(BOOST_ASIO_CONCURRENCY_HINT_1)
-# define BOOST_ASIO_CONCURRENCY_HINT_1 1
-#endif // !defined(BOOST_ASIO_CONCURRENCY_HINT_DEFAULT)
-
-#endif // BOOST_ASIO_DETAIL_CONCURRENCY_HINT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp
deleted file mode 100644
index 9319c87538..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_event.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-//
-// detail/conditionally_enabled_event.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_CONDITIONALLY_ENABLED_EVENT_HPP
-#define BOOST_ASIO_DETAIL_CONDITIONALLY_ENABLED_EVENT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/conditionally_enabled_mutex.hpp>
-#include <boost/asio/detail/event.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/null_event.hpp>
-#include <boost/asio/detail/scoped_lock.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Mutex adapter used to conditionally enable or disable locking.
-class conditionally_enabled_event
- : private noncopyable
-{
-public:
- // Constructor.
- conditionally_enabled_event()
- {
- }
-
- // Destructor.
- ~conditionally_enabled_event()
- {
- }
-
- // Signal the event. (Retained for backward compatibility.)
- void signal(conditionally_enabled_mutex::scoped_lock& lock)
- {
- if (lock.mutex_.enabled_)
- event_.signal(lock);
- }
-
- // Signal all waiters.
- void signal_all(conditionally_enabled_mutex::scoped_lock& lock)
- {
- if (lock.mutex_.enabled_)
- event_.signal_all(lock);
- }
-
- // Unlock the mutex and signal one waiter.
- void unlock_and_signal_one(
- conditionally_enabled_mutex::scoped_lock& lock)
- {
- if (lock.mutex_.enabled_)
- event_.unlock_and_signal_one(lock);
- }
-
- // If there's a waiter, unlock the mutex and signal it.
- bool maybe_unlock_and_signal_one(
- conditionally_enabled_mutex::scoped_lock& lock)
- {
- if (lock.mutex_.enabled_)
- return event_.maybe_unlock_and_signal_one(lock);
- else
- return false;
- }
-
- // Reset the event.
- void clear(conditionally_enabled_mutex::scoped_lock& lock)
- {
- if (lock.mutex_.enabled_)
- event_.clear(lock);
- }
-
- // Wait for the event to become signalled.
- void wait(conditionally_enabled_mutex::scoped_lock& lock)
- {
- if (lock.mutex_.enabled_)
- event_.wait(lock);
- else
- null_event().wait(lock);
- }
-
- // Timed wait for the event to become signalled.
- bool wait_for_usec(
- conditionally_enabled_mutex::scoped_lock& lock, long usec)
- {
- if (lock.mutex_.enabled_)
- return event_.wait_for_usec(lock, usec);
- else
- return null_event().wait_for_usec(lock, usec);
- }
-
-private:
- boost::asio::detail::event event_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_CONDITIONALLY_ENABLED_EVENT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp
deleted file mode 100644
index ab4ef48afc..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/conditionally_enabled_mutex.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-//
-// detail/conditionally_enabled_mutex.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_CONDITIONALLY_ENABLED_MUTEX_HPP
-#define BOOST_ASIO_DETAIL_CONDITIONALLY_ENABLED_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/mutex.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/scoped_lock.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Mutex adapter used to conditionally enable or disable locking.
-class conditionally_enabled_mutex
- : private noncopyable
-{
-public:
- // Helper class to lock and unlock a mutex automatically.
- class scoped_lock
- : private noncopyable
- {
- public:
- // Tag type used to distinguish constructors.
- enum adopt_lock_t { adopt_lock };
-
- // Constructor adopts a lock that is already held.
- scoped_lock(conditionally_enabled_mutex& m, adopt_lock_t)
- : mutex_(m),
- locked_(m.enabled_)
- {
- }
-
- // Constructor acquires the lock.
- explicit scoped_lock(conditionally_enabled_mutex& m)
- : mutex_(m)
- {
- if (m.enabled_)
- {
- mutex_.mutex_.lock();
- locked_ = true;
- }
- else
- locked_ = false;
- }
-
- // Destructor releases the lock.
- ~scoped_lock()
- {
- if (locked_)
- mutex_.mutex_.unlock();
- }
-
- // Explicitly acquire the lock.
- void lock()
- {
- if (mutex_.enabled_ && !locked_)
- {
- mutex_.mutex_.lock();
- locked_ = true;
- }
- }
-
- // Explicitly release the lock.
- void unlock()
- {
- if (locked_)
- {
- mutex_.unlock();
- locked_ = false;
- }
- }
-
- // Test whether the lock is held.
- bool locked() const
- {
- return locked_;
- }
-
- // Get the underlying mutex.
- boost::asio::detail::mutex& mutex()
- {
- return mutex_.mutex_;
- }
-
- private:
- friend class conditionally_enabled_event;
- conditionally_enabled_mutex& mutex_;
- bool locked_;
- };
-
- // Constructor.
- explicit conditionally_enabled_mutex(bool enabled)
- : enabled_(enabled)
- {
- }
-
- // Destructor.
- ~conditionally_enabled_mutex()
- {
- }
-
- // Determine whether locking is enabled.
- bool enabled() const
- {
- return enabled_;
- }
-
- // Lock the mutex.
- void lock()
- {
- if (enabled_)
- mutex_.lock();
- }
-
- // Unlock the mutex.
- void unlock()
- {
- if (enabled_)
- mutex_.unlock();
- }
-
-private:
- friend class scoped_lock;
- friend class conditionally_enabled_event;
- boost::asio::detail::mutex mutex_;
- const bool enabled_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_CONDITIONALLY_ENABLED_MUTEX_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp
deleted file mode 100644
index 24e203aa6d..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/cstdint.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// detail/cstdint.hpp
-// ~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_CSTDINT_HPP
-#define BOOST_ASIO_DETAIL_CSTDINT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_CSTDINT)
-# include <cstdint>
-#else // defined(BOOST_ASIO_HAS_CSTDINT)
-# include <boost/cstdint.hpp>
-#endif // defined(BOOST_ASIO_HAS_CSTDINT)
-
-namespace boost {
-namespace asio {
-
-#if defined(BOOST_ASIO_HAS_CSTDINT)
-using std::int16_t;
-using std::int_least16_t;
-using std::uint16_t;
-using std::uint_least16_t;
-using std::int32_t;
-using std::int_least32_t;
-using std::uint32_t;
-using std::uint_least32_t;
-using std::int64_t;
-using std::int_least64_t;
-using std::uint64_t;
-using std::uint_least64_t;
-using std::uintmax_t;
-#else // defined(BOOST_ASIO_HAS_CSTDINT)
-using boost::int16_t;
-using boost::int_least16_t;
-using boost::uint16_t;
-using boost::uint_least16_t;
-using boost::int32_t;
-using boost::int_least32_t;
-using boost::uint32_t;
-using boost::uint_least32_t;
-using boost::int64_t;
-using boost::int_least64_t;
-using boost::uint64_t;
-using boost::uint_least64_t;
-using boost::uintmax_t;
-#endif // defined(BOOST_ASIO_HAS_CSTDINT)
-
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_CSTDINT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp
deleted file mode 100644
index cb15a9671b..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/dev_poll_reactor.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-//
-// detail/dev_poll_reactor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_DEV_POLL_REACTOR_HPP
-#define BOOST_ASIO_DETAIL_DEV_POLL_REACTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_DEV_POLL)
-
-#include <cstddef>
-#include <vector>
-#include <sys/devpoll.h>
-#include <boost/asio/detail/hash_map.hpp>
-#include <boost/asio/detail/limits.hpp>
-#include <boost/asio/detail/mutex.hpp>
-#include <boost/asio/detail/op_queue.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/reactor_op_queue.hpp>
-#include <boost/asio/detail/select_interrupter.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/timer_queue_base.hpp>
-#include <boost/asio/detail/timer_queue_set.hpp>
-#include <boost/asio/detail/wait_op.hpp>
-#include <boost/asio/execution_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class dev_poll_reactor
- : public execution_context_service_base<dev_poll_reactor>
-{
-public:
- enum op_types { read_op = 0, write_op = 1,
- connect_op = 1, except_op = 2, max_ops = 3 };
-
- // Per-descriptor data.
- struct per_descriptor_data
- {
- };
-
- // Constructor.
- BOOST_ASIO_DECL dev_poll_reactor(boost::asio::execution_context& ctx);
-
- // Destructor.
- BOOST_ASIO_DECL ~dev_poll_reactor();
-
- // Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL void shutdown();
-
- // Recreate internal descriptors following a fork.
- BOOST_ASIO_DECL void notify_fork(
- boost::asio::execution_context::fork_event fork_ev);
-
- // Initialise the task.
- BOOST_ASIO_DECL void init_task();
-
- // Register a socket with the reactor. Returns 0 on success, system error
- // code on failure.
- BOOST_ASIO_DECL int register_descriptor(socket_type, per_descriptor_data&);
-
- // Register a descriptor with an associated single operation. Returns 0 on
- // success, system error code on failure.
- BOOST_ASIO_DECL int register_internal_descriptor(
- int op_type, socket_type descriptor,
- per_descriptor_data& descriptor_data, reactor_op* op);
-
- // Move descriptor registration from one descriptor_data object to another.
- BOOST_ASIO_DECL void move_descriptor(socket_type descriptor,
- per_descriptor_data& target_descriptor_data,
- per_descriptor_data& source_descriptor_data);
-
- // Post a reactor operation for immediate completion.
- void post_immediate_completion(reactor_op* op, bool is_continuation)
- {
- scheduler_.post_immediate_completion(op, is_continuation);
- }
-
- // Start a new operation. The reactor operation will be performed when the
- // given descriptor is flagged as ready, or an error has occurred.
- BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor,
- per_descriptor_data&, reactor_op* op,
- bool is_continuation, bool allow_speculative);
-
- // Cancel all operations associated with the given descriptor. The
- // handlers associated with the descriptor will be invoked with the
- // operation_aborted error.
- BOOST_ASIO_DECL void cancel_ops(socket_type descriptor, per_descriptor_data&);
-
- // Cancel any operations that are running against the descriptor and remove
- // its registration from the reactor. The reactor resources associated with
- // the descriptor must be released by calling cleanup_descriptor_data.
- BOOST_ASIO_DECL void deregister_descriptor(socket_type descriptor,
- per_descriptor_data&, bool closing);
-
- // Remove the descriptor's registration from the reactor. The reactor
- // resources associated with the descriptor must be released by calling
- // cleanup_descriptor_data.
- BOOST_ASIO_DECL void deregister_internal_descriptor(
- socket_type descriptor, per_descriptor_data&);
-
- // Perform any post-deregistration cleanup tasks associated with the
- // descriptor data.
- BOOST_ASIO_DECL void cleanup_descriptor_data(per_descriptor_data&);
-
- // Add a new timer queue to the reactor.
- template <typename Time_Traits>
- void add_timer_queue(timer_queue<Time_Traits>& queue);
-
- // Remove a timer queue from the reactor.
- template <typename Time_Traits>
- void remove_timer_queue(timer_queue<Time_Traits>& queue);
-
- // Schedule a new operation in the given timer queue to expire at the
- // specified absolute time.
- template <typename Time_Traits>
- void schedule_timer(timer_queue<Time_Traits>& queue,
- const typename Time_Traits::time_type& time,
- typename timer_queue<Time_Traits>::per_timer_data& timer, wait_op* op);
-
- // Cancel the timer operations associated with the given token. Returns the
- // number of operations that have been posted or dispatched.
- template <typename Time_Traits>
- std::size_t cancel_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& timer,
- std::size_t max_cancelled = (std::numeric_limits<std::size_t>::max)());
-
- // Move the timer operations associated with the given timer.
- template <typename Time_Traits>
- void move_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& target,
- typename timer_queue<Time_Traits>::per_timer_data& source);
-
- // Run /dev/poll once until interrupted or events are ready to be dispatched.
- BOOST_ASIO_DECL void run(long usec, op_queue<operation>& ops);
-
- // Interrupt the select loop.
- BOOST_ASIO_DECL void interrupt();
-
-private:
- // Create the /dev/poll file descriptor. Throws an exception if the descriptor
- // cannot be created.
- BOOST_ASIO_DECL static int do_dev_poll_create();
-
- // Helper function to add a new timer queue.
- BOOST_ASIO_DECL void do_add_timer_queue(timer_queue_base& queue);
-
- // Helper function to remove a timer queue.
- BOOST_ASIO_DECL void do_remove_timer_queue(timer_queue_base& queue);
-
- // Get the timeout value for the /dev/poll DP_POLL operation. The timeout
- // value is returned as a number of milliseconds. A return value of -1
- // indicates that the poll should block indefinitely.
- BOOST_ASIO_DECL int get_timeout(int msec);
-
- // Cancel all operations associated with the given descriptor. The do_cancel
- // function of the handler objects will be invoked. This function does not
- // acquire the dev_poll_reactor's mutex.
- BOOST_ASIO_DECL void cancel_ops_unlocked(socket_type descriptor,
- const boost::system::error_code& ec);
-
- // Add a pending event entry for the given descriptor.
- BOOST_ASIO_DECL ::pollfd& add_pending_event_change(int descriptor);
-
- // The scheduler implementation used to post completions.
- scheduler& scheduler_;
-
- // Mutex to protect access to internal data.
- boost::asio::detail::mutex mutex_;
-
- // The /dev/poll file descriptor.
- int dev_poll_fd_;
-
- // Vector of /dev/poll events waiting to be written to the descriptor.
- std::vector< ::pollfd> pending_event_changes_;
-
- // Hash map to associate a descriptor with a pending event change index.
- hash_map<int, std::size_t> pending_event_change_index_;
-
- // The interrupter is used to break a blocking DP_POLL operation.
- select_interrupter interrupter_;
-
- // The queues of read, write and except operations.
- reactor_op_queue<socket_type> op_queue_[max_ops];
-
- // The timer queues.
- timer_queue_set timer_queues_;
-
- // Whether the service has been shut down.
- bool shutdown_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/detail/impl/dev_poll_reactor.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/dev_poll_reactor.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_HAS_DEV_POLL)
-
-#endif // BOOST_ASIO_DETAIL_DEV_POLL_REACTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp
deleted file mode 100644
index 31a7b3dff3..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/epoll_reactor.hpp
+++ /dev/null
@@ -1,268 +0,0 @@
-//
-// detail/epoll_reactor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_EPOLL_REACTOR_HPP
-#define BOOST_ASIO_DETAIL_EPOLL_REACTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_EPOLL)
-
-#include <boost/asio/detail/atomic_count.hpp>
-#include <boost/asio/detail/conditionally_enabled_mutex.hpp>
-#include <boost/asio/detail/limits.hpp>
-#include <boost/asio/detail/object_pool.hpp>
-#include <boost/asio/detail/op_queue.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/select_interrupter.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/timer_queue_base.hpp>
-#include <boost/asio/detail/timer_queue_set.hpp>
-#include <boost/asio/detail/wait_op.hpp>
-#include <boost/asio/execution_context.hpp>
-
-#if defined(BOOST_ASIO_HAS_TIMERFD)
-# include <sys/timerfd.h>
-#endif // defined(BOOST_ASIO_HAS_TIMERFD)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class epoll_reactor
- : public execution_context_service_base<epoll_reactor>
-{
-private:
- // The mutex type used by this reactor.
- typedef conditionally_enabled_mutex mutex;
-
-public:
- enum op_types { read_op = 0, write_op = 1,
- connect_op = 1, except_op = 2, max_ops = 3 };
-
- // Per-descriptor queues.
- class descriptor_state : operation
- {
- friend class epoll_reactor;
- friend class object_pool_access;
-
- descriptor_state* next_;
- descriptor_state* prev_;
-
- mutex mutex_;
- epoll_reactor* reactor_;
- int descriptor_;
- uint32_t registered_events_;
- op_queue<reactor_op> op_queue_[max_ops];
- bool try_speculative_[max_ops];
- bool shutdown_;
-
- BOOST_ASIO_DECL descriptor_state(bool locking);
- void set_ready_events(uint32_t events) { task_result_ = events; }
- void add_ready_events(uint32_t events) { task_result_ |= events; }
- BOOST_ASIO_DECL operation* perform_io(uint32_t events);
- BOOST_ASIO_DECL static void do_complete(
- void* owner, operation* base,
- const boost::system::error_code& ec, std::size_t bytes_transferred);
- };
-
- // Per-descriptor data.
- typedef descriptor_state* per_descriptor_data;
-
- // Constructor.
- BOOST_ASIO_DECL epoll_reactor(boost::asio::execution_context& ctx);
-
- // Destructor.
- BOOST_ASIO_DECL ~epoll_reactor();
-
- // Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL void shutdown();
-
- // Recreate internal descriptors following a fork.
- BOOST_ASIO_DECL void notify_fork(
- boost::asio::execution_context::fork_event fork_ev);
-
- // Initialise the task.
- BOOST_ASIO_DECL void init_task();
-
- // Register a socket with the reactor. Returns 0 on success, system error
- // code on failure.
- BOOST_ASIO_DECL int register_descriptor(socket_type descriptor,
- per_descriptor_data& descriptor_data);
-
- // Register a descriptor with an associated single operation. Returns 0 on
- // success, system error code on failure.
- BOOST_ASIO_DECL int register_internal_descriptor(
- int op_type, socket_type descriptor,
- per_descriptor_data& descriptor_data, reactor_op* op);
-
- // Move descriptor registration from one descriptor_data object to another.
- BOOST_ASIO_DECL void move_descriptor(socket_type descriptor,
- per_descriptor_data& target_descriptor_data,
- per_descriptor_data& source_descriptor_data);
-
- // Post a reactor operation for immediate completion.
- void post_immediate_completion(reactor_op* op, bool is_continuation)
- {
- scheduler_.post_immediate_completion(op, is_continuation);
- }
-
- // Start a new operation. The reactor operation will be performed when the
- // given descriptor is flagged as ready, or an error has occurred.
- BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor,
- per_descriptor_data& descriptor_data, reactor_op* op,
- bool is_continuation, bool allow_speculative);
-
- // Cancel all operations associated with the given descriptor. The
- // handlers associated with the descriptor will be invoked with the
- // operation_aborted error.
- BOOST_ASIO_DECL void cancel_ops(socket_type descriptor,
- per_descriptor_data& descriptor_data);
-
- // Cancel any operations that are running against the descriptor and remove
- // its registration from the reactor. The reactor resources associated with
- // the descriptor must be released by calling cleanup_descriptor_data.
- BOOST_ASIO_DECL void deregister_descriptor(socket_type descriptor,
- per_descriptor_data& descriptor_data, bool closing);
-
- // Remove the descriptor's registration from the reactor. The reactor
- // resources associated with the descriptor must be released by calling
- // cleanup_descriptor_data.
- BOOST_ASIO_DECL void deregister_internal_descriptor(
- socket_type descriptor, per_descriptor_data& descriptor_data);
-
- // Perform any post-deregistration cleanup tasks associated with the
- // descriptor data.
- BOOST_ASIO_DECL void cleanup_descriptor_data(
- per_descriptor_data& descriptor_data);
-
- // Add a new timer queue to the reactor.
- template <typename Time_Traits>
- void add_timer_queue(timer_queue<Time_Traits>& timer_queue);
-
- // Remove a timer queue from the reactor.
- template <typename Time_Traits>
- void remove_timer_queue(timer_queue<Time_Traits>& timer_queue);
-
- // Schedule a new operation in the given timer queue to expire at the
- // specified absolute time.
- template <typename Time_Traits>
- void schedule_timer(timer_queue<Time_Traits>& queue,
- const typename Time_Traits::time_type& time,
- typename timer_queue<Time_Traits>::per_timer_data& timer, wait_op* op);
-
- // Cancel the timer operations associated with the given token. Returns the
- // number of operations that have been posted or dispatched.
- template <typename Time_Traits>
- std::size_t cancel_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& timer,
- std::size_t max_cancelled = (std::numeric_limits<std::size_t>::max)());
-
- // Move the timer operations associated with the given timer.
- template <typename Time_Traits>
- void move_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& target,
- typename timer_queue<Time_Traits>::per_timer_data& source);
-
- // Run epoll once until interrupted or events are ready to be dispatched.
- BOOST_ASIO_DECL void run(long usec, op_queue<operation>& ops);
-
- // Interrupt the select loop.
- BOOST_ASIO_DECL void interrupt();
-
-private:
- // The hint to pass to epoll_create to size its data structures.
- enum { epoll_size = 20000 };
-
- // Create the epoll file descriptor. Throws an exception if the descriptor
- // cannot be created.
- BOOST_ASIO_DECL static int do_epoll_create();
-
- // Create the timerfd file descriptor. Does not throw.
- BOOST_ASIO_DECL static int do_timerfd_create();
-
- // Allocate a new descriptor state object.
- BOOST_ASIO_DECL descriptor_state* allocate_descriptor_state();
-
- // Free an existing descriptor state object.
- BOOST_ASIO_DECL void free_descriptor_state(descriptor_state* s);
-
- // Helper function to add a new timer queue.
- BOOST_ASIO_DECL void do_add_timer_queue(timer_queue_base& queue);
-
- // Helper function to remove a timer queue.
- BOOST_ASIO_DECL void do_remove_timer_queue(timer_queue_base& queue);
-
- // Called to recalculate and update the timeout.
- BOOST_ASIO_DECL void update_timeout();
-
- // Get the timeout value for the epoll_wait call. The timeout value is
- // returned as a number of milliseconds. A return value of -1 indicates
- // that epoll_wait should block indefinitely.
- BOOST_ASIO_DECL int get_timeout(int msec);
-
-#if defined(BOOST_ASIO_HAS_TIMERFD)
- // Get the timeout value for the timer descriptor. The return value is the
- // flag argument to be used when calling timerfd_settime.
- BOOST_ASIO_DECL int get_timeout(itimerspec& ts);
-#endif // defined(BOOST_ASIO_HAS_TIMERFD)
-
- // The scheduler implementation used to post completions.
- scheduler& scheduler_;
-
- // Mutex to protect access to internal data.
- mutex mutex_;
-
- // The interrupter is used to break a blocking epoll_wait call.
- select_interrupter interrupter_;
-
- // The epoll file descriptor.
- int epoll_fd_;
-
- // The timer file descriptor.
- int timer_fd_;
-
- // The timer queues.
- timer_queue_set timer_queues_;
-
- // Whether the service has been shut down.
- bool shutdown_;
-
- // Mutex to protect access to the registered descriptors.
- mutex registered_descriptors_mutex_;
-
- // Keep track of all registered descriptors.
- object_pool<descriptor_state> registered_descriptors_;
-
- // Helper class to do post-perform_io cleanup.
- struct perform_io_cleanup_on_block_exit;
- friend struct perform_io_cleanup_on_block_exit;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/detail/impl/epoll_reactor.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/epoll_reactor.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_HAS_EPOLL)
-
-#endif // BOOST_ASIO_DETAIL_EPOLL_REACTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp
deleted file mode 100644
index 8cb097cb24..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/event.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// detail/event.hpp
-// ~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_EVENT_HPP
-#define BOOST_ASIO_DETAIL_EVENT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-# include <boost/asio/detail/null_event.hpp>
-#elif defined(BOOST_ASIO_WINDOWS)
-# include <boost/asio/detail/win_event.hpp>
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-# include <boost/asio/detail/posix_event.hpp>
-#elif defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-# include <boost/asio/detail/std_event.hpp>
-#else
-# error Only Windows, POSIX and std::condition_variable are supported!
-#endif
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-typedef null_event event;
-#elif defined(BOOST_ASIO_WINDOWS)
-typedef win_event event;
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-typedef posix_event event;
-#elif defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-typedef std_event event;
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_EVENT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp
deleted file mode 100644
index 4871c971ed..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/eventfd_select_interrupter.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// detail/eventfd_select_interrupter.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 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
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_EVENTFD_SELECT_INTERRUPTER_HPP
-#define BOOST_ASIO_DETAIL_EVENTFD_SELECT_INTERRUPTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_EVENTFD)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class eventfd_select_interrupter
-{
-public:
- // Constructor.
- BOOST_ASIO_DECL eventfd_select_interrupter();
-
- // Destructor.
- BOOST_ASIO_DECL ~eventfd_select_interrupter();
-
- // Recreate the interrupter's descriptors. Used after a fork.
- BOOST_ASIO_DECL void recreate();
-
- // Interrupt the select call.
- BOOST_ASIO_DECL void interrupt();
-
- // Reset the select interrupt. Returns true if the call was interrupted.
- BOOST_ASIO_DECL bool reset();
-
- // Get the read descriptor to be passed to select.
- int read_descriptor() const
- {
- return read_descriptor_;
- }
-
-private:
- // Open the descriptors. Throws on error.
- BOOST_ASIO_DECL void open_descriptors();
-
- // Close the descriptors.
- BOOST_ASIO_DECL void close_descriptors();
-
- // The read end of a connection used to interrupt the select call. This file
- // descriptor is passed to select such that when it is time to stop, a single
- // 64bit value will be written on the other end of the connection and this
- // descriptor will become readable.
- int read_descriptor_;
-
- // The write end of a connection used to interrupt the select call. A single
- // 64bit non-zero value may be written to this to wake up the select which is
- // waiting for the other end to become readable. This descriptor will only
- // differ from the read descriptor when a pipe is used.
- int write_descriptor_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/eventfd_select_interrupter.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_HAS_EVENTFD)
-
-#endif // BOOST_ASIO_DETAIL_EVENTFD_SELECT_INTERRUPTER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp
deleted file mode 100644
index 1c8671abc8..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/executor_op.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-//
-// detail/executor_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_EXECUTOR_OP_HPP
-#define BOOST_ASIO_DETAIL_EXECUTOR_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/scheduler_operation.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Handler, typename Alloc,
- typename Operation = scheduler_operation>
-class executor_op : public Operation
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_ALLOCATOR_PTR(executor_op);
-
- template <typename H>
- executor_op(BOOST_ASIO_MOVE_ARG(H) h, const Alloc& allocator)
- : Operation(&executor_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(H)(h)),
- allocator_(allocator)
- {
- }
-
- static void do_complete(void* owner, Operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- executor_op* o(static_cast<executor_op*>(base));
- Alloc allocator(o->allocator_);
- ptr p = { detail::addressof(allocator), o, o };
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- Handler handler(BOOST_ASIO_MOVE_CAST(Handler)(o->handler_));
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN(());
- boost_asio_handler_invoke_helpers::invoke(handler, handler);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
- Alloc allocator_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_EXECUTOR_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp
deleted file mode 100644
index 26ba12665e..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/fd_set_adapter.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// detail/fd_set_adapter.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_FD_SET_ADAPTER_HPP
-#define BOOST_ASIO_DETAIL_FD_SET_ADAPTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/detail/posix_fd_set_adapter.hpp>
-#include <boost/asio/detail/win_fd_set_adapter.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-typedef win_fd_set_adapter fd_set_adapter;
-#else
-typedef posix_fd_set_adapter fd_set_adapter;
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_FD_SET_ADAPTER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp
deleted file mode 100644
index e80ed4073c..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/fenced_block.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// detail/fenced_block.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_FENCED_BLOCK_HPP
-#define BOOST_ASIO_DETAIL_FENCED_BLOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS) \
- || defined(BOOST_ASIO_DISABLE_FENCED_BLOCK)
-# include <boost/asio/detail/null_fenced_block.hpp>
-#elif defined(BOOST_ASIO_HAS_STD_ATOMIC)
-# include <boost/asio/detail/std_fenced_block.hpp>
-#elif defined(__MACH__) && defined(__APPLE__)
-# include <boost/asio/detail/macos_fenced_block.hpp>
-#elif defined(__sun)
-# include <boost/asio/detail/solaris_fenced_block.hpp>
-#elif defined(__GNUC__) && defined(__arm__) \
- && !defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)
-# include <boost/asio/detail/gcc_arm_fenced_block.hpp>
-#elif defined(__GNUC__) && (defined(__hppa) || defined(__hppa__))
-# include <boost/asio/detail/gcc_hppa_fenced_block.hpp>
-#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
-# include <boost/asio/detail/gcc_x86_fenced_block.hpp>
-#elif defined(__GNUC__) \
- && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)) \
- && !defined(__INTEL_COMPILER) && !defined(__ICL) \
- && !defined(__ICC) && !defined(__ECC) && !defined(__PATHSCALE__)
-# include <boost/asio/detail/gcc_sync_fenced_block.hpp>
-#elif defined(BOOST_ASIO_WINDOWS) && !defined(UNDER_CE)
-# include <boost/asio/detail/win_fenced_block.hpp>
-#else
-# include <boost/asio/detail/null_fenced_block.hpp>
-#endif
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if !defined(BOOST_ASIO_HAS_THREADS) \
- || defined(BOOST_ASIO_DISABLE_FENCED_BLOCK)
-typedef null_fenced_block fenced_block;
-#elif defined(BOOST_ASIO_HAS_STD_ATOMIC)
-typedef std_fenced_block fenced_block;
-#elif defined(__MACH__) && defined(__APPLE__)
-typedef macos_fenced_block fenced_block;
-#elif defined(__sun)
-typedef solaris_fenced_block fenced_block;
-#elif defined(__GNUC__) && defined(__arm__) \
- && !defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)
-typedef gcc_arm_fenced_block fenced_block;
-#elif defined(__GNUC__) && (defined(__hppa) || defined(__hppa__))
-typedef gcc_hppa_fenced_block fenced_block;
-#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
-typedef gcc_x86_fenced_block fenced_block;
-#elif defined(__GNUC__) \
- && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)) \
- && !defined(__INTEL_COMPILER) && !defined(__ICL) \
- && !defined(__ICC) && !defined(__ECC) && !defined(__PATHSCALE__)
-typedef gcc_sync_fenced_block fenced_block;
-#elif defined(BOOST_ASIO_WINDOWS) && !defined(UNDER_CE)
-typedef win_fenced_block fenced_block;
-#else
-typedef null_fenced_block fenced_block;
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_FENCED_BLOCK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp
deleted file mode 100644
index 3a5a1dfacf..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_arm_fenced_block.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// detail/gcc_arm_fenced_block.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_GCC_ARM_FENCED_BLOCK_HPP
-#define BOOST_ASIO_DETAIL_GCC_ARM_FENCED_BLOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(__GNUC__) && defined(__arm__)
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class gcc_arm_fenced_block
- : private noncopyable
-{
-public:
- enum half_t { half };
- enum full_t { full };
-
- // Constructor for a half fenced block.
- explicit gcc_arm_fenced_block(half_t)
- {
- }
-
- // Constructor for a full fenced block.
- explicit gcc_arm_fenced_block(full_t)
- {
- barrier();
- }
-
- // Destructor.
- ~gcc_arm_fenced_block()
- {
- barrier();
- }
-
-private:
- static void barrier()
- {
-#if defined(__ARM_ARCH_4__) \
- || defined(__ARM_ARCH_4T__) \
- || defined(__ARM_ARCH_5__) \
- || defined(__ARM_ARCH_5E__) \
- || defined(__ARM_ARCH_5T__) \
- || defined(__ARM_ARCH_5TE__) \
- || defined(__ARM_ARCH_5TEJ__) \
- || defined(__ARM_ARCH_6__) \
- || defined(__ARM_ARCH_6J__) \
- || defined(__ARM_ARCH_6K__) \
- || defined(__ARM_ARCH_6Z__) \
- || defined(__ARM_ARCH_6ZK__) \
- || defined(__ARM_ARCH_6T2__)
-# if defined(__thumb__)
- // This is just a placeholder and almost certainly not sufficient.
- __asm__ __volatile__ ("" : : : "memory");
-# else // defined(__thumb__)
- int a = 0, b = 0;
- __asm__ __volatile__ ("swp %0, %1, [%2]"
- : "=&r"(a) : "r"(1), "r"(&b) : "memory", "cc");
-# endif // defined(__thumb__)
-#else
- // ARMv7 and later.
- __asm__ __volatile__ ("dmb" : : : "memory");
-#endif
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(__GNUC__) && defined(__arm__)
-
-#endif // BOOST_ASIO_DETAIL_GCC_ARM_FENCED_BLOCK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp
deleted file mode 100644
index bc0bc8afb4..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_hppa_fenced_block.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// detail/gcc_hppa_fenced_block.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_GCC_HPPA_FENCED_BLOCK_HPP
-#define BOOST_ASIO_DETAIL_GCC_HPPA_FENCED_BLOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(__GNUC__) && (defined(__hppa) || defined(__hppa__))
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class gcc_hppa_fenced_block
- : private noncopyable
-{
-public:
- enum half_t { half };
- enum full_t { full };
-
- // Constructor for a half fenced block.
- explicit gcc_hppa_fenced_block(half_t)
- {
- }
-
- // Constructor for a full fenced block.
- explicit gcc_hppa_fenced_block(full_t)
- {
- barrier();
- }
-
- // Destructor.
- ~gcc_hppa_fenced_block()
- {
- barrier();
- }
-
-private:
- static void barrier()
- {
- // This is just a placeholder and almost certainly not sufficient.
- __asm__ __volatile__ ("" : : : "memory");
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(__GNUC__) && (defined(__hppa) || defined(__hppa__))
-
-#endif // BOOST_ASIO_DETAIL_GCC_HPPA_FENCED_BLOCK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp
deleted file mode 100644
index e464738ee0..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_sync_fenced_block.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//
-// detail/gcc_sync_fenced_block.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_GCC_SYNC_FENCED_BLOCK_HPP
-#define BOOST_ASIO_DETAIL_GCC_SYNC_FENCED_BLOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(__GNUC__) \
- && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)) \
- && !defined(__INTEL_COMPILER) && !defined(__ICL) \
- && !defined(__ICC) && !defined(__ECC) && !defined(__PATHSCALE__)
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class gcc_sync_fenced_block
- : private noncopyable
-{
-public:
- enum half_or_full_t { half, full };
-
- // Constructor.
- explicit gcc_sync_fenced_block(half_or_full_t)
- : value_(0)
- {
- __sync_lock_test_and_set(&value_, 1);
- }
-
- // Destructor.
- ~gcc_sync_fenced_block()
- {
- __sync_lock_release(&value_);
- }
-
-private:
- int value_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(__GNUC__)
- // && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4))
- // && !defined(__INTEL_COMPILER) && !defined(__ICL)
- // && !defined(__ICC) && !defined(__ECC) && !defined(__PATHSCALE__)
-
-#endif // BOOST_ASIO_DETAIL_GCC_SYNC_FENCED_BLOCK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp
deleted file mode 100644
index f66289fe96..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/gcc_x86_fenced_block.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-//
-// detail/gcc_x86_fenced_block.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_GCC_X86_FENCED_BLOCK_HPP
-#define BOOST_ASIO_DETAIL_GCC_X86_FENCED_BLOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class gcc_x86_fenced_block
- : private noncopyable
-{
-public:
- enum half_t { half };
- enum full_t { full };
-
- // Constructor for a half fenced block.
- explicit gcc_x86_fenced_block(half_t)
- {
- }
-
- // Constructor for a full fenced block.
- explicit gcc_x86_fenced_block(full_t)
- {
- lbarrier();
- }
-
- // Destructor.
- ~gcc_x86_fenced_block()
- {
- sbarrier();
- }
-
-private:
- static int barrier()
- {
- int r = 0, m = 1;
- __asm__ __volatile__ (
- "xchgl %0, %1" :
- "=r"(r), "=m"(m) :
- "0"(1), "m"(m) :
- "memory", "cc");
- return r;
- }
-
- static void lbarrier()
- {
-#if defined(__SSE2__)
-# if (__GNUC__ >= 4) && !defined(__INTEL_COMPILER) && !defined(__ICL)
- __builtin_ia32_lfence();
-# else // (__GNUC__ >= 4) && !defined(__INTEL_COMPILER) && !defined(__ICL)
- __asm__ __volatile__ ("lfence" ::: "memory");
-# endif // (__GNUC__ >= 4) && !defined(__INTEL_COMPILER) && !defined(__ICL)
-#else // defined(__SSE2__)
- barrier();
-#endif // defined(__SSE2__)
- }
-
- static void sbarrier()
- {
-#if defined(__SSE2__)
-# if (__GNUC__ >= 4) && !defined(__INTEL_COMPILER) && !defined(__ICL)
- __builtin_ia32_sfence();
-# else // (__GNUC__ >= 4) && !defined(__INTEL_COMPILER) && !defined(__ICL)
- __asm__ __volatile__ ("sfence" ::: "memory");
-# endif // (__GNUC__ >= 4) && !defined(__INTEL_COMPILER) && !defined(__ICL)
-#else // defined(__SSE2__)
- barrier();
-#endif // defined(__SSE2__)
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
-
-#endif // BOOST_ASIO_DETAIL_GCC_X86_FENCED_BLOCK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp
deleted file mode 100644
index 967890408f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/global.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// detail/global.hpp
-// ~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_GLOBAL_HPP
-#define BOOST_ASIO_DETAIL_GLOBAL_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-# include <boost/asio/detail/null_global.hpp>
-#elif defined(BOOST_ASIO_WINDOWS)
-# include <boost/asio/detail/win_global.hpp>
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-# include <boost/asio/detail/posix_global.hpp>
-#elif defined(BOOST_ASIO_HAS_STD_CALL_ONCE)
-# include <boost/asio/detail/std_global.hpp>
-#else
-# error Only Windows, POSIX and std::call_once are supported!
-#endif
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename T>
-inline T& global()
-{
-#if !defined(BOOST_ASIO_HAS_THREADS)
- return null_global<T>();
-#elif defined(BOOST_ASIO_WINDOWS)
- return win_global<T>();
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
- return posix_global<T>();
-#elif defined(BOOST_ASIO_HAS_STD_CALL_ONCE)
- return std_global<T>();
-#endif
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_GLOBAL_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp
deleted file mode 100644
index 6e72051393..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_alloc_helpers.hpp
+++ /dev/null
@@ -1,237 +0,0 @@
-//
-// detail/handler_alloc_helpers.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_HANDLER_ALLOC_HELPERS_HPP
-#define BOOST_ASIO_DETAIL_HANDLER_ALLOC_HELPERS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/recycling_allocator.hpp>
-#include <boost/asio/associated_allocator.hpp>
-#include <boost/asio/handler_alloc_hook.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-// Calls to asio_handler_allocate and asio_handler_deallocate must be made from
-// a namespace that does not contain any overloads of these functions. The
-// boost_asio_handler_alloc_helpers namespace is defined here for that purpose.
-namespace boost_asio_handler_alloc_helpers {
-
-template <typename Handler>
-inline void* allocate(std::size_t s, Handler& h)
-{
-#if !defined(BOOST_ASIO_HAS_HANDLER_HOOKS)
- return ::operator new(s);
-#else
- using boost::asio::asio_handler_allocate;
- return asio_handler_allocate(s, boost::asio::detail::addressof(h));
-#endif
-}
-
-template <typename Handler>
-inline void deallocate(void* p, std::size_t s, Handler& h)
-{
-#if !defined(BOOST_ASIO_HAS_HANDLER_HOOKS)
- ::operator delete(p);
-#else
- using boost::asio::asio_handler_deallocate;
- asio_handler_deallocate(p, s, boost::asio::detail::addressof(h));
-#endif
-}
-
-} // namespace boost_asio_handler_alloc_helpers
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Handler, typename T>
-class hook_allocator
-{
-public:
- typedef T value_type;
-
- template <typename U>
- struct rebind
- {
- typedef hook_allocator<Handler, U> other;
- };
-
- explicit hook_allocator(Handler& h)
- : handler_(h)
- {
- }
-
- template <typename U>
- hook_allocator(const hook_allocator<Handler, U>& a)
- : handler_(a.handler_)
- {
- }
-
- T* allocate(std::size_t n)
- {
- return static_cast<T*>(
- boost_asio_handler_alloc_helpers::allocate(sizeof(T) * n, handler_));
- }
-
- void deallocate(T* p, std::size_t n)
- {
- boost_asio_handler_alloc_helpers::deallocate(p, sizeof(T) * n, handler_);
- }
-
-//private:
- Handler& handler_;
-};
-
-template <typename Handler>
-class hook_allocator<Handler, void>
-{
-public:
- typedef void value_type;
-
- template <typename U>
- struct rebind
- {
- typedef hook_allocator<Handler, U> other;
- };
-
- explicit hook_allocator(Handler& h)
- : handler_(h)
- {
- }
-
- template <typename U>
- hook_allocator(const hook_allocator<Handler, U>& a)
- : handler_(a.handler_)
- {
- }
-
-//private:
- Handler& handler_;
-};
-
-template <typename Handler, typename Allocator>
-struct get_hook_allocator
-{
- typedef Allocator type;
-
- static type get(Handler&, const Allocator& a)
- {
- return a;
- }
-};
-
-template <typename Handler, typename T>
-struct get_hook_allocator<Handler, std::allocator<T> >
-{
- typedef hook_allocator<Handler, T> type;
-
- static type get(Handler& handler, const std::allocator<T>&)
- {
- return type(handler);
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#define BOOST_ASIO_DEFINE_HANDLER_PTR(op) \
- struct ptr \
- { \
- Handler* h; \
- op* v; \
- op* p; \
- ~ptr() \
- { \
- reset(); \
- } \
- static op* allocate(Handler& handler) \
- { \
- typedef typename ::boost::asio::associated_allocator< \
- Handler>::type associated_allocator_type; \
- typedef typename ::boost::asio::detail::get_hook_allocator< \
- Handler, associated_allocator_type>::type hook_allocator_type; \
- BOOST_ASIO_REBIND_ALLOC(hook_allocator_type, op) a( \
- ::boost::asio::detail::get_hook_allocator< \
- Handler, associated_allocator_type>::get( \
- handler, ::boost::asio::get_associated_allocator(handler))); \
- return a.allocate(1); \
- } \
- void reset() \
- { \
- if (p) \
- { \
- p->~op(); \
- p = 0; \
- } \
- if (v) \
- { \
- typedef typename ::boost::asio::associated_allocator< \
- Handler>::type associated_allocator_type; \
- typedef typename ::boost::asio::detail::get_hook_allocator< \
- Handler, associated_allocator_type>::type hook_allocator_type; \
- BOOST_ASIO_REBIND_ALLOC(hook_allocator_type, op) a( \
- ::boost::asio::detail::get_hook_allocator< \
- Handler, associated_allocator_type>::get( \
- *h, ::boost::asio::get_associated_allocator(*h))); \
- a.deallocate(static_cast<op*>(v), 1); \
- v = 0; \
- } \
- } \
- } \
- /**/
-
-#define BOOST_ASIO_DEFINE_HANDLER_ALLOCATOR_PTR(op) \
- struct ptr \
- { \
- const Alloc* a; \
- void* v; \
- op* p; \
- ~ptr() \
- { \
- reset(); \
- } \
- static op* allocate(const Alloc& a) \
- { \
- typedef typename ::boost::asio::detail::get_recycling_allocator< \
- Alloc>::type recycling_allocator_type; \
- BOOST_ASIO_REBIND_ALLOC(recycling_allocator_type, op) a1( \
- ::boost::asio::detail::get_recycling_allocator<Alloc>::get(a)); \
- return a1.allocate(1); \
- } \
- void reset() \
- { \
- if (p) \
- { \
- p->~op(); \
- p = 0; \
- } \
- if (v) \
- { \
- typedef typename ::boost::asio::detail::get_recycling_allocator< \
- Alloc>::type recycling_allocator_type; \
- BOOST_ASIO_REBIND_ALLOC(recycling_allocator_type, op) a1( \
- ::boost::asio::detail::get_recycling_allocator<Alloc>::get(*a)); \
- a1.deallocate(static_cast<op*>(v), 1); \
- v = 0; \
- } \
- } \
- } \
- /**/
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_HANDLER_ALLOC_HELPERS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp
deleted file mode 100644
index 700505d579..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_cont_helpers.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// detail/handler_cont_helpers.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_HANDLER_CONT_HELPERS_HPP
-#define BOOST_ASIO_DETAIL_HANDLER_CONT_HELPERS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/handler_continuation_hook.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-// Calls to asio_handler_is_continuation must be made from a namespace that
-// does not contain overloads of this function. This namespace is defined here
-// for that purpose.
-namespace boost_asio_handler_cont_helpers {
-
-template <typename Context>
-inline bool is_continuation(Context& context)
-{
-#if !defined(BOOST_ASIO_HAS_HANDLER_HOOKS)
- return false;
-#else
- using boost::asio::asio_handler_is_continuation;
- return asio_handler_is_continuation(
- boost::asio::detail::addressof(context));
-#endif
-}
-
-} // namespace boost_asio_handler_cont_helpers
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_HANDLER_CONT_HELPERS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp
deleted file mode 100644
index 8ced5f617c..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_invoke_helpers.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// detail/handler_invoke_helpers.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_HANDLER_INVOKE_HELPERS_HPP
-#define BOOST_ASIO_DETAIL_HANDLER_INVOKE_HELPERS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/handler_invoke_hook.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-// Calls to asio_handler_invoke must be made from a namespace that does not
-// contain overloads of this function. The boost_asio_handler_invoke_helpers
-// namespace is defined here for that purpose.
-namespace boost_asio_handler_invoke_helpers {
-
-template <typename Function, typename Context>
-inline void invoke(Function& function, Context& context)
-{
-#if !defined(BOOST_ASIO_HAS_HANDLER_HOOKS)
- Function tmp(function);
- tmp();
-#else
- using boost::asio::asio_handler_invoke;
- asio_handler_invoke(function, boost::asio::detail::addressof(context));
-#endif
-}
-
-template <typename Function, typename Context>
-inline void invoke(const Function& function, Context& context)
-{
-#if !defined(BOOST_ASIO_HAS_HANDLER_HOOKS)
- Function tmp(function);
- tmp();
-#else
- using boost::asio::asio_handler_invoke;
- asio_handler_invoke(function, boost::asio::detail::addressof(context));
-#endif
-}
-
-} // namespace boost_asio_handler_invoke_helpers
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_HANDLER_INVOKE_HELPERS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp
deleted file mode 100644
index 0839e09159..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_tracking.hpp
+++ /dev/null
@@ -1,242 +0,0 @@
-//
-// detail/handler_tracking.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_HANDLER_TRACKING_HPP
-#define BOOST_ASIO_DETAIL_HANDLER_TRACKING_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-namespace boost {
-namespace asio {
-
-class execution_context;
-
-} // namespace asio
-} // namespace boost
-
-#if defined(BOOST_ASIO_CUSTOM_HANDLER_TRACKING)
-# include BOOST_ASIO_CUSTOM_HANDLER_TRACKING
-#elif defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
-# include <boost/system/error_code.hpp>
-# include <boost/asio/detail/cstdint.hpp>
-# include <boost/asio/detail/static_mutex.hpp>
-# include <boost/asio/detail/tss_ptr.hpp>
-#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if defined(BOOST_ASIO_CUSTOM_HANDLER_TRACKING)
-
-// The user-specified header must define the following macros:
-// - BOOST_ASIO_INHERIT_TRACKED_HANDLER
-// - BOOST_ASIO_ALSO_INHERIT_TRACKED_HANDLER
-// - BOOST_ASIO_HANDLER_TRACKING_INIT
-// - BOOST_ASIO_HANDLER_CREATION(args)
-// - BOOST_ASIO_HANDLER_COMPLETION(args)
-// - BOOST_ASIO_HANDLER_INVOCATION_BEGIN(args)
-// - BOOST_ASIO_HANDLER_INVOCATION_END
-// - BOOST_ASIO_HANDLER_OPERATION(args)
-// - BOOST_ASIO_HANDLER_REACTOR_REGISTRATION(args)
-// - BOOST_ASIO_HANDLER_REACTOR_DEREGISTRATION(args)
-// - BOOST_ASIO_HANDLER_REACTOR_READ_EVENT
-// - BOOST_ASIO_HANDLER_REACTOR_WRITE_EVENT
-// - BOOST_ASIO_HANDLER_REACTOR_ERROR_EVENT
-// - BOOST_ASIO_HANDLER_REACTOR_EVENTS(args)
-// - BOOST_ASIO_HANDLER_REACTOR_OPERATION(args)
-
-# if !defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
-# define BOOST_ASIO_ENABLE_HANDLER_TRACKING 1
-# endif /// !defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
-
-#elif defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
-
-class handler_tracking
-{
-public:
- class completion;
-
- // Base class for objects containing tracked handlers.
- class tracked_handler
- {
- private:
- // Only the handler_tracking class will have access to the id.
- friend class handler_tracking;
- friend class completion;
- uint64_t id_;
-
- protected:
- // Constructor initialises with no id.
- tracked_handler() : id_(0) {}
-
- // Prevent deletion through this type.
- ~tracked_handler() {}
- };
-
- // Initialise the tracking system.
- BOOST_ASIO_DECL static void init();
-
- // Record the creation of a tracked handler.
- BOOST_ASIO_DECL static void creation(
- execution_context& context, tracked_handler& h,
- const char* object_type, void* object,
- uintmax_t native_handle, const char* op_name);
-
- class completion
- {
- public:
- // Constructor records that handler is to be invoked with no arguments.
- BOOST_ASIO_DECL explicit completion(const tracked_handler& h);
-
- // Destructor records only when an exception is thrown from the handler, or
- // if the memory is being freed without the handler having been invoked.
- BOOST_ASIO_DECL ~completion();
-
- // Records that handler is to be invoked with no arguments.
- BOOST_ASIO_DECL void invocation_begin();
-
- // Records that handler is to be invoked with one arguments.
- BOOST_ASIO_DECL void invocation_begin(const boost::system::error_code& ec);
-
- // Constructor records that handler is to be invoked with two arguments.
- BOOST_ASIO_DECL void invocation_begin(
- const boost::system::error_code& ec, std::size_t bytes_transferred);
-
- // Constructor records that handler is to be invoked with two arguments.
- BOOST_ASIO_DECL void invocation_begin(
- const boost::system::error_code& ec, int signal_number);
-
- // Constructor records that handler is to be invoked with two arguments.
- BOOST_ASIO_DECL void invocation_begin(
- const boost::system::error_code& ec, const char* arg);
-
- // Record that handler invocation has ended.
- BOOST_ASIO_DECL void invocation_end();
-
- private:
- friend class handler_tracking;
- uint64_t id_;
- bool invoked_;
- completion* next_;
- };
-
- // Record an operation that is not directly associated with a handler.
- BOOST_ASIO_DECL static void operation(execution_context& context,
- const char* object_type, void* object,
- uintmax_t native_handle, const char* op_name);
-
- // Record that a descriptor has been registered with the reactor.
- BOOST_ASIO_DECL static void reactor_registration(execution_context& context,
- uintmax_t native_handle, uintmax_t registration);
-
- // Record that a descriptor has been deregistered from the reactor.
- BOOST_ASIO_DECL static void reactor_deregistration(execution_context& context,
- uintmax_t native_handle, uintmax_t registration);
-
- // Record a reactor-based operation that is associated with a handler.
- BOOST_ASIO_DECL static void reactor_events(execution_context& context,
- uintmax_t registration, unsigned events);
-
- // Record a reactor-based operation that is associated with a handler.
- BOOST_ASIO_DECL static void reactor_operation(
- const tracked_handler& h, const char* op_name,
- const boost::system::error_code& ec);
-
- // Record a reactor-based operation that is associated with a handler.
- BOOST_ASIO_DECL static void reactor_operation(
- const tracked_handler& h, const char* op_name,
- const boost::system::error_code& ec, std::size_t bytes_transferred);
-
- // Write a line of output.
- BOOST_ASIO_DECL static void write_line(const char* format, ...);
-
-private:
- struct tracking_state;
- BOOST_ASIO_DECL static tracking_state* get_state();
-};
-
-# define BOOST_ASIO_INHERIT_TRACKED_HANDLER \
- : public boost::asio::detail::handler_tracking::tracked_handler
-
-# define BOOST_ASIO_ALSO_INHERIT_TRACKED_HANDLER \
- , public boost::asio::detail::handler_tracking::tracked_handler
-
-# define BOOST_ASIO_HANDLER_TRACKING_INIT \
- boost::asio::detail::handler_tracking::init()
-
-# define BOOST_ASIO_HANDLER_CREATION(args) \
- boost::asio::detail::handler_tracking::creation args
-
-# define BOOST_ASIO_HANDLER_COMPLETION(args) \
- boost::asio::detail::handler_tracking::completion tracked_completion args
-
-# define BOOST_ASIO_HANDLER_INVOCATION_BEGIN(args) \
- tracked_completion.invocation_begin args
-
-# define BOOST_ASIO_HANDLER_INVOCATION_END \
- tracked_completion.invocation_end()
-
-# define BOOST_ASIO_HANDLER_OPERATION(args) \
- boost::asio::detail::handler_tracking::operation args
-
-# define BOOST_ASIO_HANDLER_REACTOR_REGISTRATION(args) \
- boost::asio::detail::handler_tracking::reactor_registration args
-
-# define BOOST_ASIO_HANDLER_REACTOR_DEREGISTRATION(args) \
- boost::asio::detail::handler_tracking::reactor_deregistration args
-
-# define BOOST_ASIO_HANDLER_REACTOR_READ_EVENT 1
-# define BOOST_ASIO_HANDLER_REACTOR_WRITE_EVENT 2
-# define BOOST_ASIO_HANDLER_REACTOR_ERROR_EVENT 4
-
-# define BOOST_ASIO_HANDLER_REACTOR_EVENTS(args) \
- boost::asio::detail::handler_tracking::reactor_events args
-
-# define BOOST_ASIO_HANDLER_REACTOR_OPERATION(args) \
- boost::asio::detail::handler_tracking::reactor_operation args
-
-#else // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
-
-# define BOOST_ASIO_INHERIT_TRACKED_HANDLER
-# define BOOST_ASIO_ALSO_INHERIT_TRACKED_HANDLER
-# define BOOST_ASIO_HANDLER_TRACKING_INIT (void)0
-# define BOOST_ASIO_HANDLER_CREATION(args) (void)0
-# define BOOST_ASIO_HANDLER_COMPLETION(args) (void)0
-# define BOOST_ASIO_HANDLER_INVOCATION_BEGIN(args) (void)0
-# define BOOST_ASIO_HANDLER_INVOCATION_END (void)0
-# define BOOST_ASIO_HANDLER_OPERATION(args) (void)0
-# define BOOST_ASIO_HANDLER_REACTOR_REGISTRATION(args) (void)0
-# define BOOST_ASIO_HANDLER_REACTOR_DEREGISTRATION(args) (void)0
-# define BOOST_ASIO_HANDLER_REACTOR_READ_EVENT 0
-# define BOOST_ASIO_HANDLER_REACTOR_WRITE_EVENT 0
-# define BOOST_ASIO_HANDLER_REACTOR_ERROR_EVENT 0
-# define BOOST_ASIO_HANDLER_REACTOR_EVENTS(args) (void)0
-# define BOOST_ASIO_HANDLER_REACTOR_OPERATION(args) (void)0
-
-#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/handler_tracking.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_DETAIL_HANDLER_TRACKING_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp
deleted file mode 100644
index 3a83c8d154..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_type_requirements.hpp
+++ /dev/null
@@ -1,558 +0,0 @@
-//
-// detail/handler_type_requirements.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_HANDLER_TYPE_REQUIREMENTS_HPP
-#define BOOST_ASIO_DETAIL_HANDLER_TYPE_REQUIREMENTS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-// Older versions of gcc have difficulty compiling the sizeof expressions where
-// we test the handler type requirements. We'll disable checking of handler type
-// requirements for those compilers, but otherwise enable it by default.
-#if !defined(BOOST_ASIO_DISABLE_HANDLER_TYPE_REQUIREMENTS)
-# if !defined(__GNUC__) || (__GNUC__ >= 4)
-# define BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS 1
-# endif // !defined(__GNUC__) || (__GNUC__ >= 4)
-#endif // !defined(BOOST_ASIO_DISABLE_HANDLER_TYPE_REQUIREMENTS)
-
-// With C++0x we can use a combination of enhanced SFINAE and static_assert to
-// generate better template error messages. As this technique is not yet widely
-// portable, we'll only enable it for tested compilers.
-#if !defined(BOOST_ASIO_DISABLE_HANDLER_TYPE_REQUIREMENTS_ASSERT)
-# if defined(__GNUC__)
-# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4)
-# if defined(__GXX_EXPERIMENTAL_CXX0X__)
-# define BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS_ASSERT 1
-# endif // defined(__GXX_EXPERIMENTAL_CXX0X__)
-# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4)
-# endif // defined(__GNUC__)
-# if defined(BOOST_ASIO_MSVC)
-# if (_MSC_VER >= 1600)
-# define BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS_ASSERT 1
-# endif // (_MSC_VER >= 1600)
-# endif // defined(BOOST_ASIO_MSVC)
-# if defined(__clang__)
-# if __has_feature(__cxx_static_assert__)
-# define BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS_ASSERT 1
-# endif // __has_feature(cxx_static_assert)
-# endif // defined(__clang__)
-#endif // !defined(BOOST_ASIO_DISABLE_HANDLER_TYPE_REQUIREMENTS)
-
-#if defined(BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS)
-# include <boost/asio/async_result.hpp>
-#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS)
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if defined(BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS)
-
-# if defined(BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS_ASSERT)
-
-template <typename Handler>
-auto zero_arg_copyable_handler_test(Handler h, void*)
- -> decltype(
- sizeof(Handler(static_cast<const Handler&>(h))),
- ((h)()),
- char(0));
-
-template <typename Handler>
-char (&zero_arg_copyable_handler_test(Handler, ...))[2];
-
-template <typename Handler, typename Arg1>
-auto one_arg_handler_test(Handler h, Arg1* a1)
- -> decltype(
- sizeof(Handler(BOOST_ASIO_MOVE_CAST(Handler)(h))),
- ((h)(*a1)),
- char(0));
-
-template <typename Handler>
-char (&one_arg_handler_test(Handler h, ...))[2];
-
-template <typename Handler, typename Arg1, typename Arg2>
-auto two_arg_handler_test(Handler h, Arg1* a1, Arg2* a2)
- -> decltype(
- sizeof(Handler(BOOST_ASIO_MOVE_CAST(Handler)(h))),
- ((h)(*a1, *a2)),
- char(0));
-
-template <typename Handler>
-char (&two_arg_handler_test(Handler, ...))[2];
-
-template <typename Handler, typename Arg1, typename Arg2>
-auto two_arg_move_handler_test(Handler h, Arg1* a1, Arg2* a2)
- -> decltype(
- sizeof(Handler(BOOST_ASIO_MOVE_CAST(Handler)(h))),
- ((h)(*a1, BOOST_ASIO_MOVE_CAST(Arg2)(*a2))),
- char(0));
-
-template <typename Handler>
-char (&two_arg_move_handler_test(Handler, ...))[2];
-
-# define BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT(expr, msg) \
- static_assert(expr, msg);
-
-# else // defined(BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS_ASSERT)
-
-# define BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT(expr, msg)
-
-# endif // defined(BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS_ASSERT)
-
-template <typename T> T& lvref();
-template <typename T> T& lvref(T);
-template <typename T> const T& clvref();
-template <typename T> const T& clvref(T);
-#if defined(BOOST_ASIO_HAS_MOVE)
-template <typename T> T rvref();
-template <typename T> T rvref(T);
-#else // defined(BOOST_ASIO_HAS_MOVE)
-template <typename T> const T& rvref();
-template <typename T> const T& rvref(T);
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-template <typename T> char argbyv(T);
-
-template <int>
-struct handler_type_requirements
-{
-};
-
-#define BOOST_ASIO_LEGACY_COMPLETION_HANDLER_CHECK( \
- handler_type, handler) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void()) asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::zero_arg_copyable_handler_test( \
- boost::asio::detail::clvref< \
- asio_true_handler_type>(), 0)) == 1, \
- "CompletionHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::clvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()(), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_READ_HANDLER_CHECK( \
- handler_type, handler) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code, std::size_t)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::two_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0), \
- static_cast<const std::size_t*>(0))) == 1, \
- "ReadHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>(), \
- boost::asio::detail::lvref<const std::size_t>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_WRITE_HANDLER_CHECK( \
- handler_type, handler) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code, std::size_t)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::two_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0), \
- static_cast<const std::size_t*>(0))) == 1, \
- "WriteHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>(), \
- boost::asio::detail::lvref<const std::size_t>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_ACCEPT_HANDLER_CHECK( \
- handler_type, handler) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::one_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0))) == 1, \
- "AcceptHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_MOVE_ACCEPT_HANDLER_CHECK( \
- handler_type, handler, socket_type) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code, socket_type)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::two_arg_move_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0), \
- static_cast<socket_type*>(0))) == 1, \
- "MoveAcceptHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>(), \
- boost::asio::detail::rvref<socket_type>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_CONNECT_HANDLER_CHECK( \
- handler_type, handler) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::one_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0))) == 1, \
- "ConnectHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_RANGE_CONNECT_HANDLER_CHECK( \
- handler_type, handler, endpoint_type) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code, endpoint_type)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::two_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0), \
- static_cast<const endpoint_type*>(0))) == 1, \
- "RangeConnectHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>(), \
- boost::asio::detail::lvref<const endpoint_type>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_ITERATOR_CONNECT_HANDLER_CHECK( \
- handler_type, handler, iter_type) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code, iter_type)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::two_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0), \
- static_cast<const iter_type*>(0))) == 1, \
- "IteratorConnectHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>(), \
- boost::asio::detail::lvref<const iter_type>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_RESOLVE_HANDLER_CHECK( \
- handler_type, handler, range_type) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code, range_type)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::two_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0), \
- static_cast<const range_type*>(0))) == 1, \
- "ResolveHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>(), \
- boost::asio::detail::lvref<const range_type>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_WAIT_HANDLER_CHECK( \
- handler_type, handler) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::one_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0))) == 1, \
- "WaitHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_SIGNAL_HANDLER_CHECK( \
- handler_type, handler) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code, int)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::two_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0), \
- static_cast<const int*>(0))) == 1, \
- "SignalHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>(), \
- boost::asio::detail::lvref<const int>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_HANDSHAKE_HANDLER_CHECK( \
- handler_type, handler) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::one_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0))) == 1, \
- "HandshakeHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_BUFFERED_HANDSHAKE_HANDLER_CHECK( \
- handler_type, handler) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code, std::size_t)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::two_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0), \
- static_cast<const std::size_t*>(0))) == 1, \
- "BufferedHandshakeHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>(), \
- boost::asio::detail::lvref<const std::size_t>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_SHUTDOWN_HANDLER_CHECK( \
- handler_type, handler) \
- \
- typedef BOOST_ASIO_HANDLER_TYPE(handler_type, \
- void(boost::system::error_code)) \
- asio_true_handler_type; \
- \
- BOOST_ASIO_HANDLER_TYPE_REQUIREMENTS_ASSERT( \
- sizeof(boost::asio::detail::one_arg_handler_test( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>(), \
- static_cast<const boost::system::error_code*>(0))) == 1, \
- "ShutdownHandler type requirements not met") \
- \
- typedef boost::asio::detail::handler_type_requirements< \
- sizeof( \
- boost::asio::detail::argbyv( \
- boost::asio::detail::rvref< \
- asio_true_handler_type>())) + \
- sizeof( \
- boost::asio::detail::lvref< \
- asio_true_handler_type>()( \
- boost::asio::detail::lvref<const boost::system::error_code>()), \
- char(0))> BOOST_ASIO_UNUSED_TYPEDEF
-
-#else // !defined(BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS)
-
-#define BOOST_ASIO_LEGACY_COMPLETION_HANDLER_CHECK( \
- handler_type, handler) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_READ_HANDLER_CHECK( \
- handler_type, handler) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_WRITE_HANDLER_CHECK( \
- handler_type, handler) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_ACCEPT_HANDLER_CHECK( \
- handler_type, handler) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_MOVE_ACCEPT_HANDLER_CHECK( \
- handler_type, handler, socket_type) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_CONNECT_HANDLER_CHECK( \
- handler_type, handler) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_RANGE_CONNECT_HANDLER_CHECK( \
- handler_type, handler, iter_type) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_ITERATOR_CONNECT_HANDLER_CHECK( \
- handler_type, handler, iter_type) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_RESOLVE_HANDLER_CHECK( \
- handler_type, handler, iter_type) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_WAIT_HANDLER_CHECK( \
- handler_type, handler) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_SIGNAL_HANDLER_CHECK( \
- handler_type, handler) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_HANDSHAKE_HANDLER_CHECK( \
- handler_type, handler) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_BUFFERED_HANDSHAKE_HANDLER_CHECK( \
- handler_type, handler) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#define BOOST_ASIO_SHUTDOWN_HANDLER_CHECK( \
- handler_type, handler) \
- typedef int BOOST_ASIO_UNUSED_TYPEDEF
-
-#endif // !defined(BOOST_ASIO_ENABLE_HANDLER_TYPE_REQUIREMENTS)
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_HANDLER_TYPE_REQUIREMENTS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp
deleted file mode 100644
index dbd1bb911a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/handler_work.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-//
-// detail/handler_work.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_HANDLER_WORK_HPP
-#define BOOST_ASIO_DETAIL_HANDLER_WORK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/associated_executor.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// A helper class template to allow completion handlers to be dispatched
-// through either the new executors framework or the old invocaton hook. The
-// primary template uses the new executors framework.
-template <typename Handler, typename Executor
- = typename associated_executor<Handler>::type>
-class handler_work
-{
-public:
- explicit handler_work(Handler& handler) BOOST_ASIO_NOEXCEPT
- : executor_(associated_executor<Handler>::get(handler))
- {
- }
-
- static void start(Handler& handler) BOOST_ASIO_NOEXCEPT
- {
- Executor ex(associated_executor<Handler>::get(handler));
- ex.on_work_started();
- }
-
- ~handler_work()
- {
- executor_.on_work_finished();
- }
-
- template <typename Function>
- void complete(Function& function, Handler& handler)
- {
- executor_.dispatch(BOOST_ASIO_MOVE_CAST(Function)(function),
- associated_allocator<Handler>::get(handler));
- }
-
-private:
- // Disallow copying and assignment.
- handler_work(const handler_work&);
- handler_work& operator=(const handler_work&);
-
- typename associated_executor<Handler>::type executor_;
-};
-
-// This specialisation dispatches a handler through the old invocation hook.
-// The specialisation is not strictly required for correctness, as the
-// system_executor will dispatch through the hook anyway. However, by doing
-// this we avoid an extra copy of the handler.
-template <typename Handler>
-class handler_work<Handler, system_executor>
-{
-public:
- explicit handler_work(Handler&) BOOST_ASIO_NOEXCEPT {}
- static void start(Handler&) BOOST_ASIO_NOEXCEPT {}
- ~handler_work() {}
-
- template <typename Function>
- void complete(Function& function, Handler& handler)
- {
- boost_asio_handler_invoke_helpers::invoke(function, handler);
- }
-
-private:
- // Disallow copying and assignment.
- handler_work(const handler_work&);
- handler_work& operator=(const handler_work&);
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_HANDLER_WORK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp
deleted file mode 100644
index 6a13620e92..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/hash_map.hpp
+++ /dev/null
@@ -1,333 +0,0 @@
-//
-// detail/hash_map.hpp
-// ~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_HASH_MAP_HPP
-#define BOOST_ASIO_DETAIL_HASH_MAP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <list>
-#include <utility>
-#include <boost/asio/detail/assert.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-# include <boost/asio/detail/socket_types.hpp>
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-inline std::size_t calculate_hash_value(int i)
-{
- return static_cast<std::size_t>(i);
-}
-
-inline std::size_t calculate_hash_value(void* p)
-{
- return reinterpret_cast<std::size_t>(p)
- + (reinterpret_cast<std::size_t>(p) >> 3);
-}
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-inline std::size_t calculate_hash_value(SOCKET s)
-{
- return static_cast<std::size_t>(s);
-}
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-// Note: assumes K and V are POD types.
-template <typename K, typename V>
-class hash_map
- : private noncopyable
-{
-public:
- // The type of a value in the map.
- typedef std::pair<K, V> value_type;
-
- // The type of a non-const iterator over the hash map.
- typedef typename std::list<value_type>::iterator iterator;
-
- // The type of a const iterator over the hash map.
- typedef typename std::list<value_type>::const_iterator const_iterator;
-
- // Constructor.
- hash_map()
- : size_(0),
- buckets_(0),
- num_buckets_(0)
- {
- }
-
- // Destructor.
- ~hash_map()
- {
- delete[] buckets_;
- }
-
- // Get an iterator for the beginning of the map.
- iterator begin()
- {
- return values_.begin();
- }
-
- // Get an iterator for the beginning of the map.
- const_iterator begin() const
- {
- return values_.begin();
- }
-
- // Get an iterator for the end of the map.
- iterator end()
- {
- return values_.end();
- }
-
- // Get an iterator for the end of the map.
- const_iterator end() const
- {
- return values_.end();
- }
-
- // Check whether the map is empty.
- bool empty() const
- {
- return values_.empty();
- }
-
- // Find an entry in the map.
- iterator find(const K& k)
- {
- if (num_buckets_)
- {
- size_t bucket = calculate_hash_value(k) % num_buckets_;
- iterator it = buckets_[bucket].first;
- if (it == values_.end())
- return values_.end();
- iterator end_it = buckets_[bucket].last;
- ++end_it;
- while (it != end_it)
- {
- if (it->first == k)
- return it;
- ++it;
- }
- }
- return values_.end();
- }
-
- // Find an entry in the map.
- const_iterator find(const K& k) const
- {
- if (num_buckets_)
- {
- size_t bucket = calculate_hash_value(k) % num_buckets_;
- const_iterator it = buckets_[bucket].first;
- if (it == values_.end())
- return it;
- const_iterator end_it = buckets_[bucket].last;
- ++end_it;
- while (it != end_it)
- {
- if (it->first == k)
- return it;
- ++it;
- }
- }
- return values_.end();
- }
-
- // Insert a new entry into the map.
- std::pair<iterator, bool> insert(const value_type& v)
- {
- if (size_ + 1 >= num_buckets_)
- rehash(hash_size(size_ + 1));
- size_t bucket = calculate_hash_value(v.first) % num_buckets_;
- iterator it = buckets_[bucket].first;
- if (it == values_.end())
- {
- buckets_[bucket].first = buckets_[bucket].last =
- values_insert(values_.end(), v);
- ++size_;
- return std::pair<iterator, bool>(buckets_[bucket].last, true);
- }
- iterator end_it = buckets_[bucket].last;
- ++end_it;
- while (it != end_it)
- {
- if (it->first == v.first)
- return std::pair<iterator, bool>(it, false);
- ++it;
- }
- buckets_[bucket].last = values_insert(end_it, v);
- ++size_;
- return std::pair<iterator, bool>(buckets_[bucket].last, true);
- }
-
- // Erase an entry from the map.
- void erase(iterator it)
- {
- BOOST_ASIO_ASSERT(it != values_.end());
- BOOST_ASIO_ASSERT(num_buckets_ != 0);
-
- size_t bucket = calculate_hash_value(it->first) % num_buckets_;
- bool is_first = (it == buckets_[bucket].first);
- bool is_last = (it == buckets_[bucket].last);
- if (is_first && is_last)
- buckets_[bucket].first = buckets_[bucket].last = values_.end();
- else if (is_first)
- ++buckets_[bucket].first;
- else if (is_last)
- --buckets_[bucket].last;
-
- values_erase(it);
- --size_;
- }
-
- // Erase a key from the map.
- void erase(const K& k)
- {
- iterator it = find(k);
- if (it != values_.end())
- erase(it);
- }
-
- // Remove all entries from the map.
- void clear()
- {
- // Clear the values.
- values_.clear();
- size_ = 0;
-
- // Initialise all buckets to empty.
- iterator end_it = values_.end();
- for (size_t i = 0; i < num_buckets_; ++i)
- buckets_[i].first = buckets_[i].last = end_it;
- }
-
-private:
- // Calculate the hash size for the specified number of elements.
- static std::size_t hash_size(std::size_t num_elems)
- {
- static std::size_t sizes[] =
- {
-#if defined(BOOST_ASIO_HASH_MAP_BUCKETS)
- BOOST_ASIO_HASH_MAP_BUCKETS
-#else // BOOST_ASIO_HASH_MAP_BUCKETS
- 3, 13, 23, 53, 97, 193, 389, 769, 1543, 3079, 6151, 12289, 24593,
- 49157, 98317, 196613, 393241, 786433, 1572869, 3145739, 6291469,
- 12582917, 25165843
-#endif // BOOST_ASIO_HASH_MAP_BUCKETS
- };
- const std::size_t nth_size = sizeof(sizes) / sizeof(std::size_t) - 1;
- for (std::size_t i = 0; i < nth_size; ++i)
- if (num_elems < sizes[i])
- return sizes[i];
- return sizes[nth_size];
- }
-
- // Re-initialise the hash from the values already contained in the list.
- void rehash(std::size_t num_buckets)
- {
- if (num_buckets == num_buckets_)
- return;
- BOOST_ASIO_ASSERT(num_buckets != 0);
-
- iterator end_iter = values_.end();
-
- // Update number of buckets and initialise all buckets to empty.
- bucket_type* tmp = new bucket_type[num_buckets];
- delete[] buckets_;
- buckets_ = tmp;
- num_buckets_ = num_buckets;
- for (std::size_t i = 0; i < num_buckets_; ++i)
- buckets_[i].first = buckets_[i].last = end_iter;
-
- // Put all values back into the hash.
- iterator iter = values_.begin();
- while (iter != end_iter)
- {
- std::size_t bucket = calculate_hash_value(iter->first) % num_buckets_;
- if (buckets_[bucket].last == end_iter)
- {
- buckets_[bucket].first = buckets_[bucket].last = iter++;
- }
- else if (++buckets_[bucket].last == iter)
- {
- ++iter;
- }
- else
- {
- values_.splice(buckets_[bucket].last, values_, iter++);
- --buckets_[bucket].last;
- }
- }
- }
-
- // Insert an element into the values list by splicing from the spares list,
- // if a spare is available, and otherwise by inserting a new element.
- iterator values_insert(iterator it, const value_type& v)
- {
- if (spares_.empty())
- {
- return values_.insert(it, v);
- }
- else
- {
- spares_.front() = v;
- values_.splice(it, spares_, spares_.begin());
- return --it;
- }
- }
-
- // Erase an element from the values list by splicing it to the spares list.
- void values_erase(iterator it)
- {
- *it = value_type();
- spares_.splice(spares_.begin(), values_, it);
- }
-
- // The number of elements in the hash.
- std::size_t size_;
-
- // The list of all values in the hash map.
- std::list<value_type> values_;
-
- // The list of spare nodes waiting to be recycled. Assumes that POD types only
- // are stored in the hash map.
- std::list<value_type> spares_;
-
- // The type for a bucket in the hash table.
- struct bucket_type
- {
- iterator first;
- iterator last;
- };
-
- // The buckets in the hash.
- bucket_type* buckets_;
-
- // The number of buckets in the hash.
- std::size_t num_buckets_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_HASH_MAP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp
deleted file mode 100644
index 26708ced33..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/buffer_sequence_adapter.ipp
+++ /dev/null
@@ -1,120 +0,0 @@
-//
-// detail/impl/buffer_sequence_adapter.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_BUFFER_SEQUENCE_ADAPTER_IPP
-#define BOOST_ASIO_DETAIL_IMPL_BUFFER_SEQUENCE_ADAPTER_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <robuffer.h>
-#include <windows.storage.streams.h>
-#include <wrl/implements.h>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class winrt_buffer_impl :
- public Microsoft::WRL::RuntimeClass<
- Microsoft::WRL::RuntimeClassFlags<
- Microsoft::WRL::RuntimeClassType::WinRtClassicComMix>,
- ABI::Windows::Storage::Streams::IBuffer,
- Windows::Storage::Streams::IBufferByteAccess>
-{
-public:
- explicit winrt_buffer_impl(const boost::asio::const_buffer& b)
- {
- bytes_ = const_cast<byte*>(static_cast<const byte*>(b.data()));
- length_ = b.size();
- capacity_ = b.size();
- }
-
- explicit winrt_buffer_impl(const boost::asio::mutable_buffer& b)
- {
- bytes_ = static_cast<byte*>(b.data());
- length_ = 0;
- capacity_ = b.size();
- }
-
- ~winrt_buffer_impl()
- {
- }
-
- STDMETHODIMP Buffer(byte** value)
- {
- *value = bytes_;
- return S_OK;
- }
-
- STDMETHODIMP get_Capacity(UINT32* value)
- {
- *value = capacity_;
- return S_OK;
- }
-
- STDMETHODIMP get_Length(UINT32 *value)
- {
- *value = length_;
- return S_OK;
- }
-
- STDMETHODIMP put_Length(UINT32 value)
- {
- if (value > capacity_)
- return E_INVALIDARG;
- length_ = value;
- return S_OK;
- }
-
-private:
- byte* bytes_;
- UINT32 length_;
- UINT32 capacity_;
-};
-
-void buffer_sequence_adapter_base::init_native_buffer(
- buffer_sequence_adapter_base::native_buffer_type& buf,
- const boost::asio::mutable_buffer& buffer)
-{
- std::memset(&buf, 0, sizeof(native_buffer_type));
- Microsoft::WRL::ComPtr<IInspectable> insp
- = Microsoft::WRL::Make<winrt_buffer_impl>(buffer);
- buf = reinterpret_cast<Windows::Storage::Streams::IBuffer^>(insp.Get());
-}
-
-void buffer_sequence_adapter_base::init_native_buffer(
- buffer_sequence_adapter_base::native_buffer_type& buf,
- const boost::asio::const_buffer& buffer)
-{
- std::memset(&buf, 0, sizeof(native_buffer_type));
- Microsoft::WRL::ComPtr<IInspectable> insp
- = Microsoft::WRL::Make<winrt_buffer_impl>(buffer);
- Platform::Object^ buf_obj = reinterpret_cast<Platform::Object^>(insp.Get());
- buf = reinterpret_cast<Windows::Storage::Streams::IBuffer^>(insp.Get());
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_BUFFER_SEQUENCE_ADAPTER_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp
deleted file mode 100644
index 797937bad8..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// detail/impl/dev_poll_reactor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_DEV_POLL_REACTOR_HPP
-#define BOOST_ASIO_DETAIL_IMPL_DEV_POLL_REACTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_DEV_POLL)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Time_Traits>
-void dev_poll_reactor::add_timer_queue(timer_queue<Time_Traits>& queue)
-{
- do_add_timer_queue(queue);
-}
-
-template <typename Time_Traits>
-void dev_poll_reactor::remove_timer_queue(timer_queue<Time_Traits>& queue)
-{
- do_remove_timer_queue(queue);
-}
-
-template <typename Time_Traits>
-void dev_poll_reactor::schedule_timer(timer_queue<Time_Traits>& queue,
- const typename Time_Traits::time_type& time,
- typename timer_queue<Time_Traits>::per_timer_data& timer, wait_op* op)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- if (shutdown_)
- {
- scheduler_.post_immediate_completion(op, false);
- return;
- }
-
- bool earliest = queue.enqueue_timer(time, timer, op);
- scheduler_.work_started();
- if (earliest)
- interrupter_.interrupt();
-}
-
-template <typename Time_Traits>
-std::size_t dev_poll_reactor::cancel_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& timer,
- std::size_t max_cancelled)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- op_queue<operation> ops;
- std::size_t n = queue.cancel_timer(timer, ops, max_cancelled);
- lock.unlock();
- scheduler_.post_deferred_completions(ops);
- return n;
-}
-
-template <typename Time_Traits>
-void dev_poll_reactor::move_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& target,
- typename timer_queue<Time_Traits>::per_timer_data& source)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- op_queue<operation> ops;
- queue.cancel_timer(target, ops);
- queue.move_timer(target, source);
- lock.unlock();
- scheduler_.post_deferred_completions(ops);
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_DEV_POLL)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_DEV_POLL_REACTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp
deleted file mode 100644
index 5cc73ca9c1..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/dev_poll_reactor.ipp
+++ /dev/null
@@ -1,448 +0,0 @@
-//
-// detail/impl/dev_poll_reactor.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_DEV_POLL_REACTOR_IPP
-#define BOOST_ASIO_DETAIL_IMPL_DEV_POLL_REACTOR_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_DEV_POLL)
-
-#include <boost/asio/detail/dev_poll_reactor.hpp>
-#include <boost/asio/detail/assert.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-dev_poll_reactor::dev_poll_reactor(boost::asio::execution_context& ctx)
- : boost::asio::detail::execution_context_service_base<dev_poll_reactor>(ctx),
- scheduler_(use_service<scheduler>(ctx)),
- mutex_(),
- dev_poll_fd_(do_dev_poll_create()),
- interrupter_(),
- shutdown_(false)
-{
- // Add the interrupter's descriptor to /dev/poll.
- ::pollfd ev = { 0, 0, 0 };
- ev.fd = interrupter_.read_descriptor();
- ev.events = POLLIN | POLLERR;
- ev.revents = 0;
- ::write(dev_poll_fd_, &ev, sizeof(ev));
-}
-
-dev_poll_reactor::~dev_poll_reactor()
-{
- shutdown();
- ::close(dev_poll_fd_);
-}
-
-void dev_poll_reactor::shutdown()
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- shutdown_ = true;
- lock.unlock();
-
- op_queue<operation> ops;
-
- for (int i = 0; i < max_ops; ++i)
- op_queue_[i].get_all_operations(ops);
-
- timer_queues_.get_all_timers(ops);
-
- scheduler_.abandon_operations(ops);
-}
-
-void dev_poll_reactor::notify_fork(
- boost::asio::execution_context::fork_event fork_ev)
-{
- if (fork_ev == boost::asio::execution_context::fork_child)
- {
- detail::mutex::scoped_lock lock(mutex_);
-
- if (dev_poll_fd_ != -1)
- ::close(dev_poll_fd_);
- dev_poll_fd_ = -1;
- dev_poll_fd_ = do_dev_poll_create();
-
- interrupter_.recreate();
-
- // Add the interrupter's descriptor to /dev/poll.
- ::pollfd ev = { 0, 0, 0 };
- ev.fd = interrupter_.read_descriptor();
- ev.events = POLLIN | POLLERR;
- ev.revents = 0;
- ::write(dev_poll_fd_, &ev, sizeof(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.
- for (int i = 0; i < max_ops; ++i)
- {
- reactor_op_queue<socket_type>::iterator iter = op_queue_[i].begin();
- reactor_op_queue<socket_type>::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();
- }
-}
-
-void dev_poll_reactor::init_task()
-{
- scheduler_.init_task();
-}
-
-int dev_poll_reactor::register_descriptor(socket_type, per_descriptor_data&)
-{
- return 0;
-}
-
-int dev_poll_reactor::register_internal_descriptor(int op_type,
- socket_type descriptor, per_descriptor_data&, reactor_op* op)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- op_queue_[op_type].enqueue_operation(descriptor, op);
- ::pollfd& ev = add_pending_event_change(descriptor);
- ev.events = POLLERR | POLLHUP;
- switch (op_type)
- {
- case read_op: ev.events |= POLLIN; break;
- case write_op: ev.events |= POLLOUT; break;
- case except_op: ev.events |= POLLPRI; break;
- default: break;
- }
- interrupter_.interrupt();
-
- return 0;
-}
-
-void dev_poll_reactor::move_descriptor(socket_type,
- dev_poll_reactor::per_descriptor_data&,
- dev_poll_reactor::per_descriptor_data&)
-{
-}
-
-void dev_poll_reactor::start_op(int op_type, socket_type descriptor,
- dev_poll_reactor::per_descriptor_data&, reactor_op* op,
- bool is_continuation, bool allow_speculative)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- if (shutdown_)
- {
- post_immediate_completion(op, is_continuation);
- return;
- }
-
- if (allow_speculative)
- {
- if (op_type != read_op || !op_queue_[except_op].has_operation(descriptor))
- {
- if (!op_queue_[op_type].has_operation(descriptor))
- {
- if (op->perform())
- {
- lock.unlock();
- scheduler_.post_immediate_completion(op, is_continuation);
- return;
- }
- }
- }
- }
-
- bool first = op_queue_[op_type].enqueue_operation(descriptor, op);
- scheduler_.work_started();
- if (first)
- {
- ::pollfd& ev = add_pending_event_change(descriptor);
- ev.events = POLLERR | POLLHUP;
- if (op_type == read_op
- || op_queue_[read_op].has_operation(descriptor))
- ev.events |= POLLIN;
- if (op_type == write_op
- || op_queue_[write_op].has_operation(descriptor))
- ev.events |= POLLOUT;
- if (op_type == except_op
- || op_queue_[except_op].has_operation(descriptor))
- ev.events |= POLLPRI;
- interrupter_.interrupt();
- }
-}
-
-void dev_poll_reactor::cancel_ops(socket_type descriptor,
- dev_poll_reactor::per_descriptor_data&)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- cancel_ops_unlocked(descriptor, boost::asio::error::operation_aborted);
-}
-
-void dev_poll_reactor::deregister_descriptor(socket_type descriptor,
- dev_poll_reactor::per_descriptor_data&, bool)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- // Remove the descriptor from /dev/poll.
- ::pollfd& ev = add_pending_event_change(descriptor);
- ev.events = POLLREMOVE;
- interrupter_.interrupt();
-
- // Cancel any outstanding operations associated with the descriptor.
- cancel_ops_unlocked(descriptor, boost::asio::error::operation_aborted);
-}
-
-void dev_poll_reactor::deregister_internal_descriptor(
- socket_type descriptor, dev_poll_reactor::per_descriptor_data&)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- // Remove the descriptor from /dev/poll. Since this function is only called
- // during a fork, we can apply the change immediately.
- ::pollfd ev = { 0, 0, 0 };
- ev.fd = descriptor;
- ev.events = POLLREMOVE;
- ev.revents = 0;
- ::write(dev_poll_fd_, &ev, sizeof(ev));
-
- // Destroy all operations associated with the descriptor.
- op_queue<operation> ops;
- boost::system::error_code ec;
- for (int i = 0; i < max_ops; ++i)
- op_queue_[i].cancel_operations(descriptor, ops, ec);
-}
-
-void dev_poll_reactor::cleanup_descriptor_data(
- dev_poll_reactor::per_descriptor_data&)
-{
-}
-
-void dev_poll_reactor::run(long usec, op_queue<operation>& ops)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- // We can return immediately if there's no work to do and the reactor is
- // not supposed to block.
- if (usec == 0 && op_queue_[read_op].empty() && op_queue_[write_op].empty()
- && op_queue_[except_op].empty() && timer_queues_.all_empty())
- return;
-
- // Write the pending event registration changes to the /dev/poll descriptor.
- std::size_t events_size = sizeof(::pollfd) * pending_event_changes_.size();
- if (events_size > 0)
- {
- errno = 0;
- int result = ::write(dev_poll_fd_,
- &pending_event_changes_[0], events_size);
- if (result != static_cast<int>(events_size))
- {
- boost::system::error_code ec = boost::system::error_code(
- errno, boost::asio::error::get_system_category());
- for (std::size_t i = 0; i < pending_event_changes_.size(); ++i)
- {
- int descriptor = pending_event_changes_[i].fd;
- for (int j = 0; j < max_ops; ++j)
- op_queue_[j].cancel_operations(descriptor, ops, ec);
- }
- }
- pending_event_changes_.clear();
- pending_event_change_index_.clear();
- }
-
- // Calculate timeout.
- int timeout;
- if (usec == 0)
- timeout = 0;
- else
- {
- timeout = (usec < 0) ? -1 : ((usec - 1) / 1000 + 1);
- timeout = get_timeout(timeout);
- }
- lock.unlock();
-
- // Block on the /dev/poll descriptor.
- ::pollfd events[128] = { { 0, 0, 0 } };
- ::dvpoll dp = { 0, 0, 0 };
- dp.dp_fds = events;
- dp.dp_nfds = 128;
- dp.dp_timeout = timeout;
- int num_events = ::ioctl(dev_poll_fd_, DP_POLL, &dp);
-
- lock.lock();
-
- // Dispatch the waiting events.
- for (int i = 0; i < num_events; ++i)
- {
- int descriptor = events[i].fd;
- if (descriptor == interrupter_.read_descriptor())
- {
- interrupter_.reset();
- }
- else
- {
- bool more_reads = false;
- bool more_writes = false;
- bool more_except = false;
-
- // Exception operations must be processed first to ensure that any
- // out-of-band data is read before normal data.
- if (events[i].events & (POLLPRI | POLLERR | POLLHUP))
- more_except =
- op_queue_[except_op].perform_operations(descriptor, ops);
- else
- more_except = op_queue_[except_op].has_operation(descriptor);
-
- if (events[i].events & (POLLIN | POLLERR | POLLHUP))
- more_reads = op_queue_[read_op].perform_operations(descriptor, ops);
- else
- more_reads = op_queue_[read_op].has_operation(descriptor);
-
- if (events[i].events & (POLLOUT | POLLERR | POLLHUP))
- more_writes = op_queue_[write_op].perform_operations(descriptor, ops);
- else
- more_writes = op_queue_[write_op].has_operation(descriptor);
-
- if ((events[i].events & (POLLERR | POLLHUP)) != 0
- && !more_except && !more_reads && !more_writes)
- {
- // If we have an event and no operations associated with the
- // descriptor then we need to delete the descriptor from /dev/poll.
- // The poll operation can produce POLLHUP or POLLERR events when there
- // is no operation pending, so if we do not remove the descriptor we
- // can end up in a tight polling loop.
- ::pollfd ev = { 0, 0, 0 };
- ev.fd = descriptor;
- ev.events = POLLREMOVE;
- ev.revents = 0;
- ::write(dev_poll_fd_, &ev, sizeof(ev));
- }
- else
- {
- ::pollfd ev = { 0, 0, 0 };
- ev.fd = descriptor;
- ev.events = POLLERR | POLLHUP;
- if (more_reads)
- ev.events |= POLLIN;
- if (more_writes)
- ev.events |= POLLOUT;
- if (more_except)
- ev.events |= POLLPRI;
- ev.revents = 0;
- int result = ::write(dev_poll_fd_, &ev, sizeof(ev));
- if (result != sizeof(ev))
- {
- boost::system::error_code ec(errno,
- boost::asio::error::get_system_category());
- for (int j = 0; j < max_ops; ++j)
- op_queue_[j].cancel_operations(descriptor, ops, ec);
- }
- }
- }
- }
- timer_queues_.get_ready_timers(ops);
-}
-
-void dev_poll_reactor::interrupt()
-{
- interrupter_.interrupt();
-}
-
-int dev_poll_reactor::do_dev_poll_create()
-{
- int fd = ::open("/dev/poll", O_RDWR);
- if (fd == -1)
- {
- boost::system::error_code ec(errno,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "/dev/poll");
- }
- return fd;
-}
-
-void dev_poll_reactor::do_add_timer_queue(timer_queue_base& queue)
-{
- mutex::scoped_lock lock(mutex_);
- timer_queues_.insert(&queue);
-}
-
-void dev_poll_reactor::do_remove_timer_queue(timer_queue_base& queue)
-{
- mutex::scoped_lock lock(mutex_);
- timer_queues_.erase(&queue);
-}
-
-int dev_poll_reactor::get_timeout(int msec)
-{
- // By default we will wait no longer than 5 minutes. This will ensure that
- // any changes to the system clock are detected after no longer than this.
- const int max_msec = 5 * 60 * 1000;
- return timer_queues_.wait_duration_msec(
- (msec < 0 || max_msec < msec) ? max_msec : msec);
-}
-
-void dev_poll_reactor::cancel_ops_unlocked(socket_type descriptor,
- const boost::system::error_code& ec)
-{
- bool need_interrupt = false;
- op_queue<operation> ops;
- for (int i = 0; i < max_ops; ++i)
- need_interrupt = op_queue_[i].cancel_operations(
- descriptor, ops, ec) || need_interrupt;
- scheduler_.post_deferred_completions(ops);
- if (need_interrupt)
- interrupter_.interrupt();
-}
-
-::pollfd& dev_poll_reactor::add_pending_event_change(int descriptor)
-{
- hash_map<int, std::size_t>::iterator iter
- = pending_event_change_index_.find(descriptor);
- if (iter == pending_event_change_index_.end())
- {
- std::size_t index = pending_event_changes_.size();
- pending_event_changes_.reserve(pending_event_changes_.size() + 1);
- pending_event_change_index_.insert(std::make_pair(descriptor, index));
- pending_event_changes_.push_back(::pollfd());
- pending_event_changes_[index].fd = descriptor;
- pending_event_changes_[index].revents = 0;
- return pending_event_changes_[index];
- }
- else
- {
- return pending_event_changes_[iter->second];
- }
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_DEV_POLL)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_DEV_POLL_REACTOR_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp
deleted file mode 100644
index 101b1d6ead..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-// detail/impl/epoll_reactor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_EPOLL_REACTOR_HPP
-#define BOOST_ASIO_DETAIL_IMPL_EPOLL_REACTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#if defined(BOOST_ASIO_HAS_EPOLL)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Time_Traits>
-void epoll_reactor::add_timer_queue(timer_queue<Time_Traits>& queue)
-{
- do_add_timer_queue(queue);
-}
-
-template <typename Time_Traits>
-void epoll_reactor::remove_timer_queue(timer_queue<Time_Traits>& queue)
-{
- do_remove_timer_queue(queue);
-}
-
-template <typename Time_Traits>
-void epoll_reactor::schedule_timer(timer_queue<Time_Traits>& queue,
- const typename Time_Traits::time_type& time,
- typename timer_queue<Time_Traits>::per_timer_data& timer, wait_op* op)
-{
- mutex::scoped_lock lock(mutex_);
-
- if (shutdown_)
- {
- scheduler_.post_immediate_completion(op, false);
- return;
- }
-
- bool earliest = queue.enqueue_timer(time, timer, op);
- scheduler_.work_started();
- if (earliest)
- update_timeout();
-}
-
-template <typename Time_Traits>
-std::size_t epoll_reactor::cancel_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& timer,
- std::size_t max_cancelled)
-{
- mutex::scoped_lock lock(mutex_);
- op_queue<operation> ops;
- std::size_t n = queue.cancel_timer(timer, ops, max_cancelled);
- lock.unlock();
- scheduler_.post_deferred_completions(ops);
- return n;
-}
-
-template <typename Time_Traits>
-void epoll_reactor::move_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& target,
- typename timer_queue<Time_Traits>::per_timer_data& source)
-{
- mutex::scoped_lock lock(mutex_);
- op_queue<operation> ops;
- queue.cancel_timer(target, ops);
- queue.move_timer(target, source);
- lock.unlock();
- scheduler_.post_deferred_completions(ops);
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_EPOLL)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_EPOLL_REACTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp
deleted file mode 100644
index 1e9babcc14..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/epoll_reactor.ipp
+++ /dev/null
@@ -1,789 +0,0 @@
-//
-// detail/impl/epoll_reactor.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_EPOLL_REACTOR_IPP
-#define BOOST_ASIO_DETAIL_IMPL_EPOLL_REACTOR_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_EPOLL)
-
-#include <cstddef>
-#include <sys/epoll.h>
-#include <boost/asio/detail/epoll_reactor.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#if defined(BOOST_ASIO_HAS_TIMERFD)
-# include <sys/timerfd.h>
-#endif // defined(BOOST_ASIO_HAS_TIMERFD)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-epoll_reactor::epoll_reactor(boost::asio::execution_context& ctx)
- : execution_context_service_base<epoll_reactor>(ctx),
- scheduler_(use_service<scheduler>(ctx)),
- mutex_(BOOST_ASIO_CONCURRENCY_HINT_IS_LOCKING(
- REACTOR_REGISTRATION, scheduler_.concurrency_hint())),
- interrupter_(),
- epoll_fd_(do_epoll_create()),
- timer_fd_(do_timerfd_create()),
- shutdown_(false),
- registered_descriptors_mutex_(mutex_.enabled())
-{
- // Add the interrupter's descriptor to epoll.
- epoll_event ev = { 0, { 0 } };
- ev.events = EPOLLIN | EPOLLERR | EPOLLET;
- ev.data.ptr = &interrupter_;
- epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, interrupter_.read_descriptor(), &ev);
- interrupter_.interrupt();
-
- // Add the timer descriptor to epoll.
- if (timer_fd_ != -1)
- {
- ev.events = EPOLLIN | EPOLLERR;
- ev.data.ptr = &timer_fd_;
- epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, timer_fd_, &ev);
- }
-}
-
-epoll_reactor::~epoll_reactor()
-{
- if (epoll_fd_ != -1)
- close(epoll_fd_);
- if (timer_fd_ != -1)
- close(timer_fd_);
-}
-
-void epoll_reactor::shutdown()
-{
- mutex::scoped_lock lock(mutex_);
- shutdown_ = true;
- lock.unlock();
-
- op_queue<operation> ops;
-
- while (descriptor_state* state = registered_descriptors_.first())
- {
- for (int i = 0; i < max_ops; ++i)
- ops.push(state->op_queue_[i]);
- state->shutdown_ = true;
- registered_descriptors_.free(state);
- }
-
- timer_queues_.get_all_timers(ops);
-
- scheduler_.abandon_operations(ops);
-}
-
-void epoll_reactor::notify_fork(
- boost::asio::execution_context::fork_event fork_ev)
-{
- if (fork_ev == boost::asio::execution_context::fork_child)
- {
- if (epoll_fd_ != -1)
- ::close(epoll_fd_);
- epoll_fd_ = -1;
- epoll_fd_ = do_epoll_create();
-
- if (timer_fd_ != -1)
- ::close(timer_fd_);
- timer_fd_ = -1;
- timer_fd_ = do_timerfd_create();
-
- interrupter_.recreate();
-
- // Add the interrupter's descriptor to epoll.
- epoll_event ev = { 0, { 0 } };
- ev.events = EPOLLIN | EPOLLERR | EPOLLET;
- ev.data.ptr = &interrupter_;
- epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, interrupter_.read_descriptor(), &ev);
- interrupter_.interrupt();
-
- // Add the timer descriptor to epoll.
- if (timer_fd_ != -1)
- {
- ev.events = EPOLLIN | EPOLLERR;
- ev.data.ptr = &timer_fd_;
- epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, timer_fd_, &ev);
- }
-
- update_timeout();
-
- // Re-register all descriptors with epoll.
- mutex::scoped_lock descriptors_lock(registered_descriptors_mutex_);
- for (descriptor_state* state = registered_descriptors_.first();
- state != 0; state = state->next_)
- {
- ev.events = state->registered_events_;
- ev.data.ptr = state;
- int result = epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, state->descriptor_, &ev);
- if (result != 0)
- {
- boost::system::error_code ec(errno,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "epoll re-registration");
- }
- }
- }
-}
-
-void epoll_reactor::init_task()
-{
- scheduler_.init_task();
-}
-
-int epoll_reactor::register_descriptor(socket_type descriptor,
- epoll_reactor::per_descriptor_data& descriptor_data)
-{
- descriptor_data = allocate_descriptor_state();
-
- BOOST_ASIO_HANDLER_REACTOR_REGISTRATION((
- context(), static_cast<uintmax_t>(descriptor),
- reinterpret_cast<uintmax_t>(descriptor_data)));
-
- {
- mutex::scoped_lock descriptor_lock(descriptor_data->mutex_);
-
- descriptor_data->reactor_ = this;
- descriptor_data->descriptor_ = descriptor;
- descriptor_data->shutdown_ = false;
- for (int i = 0; i < max_ops; ++i)
- descriptor_data->try_speculative_[i] = true;
- }
-
- epoll_event ev = { 0, { 0 } };
- ev.events = EPOLLIN | EPOLLERR | EPOLLHUP | EPOLLPRI | EPOLLET;
- descriptor_data->registered_events_ = ev.events;
- ev.data.ptr = descriptor_data;
- int result = epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, descriptor, &ev);
- if (result != 0)
- {
- if (errno == EPERM)
- {
- // This file descriptor type is not supported by epoll. However, if it is
- // a regular file then operations on it will not block. We will allow
- // this descriptor to be used and fail later if an operation on it would
- // otherwise require a trip through the reactor.
- descriptor_data->registered_events_ = 0;
- return 0;
- }
- return errno;
- }
-
- return 0;
-}
-
-int epoll_reactor::register_internal_descriptor(
- int op_type, socket_type descriptor,
- epoll_reactor::per_descriptor_data& descriptor_data, reactor_op* op)
-{
- descriptor_data = allocate_descriptor_state();
-
- BOOST_ASIO_HANDLER_REACTOR_REGISTRATION((
- context(), static_cast<uintmax_t>(descriptor),
- reinterpret_cast<uintmax_t>(descriptor_data)));
-
- {
- mutex::scoped_lock descriptor_lock(descriptor_data->mutex_);
-
- descriptor_data->reactor_ = this;
- descriptor_data->descriptor_ = descriptor;
- descriptor_data->shutdown_ = false;
- descriptor_data->op_queue_[op_type].push(op);
- for (int i = 0; i < max_ops; ++i)
- descriptor_data->try_speculative_[i] = true;
- }
-
- epoll_event ev = { 0, { 0 } };
- ev.events = EPOLLIN | EPOLLERR | EPOLLHUP | EPOLLPRI | EPOLLET;
- descriptor_data->registered_events_ = ev.events;
- ev.data.ptr = descriptor_data;
- int result = epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, descriptor, &ev);
- if (result != 0)
- return errno;
-
- return 0;
-}
-
-void epoll_reactor::move_descriptor(socket_type,
- epoll_reactor::per_descriptor_data& target_descriptor_data,
- epoll_reactor::per_descriptor_data& source_descriptor_data)
-{
- target_descriptor_data = source_descriptor_data;
- source_descriptor_data = 0;
-}
-
-void epoll_reactor::start_op(int op_type, socket_type descriptor,
- epoll_reactor::per_descriptor_data& descriptor_data, reactor_op* op,
- bool is_continuation, bool allow_speculative)
-{
- if (!descriptor_data)
- {
- op->ec_ = boost::asio::error::bad_descriptor;
- post_immediate_completion(op, is_continuation);
- return;
- }
-
- mutex::scoped_lock descriptor_lock(descriptor_data->mutex_);
-
- if (descriptor_data->shutdown_)
- {
- post_immediate_completion(op, is_continuation);
- return;
- }
-
- if (descriptor_data->op_queue_[op_type].empty())
- {
- if (allow_speculative
- && (op_type != read_op
- || descriptor_data->op_queue_[except_op].empty()))
- {
- if (descriptor_data->try_speculative_[op_type])
- {
- if (reactor_op::status status = op->perform())
- {
- if (status == reactor_op::done_and_exhausted)
- if (descriptor_data->registered_events_ != 0)
- descriptor_data->try_speculative_[op_type] = false;
- descriptor_lock.unlock();
- scheduler_.post_immediate_completion(op, is_continuation);
- return;
- }
- }
-
- if (descriptor_data->registered_events_ == 0)
- {
- op->ec_ = boost::asio::error::operation_not_supported;
- scheduler_.post_immediate_completion(op, is_continuation);
- return;
- }
-
- if (op_type == write_op)
- {
- if ((descriptor_data->registered_events_ & EPOLLOUT) == 0)
- {
- epoll_event ev = { 0, { 0 } };
- ev.events = descriptor_data->registered_events_ | EPOLLOUT;
- ev.data.ptr = descriptor_data;
- if (epoll_ctl(epoll_fd_, EPOLL_CTL_MOD, descriptor, &ev) == 0)
- {
- descriptor_data->registered_events_ |= ev.events;
- }
- else
- {
- op->ec_ = boost::system::error_code(errno,
- boost::asio::error::get_system_category());
- scheduler_.post_immediate_completion(op, is_continuation);
- return;
- }
- }
- }
- }
- else if (descriptor_data->registered_events_ == 0)
- {
- op->ec_ = boost::asio::error::operation_not_supported;
- scheduler_.post_immediate_completion(op, is_continuation);
- return;
- }
- else
- {
- if (op_type == write_op)
- {
- descriptor_data->registered_events_ |= EPOLLOUT;
- }
-
- epoll_event ev = { 0, { 0 } };
- ev.events = descriptor_data->registered_events_;
- ev.data.ptr = descriptor_data;
- epoll_ctl(epoll_fd_, EPOLL_CTL_MOD, descriptor, &ev);
- }
- }
-
- descriptor_data->op_queue_[op_type].push(op);
- scheduler_.work_started();
-}
-
-void epoll_reactor::cancel_ops(socket_type,
- epoll_reactor::per_descriptor_data& descriptor_data)
-{
- if (!descriptor_data)
- return;
-
- mutex::scoped_lock descriptor_lock(descriptor_data->mutex_);
-
- op_queue<operation> ops;
- for (int i = 0; i < max_ops; ++i)
- {
- while (reactor_op* op = descriptor_data->op_queue_[i].front())
- {
- op->ec_ = boost::asio::error::operation_aborted;
- descriptor_data->op_queue_[i].pop();
- ops.push(op);
- }
- }
-
- descriptor_lock.unlock();
-
- scheduler_.post_deferred_completions(ops);
-}
-
-void epoll_reactor::deregister_descriptor(socket_type descriptor,
- epoll_reactor::per_descriptor_data& descriptor_data, bool closing)
-{
- if (!descriptor_data)
- return;
-
- mutex::scoped_lock descriptor_lock(descriptor_data->mutex_);
-
- if (!descriptor_data->shutdown_)
- {
- if (closing)
- {
- // The descriptor will be automatically removed from the epoll set when
- // it is closed.
- }
- else if (descriptor_data->registered_events_ != 0)
- {
- epoll_event ev = { 0, { 0 } };
- epoll_ctl(epoll_fd_, EPOLL_CTL_DEL, descriptor, &ev);
- }
-
- op_queue<operation> ops;
- for (int i = 0; i < max_ops; ++i)
- {
- while (reactor_op* op = descriptor_data->op_queue_[i].front())
- {
- op->ec_ = boost::asio::error::operation_aborted;
- descriptor_data->op_queue_[i].pop();
- ops.push(op);
- }
- }
-
- descriptor_data->descriptor_ = -1;
- descriptor_data->shutdown_ = true;
-
- descriptor_lock.unlock();
-
- BOOST_ASIO_HANDLER_REACTOR_DEREGISTRATION((
- context(), static_cast<uintmax_t>(descriptor),
- reinterpret_cast<uintmax_t>(descriptor_data)));
-
- scheduler_.post_deferred_completions(ops);
-
- // Leave descriptor_data set so that it will be freed by the subsequent
- // call to cleanup_descriptor_data.
- }
- else
- {
- // We are shutting down, so prevent cleanup_descriptor_data from freeing
- // the descriptor_data object and let the destructor free it instead.
- descriptor_data = 0;
- }
-}
-
-void epoll_reactor::deregister_internal_descriptor(socket_type descriptor,
- epoll_reactor::per_descriptor_data& descriptor_data)
-{
- if (!descriptor_data)
- return;
-
- mutex::scoped_lock descriptor_lock(descriptor_data->mutex_);
-
- if (!descriptor_data->shutdown_)
- {
- epoll_event ev = { 0, { 0 } };
- epoll_ctl(epoll_fd_, EPOLL_CTL_DEL, descriptor, &ev);
-
- op_queue<operation> ops;
- for (int i = 0; i < max_ops; ++i)
- ops.push(descriptor_data->op_queue_[i]);
-
- descriptor_data->descriptor_ = -1;
- descriptor_data->shutdown_ = true;
-
- descriptor_lock.unlock();
-
- BOOST_ASIO_HANDLER_REACTOR_DEREGISTRATION((
- context(), static_cast<uintmax_t>(descriptor),
- reinterpret_cast<uintmax_t>(descriptor_data)));
-
- // Leave descriptor_data set so that it will be freed by the subsequent
- // call to cleanup_descriptor_data.
- }
- else
- {
- // We are shutting down, so prevent cleanup_descriptor_data from freeing
- // the descriptor_data object and let the destructor free it instead.
- descriptor_data = 0;
- }
-}
-
-void epoll_reactor::cleanup_descriptor_data(
- per_descriptor_data& descriptor_data)
-{
- if (descriptor_data)
- {
- free_descriptor_state(descriptor_data);
- descriptor_data = 0;
- }
-}
-
-void epoll_reactor::run(long usec, op_queue<operation>& ops)
-{
- // This code relies on the fact that the scheduler queues the reactor task
- // behind all descriptor operations generated by this function. This means,
- // that by the time we reach this point, any previously returned descriptor
- // operations have already been dequeued. Therefore it is now safe for us to
- // reuse and return them for the scheduler to queue again.
-
- // Calculate timeout. Check the timer queues only if timerfd is not in use.
- int timeout;
- if (usec == 0)
- timeout = 0;
- else
- {
- timeout = (usec < 0) ? -1 : ((usec - 1) / 1000 + 1);
- if (timer_fd_ == -1)
- {
- mutex::scoped_lock lock(mutex_);
- timeout = get_timeout(timeout);
- }
- }
-
- // Block on the epoll descriptor.
- epoll_event events[128];
- int num_events = epoll_wait(epoll_fd_, events, 128, timeout);
-
-#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
- // Trace the waiting events.
- for (int i = 0; i < num_events; ++i)
- {
- void* ptr = events[i].data.ptr;
- if (ptr == &interrupter_)
- {
- // Ignore.
- }
-# if defined(BOOST_ASIO_HAS_TIMERFD)
- else if (ptr == &timer_fd_)
- {
- // Ignore.
- }
-# endif // defined(BOOST_ASIO_HAS_TIMERFD)
- else
- {
- unsigned event_mask = 0;
- if ((events[i].events & EPOLLIN) != 0)
- event_mask |= BOOST_ASIO_HANDLER_REACTOR_READ_EVENT;
- if ((events[i].events & EPOLLOUT))
- event_mask |= BOOST_ASIO_HANDLER_REACTOR_WRITE_EVENT;
- if ((events[i].events & (EPOLLERR | EPOLLHUP)) != 0)
- event_mask |= BOOST_ASIO_HANDLER_REACTOR_ERROR_EVENT;
- BOOST_ASIO_HANDLER_REACTOR_EVENTS((context(),
- reinterpret_cast<uintmax_t>(ptr), event_mask));
- }
- }
-#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
-
-#if defined(BOOST_ASIO_HAS_TIMERFD)
- bool check_timers = (timer_fd_ == -1);
-#else // defined(BOOST_ASIO_HAS_TIMERFD)
- bool check_timers = true;
-#endif // defined(BOOST_ASIO_HAS_TIMERFD)
-
- // Dispatch the waiting events.
- for (int i = 0; i < num_events; ++i)
- {
- void* ptr = events[i].data.ptr;
- if (ptr == &interrupter_)
- {
- // No need to reset the interrupter since we're leaving the descriptor
- // in a ready-to-read state and relying on edge-triggered notifications
- // to make it so that we only get woken up when the descriptor's epoll
- // registration is updated.
-
-#if defined(BOOST_ASIO_HAS_TIMERFD)
- if (timer_fd_ == -1)
- check_timers = true;
-#else // defined(BOOST_ASIO_HAS_TIMERFD)
- check_timers = true;
-#endif // defined(BOOST_ASIO_HAS_TIMERFD)
- }
-#if defined(BOOST_ASIO_HAS_TIMERFD)
- else if (ptr == &timer_fd_)
- {
- check_timers = true;
- }
-#endif // defined(BOOST_ASIO_HAS_TIMERFD)
- else
- {
- // The descriptor operation doesn't count as work in and of itself, so we
- // don't call work_started() here. This still allows the scheduler to
- // stop if the only remaining operations are descriptor operations.
- descriptor_state* descriptor_data = static_cast<descriptor_state*>(ptr);
- if (!ops.is_enqueued(descriptor_data))
- {
- descriptor_data->set_ready_events(events[i].events);
- ops.push(descriptor_data);
- }
- else
- {
- descriptor_data->add_ready_events(events[i].events);
- }
- }
- }
-
- if (check_timers)
- {
- mutex::scoped_lock common_lock(mutex_);
- timer_queues_.get_ready_timers(ops);
-
-#if defined(BOOST_ASIO_HAS_TIMERFD)
- if (timer_fd_ != -1)
- {
- itimerspec new_timeout;
- itimerspec old_timeout;
- int flags = get_timeout(new_timeout);
- timerfd_settime(timer_fd_, flags, &new_timeout, &old_timeout);
- }
-#endif // defined(BOOST_ASIO_HAS_TIMERFD)
- }
-}
-
-void epoll_reactor::interrupt()
-{
- epoll_event ev = { 0, { 0 } };
- ev.events = EPOLLIN | EPOLLERR | EPOLLET;
- ev.data.ptr = &interrupter_;
- epoll_ctl(epoll_fd_, EPOLL_CTL_MOD, interrupter_.read_descriptor(), &ev);
-}
-
-int epoll_reactor::do_epoll_create()
-{
-#if defined(EPOLL_CLOEXEC)
- int fd = epoll_create1(EPOLL_CLOEXEC);
-#else // defined(EPOLL_CLOEXEC)
- int fd = -1;
- errno = EINVAL;
-#endif // defined(EPOLL_CLOEXEC)
-
- if (fd == -1 && (errno == EINVAL || errno == ENOSYS))
- {
- fd = epoll_create(epoll_size);
- if (fd != -1)
- ::fcntl(fd, F_SETFD, FD_CLOEXEC);
- }
-
- if (fd == -1)
- {
- boost::system::error_code ec(errno,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "epoll");
- }
-
- return fd;
-}
-
-int epoll_reactor::do_timerfd_create()
-{
-#if defined(BOOST_ASIO_HAS_TIMERFD)
-# if defined(TFD_CLOEXEC)
- int fd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC);
-# else // defined(TFD_CLOEXEC)
- int fd = -1;
- errno = EINVAL;
-# endif // defined(TFD_CLOEXEC)
-
- if (fd == -1 && errno == EINVAL)
- {
- fd = timerfd_create(CLOCK_MONOTONIC, 0);
- if (fd != -1)
- ::fcntl(fd, F_SETFD, FD_CLOEXEC);
- }
-
- return fd;
-#else // defined(BOOST_ASIO_HAS_TIMERFD)
- return -1;
-#endif // defined(BOOST_ASIO_HAS_TIMERFD)
-}
-
-epoll_reactor::descriptor_state* epoll_reactor::allocate_descriptor_state()
-{
- mutex::scoped_lock descriptors_lock(registered_descriptors_mutex_);
- return registered_descriptors_.alloc(BOOST_ASIO_CONCURRENCY_HINT_IS_LOCKING(
- REACTOR_IO, scheduler_.concurrency_hint()));
-}
-
-void epoll_reactor::free_descriptor_state(epoll_reactor::descriptor_state* s)
-{
- mutex::scoped_lock descriptors_lock(registered_descriptors_mutex_);
- registered_descriptors_.free(s);
-}
-
-void epoll_reactor::do_add_timer_queue(timer_queue_base& queue)
-{
- mutex::scoped_lock lock(mutex_);
- timer_queues_.insert(&queue);
-}
-
-void epoll_reactor::do_remove_timer_queue(timer_queue_base& queue)
-{
- mutex::scoped_lock lock(mutex_);
- timer_queues_.erase(&queue);
-}
-
-void epoll_reactor::update_timeout()
-{
-#if defined(BOOST_ASIO_HAS_TIMERFD)
- if (timer_fd_ != -1)
- {
- itimerspec new_timeout;
- itimerspec old_timeout;
- int flags = get_timeout(new_timeout);
- timerfd_settime(timer_fd_, flags, &new_timeout, &old_timeout);
- return;
- }
-#endif // defined(BOOST_ASIO_HAS_TIMERFD)
- interrupt();
-}
-
-int epoll_reactor::get_timeout(int msec)
-{
- // By default we will wait no longer than 5 minutes. This will ensure that
- // any changes to the system clock are detected after no longer than this.
- const int max_msec = 5 * 60 * 1000;
- return timer_queues_.wait_duration_msec(
- (msec < 0 || max_msec < msec) ? max_msec : msec);
-}
-
-#if defined(BOOST_ASIO_HAS_TIMERFD)
-int epoll_reactor::get_timeout(itimerspec& ts)
-{
- ts.it_interval.tv_sec = 0;
- ts.it_interval.tv_nsec = 0;
-
- long usec = timer_queues_.wait_duration_usec(5 * 60 * 1000 * 1000);
- ts.it_value.tv_sec = usec / 1000000;
- ts.it_value.tv_nsec = usec ? (usec % 1000000) * 1000 : 1;
-
- return usec ? 0 : TFD_TIMER_ABSTIME;
-}
-#endif // defined(BOOST_ASIO_HAS_TIMERFD)
-
-struct epoll_reactor::perform_io_cleanup_on_block_exit
-{
- explicit perform_io_cleanup_on_block_exit(epoll_reactor* r)
- : reactor_(r), first_op_(0)
- {
- }
-
- ~perform_io_cleanup_on_block_exit()
- {
- if (first_op_)
- {
- // Post the remaining completed operations for invocation.
- if (!ops_.empty())
- reactor_->scheduler_.post_deferred_completions(ops_);
-
- // A user-initiated operation has completed, but there's no need to
- // explicitly call work_finished() here. Instead, we'll take advantage of
- // the fact that the scheduler will call work_finished() once we return.
- }
- else
- {
- // No user-initiated operations have completed, so we need to compensate
- // for the work_finished() call that the scheduler will make once this
- // operation returns.
- reactor_->scheduler_.compensating_work_started();
- }
- }
-
- epoll_reactor* reactor_;
- op_queue<operation> ops_;
- operation* first_op_;
-};
-
-epoll_reactor::descriptor_state::descriptor_state(bool locking)
- : operation(&epoll_reactor::descriptor_state::do_complete),
- mutex_(locking)
-{
-}
-
-operation* epoll_reactor::descriptor_state::perform_io(uint32_t events)
-{
- mutex_.lock();
- perform_io_cleanup_on_block_exit io_cleanup(reactor_);
- mutex::scoped_lock descriptor_lock(mutex_, mutex::scoped_lock::adopt_lock);
-
- // Exception operations must be processed first to ensure that any
- // out-of-band data is read before normal data.
- static const int flag[max_ops] = { EPOLLIN, EPOLLOUT, EPOLLPRI };
- for (int j = max_ops - 1; j >= 0; --j)
- {
- if (events & (flag[j] | EPOLLERR | EPOLLHUP))
- {
- try_speculative_[j] = true;
- while (reactor_op* op = op_queue_[j].front())
- {
- if (reactor_op::status status = op->perform())
- {
- op_queue_[j].pop();
- io_cleanup.ops_.push(op);
- if (status == reactor_op::done_and_exhausted)
- {
- try_speculative_[j] = false;
- break;
- }
- }
- else
- break;
- }
- }
- }
-
- // The first operation will be returned for completion now. The others will
- // be posted for later by the io_cleanup object's destructor.
- io_cleanup.first_op_ = io_cleanup.ops_.front();
- io_cleanup.ops_.pop();
- return io_cleanup.first_op_;
-}
-
-void epoll_reactor::descriptor_state::do_complete(
- void* owner, operation* base,
- const boost::system::error_code& ec, std::size_t bytes_transferred)
-{
- if (owner)
- {
- descriptor_state* descriptor_data = static_cast<descriptor_state*>(base);
- uint32_t events = static_cast<uint32_t>(bytes_transferred);
- if (operation* op = descriptor_data->perform_io(events))
- {
- op->complete(owner, ec, 0);
- }
- }
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_EPOLL)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_EPOLL_REACTOR_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp
deleted file mode 100644
index 8804009442..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/eventfd_select_interrupter.ipp
+++ /dev/null
@@ -1,167 +0,0 @@
-//
-// detail/impl/eventfd_select_interrupter.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 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
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_EVENTFD_SELECT_INTERRUPTER_IPP
-#define BOOST_ASIO_DETAIL_IMPL_EVENTFD_SELECT_INTERRUPTER_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_EVENTFD)
-
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-# include <asm/unistd.h>
-#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-# include <sys/eventfd.h>
-#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-#include <boost/asio/detail/cstdint.hpp>
-#include <boost/asio/detail/eventfd_select_interrupter.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-eventfd_select_interrupter::eventfd_select_interrupter()
-{
- open_descriptors();
-}
-
-void eventfd_select_interrupter::open_descriptors()
-{
-#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
- write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0);
- if (read_descriptor_ != -1)
- {
- ::fcntl(read_descriptor_, F_SETFL, O_NONBLOCK);
- ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC);
- }
-#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-# if defined(EFD_CLOEXEC) && defined(EFD_NONBLOCK)
- write_descriptor_ = read_descriptor_ =
- ::eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK);
-# else // defined(EFD_CLOEXEC) && defined(EFD_NONBLOCK)
- errno = EINVAL;
- write_descriptor_ = read_descriptor_ = -1;
-# endif // defined(EFD_CLOEXEC) && defined(EFD_NONBLOCK)
- if (read_descriptor_ == -1 && errno == EINVAL)
- {
- write_descriptor_ = read_descriptor_ = ::eventfd(0, 0);
- if (read_descriptor_ != -1)
- {
- ::fcntl(read_descriptor_, F_SETFL, O_NONBLOCK);
- ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC);
- }
- }
-#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
-
- if (read_descriptor_ == -1)
- {
- int pipe_fds[2];
- if (pipe(pipe_fds) == 0)
- {
- read_descriptor_ = pipe_fds[0];
- ::fcntl(read_descriptor_, F_SETFL, O_NONBLOCK);
- ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC);
- write_descriptor_ = pipe_fds[1];
- ::fcntl(write_descriptor_, F_SETFL, O_NONBLOCK);
- ::fcntl(write_descriptor_, F_SETFD, FD_CLOEXEC);
- }
- else
- {
- boost::system::error_code ec(errno,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "eventfd_select_interrupter");
- }
- }
-}
-
-eventfd_select_interrupter::~eventfd_select_interrupter()
-{
- close_descriptors();
-}
-
-void eventfd_select_interrupter::close_descriptors()
-{
- if (write_descriptor_ != -1 && write_descriptor_ != read_descriptor_)
- ::close(write_descriptor_);
- if (read_descriptor_ != -1)
- ::close(read_descriptor_);
-}
-
-void eventfd_select_interrupter::recreate()
-{
- close_descriptors();
-
- write_descriptor_ = -1;
- read_descriptor_ = -1;
-
- open_descriptors();
-}
-
-void eventfd_select_interrupter::interrupt()
-{
- uint64_t counter(1UL);
- int result = ::write(write_descriptor_, &counter, sizeof(uint64_t));
- (void)result;
-}
-
-bool eventfd_select_interrupter::reset()
-{
- if (write_descriptor_ == read_descriptor_)
- {
- for (;;)
- {
- // Only perform one read. The kernel maintains an atomic counter.
- uint64_t counter(0);
- errno = 0;
- int bytes_read = ::read(read_descriptor_, &counter, sizeof(uint64_t));
- if (bytes_read < 0 && errno == EINTR)
- continue;
- bool was_interrupted = (bytes_read > 0);
- return was_interrupted;
- }
- }
- else
- {
- for (;;)
- {
- // Clear all data from the pipe.
- char data[1024];
- int bytes_read = ::read(read_descriptor_, data, sizeof(data));
- if (bytes_read < 0 && errno == EINTR)
- continue;
- bool was_interrupted = (bytes_read > 0);
- while (bytes_read == sizeof(data))
- bytes_read = ::read(read_descriptor_, data, sizeof(data));
- return was_interrupted;
- }
- }
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_EVENTFD)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_EVENTFD_SELECT_INTERRUPTER_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp
deleted file mode 100644
index b3abbb513a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/handler_tracking.ipp
+++ /dev/null
@@ -1,360 +0,0 @@
-//
-// detail/impl/handler_tracking.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_HANDLER_TRACKING_IPP
-#define BOOST_ASIO_DETAIL_IMPL_HANDLER_TRACKING_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_CUSTOM_HANDLER_TRACKING)
-
-// The handler tracking implementation is provided by the user-specified header.
-
-#elif defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
-
-#include <cstdarg>
-#include <cstdio>
-#include <boost/asio/detail/handler_tracking.hpp>
-
-#if defined(BOOST_ASIO_HAS_BOOST_DATE_TIME)
-# include <boost/asio/time_traits.hpp>
-#elif defined(BOOST_ASIO_HAS_CHRONO)
-# include <boost/asio/detail/chrono.hpp>
-# include <boost/asio/detail/chrono_time_traits.hpp>
-# include <boost/asio/wait_traits.hpp>
-#endif // defined(BOOST_ASIO_HAS_BOOST_DATE_TIME)
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# include <boost/asio/detail/socket_types.hpp>
-#elif !defined(BOOST_ASIO_WINDOWS)
-# include <unistd.h>
-#endif // !defined(BOOST_ASIO_WINDOWS)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-struct handler_tracking_timestamp
-{
- uint64_t seconds;
- uint64_t microseconds;
-
- handler_tracking_timestamp()
- {
-#if defined(BOOST_ASIO_HAS_BOOST_DATE_TIME)
- boost::posix_time::ptime epoch(boost::gregorian::date(1970, 1, 1));
- boost::posix_time::time_duration now =
- boost::posix_time::microsec_clock::universal_time() - epoch;
-#elif defined(BOOST_ASIO_HAS_CHRONO)
- typedef chrono_time_traits<chrono::system_clock,
- boost::asio::wait_traits<chrono::system_clock> > traits_helper;
- traits_helper::posix_time_duration now(
- chrono::system_clock::now().time_since_epoch());
-#endif
- seconds = static_cast<uint64_t>(now.total_seconds());
- microseconds = static_cast<uint64_t>(now.total_microseconds() % 1000000);
- }
-};
-
-struct handler_tracking::tracking_state
-{
- static_mutex mutex_;
- uint64_t next_id_;
- tss_ptr<completion>* current_completion_;
-};
-
-handler_tracking::tracking_state* handler_tracking::get_state()
-{
- static tracking_state state = { BOOST_ASIO_STATIC_MUTEX_INIT, 1, 0 };
- return &state;
-}
-
-void handler_tracking::init()
-{
- static tracking_state* state = get_state();
-
- state->mutex_.init();
-
- static_mutex::scoped_lock lock(state->mutex_);
- if (state->current_completion_ == 0)
- state->current_completion_ = new tss_ptr<completion>;
-}
-
-void handler_tracking::creation(execution_context&,
- handler_tracking::tracked_handler& h,
- const char* object_type, void* object,
- uintmax_t /*native_handle*/, const char* op_name)
-{
- static tracking_state* state = get_state();
-
- static_mutex::scoped_lock lock(state->mutex_);
- h.id_ = state->next_id_++;
- lock.unlock();
-
- handler_tracking_timestamp timestamp;
-
- uint64_t current_id = 0;
- if (completion* current_completion = *state->current_completion_)
- current_id = current_completion->id_;
-
- write_line(
-#if defined(BOOST_ASIO_WINDOWS)
- "@asio|%I64u.%06I64u|%I64u*%I64u|%.20s@%p.%.50s\n",
-#else // defined(BOOST_ASIO_WINDOWS)
- "@asio|%llu.%06llu|%llu*%llu|%.20s@%p.%.50s\n",
-#endif // defined(BOOST_ASIO_WINDOWS)
- timestamp.seconds, timestamp.microseconds,
- current_id, h.id_, object_type, object, op_name);
-}
-
-handler_tracking::completion::completion(
- const handler_tracking::tracked_handler& h)
- : id_(h.id_),
- invoked_(false),
- next_(*get_state()->current_completion_)
-{
- *get_state()->current_completion_ = this;
-}
-
-handler_tracking::completion::~completion()
-{
- if (id_)
- {
- handler_tracking_timestamp timestamp;
-
- write_line(
-#if defined(BOOST_ASIO_WINDOWS)
- "@asio|%I64u.%06I64u|%c%I64u|\n",
-#else // defined(BOOST_ASIO_WINDOWS)
- "@asio|%llu.%06llu|%c%llu|\n",
-#endif // defined(BOOST_ASIO_WINDOWS)
- timestamp.seconds, timestamp.microseconds,
- invoked_ ? '!' : '~', id_);
- }
-
- *get_state()->current_completion_ = next_;
-}
-
-void handler_tracking::completion::invocation_begin()
-{
- handler_tracking_timestamp timestamp;
-
- write_line(
-#if defined(BOOST_ASIO_WINDOWS)
- "@asio|%I64u.%06I64u|>%I64u|\n",
-#else // defined(BOOST_ASIO_WINDOWS)
- "@asio|%llu.%06llu|>%llu|\n",
-#endif // defined(BOOST_ASIO_WINDOWS)
- timestamp.seconds, timestamp.microseconds, id_);
-
- invoked_ = true;
-}
-
-void handler_tracking::completion::invocation_begin(
- const boost::system::error_code& ec)
-{
- handler_tracking_timestamp timestamp;
-
- write_line(
-#if defined(BOOST_ASIO_WINDOWS)
- "@asio|%I64u.%06I64u|>%I64u|ec=%.20s:%d\n",
-#else // defined(BOOST_ASIO_WINDOWS)
- "@asio|%llu.%06llu|>%llu|ec=%.20s:%d\n",
-#endif // defined(BOOST_ASIO_WINDOWS)
- timestamp.seconds, timestamp.microseconds,
- id_, ec.category().name(), ec.value());
-
- invoked_ = true;
-}
-
-void handler_tracking::completion::invocation_begin(
- const boost::system::error_code& ec, std::size_t bytes_transferred)
-{
- handler_tracking_timestamp timestamp;
-
- write_line(
-#if defined(BOOST_ASIO_WINDOWS)
- "@asio|%I64u.%06I64u|>%I64u|ec=%.20s:%d,bytes_transferred=%I64u\n",
-#else // defined(BOOST_ASIO_WINDOWS)
- "@asio|%llu.%06llu|>%llu|ec=%.20s:%d,bytes_transferred=%llu\n",
-#endif // defined(BOOST_ASIO_WINDOWS)
- timestamp.seconds, timestamp.microseconds,
- id_, ec.category().name(), ec.value(),
- static_cast<uint64_t>(bytes_transferred));
-
- invoked_ = true;
-}
-
-void handler_tracking::completion::invocation_begin(
- const boost::system::error_code& ec, int signal_number)
-{
- handler_tracking_timestamp timestamp;
-
- write_line(
-#if defined(BOOST_ASIO_WINDOWS)
- "@asio|%I64u.%06I64u|>%I64u|ec=%.20s:%d,signal_number=%d\n",
-#else // defined(BOOST_ASIO_WINDOWS)
- "@asio|%llu.%06llu|>%llu|ec=%.20s:%d,signal_number=%d\n",
-#endif // defined(BOOST_ASIO_WINDOWS)
- timestamp.seconds, timestamp.microseconds,
- id_, ec.category().name(), ec.value(), signal_number);
-
- invoked_ = true;
-}
-
-void handler_tracking::completion::invocation_begin(
- const boost::system::error_code& ec, const char* arg)
-{
- handler_tracking_timestamp timestamp;
-
- write_line(
-#if defined(BOOST_ASIO_WINDOWS)
- "@asio|%I64u.%06I64u|>%I64u|ec=%.20s:%d,%.50s\n",
-#else // defined(BOOST_ASIO_WINDOWS)
- "@asio|%llu.%06llu|>%llu|ec=%.20s:%d,%.50s\n",
-#endif // defined(BOOST_ASIO_WINDOWS)
- timestamp.seconds, timestamp.microseconds,
- id_, ec.category().name(), ec.value(), arg);
-
- invoked_ = true;
-}
-
-void handler_tracking::completion::invocation_end()
-{
- if (id_)
- {
- handler_tracking_timestamp timestamp;
-
- write_line(
-#if defined(BOOST_ASIO_WINDOWS)
- "@asio|%I64u.%06I64u|<%I64u|\n",
-#else // defined(BOOST_ASIO_WINDOWS)
- "@asio|%llu.%06llu|<%llu|\n",
-#endif // defined(BOOST_ASIO_WINDOWS)
- timestamp.seconds, timestamp.microseconds, id_);
-
- id_ = 0;
- }
-}
-
-void handler_tracking::operation(execution_context&,
- const char* object_type, void* object,
- uintmax_t /*native_handle*/, const char* op_name)
-{
- static tracking_state* state = get_state();
-
- handler_tracking_timestamp timestamp;
-
- unsigned long long current_id = 0;
- if (completion* current_completion = *state->current_completion_)
- current_id = current_completion->id_;
-
- write_line(
-#if defined(BOOST_ASIO_WINDOWS)
- "@asio|%I64u.%06I64u|%I64u|%.20s@%p.%.50s\n",
-#else // defined(BOOST_ASIO_WINDOWS)
- "@asio|%llu.%06llu|%llu|%.20s@%p.%.50s\n",
-#endif // defined(BOOST_ASIO_WINDOWS)
- timestamp.seconds, timestamp.microseconds,
- current_id, object_type, object, op_name);
-}
-
-void handler_tracking::reactor_registration(execution_context& /*context*/,
- uintmax_t /*native_handle*/, uintmax_t /*registration*/)
-{
-}
-
-void handler_tracking::reactor_deregistration(execution_context& /*context*/,
- uintmax_t /*native_handle*/, uintmax_t /*registration*/)
-{
-}
-
-void handler_tracking::reactor_events(execution_context& /*context*/,
- uintmax_t /*native_handle*/, unsigned /*events*/)
-{
-}
-
-void handler_tracking::reactor_operation(
- const tracked_handler& h, const char* op_name,
- const boost::system::error_code& ec)
-{
- handler_tracking_timestamp timestamp;
-
- write_line(
-#if defined(BOOST_ASIO_WINDOWS)
- "@asio|%I64u.%06I64u|.%I64u|%s,ec=%.20s:%d\n",
-#else // defined(BOOST_ASIO_WINDOWS)
- "@asio|%llu.%06llu|.%llu|%s,ec=%.20s:%d\n",
-#endif // defined(BOOST_ASIO_WINDOWS)
- timestamp.seconds, timestamp.microseconds,
- h.id_, op_name, ec.category().name(), ec.value());
-}
-
-void handler_tracking::reactor_operation(
- const tracked_handler& h, const char* op_name,
- const boost::system::error_code& ec, std::size_t bytes_transferred)
-{
- handler_tracking_timestamp timestamp;
-
- write_line(
-#if defined(BOOST_ASIO_WINDOWS)
- "@asio|%I64u.%06I64u|.%I64u|%s,ec=%.20s:%d,bytes_transferred=%I64u\n",
-#else // defined(BOOST_ASIO_WINDOWS)
- "@asio|%llu.%06llu|.%llu|%s,ec=%.20s:%d,bytes_transferred=%llu\n",
-#endif // defined(BOOST_ASIO_WINDOWS)
- timestamp.seconds, timestamp.microseconds,
- h.id_, op_name, ec.category().name(), ec.value(),
- static_cast<uint64_t>(bytes_transferred));
-}
-
-void handler_tracking::write_line(const char* format, ...)
-{
- using namespace std; // For sprintf (or equivalent).
-
- va_list args;
- va_start(args, format);
-
- char line[256] = "";
-#if defined(BOOST_ASIO_HAS_SECURE_RTL)
- int length = vsprintf_s(line, sizeof(line), format, args);
-#else // defined(BOOST_ASIO_HAS_SECURE_RTL)
- int length = vsprintf(line, format, args);
-#endif // defined(BOOST_ASIO_HAS_SECURE_RTL)
-
- va_end(args);
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- wchar_t wline[256] = L"";
- mbstowcs_s(0, wline, sizeof(wline) / sizeof(wchar_t), line, length);
- ::OutputDebugStringW(wline);
-#elif defined(BOOST_ASIO_WINDOWS)
- HANDLE stderr_handle = ::GetStdHandle(STD_ERROR_HANDLE);
- DWORD bytes_written = 0;
- ::WriteFile(stderr_handle, line, length, &bytes_written, 0);
-#else // defined(BOOST_ASIO_WINDOWS)
- ::write(STDERR_FILENO, line, length);
-#endif // defined(BOOST_ASIO_WINDOWS)
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_HANDLER_TRACKING_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp
deleted file mode 100644
index 4d79ba5d7c..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-// detail/impl/kqueue_reactor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 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
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_KQUEUE_REACTOR_HPP
-#define BOOST_ASIO_DETAIL_IMPL_KQUEUE_REACTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_KQUEUE)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Time_Traits>
-void kqueue_reactor::add_timer_queue(timer_queue<Time_Traits>& queue)
-{
- do_add_timer_queue(queue);
-}
-
-// Remove a timer queue from the reactor.
-template <typename Time_Traits>
-void kqueue_reactor::remove_timer_queue(timer_queue<Time_Traits>& queue)
-{
- do_remove_timer_queue(queue);
-}
-
-template <typename Time_Traits>
-void kqueue_reactor::schedule_timer(timer_queue<Time_Traits>& queue,
- const typename Time_Traits::time_type& time,
- typename timer_queue<Time_Traits>::per_timer_data& timer, wait_op* op)
-{
- mutex::scoped_lock lock(mutex_);
-
- if (shutdown_)
- {
- scheduler_.post_immediate_completion(op, false);
- return;
- }
-
- bool earliest = queue.enqueue_timer(time, timer, op);
- scheduler_.work_started();
- if (earliest)
- interrupt();
-}
-
-template <typename Time_Traits>
-std::size_t kqueue_reactor::cancel_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& timer,
- std::size_t max_cancelled)
-{
- mutex::scoped_lock lock(mutex_);
- op_queue<operation> ops;
- std::size_t n = queue.cancel_timer(timer, ops, max_cancelled);
- lock.unlock();
- scheduler_.post_deferred_completions(ops);
- return n;
-}
-
-template <typename Time_Traits>
-void kqueue_reactor::move_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& target,
- typename timer_queue<Time_Traits>::per_timer_data& source)
-{
- mutex::scoped_lock lock(mutex_);
- op_queue<operation> ops;
- queue.cancel_timer(target, ops);
- queue.move_timer(target, source);
- lock.unlock();
- scheduler_.post_deferred_completions(ops);
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_KQUEUE)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_KQUEUE_REACTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp
deleted file mode 100644
index 9069ae4442..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/kqueue_reactor.ipp
+++ /dev/null
@@ -1,568 +0,0 @@
-//
-// detail/impl/kqueue_reactor.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 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
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_KQUEUE_REACTOR_IPP
-#define BOOST_ASIO_DETAIL_IMPL_KQUEUE_REACTOR_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_KQUEUE)
-
-#include <boost/asio/detail/kqueue_reactor.hpp>
-#include <boost/asio/detail/scheduler.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-#if defined(__NetBSD__)
-# define BOOST_ASIO_KQUEUE_EV_SET(ev, ident, filt, flags, fflags, data, udata) \
- EV_SET(ev, ident, filt, flags, fflags, data, \
- reinterpret_cast<intptr_t>(static_cast<void*>(udata)))
-#else
-# define BOOST_ASIO_KQUEUE_EV_SET(ev, ident, filt, flags, fflags, data, udata) \
- EV_SET(ev, ident, filt, flags, fflags, data, udata)
-#endif
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-kqueue_reactor::kqueue_reactor(boost::asio::execution_context& ctx)
- : execution_context_service_base<kqueue_reactor>(ctx),
- scheduler_(use_service<scheduler>(ctx)),
- mutex_(BOOST_ASIO_CONCURRENCY_HINT_IS_LOCKING(
- REACTOR_REGISTRATION, scheduler_.concurrency_hint())),
- kqueue_fd_(do_kqueue_create()),
- interrupter_(),
- shutdown_(false),
- registered_descriptors_mutex_(mutex_.enabled())
-{
- 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_, events, 1, 0, 0, 0) == -1)
- {
- boost::system::error_code error(errno,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(error);
- }
-}
-
-kqueue_reactor::~kqueue_reactor()
-{
- close(kqueue_fd_);
-}
-
-void kqueue_reactor::shutdown()
-{
- mutex::scoped_lock lock(mutex_);
- shutdown_ = true;
- lock.unlock();
-
- op_queue<operation> ops;
-
- while (descriptor_state* state = registered_descriptors_.first())
- {
- for (int i = 0; i < max_ops; ++i)
- ops.push(state->op_queue_[i]);
- state->shutdown_ = true;
- registered_descriptors_.free(state);
- }
-
- timer_queues_.get_all_timers(ops);
-
- scheduler_.abandon_operations(ops);
-}
-
-void kqueue_reactor::notify_fork(
- boost::asio::execution_context::fork_event fork_ev)
-{
- if (fork_ev == boost::asio::execution_context::fork_child)
- {
- // The kqueue descriptor is automatically closed in the child.
- kqueue_fd_ = -1;
- kqueue_fd_ = do_kqueue_create();
-
- interrupter_.recreate();
-
- 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_, events, 1, 0, 0, 0) == -1)
- {
- boost::system::error_code ec(errno,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "kqueue interrupter registration");
- }
-
- // Re-register all descriptors with kqueue.
- mutex::scoped_lock descriptors_lock(registered_descriptors_mutex_);
- for (descriptor_state* state = registered_descriptors_.first();
- state != 0; state = state->next_)
- {
- if (state->num_kevents_ > 0)
- {
- 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");
- }
- }
- }
- }
-}
-
-void kqueue_reactor::init_task()
-{
- scheduler_.init_task();
-}
-
-int kqueue_reactor::register_descriptor(socket_type descriptor,
- kqueue_reactor::per_descriptor_data& descriptor_data)
-{
- descriptor_data = allocate_descriptor_state();
-
- BOOST_ASIO_HANDLER_REACTOR_REGISTRATION((
- context(), static_cast<uintmax_t>(descriptor),
- reinterpret_cast<uintmax_t>(descriptor_data)));
-
- mutex::scoped_lock lock(descriptor_data->mutex_);
-
- descriptor_data->descriptor_ = descriptor;
- descriptor_data->num_kevents_ = 0;
- descriptor_data->shutdown_ = false;
-
- return 0;
-}
-
-int kqueue_reactor::register_internal_descriptor(
- int op_type, socket_type descriptor,
- kqueue_reactor::per_descriptor_data& descriptor_data, reactor_op* op)
-{
- descriptor_data = allocate_descriptor_state();
-
- BOOST_ASIO_HANDLER_REACTOR_REGISTRATION((
- context(), static_cast<uintmax_t>(descriptor),
- reinterpret_cast<uintmax_t>(descriptor_data)));
-
- 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[1];
- BOOST_ASIO_KQUEUE_EV_SET(&events[0], descriptor, EVFILT_READ,
- EV_ADD | EV_CLEAR, 0, 0, descriptor_data);
- if (::kevent(kqueue_fd_, events, 1, 0, 0, 0) == -1)
- return errno;
-
- return 0;
-}
-
-void kqueue_reactor::move_descriptor(socket_type,
- kqueue_reactor::per_descriptor_data& target_descriptor_data,
- kqueue_reactor::per_descriptor_data& source_descriptor_data)
-{
- target_descriptor_data = source_descriptor_data;
- source_descriptor_data = 0;
-}
-
-void kqueue_reactor::start_op(int op_type, socket_type descriptor,
- kqueue_reactor::per_descriptor_data& descriptor_data, reactor_op* op,
- bool is_continuation, bool allow_speculative)
-{
- if (!descriptor_data)
- {
- op->ec_ = boost::asio::error::bad_descriptor;
- post_immediate_completion(op, is_continuation);
- return;
- }
-
- mutex::scoped_lock descriptor_lock(descriptor_data->mutex_);
-
- if (descriptor_data->shutdown_)
- {
- post_immediate_completion(op, is_continuation);
- return;
- }
-
- 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()))
- {
- if (op->perform())
- {
- descriptor_lock.unlock();
- scheduler_.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());
- scheduler_.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, descriptor_data->num_kevents_, 0, 0, 0);
- }
- }
-
- descriptor_data->op_queue_[op_type].push(op);
- scheduler_.work_started();
-}
-
-void kqueue_reactor::cancel_ops(socket_type,
- kqueue_reactor::per_descriptor_data& descriptor_data)
-{
- if (!descriptor_data)
- return;
-
- mutex::scoped_lock descriptor_lock(descriptor_data->mutex_);
-
- op_queue<operation> ops;
- for (int i = 0; i < max_ops; ++i)
- {
- while (reactor_op* op = descriptor_data->op_queue_[i].front())
- {
- op->ec_ = boost::asio::error::operation_aborted;
- descriptor_data->op_queue_[i].pop();
- ops.push(op);
- }
- }
-
- descriptor_lock.unlock();
-
- scheduler_.post_deferred_completions(ops);
-}
-
-void kqueue_reactor::deregister_descriptor(socket_type descriptor,
- kqueue_reactor::per_descriptor_data& descriptor_data, bool closing)
-{
- if (!descriptor_data)
- return;
-
- mutex::scoped_lock descriptor_lock(descriptor_data->mutex_);
-
- if (!descriptor_data->shutdown_)
- {
- if (closing)
- {
- // The descriptor will be automatically removed from the kqueue when it
- // is closed.
- }
- else
- {
- struct kevent events[2];
- BOOST_ASIO_KQUEUE_EV_SET(&events[0], 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, descriptor_data->num_kevents_, 0, 0, 0);
- }
-
- op_queue<operation> ops;
- for (int i = 0; i < max_ops; ++i)
- {
- while (reactor_op* op = descriptor_data->op_queue_[i].front())
- {
- op->ec_ = boost::asio::error::operation_aborted;
- descriptor_data->op_queue_[i].pop();
- ops.push(op);
- }
- }
-
- descriptor_data->descriptor_ = -1;
- descriptor_data->shutdown_ = true;
-
- descriptor_lock.unlock();
-
- BOOST_ASIO_HANDLER_REACTOR_DEREGISTRATION((
- context(), static_cast<uintmax_t>(descriptor),
- reinterpret_cast<uintmax_t>(descriptor_data)));
-
- scheduler_.post_deferred_completions(ops);
-
- // Leave descriptor_data set so that it will be freed by the subsequent
- // call to cleanup_descriptor_data.
- }
- else
- {
- // We are shutting down, so prevent cleanup_descriptor_data from freeing
- // the descriptor_data object and let the destructor free it instead.
- descriptor_data = 0;
- }
-}
-
-void kqueue_reactor::deregister_internal_descriptor(socket_type descriptor,
- kqueue_reactor::per_descriptor_data& descriptor_data)
-{
- if (!descriptor_data)
- return;
-
- mutex::scoped_lock descriptor_lock(descriptor_data->mutex_);
-
- if (!descriptor_data->shutdown_)
- {
- struct kevent events[2];
- BOOST_ASIO_KQUEUE_EV_SET(&events[0], 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, descriptor_data->num_kevents_, 0, 0, 0);
-
- op_queue<operation> ops;
- for (int i = 0; i < max_ops; ++i)
- ops.push(descriptor_data->op_queue_[i]);
-
- descriptor_data->descriptor_ = -1;
- descriptor_data->shutdown_ = true;
-
- descriptor_lock.unlock();
-
- BOOST_ASIO_HANDLER_REACTOR_DEREGISTRATION((
- context(), static_cast<uintmax_t>(descriptor),
- reinterpret_cast<uintmax_t>(descriptor_data)));
-
- // Leave descriptor_data set so that it will be freed by the subsequent
- // call to cleanup_descriptor_data.
- }
- else
- {
- // We are shutting down, so prevent cleanup_descriptor_data from freeing
- // the descriptor_data object and let the destructor free it instead.
- descriptor_data = 0;
- }
-}
-
-void kqueue_reactor::cleanup_descriptor_data(
- per_descriptor_data& descriptor_data)
-{
- if (descriptor_data)
- {
- free_descriptor_state(descriptor_data);
- descriptor_data = 0;
- }
-}
-
-void kqueue_reactor::run(long usec, op_queue<operation>& ops)
-{
- mutex::scoped_lock lock(mutex_);
-
- // Determine how long to block while waiting for events.
- timespec timeout_buf = { 0, 0 };
- timespec* timeout = usec ? get_timeout(usec, timeout_buf) : &timeout_buf;
-
- lock.unlock();
-
- // Block on the kqueue descriptor.
- struct kevent events[128];
- int num_events = kevent(kqueue_fd_, 0, 0, events, 128, timeout);
-
-#if defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
- // Trace the waiting events.
- for (int i = 0; i < num_events; ++i)
- {
- void* ptr = reinterpret_cast<void*>(events[i].udata);
- if (ptr != &interrupter_)
- {
- unsigned event_mask = 0;
- switch (events[i].filter)
- {
- case EVFILT_READ:
- event_mask |= BOOST_ASIO_HANDLER_REACTOR_READ_EVENT;
- break;
- case EVFILT_WRITE:
- event_mask |= BOOST_ASIO_HANDLER_REACTOR_WRITE_EVENT;
- break;
- }
- if ((events[i].flags & (EV_ERROR | EV_OOBAND)) != 0)
- event_mask |= BOOST_ASIO_HANDLER_REACTOR_ERROR_EVENT;
- BOOST_ASIO_HANDLER_REACTOR_EVENTS((context(),
- reinterpret_cast<uintmax_t>(ptr), event_mask));
- }
- }
-#endif // defined(BOOST_ASIO_ENABLE_HANDLER_TRACKING)
-
- // Dispatch the waiting events.
- for (int i = 0; i < num_events; ++i)
- {
- void* ptr = reinterpret_cast<void*>(events[i].udata);
- if (ptr == &interrupter_)
- {
- interrupter_.reset();
- }
- else
- {
- descriptor_state* descriptor_data = static_cast<descriptor_state*>(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__)
- static const unsigned int filter[max_ops] =
-#else
- static const int filter[max_ops] =
-#endif
- { EVFILT_READ, EVFILT_WRITE, EVFILT_READ };
- for (int j = max_ops - 1; j >= 0; --j)
- {
- if (events[i].filter == filter[j])
- {
- if (j != except_op || events[i].flags & EV_OOBAND)
- {
- while (reactor_op* op = descriptor_data->op_queue_[j].front())
- {
- if (events[i].flags & EV_ERROR)
- {
- op->ec_ = boost::system::error_code(
- static_cast<int>(events[i].data),
- boost::asio::error::get_system_category());
- descriptor_data->op_queue_[j].pop();
- ops.push(op);
- }
- if (op->perform())
- {
- descriptor_data->op_queue_[j].pop();
- ops.push(op);
- }
- else
- break;
- }
- }
- }
- }
- }
- }
-
- lock.lock();
- timer_queues_.get_ready_timers(ops);
-}
-
-void kqueue_reactor::interrupt()
-{
- interrupter_.interrupt();
-}
-
-int kqueue_reactor::do_kqueue_create()
-{
- int fd = ::kqueue();
- if (fd == -1)
- {
- boost::system::error_code ec(errno,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "kqueue");
- }
- return fd;
-}
-
-kqueue_reactor::descriptor_state* kqueue_reactor::allocate_descriptor_state()
-{
- mutex::scoped_lock descriptors_lock(registered_descriptors_mutex_);
- return registered_descriptors_.alloc(BOOST_ASIO_CONCURRENCY_HINT_IS_LOCKING(
- REACTOR_IO, scheduler_.concurrency_hint()));
-}
-
-void kqueue_reactor::free_descriptor_state(kqueue_reactor::descriptor_state* s)
-{
- mutex::scoped_lock descriptors_lock(registered_descriptors_mutex_);
- registered_descriptors_.free(s);
-}
-
-void kqueue_reactor::do_add_timer_queue(timer_queue_base& queue)
-{
- mutex::scoped_lock lock(mutex_);
- timer_queues_.insert(&queue);
-}
-
-void kqueue_reactor::do_remove_timer_queue(timer_queue_base& queue)
-{
- mutex::scoped_lock lock(mutex_);
- timer_queues_.erase(&queue);
-}
-
-timespec* kqueue_reactor::get_timeout(long usec, timespec& ts)
-{
- // By default we will wait no longer than 5 minutes. This will ensure that
- // any changes to the system clock are detected after no longer than this.
- const long max_usec = 5 * 60 * 1000 * 1000;
- usec = timer_queues_.wait_duration_usec(
- (usec < 0 || max_usec < usec) ? max_usec : usec);
- ts.tv_sec = usec / 1000000;
- ts.tv_nsec = (usec % 1000000) * 1000;
- return &ts;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#undef BOOST_ASIO_KQUEUE_EV_SET
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_KQUEUE)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_KQUEUE_REACTOR_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp
deleted file mode 100644
index 19bab80b33..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/null_event.ipp
+++ /dev/null
@@ -1,76 +0,0 @@
-//
-// detail/impl/null_event.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_NULL_EVENT_IPP
-#define BOOST_ASIO_DETAIL_IMPL_NULL_EVENT_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# include <thread>
-#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-# include <boost/asio/detail/socket_types.hpp>
-#else
-# include <unistd.h>
-# if defined(__hpux)
-# include <sys/time.h>
-# endif
-# if !defined(__hpux) || defined(__SELECT)
-# include <sys/select.h>
-# endif
-#endif
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-void null_event::do_wait()
-{
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- std::this_thread::sleep_until((std::chrono::steady_clock::time_point::max)());
-#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- ::Sleep(INFINITE);
-#else
- ::pause();
-#endif
-}
-
-void null_event::do_wait_for_usec(long usec)
-{
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- std::this_thread::sleep_for(std::chrono::microseconds(usec));
-#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- ::Sleep(usec / 1000);
-#elif defined(__hpux) && defined(__SELECT)
- timespec ts;
- ts.tv_sec = usec / 1000000;
- ts.tv_nsec = (usec % 1000000) * 1000;
- ::pselect(0, 0, 0, 0, &ts, 0);
-#else
- timeval tv;
- tv.tv_sec = usec / 1000000;
- tv.tv_usec = usec % 1000000;
- ::select(0, 0, 0, 0, &tv);
-#endif
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_IMPL_NULL_EVENT_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp
deleted file mode 100644
index bfff076747..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/pipe_select_interrupter.ipp
+++ /dev/null
@@ -1,126 +0,0 @@
-//
-// detail/impl/pipe_select_interrupter.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_PIPE_SELECT_INTERRUPTER_IPP
-#define BOOST_ASIO_DETAIL_IMPL_PIPE_SELECT_INTERRUPTER_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-#if !defined(BOOST_ASIO_WINDOWS)
-#if !defined(__CYGWIN__)
-#if !defined(__SYMBIAN32__)
-#if !defined(BOOST_ASIO_HAS_EVENTFD)
-
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <boost/asio/detail/pipe_select_interrupter.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-pipe_select_interrupter::pipe_select_interrupter()
-{
- open_descriptors();
-}
-
-void pipe_select_interrupter::open_descriptors()
-{
- int pipe_fds[2];
- if (pipe(pipe_fds) == 0)
- {
- read_descriptor_ = pipe_fds[0];
- ::fcntl(read_descriptor_, F_SETFL, O_NONBLOCK);
- write_descriptor_ = pipe_fds[1];
- ::fcntl(write_descriptor_, F_SETFL, O_NONBLOCK);
-
-#if defined(FD_CLOEXEC)
- ::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC);
- ::fcntl(write_descriptor_, F_SETFD, FD_CLOEXEC);
-#endif // defined(FD_CLOEXEC)
- }
- else
- {
- boost::system::error_code ec(errno,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "pipe_select_interrupter");
- }
-}
-
-pipe_select_interrupter::~pipe_select_interrupter()
-{
- close_descriptors();
-}
-
-void pipe_select_interrupter::close_descriptors()
-{
- if (read_descriptor_ != -1)
- ::close(read_descriptor_);
- if (write_descriptor_ != -1)
- ::close(write_descriptor_);
-}
-
-void pipe_select_interrupter::recreate()
-{
- close_descriptors();
-
- write_descriptor_ = -1;
- read_descriptor_ = -1;
-
- open_descriptors();
-}
-
-void pipe_select_interrupter::interrupt()
-{
- char byte = 0;
- signed_size_type result = ::write(write_descriptor_, &byte, 1);
- (void)result;
-}
-
-bool pipe_select_interrupter::reset()
-{
- for (;;)
- {
- char data[1024];
- signed_size_type bytes_read = ::read(read_descriptor_, data, sizeof(data));
- if (bytes_read < 0 && errno == EINTR)
- continue;
- bool was_interrupted = (bytes_read > 0);
- while (bytes_read == sizeof(data))
- bytes_read = ::read(read_descriptor_, data, sizeof(data));
- return was_interrupted;
- }
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_HAS_EVENTFD)
-#endif // !defined(__SYMBIAN32__)
-#endif // !defined(__CYGWIN__)
-#endif // !defined(BOOST_ASIO_WINDOWS)
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_PIPE_SELECT_INTERRUPTER_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp
deleted file mode 100644
index 6f096bc08e..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_event.ipp
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// detail/impl/posix_event.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_POSIX_EVENT_IPP
-#define BOOST_ASIO_DETAIL_IMPL_POSIX_EVENT_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_PTHREADS)
-
-#include <boost/asio/detail/posix_event.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-posix_event::posix_event()
- : state_(0)
-{
-#if (defined(__MACH__) && defined(__APPLE__)) \
- || (defined(__ANDROID__) && (__ANDROID_API__ < 21))
- int error = ::pthread_cond_init(&cond_, 0);
-#else // (defined(__MACH__) && defined(__APPLE__))
- // || (defined(__ANDROID__) && (__ANDROID_API__ < 21))
- ::pthread_condattr_t attr;
- ::pthread_condattr_init(&attr);
- int error = ::pthread_condattr_setclock(&attr, CLOCK_MONOTONIC);
- if (error == 0)
- error = ::pthread_cond_init(&cond_, &attr);
-#endif // (defined(__MACH__) && defined(__APPLE__))
- // || (defined(__ANDROID__) && (__ANDROID_API__ < 21))
-
- boost::system::error_code ec(error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "event");
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_POSIX_EVENT_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp
deleted file mode 100644
index 57564714a1..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_mutex.ipp
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// detail/impl/posix_mutex.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_POSIX_MUTEX_IPP
-#define BOOST_ASIO_DETAIL_IMPL_POSIX_MUTEX_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_PTHREADS)
-
-#include <boost/asio/detail/posix_mutex.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-posix_mutex::posix_mutex()
-{
- int error = ::pthread_mutex_init(&mutex_, 0);
- boost::system::error_code ec(error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "mutex");
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_POSIX_MUTEX_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp
deleted file mode 100644
index c2ee8efef7..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_thread.ipp
+++ /dev/null
@@ -1,86 +0,0 @@
-//
-// detail/impl/posix_thread.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_POSIX_THREAD_IPP
-#define BOOST_ASIO_DETAIL_IMPL_POSIX_THREAD_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_PTHREADS)
-
-#include <boost/asio/detail/posix_thread.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-posix_thread::~posix_thread()
-{
- if (!joined_)
- ::pthread_detach(thread_);
-}
-
-void posix_thread::join()
-{
- if (!joined_)
- {
- ::pthread_join(thread_, 0);
- joined_ = true;
- }
-}
-
-std::size_t posix_thread::hardware_concurrency()
-{
-#if defined(_SC_NPROCESSORS_ONLN)
- long result = sysconf(_SC_NPROCESSORS_ONLN);
- if (result > 0)
- return result;
-#endif // defined(_SC_NPROCESSORS_ONLN)
- return 0;
-}
-
-void posix_thread::start_thread(func_base* arg)
-{
- int error = ::pthread_create(&thread_, 0,
- boost_asio_detail_posix_thread_function, arg);
- if (error != 0)
- {
- delete arg;
- boost::system::error_code ec(error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "thread");
- }
-}
-
-void* boost_asio_detail_posix_thread_function(void* arg)
-{
- posix_thread::auto_func_base_ptr func = {
- static_cast<posix_thread::func_base*>(arg) };
- func.ptr->run();
- return 0;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_POSIX_THREAD_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp
deleted file mode 100644
index a40f3f81a6..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/posix_tss_ptr.ipp
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// detail/impl/posix_tss_ptr.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_POSIX_TSS_PTR_IPP
-#define BOOST_ASIO_DETAIL_IMPL_POSIX_TSS_PTR_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_PTHREADS)
-
-#include <boost/asio/detail/posix_tss_ptr.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-void posix_tss_ptr_create(pthread_key_t& key)
-{
- int error = ::pthread_key_create(&key, 0);
- boost::system::error_code ec(error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "tss");
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_POSIX_TSS_PTR_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp
deleted file mode 100644
index 6fdf437c1d..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/reactive_socket_service_base.ipp
+++ /dev/null
@@ -1,302 +0,0 @@
-//
-// detail/reactive_socket_service_base.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_REACTIVE_SOCKET_SERVICE_BASE_IPP
-#define BOOST_ASIO_DETAIL_IMPL_REACTIVE_SOCKET_SERVICE_BASE_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_IOCP) \
- && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/detail/reactive_socket_service_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-reactive_socket_service_base::reactive_socket_service_base(
- boost::asio::io_context& io_context)
- : io_context_(io_context),
- reactor_(use_service<reactor>(io_context))
-{
- reactor_.init_task();
-}
-
-void reactive_socket_service_base::base_shutdown()
-{
-}
-
-void reactive_socket_service_base::construct(
- reactive_socket_service_base::base_implementation_type& impl)
-{
- impl.socket_ = invalid_socket;
- impl.state_ = 0;
-}
-
-void reactive_socket_service_base::base_move_construct(
- reactive_socket_service_base::base_implementation_type& impl,
- reactive_socket_service_base::base_implementation_type& other_impl)
-{
- impl.socket_ = other_impl.socket_;
- other_impl.socket_ = invalid_socket;
-
- impl.state_ = other_impl.state_;
- other_impl.state_ = 0;
-
- reactor_.move_descriptor(impl.socket_,
- impl.reactor_data_, other_impl.reactor_data_);
-}
-
-void reactive_socket_service_base::base_move_assign(
- reactive_socket_service_base::base_implementation_type& impl,
- reactive_socket_service_base& other_service,
- reactive_socket_service_base::base_implementation_type& other_impl)
-{
- destroy(impl);
-
- impl.socket_ = other_impl.socket_;
- other_impl.socket_ = invalid_socket;
-
- impl.state_ = other_impl.state_;
- other_impl.state_ = 0;
-
- other_service.reactor_.move_descriptor(impl.socket_,
- impl.reactor_data_, other_impl.reactor_data_);
-}
-
-void reactive_socket_service_base::destroy(
- reactive_socket_service_base::base_implementation_type& impl)
-{
- if (impl.socket_ != invalid_socket)
- {
- BOOST_ASIO_HANDLER_OPERATION((reactor_.context(),
- "socket", &impl, impl.socket_, "close"));
-
- reactor_.deregister_descriptor(impl.socket_, impl.reactor_data_,
- (impl.state_ & socket_ops::possible_dup) == 0);
-
- boost::system::error_code ignored_ec;
- socket_ops::close(impl.socket_, impl.state_, true, ignored_ec);
-
- reactor_.cleanup_descriptor_data(impl.reactor_data_);
- }
-}
-
-boost::system::error_code reactive_socket_service_base::close(
- reactive_socket_service_base::base_implementation_type& impl,
- boost::system::error_code& ec)
-{
- if (is_open(impl))
- {
- BOOST_ASIO_HANDLER_OPERATION((reactor_.context(),
- "socket", &impl, impl.socket_, "close"));
-
- reactor_.deregister_descriptor(impl.socket_, impl.reactor_data_,
- (impl.state_ & socket_ops::possible_dup) == 0);
-
- socket_ops::close(impl.socket_, impl.state_, false, ec);
-
- reactor_.cleanup_descriptor_data(impl.reactor_data_);
- }
- else
- {
- ec = boost::system::error_code();
- }
-
- // The descriptor is closed by the OS even if close() returns an error.
- //
- // (Actually, POSIX says the state of the descriptor is unspecified. On
- // Linux the descriptor is apparently closed anyway; e.g. see
- // http://lkml.org/lkml/2005/9/10/129
- // We'll just have to assume that other OSes follow the same behaviour. The
- // known exception is when Windows's closesocket() function fails with
- // WSAEWOULDBLOCK, but this case is handled inside socket_ops::close().
- construct(impl);
-
- return ec;
-}
-
-socket_type reactive_socket_service_base::release(
- reactive_socket_service_base::base_implementation_type& impl,
- boost::system::error_code& ec)
-{
- if (!is_open(impl))
- {
- ec = boost::asio::error::bad_descriptor;
- return invalid_socket;
- }
-
- BOOST_ASIO_HANDLER_OPERATION((reactor_.context(),
- "socket", &impl, impl.socket_, "release"));
-
- reactor_.deregister_descriptor(impl.socket_, impl.reactor_data_, false);
- reactor_.cleanup_descriptor_data(impl.reactor_data_);
- socket_type sock = impl.socket_;
- construct(impl);
- ec = boost::system::error_code();
- return sock;
-}
-
-boost::system::error_code reactive_socket_service_base::cancel(
- reactive_socket_service_base::base_implementation_type& impl,
- boost::system::error_code& ec)
-{
- if (!is_open(impl))
- {
- ec = boost::asio::error::bad_descriptor;
- return ec;
- }
-
- BOOST_ASIO_HANDLER_OPERATION((reactor_.context(),
- "socket", &impl, impl.socket_, "cancel"));
-
- reactor_.cancel_ops(impl.socket_, impl.reactor_data_);
- ec = boost::system::error_code();
- return ec;
-}
-
-boost::system::error_code reactive_socket_service_base::do_open(
- reactive_socket_service_base::base_implementation_type& impl,
- int af, int type, int protocol, boost::system::error_code& ec)
-{
- if (is_open(impl))
- {
- ec = boost::asio::error::already_open;
- return ec;
- }
-
- socket_holder sock(socket_ops::socket(af, type, protocol, ec));
- if (sock.get() == invalid_socket)
- return ec;
-
- if (int err = reactor_.register_descriptor(sock.get(), impl.reactor_data_))
- {
- ec = boost::system::error_code(err,
- boost::asio::error::get_system_category());
- return ec;
- }
-
- impl.socket_ = sock.release();
- switch (type)
- {
- case SOCK_STREAM: impl.state_ = socket_ops::stream_oriented; break;
- case SOCK_DGRAM: impl.state_ = socket_ops::datagram_oriented; break;
- default: impl.state_ = 0; break;
- }
- ec = boost::system::error_code();
- return ec;
-}
-
-boost::system::error_code reactive_socket_service_base::do_assign(
- reactive_socket_service_base::base_implementation_type& impl, int type,
- const reactive_socket_service_base::native_handle_type& native_socket,
- boost::system::error_code& ec)
-{
- if (is_open(impl))
- {
- ec = boost::asio::error::already_open;
- return ec;
- }
-
- if (int err = reactor_.register_descriptor(
- native_socket, impl.reactor_data_))
- {
- ec = boost::system::error_code(err,
- boost::asio::error::get_system_category());
- return ec;
- }
-
- impl.socket_ = native_socket;
- switch (type)
- {
- case SOCK_STREAM: impl.state_ = socket_ops::stream_oriented; break;
- case SOCK_DGRAM: impl.state_ = socket_ops::datagram_oriented; break;
- default: impl.state_ = 0; break;
- }
- impl.state_ |= socket_ops::possible_dup;
- ec = boost::system::error_code();
- return ec;
-}
-
-void reactive_socket_service_base::start_op(
- reactive_socket_service_base::base_implementation_type& impl,
- int op_type, reactor_op* op, bool is_continuation,
- bool is_non_blocking, bool noop)
-{
- if (!noop)
- {
- if ((impl.state_ & socket_ops::non_blocking)
- || socket_ops::set_internal_non_blocking(
- impl.socket_, impl.state_, true, op->ec_))
- {
- reactor_.start_op(op_type, impl.socket_,
- impl.reactor_data_, op, is_continuation, is_non_blocking);
- return;
- }
- }
-
- reactor_.post_immediate_completion(op, is_continuation);
-}
-
-void reactive_socket_service_base::start_accept_op(
- reactive_socket_service_base::base_implementation_type& impl,
- reactor_op* op, bool is_continuation, bool peer_is_open)
-{
- if (!peer_is_open)
- start_op(impl, reactor::read_op, op, is_continuation, true, false);
- else
- {
- op->ec_ = boost::asio::error::already_open;
- reactor_.post_immediate_completion(op, is_continuation);
- }
-}
-
-void reactive_socket_service_base::start_connect_op(
- reactive_socket_service_base::base_implementation_type& impl,
- reactor_op* op, bool is_continuation,
- const socket_addr_type* addr, size_t addrlen)
-{
- if ((impl.state_ & socket_ops::non_blocking)
- || socket_ops::set_internal_non_blocking(
- impl.socket_, impl.state_, true, op->ec_))
- {
- if (socket_ops::connect(impl.socket_, addr, addrlen, op->ec_) != 0)
- {
- if (op->ec_ == boost::asio::error::in_progress
- || op->ec_ == boost::asio::error::would_block)
- {
- op->ec_ = boost::system::error_code();
- reactor_.start_op(reactor::connect_op, impl.socket_,
- impl.reactor_data_, op, is_continuation, false);
- return;
- }
- }
- }
-
- reactor_.post_immediate_completion(op, is_continuation);
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_HAS_IOCP)
- // && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_REACTIVE_SOCKET_SERVICE_BASE_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp
deleted file mode 100644
index 144e2a1753..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/resolver_service_base.ipp
+++ /dev/null
@@ -1,156 +0,0 @@
-//
-// detail/impl/resolver_service_base.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_RESOLVER_SERVICE_BASE_IPP
-#define BOOST_ASIO_DETAIL_IMPL_RESOLVER_SERVICE_BASE_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/resolver_service_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class resolver_service_base::work_io_context_runner
-{
-public:
- work_io_context_runner(boost::asio::io_context& io_context)
- : io_context_(io_context) {}
- void operator()() { io_context_.run(); }
-private:
- boost::asio::io_context& io_context_;
-};
-
-resolver_service_base::resolver_service_base(
- boost::asio::io_context& io_context)
- : io_context_impl_(boost::asio::use_service<io_context_impl>(io_context)),
- work_io_context_(new boost::asio::io_context(-1)),
- work_io_context_impl_(boost::asio::use_service<
- io_context_impl>(*work_io_context_)),
- work_(boost::asio::make_work_guard(*work_io_context_)),
- work_thread_(0)
-{
-}
-
-resolver_service_base::~resolver_service_base()
-{
- base_shutdown();
-}
-
-void resolver_service_base::base_shutdown()
-{
- work_.reset();
- if (work_io_context_.get())
- {
- work_io_context_->stop();
- if (work_thread_.get())
- {
- work_thread_->join();
- work_thread_.reset();
- }
- work_io_context_.reset();
- }
-}
-
-void resolver_service_base::base_notify_fork(
- boost::asio::io_context::fork_event fork_ev)
-{
- if (work_thread_.get())
- {
- if (fork_ev == boost::asio::io_context::fork_prepare)
- {
- work_io_context_->stop();
- work_thread_->join();
- }
- else
- {
- work_io_context_->restart();
- work_thread_.reset(new boost::asio::detail::thread(
- work_io_context_runner(*work_io_context_)));
- }
- }
-}
-
-void resolver_service_base::construct(
- resolver_service_base::implementation_type& impl)
-{
- impl.reset(static_cast<void*>(0), socket_ops::noop_deleter());
-}
-
-void resolver_service_base::destroy(
- resolver_service_base::implementation_type& impl)
-{
- BOOST_ASIO_HANDLER_OPERATION((io_context_impl_.context(),
- "resolver", &impl, 0, "cancel"));
-
- impl.reset();
-}
-
-void resolver_service_base::move_construct(implementation_type& impl,
- implementation_type& other_impl)
-{
- impl = BOOST_ASIO_MOVE_CAST(implementation_type)(other_impl);
-}
-
-void resolver_service_base::move_assign(implementation_type& impl,
- resolver_service_base&, implementation_type& other_impl)
-{
- destroy(impl);
- impl = BOOST_ASIO_MOVE_CAST(implementation_type)(other_impl);
-}
-
-void resolver_service_base::cancel(
- resolver_service_base::implementation_type& impl)
-{
- BOOST_ASIO_HANDLER_OPERATION((io_context_impl_.context(),
- "resolver", &impl, 0, "cancel"));
-
- impl.reset(static_cast<void*>(0), socket_ops::noop_deleter());
-}
-
-void resolver_service_base::start_resolve_op(resolve_op* op)
-{
- if (BOOST_ASIO_CONCURRENCY_HINT_IS_LOCKING(SCHEDULER,
- io_context_impl_.concurrency_hint()))
- {
- start_work_thread();
- io_context_impl_.work_started();
- work_io_context_impl_.post_immediate_completion(op, false);
- }
- else
- {
- op->ec_ = boost::asio::error::operation_not_supported;
- io_context_impl_.post_immediate_completion(op, false);
- }
-}
-
-void resolver_service_base::start_work_thread()
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- if (!work_thread_.get())
- {
- work_thread_.reset(new boost::asio::detail::thread(
- work_io_context_runner(*work_io_context_)));
- }
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_IMPL_RESOLVER_SERVICE_BASE_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp
deleted file mode 100644
index 9dae6836ce..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/scheduler.ipp
+++ /dev/null
@@ -1,573 +0,0 @@
-//
-// detail/impl/scheduler.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_SCHEDULER_IPP
-#define BOOST_ASIO_DETAIL_IMPL_SCHEDULER_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#include <boost/asio/detail/concurrency_hint.hpp>
-#include <boost/asio/detail/event.hpp>
-#include <boost/asio/detail/limits.hpp>
-#include <boost/asio/detail/reactor.hpp>
-#include <boost/asio/detail/scheduler.hpp>
-#include <boost/asio/detail/scheduler_thread_info.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-struct scheduler::task_cleanup
-{
- ~task_cleanup()
- {
- if (this_thread_->private_outstanding_work > 0)
- {
- boost::asio::detail::increment(
- scheduler_->outstanding_work_,
- this_thread_->private_outstanding_work);
- }
- this_thread_->private_outstanding_work = 0;
-
- // Enqueue the completed operations and reinsert the task at the end of
- // the operation queue.
- lock_->lock();
- scheduler_->task_interrupted_ = true;
- scheduler_->op_queue_.push(this_thread_->private_op_queue);
- scheduler_->op_queue_.push(&scheduler_->task_operation_);
- }
-
- scheduler* scheduler_;
- mutex::scoped_lock* lock_;
- thread_info* this_thread_;
-};
-
-struct scheduler::work_cleanup
-{
- ~work_cleanup()
- {
- if (this_thread_->private_outstanding_work > 1)
- {
- boost::asio::detail::increment(
- scheduler_->outstanding_work_,
- this_thread_->private_outstanding_work - 1);
- }
- else if (this_thread_->private_outstanding_work < 1)
- {
- scheduler_->work_finished();
- }
- this_thread_->private_outstanding_work = 0;
-
-#if defined(BOOST_ASIO_HAS_THREADS)
- if (!this_thread_->private_op_queue.empty())
- {
- lock_->lock();
- scheduler_->op_queue_.push(this_thread_->private_op_queue);
- }
-#endif // defined(BOOST_ASIO_HAS_THREADS)
- }
-
- scheduler* scheduler_;
- mutex::scoped_lock* lock_;
- thread_info* this_thread_;
-};
-
-scheduler::scheduler(
- boost::asio::execution_context& ctx, int concurrency_hint)
- : boost::asio::detail::execution_context_service_base<scheduler>(ctx),
- one_thread_(concurrency_hint == 1
- || !BOOST_ASIO_CONCURRENCY_HINT_IS_LOCKING(
- SCHEDULER, concurrency_hint)
- || !BOOST_ASIO_CONCURRENCY_HINT_IS_LOCKING(
- REACTOR_IO, concurrency_hint)),
- mutex_(BOOST_ASIO_CONCURRENCY_HINT_IS_LOCKING(
- SCHEDULER, concurrency_hint)),
- task_(0),
- task_interrupted_(true),
- outstanding_work_(0),
- stopped_(false),
- shutdown_(false),
- concurrency_hint_(concurrency_hint)
-{
- BOOST_ASIO_HANDLER_TRACKING_INIT;
-}
-
-void scheduler::shutdown()
-{
- mutex::scoped_lock lock(mutex_);
- shutdown_ = true;
- lock.unlock();
-
- // Destroy handler objects.
- while (!op_queue_.empty())
- {
- operation* o = op_queue_.front();
- op_queue_.pop();
- if (o != &task_operation_)
- o->destroy();
- }
-
- // Reset to initial state.
- task_ = 0;
-}
-
-void scheduler::init_task()
-{
- mutex::scoped_lock lock(mutex_);
- if (!shutdown_ && !task_)
- {
- task_ = &use_service<reactor>(this->context());
- op_queue_.push(&task_operation_);
- wake_one_thread_and_unlock(lock);
- }
-}
-
-std::size_t scheduler::run(boost::system::error_code& ec)
-{
- ec = boost::system::error_code();
- if (outstanding_work_ == 0)
- {
- stop();
- return 0;
- }
-
- thread_info this_thread;
- this_thread.private_outstanding_work = 0;
- thread_call_stack::context ctx(this, this_thread);
-
- mutex::scoped_lock lock(mutex_);
-
- std::size_t n = 0;
- for (; do_run_one(lock, this_thread, ec); lock.lock())
- if (n != (std::numeric_limits<std::size_t>::max)())
- ++n;
- return n;
-}
-
-std::size_t scheduler::run_one(boost::system::error_code& ec)
-{
- ec = boost::system::error_code();
- if (outstanding_work_ == 0)
- {
- stop();
- return 0;
- }
-
- thread_info this_thread;
- this_thread.private_outstanding_work = 0;
- thread_call_stack::context ctx(this, this_thread);
-
- mutex::scoped_lock lock(mutex_);
-
- return do_run_one(lock, this_thread, ec);
-}
-
-std::size_t scheduler::wait_one(long usec, boost::system::error_code& ec)
-{
- ec = boost::system::error_code();
- if (outstanding_work_ == 0)
- {
- stop();
- return 0;
- }
-
- thread_info this_thread;
- this_thread.private_outstanding_work = 0;
- thread_call_stack::context ctx(this, this_thread);
-
- mutex::scoped_lock lock(mutex_);
-
- return do_wait_one(lock, this_thread, usec, ec);
-}
-
-std::size_t scheduler::poll(boost::system::error_code& ec)
-{
- ec = boost::system::error_code();
- if (outstanding_work_ == 0)
- {
- stop();
- return 0;
- }
-
- thread_info this_thread;
- this_thread.private_outstanding_work = 0;
- thread_call_stack::context ctx(this, this_thread);
-
- mutex::scoped_lock lock(mutex_);
-
-#if defined(BOOST_ASIO_HAS_THREADS)
- // We want to support nested calls to poll() and poll_one(), so any handlers
- // that are already on a thread-private queue need to be put on to the main
- // queue now.
- if (one_thread_)
- if (thread_info* outer_info = static_cast<thread_info*>(ctx.next_by_key()))
- op_queue_.push(outer_info->private_op_queue);
-#endif // defined(BOOST_ASIO_HAS_THREADS)
-
- std::size_t n = 0;
- for (; do_poll_one(lock, this_thread, ec); lock.lock())
- if (n != (std::numeric_limits<std::size_t>::max)())
- ++n;
- return n;
-}
-
-std::size_t scheduler::poll_one(boost::system::error_code& ec)
-{
- ec = boost::system::error_code();
- if (outstanding_work_ == 0)
- {
- stop();
- return 0;
- }
-
- thread_info this_thread;
- this_thread.private_outstanding_work = 0;
- thread_call_stack::context ctx(this, this_thread);
-
- mutex::scoped_lock lock(mutex_);
-
-#if defined(BOOST_ASIO_HAS_THREADS)
- // We want to support nested calls to poll() and poll_one(), so any handlers
- // that are already on a thread-private queue need to be put on to the main
- // queue now.
- if (one_thread_)
- if (thread_info* outer_info = static_cast<thread_info*>(ctx.next_by_key()))
- op_queue_.push(outer_info->private_op_queue);
-#endif // defined(BOOST_ASIO_HAS_THREADS)
-
- return do_poll_one(lock, this_thread, ec);
-}
-
-void scheduler::stop()
-{
- mutex::scoped_lock lock(mutex_);
- stop_all_threads(lock);
-}
-
-bool scheduler::stopped() const
-{
- mutex::scoped_lock lock(mutex_);
- return stopped_;
-}
-
-void scheduler::restart()
-{
- mutex::scoped_lock lock(mutex_);
- stopped_ = false;
-}
-
-void scheduler::compensating_work_started()
-{
- thread_info_base* this_thread = thread_call_stack::contains(this);
- ++static_cast<thread_info*>(this_thread)->private_outstanding_work;
-}
-
-void scheduler::post_immediate_completion(
- scheduler::operation* op, bool is_continuation)
-{
-#if defined(BOOST_ASIO_HAS_THREADS)
- if (one_thread_ || is_continuation)
- {
- if (thread_info_base* this_thread = thread_call_stack::contains(this))
- {
- ++static_cast<thread_info*>(this_thread)->private_outstanding_work;
- static_cast<thread_info*>(this_thread)->private_op_queue.push(op);
- return;
- }
- }
-#else // defined(BOOST_ASIO_HAS_THREADS)
- (void)is_continuation;
-#endif // defined(BOOST_ASIO_HAS_THREADS)
-
- work_started();
- mutex::scoped_lock lock(mutex_);
- op_queue_.push(op);
- wake_one_thread_and_unlock(lock);
-}
-
-void scheduler::post_deferred_completion(scheduler::operation* op)
-{
-#if defined(BOOST_ASIO_HAS_THREADS)
- if (one_thread_)
- {
- if (thread_info_base* this_thread = thread_call_stack::contains(this))
- {
- static_cast<thread_info*>(this_thread)->private_op_queue.push(op);
- return;
- }
- }
-#endif // defined(BOOST_ASIO_HAS_THREADS)
-
- mutex::scoped_lock lock(mutex_);
- op_queue_.push(op);
- wake_one_thread_and_unlock(lock);
-}
-
-void scheduler::post_deferred_completions(
- op_queue<scheduler::operation>& ops)
-{
- if (!ops.empty())
- {
-#if defined(BOOST_ASIO_HAS_THREADS)
- if (one_thread_)
- {
- if (thread_info_base* this_thread = thread_call_stack::contains(this))
- {
- static_cast<thread_info*>(this_thread)->private_op_queue.push(ops);
- return;
- }
- }
-#endif // defined(BOOST_ASIO_HAS_THREADS)
-
- mutex::scoped_lock lock(mutex_);
- op_queue_.push(ops);
- wake_one_thread_and_unlock(lock);
- }
-}
-
-void scheduler::do_dispatch(
- scheduler::operation* op)
-{
- work_started();
- mutex::scoped_lock lock(mutex_);
- op_queue_.push(op);
- wake_one_thread_and_unlock(lock);
-}
-
-void scheduler::abandon_operations(
- op_queue<scheduler::operation>& ops)
-{
- op_queue<scheduler::operation> ops2;
- ops2.push(ops);
-}
-
-std::size_t scheduler::do_run_one(mutex::scoped_lock& lock,
- scheduler::thread_info& this_thread,
- const boost::system::error_code& ec)
-{
- while (!stopped_)
- {
- if (!op_queue_.empty())
- {
- // Prepare to execute first handler from queue.
- operation* o = op_queue_.front();
- op_queue_.pop();
- bool more_handlers = (!op_queue_.empty());
-
- if (o == &task_operation_)
- {
- task_interrupted_ = more_handlers;
-
- if (more_handlers && !one_thread_)
- wakeup_event_.unlock_and_signal_one(lock);
- else
- lock.unlock();
-
- task_cleanup on_exit = { this, &lock, &this_thread };
- (void)on_exit;
-
- // Run the task. May throw an exception. Only block if the operation
- // queue is empty and we're not polling, otherwise we want to return
- // as soon as possible.
- task_->run(more_handlers ? 0 : -1, this_thread.private_op_queue);
- }
- else
- {
- std::size_t task_result = o->task_result_;
-
- if (more_handlers && !one_thread_)
- wake_one_thread_and_unlock(lock);
- else
- lock.unlock();
-
- // Ensure the count of outstanding work is decremented on block exit.
- work_cleanup on_exit = { this, &lock, &this_thread };
- (void)on_exit;
-
- // Complete the operation. May throw an exception. Deletes the object.
- o->complete(this, ec, task_result);
-
- return 1;
- }
- }
- else
- {
- wakeup_event_.clear(lock);
- wakeup_event_.wait(lock);
- }
- }
-
- return 0;
-}
-
-std::size_t scheduler::do_wait_one(mutex::scoped_lock& lock,
- scheduler::thread_info& this_thread, long usec,
- const boost::system::error_code& ec)
-{
- if (stopped_)
- return 0;
-
- operation* o = op_queue_.front();
- if (o == 0)
- {
- wakeup_event_.clear(lock);
- wakeup_event_.wait_for_usec(lock, usec);
- usec = 0; // Wait at most once.
- o = op_queue_.front();
- }
-
- if (o == &task_operation_)
- {
- op_queue_.pop();
- bool more_handlers = (!op_queue_.empty());
-
- task_interrupted_ = more_handlers;
-
- if (more_handlers && !one_thread_)
- wakeup_event_.unlock_and_signal_one(lock);
- else
- lock.unlock();
-
- {
- task_cleanup on_exit = { this, &lock, &this_thread };
- (void)on_exit;
-
- // Run the task. May throw an exception. Only block if the operation
- // queue is empty and we're not polling, otherwise we want to return
- // as soon as possible.
- task_->run(more_handlers ? 0 : usec, this_thread.private_op_queue);
- }
-
- o = op_queue_.front();
- if (o == &task_operation_)
- {
- if (!one_thread_)
- wakeup_event_.maybe_unlock_and_signal_one(lock);
- return 0;
- }
- }
-
- if (o == 0)
- return 0;
-
- op_queue_.pop();
- bool more_handlers = (!op_queue_.empty());
-
- std::size_t task_result = o->task_result_;
-
- if (more_handlers && !one_thread_)
- wake_one_thread_and_unlock(lock);
- else
- lock.unlock();
-
- // Ensure the count of outstanding work is decremented on block exit.
- work_cleanup on_exit = { this, &lock, &this_thread };
- (void)on_exit;
-
- // Complete the operation. May throw an exception. Deletes the object.
- o->complete(this, ec, task_result);
-
- return 1;
-}
-
-std::size_t scheduler::do_poll_one(mutex::scoped_lock& lock,
- scheduler::thread_info& this_thread,
- const boost::system::error_code& ec)
-{
- if (stopped_)
- return 0;
-
- operation* o = op_queue_.front();
- if (o == &task_operation_)
- {
- op_queue_.pop();
- lock.unlock();
-
- {
- task_cleanup c = { this, &lock, &this_thread };
- (void)c;
-
- // Run the task. May throw an exception. Only block if the operation
- // queue is empty and we're not polling, otherwise we want to return
- // as soon as possible.
- task_->run(0, this_thread.private_op_queue);
- }
-
- o = op_queue_.front();
- if (o == &task_operation_)
- {
- wakeup_event_.maybe_unlock_and_signal_one(lock);
- return 0;
- }
- }
-
- if (o == 0)
- return 0;
-
- op_queue_.pop();
- bool more_handlers = (!op_queue_.empty());
-
- std::size_t task_result = o->task_result_;
-
- if (more_handlers && !one_thread_)
- wake_one_thread_and_unlock(lock);
- else
- lock.unlock();
-
- // Ensure the count of outstanding work is decremented on block exit.
- work_cleanup on_exit = { this, &lock, &this_thread };
- (void)on_exit;
-
- // Complete the operation. May throw an exception. Deletes the object.
- o->complete(this, ec, task_result);
-
- return 1;
-}
-
-void scheduler::stop_all_threads(
- mutex::scoped_lock& lock)
-{
- stopped_ = true;
- wakeup_event_.signal_all(lock);
-
- if (!task_interrupted_ && task_)
- {
- task_interrupted_ = true;
- task_->interrupt();
- }
-}
-
-void scheduler::wake_one_thread_and_unlock(
- mutex::scoped_lock& lock)
-{
- if (!wakeup_event_.maybe_unlock_and_signal_one(lock))
- {
- if (!task_interrupted_ && task_)
- {
- task_interrupted_ = true;
- task_->interrupt();
- }
- lock.unlock();
- }
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_IMPL_SCHEDULER_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp
deleted file mode 100644
index 0fbaeb9ced..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-//
-// detail/impl/select_reactor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_SELECT_REACTOR_HPP
-#define BOOST_ASIO_DETAIL_IMPL_SELECT_REACTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP) \
- || (!defined(BOOST_ASIO_HAS_DEV_POLL) \
- && !defined(BOOST_ASIO_HAS_EPOLL) \
- && !defined(BOOST_ASIO_HAS_KQUEUE) \
- && !defined(BOOST_ASIO_WINDOWS_RUNTIME))
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Time_Traits>
-void select_reactor::add_timer_queue(timer_queue<Time_Traits>& queue)
-{
- do_add_timer_queue(queue);
-}
-
-// Remove a timer queue from the reactor.
-template <typename Time_Traits>
-void select_reactor::remove_timer_queue(timer_queue<Time_Traits>& queue)
-{
- do_remove_timer_queue(queue);
-}
-
-template <typename Time_Traits>
-void select_reactor::schedule_timer(timer_queue<Time_Traits>& queue,
- const typename Time_Traits::time_type& time,
- typename timer_queue<Time_Traits>::per_timer_data& timer, wait_op* op)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- if (shutdown_)
- {
- scheduler_.post_immediate_completion(op, false);
- return;
- }
-
- bool earliest = queue.enqueue_timer(time, timer, op);
- scheduler_.work_started();
- if (earliest)
- interrupter_.interrupt();
-}
-
-template <typename Time_Traits>
-std::size_t select_reactor::cancel_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& timer,
- std::size_t max_cancelled)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- op_queue<operation> ops;
- std::size_t n = queue.cancel_timer(timer, ops, max_cancelled);
- lock.unlock();
- scheduler_.post_deferred_completions(ops);
- return n;
-}
-
-template <typename Time_Traits>
-void select_reactor::move_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& target,
- typename timer_queue<Time_Traits>::per_timer_data& source)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- op_queue<operation> ops;
- queue.cancel_timer(target, ops);
- queue.move_timer(target, source);
- lock.unlock();
- scheduler_.post_deferred_completions(ops);
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
- // || (!defined(BOOST_ASIO_HAS_DEV_POLL)
- // && !defined(BOOST_ASIO_HAS_EPOLL)
- // && !defined(BOOST_ASIO_HAS_KQUEUE)
- // && !defined(BOOST_ASIO_WINDOWS_RUNTIME))
-
-#endif // BOOST_ASIO_DETAIL_IMPL_SELECT_REACTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp
deleted file mode 100644
index 4f1f5a8303..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/select_reactor.ipp
+++ /dev/null
@@ -1,335 +0,0 @@
-//
-// detail/impl/select_reactor.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_SELECT_REACTOR_IPP
-#define BOOST_ASIO_DETAIL_IMPL_SELECT_REACTOR_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP) \
- || (!defined(BOOST_ASIO_HAS_DEV_POLL) \
- && !defined(BOOST_ASIO_HAS_EPOLL) \
- && !defined(BOOST_ASIO_HAS_KQUEUE) \
- && !defined(BOOST_ASIO_WINDOWS_RUNTIME))
-
-#include <boost/asio/detail/fd_set_adapter.hpp>
-#include <boost/asio/detail/select_reactor.hpp>
-#include <boost/asio/detail/signal_blocker.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-class select_reactor::thread_function
-{
-public:
- explicit thread_function(select_reactor* r)
- : this_(r)
- {
- }
-
- void operator()()
- {
- this_->run_thread();
- }
-
-private:
- select_reactor* this_;
-};
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-select_reactor::select_reactor(boost::asio::execution_context& ctx)
- : execution_context_service_base<select_reactor>(ctx),
- scheduler_(use_service<scheduler_type>(ctx)),
- mutex_(),
- interrupter_(),
-#if defined(BOOST_ASIO_HAS_IOCP)
- stop_thread_(false),
- thread_(0),
-#endif // defined(BOOST_ASIO_HAS_IOCP)
- shutdown_(false)
-{
-#if defined(BOOST_ASIO_HAS_IOCP)
- boost::asio::detail::signal_blocker sb;
- thread_ = new boost::asio::detail::thread(thread_function(this));
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-}
-
-select_reactor::~select_reactor()
-{
- shutdown();
-}
-
-void select_reactor::shutdown()
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- shutdown_ = true;
-#if defined(BOOST_ASIO_HAS_IOCP)
- stop_thread_ = true;
-#endif // defined(BOOST_ASIO_HAS_IOCP)
- lock.unlock();
-
-#if defined(BOOST_ASIO_HAS_IOCP)
- if (thread_)
- {
- interrupter_.interrupt();
- thread_->join();
- delete thread_;
- thread_ = 0;
- }
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
- op_queue<operation> ops;
-
- for (int i = 0; i < max_ops; ++i)
- op_queue_[i].get_all_operations(ops);
-
- timer_queues_.get_all_timers(ops);
-
- scheduler_.abandon_operations(ops);
-}
-
-void select_reactor::notify_fork(
- boost::asio::execution_context::fork_event fork_ev)
-{
- if (fork_ev == boost::asio::execution_context::fork_child)
- interrupter_.recreate();
-}
-
-void select_reactor::init_task()
-{
- scheduler_.init_task();
-}
-
-int select_reactor::register_descriptor(socket_type,
- select_reactor::per_descriptor_data&)
-{
- return 0;
-}
-
-int select_reactor::register_internal_descriptor(
- int op_type, socket_type descriptor,
- select_reactor::per_descriptor_data&, reactor_op* op)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- op_queue_[op_type].enqueue_operation(descriptor, op);
- interrupter_.interrupt();
-
- return 0;
-}
-
-void select_reactor::move_descriptor(socket_type,
- select_reactor::per_descriptor_data&,
- select_reactor::per_descriptor_data&)
-{
-}
-
-void select_reactor::start_op(int op_type, socket_type descriptor,
- select_reactor::per_descriptor_data&, reactor_op* op,
- bool is_continuation, bool)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- if (shutdown_)
- {
- post_immediate_completion(op, is_continuation);
- return;
- }
-
- bool first = op_queue_[op_type].enqueue_operation(descriptor, op);
- scheduler_.work_started();
- if (first)
- interrupter_.interrupt();
-}
-
-void select_reactor::cancel_ops(socket_type descriptor,
- select_reactor::per_descriptor_data&)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- cancel_ops_unlocked(descriptor, boost::asio::error::operation_aborted);
-}
-
-void select_reactor::deregister_descriptor(socket_type descriptor,
- select_reactor::per_descriptor_data&, bool)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- cancel_ops_unlocked(descriptor, boost::asio::error::operation_aborted);
-}
-
-void select_reactor::deregister_internal_descriptor(
- socket_type descriptor, select_reactor::per_descriptor_data&)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- op_queue<operation> ops;
- for (int i = 0; i < max_ops; ++i)
- op_queue_[i].cancel_operations(descriptor, ops);
-}
-
-void select_reactor::cleanup_descriptor_data(
- select_reactor::per_descriptor_data&)
-{
-}
-
-void select_reactor::run(long usec, op_queue<operation>& ops)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
-#if defined(BOOST_ASIO_HAS_IOCP)
- // Check if the thread is supposed to stop.
- if (stop_thread_)
- return;
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
- // Set up the descriptor sets.
- for (int i = 0; i < max_select_ops; ++i)
- fd_sets_[i].reset();
- fd_sets_[read_op].set(interrupter_.read_descriptor());
- socket_type max_fd = 0;
- bool have_work_to_do = !timer_queues_.all_empty();
- for (int i = 0; i < max_select_ops; ++i)
- {
- have_work_to_do = have_work_to_do || !op_queue_[i].empty();
- fd_sets_[i].set(op_queue_[i], ops);
- if (fd_sets_[i].max_descriptor() > max_fd)
- max_fd = fd_sets_[i].max_descriptor();
- }
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- // Connection operations on Windows use both except and write fd_sets.
- have_work_to_do = have_work_to_do || !op_queue_[connect_op].empty();
- fd_sets_[write_op].set(op_queue_[connect_op], ops);
- if (fd_sets_[write_op].max_descriptor() > max_fd)
- max_fd = fd_sets_[write_op].max_descriptor();
- fd_sets_[except_op].set(op_queue_[connect_op], ops);
- if (fd_sets_[except_op].max_descriptor() > max_fd)
- max_fd = fd_sets_[except_op].max_descriptor();
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
- // We can return immediately if there's no work to do and the reactor is
- // not supposed to block.
- if (!usec && !have_work_to_do)
- return;
-
- // Determine how long to block while waiting for events.
- timeval tv_buf = { 0, 0 };
- timeval* tv = usec ? get_timeout(usec, tv_buf) : &tv_buf;
-
- lock.unlock();
-
- // Block on the select call until descriptors become ready.
- boost::system::error_code ec;
- int retval = socket_ops::select(static_cast<int>(max_fd + 1),
- fd_sets_[read_op], fd_sets_[write_op], fd_sets_[except_op], tv, ec);
-
- // Reset the interrupter.
- if (retval > 0 && fd_sets_[read_op].is_set(interrupter_.read_descriptor()))
- {
- interrupter_.reset();
- --retval;
- }
-
- lock.lock();
-
- // Dispatch all ready operations.
- if (retval > 0)
- {
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- // Connection operations on Windows use both except and write fd_sets.
- fd_sets_[except_op].perform(op_queue_[connect_op], ops);
- fd_sets_[write_op].perform(op_queue_[connect_op], ops);
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
- // Exception operations must be processed first to ensure that any
- // out-of-band data is read before normal data.
- for (int i = max_select_ops - 1; i >= 0; --i)
- fd_sets_[i].perform(op_queue_[i], ops);
- }
- timer_queues_.get_ready_timers(ops);
-}
-
-void select_reactor::interrupt()
-{
- interrupter_.interrupt();
-}
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-void select_reactor::run_thread()
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- while (!stop_thread_)
- {
- lock.unlock();
- op_queue<operation> ops;
- run(true, ops);
- scheduler_.post_deferred_completions(ops);
- lock.lock();
- }
-}
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-void select_reactor::do_add_timer_queue(timer_queue_base& queue)
-{
- mutex::scoped_lock lock(mutex_);
- timer_queues_.insert(&queue);
-}
-
-void select_reactor::do_remove_timer_queue(timer_queue_base& queue)
-{
- mutex::scoped_lock lock(mutex_);
- timer_queues_.erase(&queue);
-}
-
-timeval* select_reactor::get_timeout(long usec, timeval& tv)
-{
- // By default we will wait no longer than 5 minutes. This will ensure that
- // any changes to the system clock are detected after no longer than this.
- const long max_usec = 5 * 60 * 1000 * 1000;
- usec = timer_queues_.wait_duration_usec(
- (usec < 0 || max_usec < usec) ? max_usec : usec);
- tv.tv_sec = usec / 1000000;
- tv.tv_usec = usec % 1000000;
- return &tv;
-}
-
-void select_reactor::cancel_ops_unlocked(socket_type descriptor,
- const boost::system::error_code& ec)
-{
- bool need_interrupt = false;
- op_queue<operation> ops;
- for (int i = 0; i < max_ops; ++i)
- need_interrupt = op_queue_[i].cancel_operations(
- descriptor, ops, ec) || need_interrupt;
- scheduler_.post_deferred_completions(ops);
- if (need_interrupt)
- interrupter_.interrupt();
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
- // || (!defined(BOOST_ASIO_HAS_DEV_POLL)
- // && !defined(BOOST_ASIO_HAS_EPOLL)
- // && !defined(BOOST_ASIO_HAS_KQUEUE))
- // && !defined(BOOST_ASIO_WINDOWS_RUNTIME))
-
-#endif // BOOST_ASIO_DETAIL_IMPL_SELECT_REACTOR_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp
deleted file mode 100644
index c50614410e..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-//
-// detail/impl/service_registry.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_SERVICE_REGISTRY_HPP
-#define BOOST_ASIO_DETAIL_IMPL_SERVICE_REGISTRY_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Service>
-Service& service_registry::use_service()
-{
- execution_context::service::key key;
- init_key<Service>(key, 0);
- factory_type factory = &service_registry::create<Service, execution_context>;
- return *static_cast<Service*>(do_use_service(key, factory, &owner_));
-}
-
-template <typename Service>
-Service& service_registry::use_service(io_context& owner)
-{
- execution_context::service::key key;
- init_key<Service>(key, 0);
- factory_type factory = &service_registry::create<Service, io_context>;
- return *static_cast<Service*>(do_use_service(key, factory, &owner));
-}
-
-template <typename Service>
-void service_registry::add_service(Service* new_service)
-{
- execution_context::service::key key;
- init_key<Service>(key, 0);
- return do_add_service(key, new_service);
-}
-
-template <typename Service>
-bool service_registry::has_service() const
-{
- execution_context::service::key key;
- init_key<Service>(key, 0);
- return do_has_service(key);
-}
-
-template <typename Service>
-inline void service_registry::init_key(
- execution_context::service::key& key, ...)
-{
- init_key_from_id(key, Service::id);
-}
-
-#if !defined(BOOST_ASIO_NO_TYPEID)
-template <typename Service>
-void service_registry::init_key(execution_context::service::key& key,
- typename enable_if<
- is_base_of<typename Service::key_type, Service>::value>::type*)
-{
- key.type_info_ = &typeid(typeid_wrapper<Service>);
- key.id_ = 0;
-}
-
-template <typename Service>
-void service_registry::init_key_from_id(execution_context::service::key& key,
- const service_id<Service>& /*id*/)
-{
- key.type_info_ = &typeid(typeid_wrapper<Service>);
- key.id_ = 0;
-}
-#endif // !defined(BOOST_ASIO_NO_TYPEID)
-
-template <typename Service, typename Owner>
-execution_context::service* service_registry::create(void* owner)
-{
- return new Service(*static_cast<Owner*>(owner));
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_IMPL_SERVICE_REGISTRY_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp
deleted file mode 100644
index abdcd6a01a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/service_registry.ipp
+++ /dev/null
@@ -1,199 +0,0 @@
-//
-// detail/impl/service_registry.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_SERVICE_REGISTRY_IPP
-#define BOOST_ASIO_DETAIL_IMPL_SERVICE_REGISTRY_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <vector>
-#include <boost/asio/detail/service_registry.hpp>
-#include <boost/asio/detail/throw_exception.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-service_registry::service_registry(execution_context& owner)
- : owner_(owner),
- first_service_(0)
-{
-}
-
-service_registry::~service_registry()
-{
-}
-
-void service_registry::shutdown_services()
-{
- execution_context::service* service = first_service_;
- while (service)
- {
- service->shutdown();
- service = service->next_;
- }
-}
-
-void service_registry::destroy_services()
-{
- while (first_service_)
- {
- execution_context::service* next_service = first_service_->next_;
- destroy(first_service_);
- first_service_ = next_service;
- }
-}
-
-void service_registry::notify_fork(execution_context::fork_event fork_ev)
-{
- // Make a copy of all of the services while holding the lock. We don't want
- // to hold the lock while calling into each service, as it may try to call
- // back into this class.
- std::vector<execution_context::service*> services;
- {
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- execution_context::service* service = first_service_;
- while (service)
- {
- services.push_back(service);
- service = service->next_;
- }
- }
-
- // If processing the fork_prepare event, we want to go in reverse order of
- // service registration, which happens to be the existing order of the
- // services in the vector. For the other events we want to go in the other
- // direction.
- std::size_t num_services = services.size();
- if (fork_ev == execution_context::fork_prepare)
- for (std::size_t i = 0; i < num_services; ++i)
- services[i]->notify_fork(fork_ev);
- else
- for (std::size_t i = num_services; i > 0; --i)
- services[i - 1]->notify_fork(fork_ev);
-}
-
-void service_registry::init_key_from_id(execution_context::service::key& key,
- const execution_context::id& id)
-{
- key.type_info_ = 0;
- key.id_ = &id;
-}
-
-bool service_registry::keys_match(
- const execution_context::service::key& key1,
- const execution_context::service::key& key2)
-{
- if (key1.id_ && key2.id_)
- if (key1.id_ == key2.id_)
- return true;
- if (key1.type_info_ && key2.type_info_)
- if (*key1.type_info_ == *key2.type_info_)
- return true;
- return false;
-}
-
-void service_registry::destroy(execution_context::service* service)
-{
- delete service;
-}
-
-execution_context::service* service_registry::do_use_service(
- const execution_context::service::key& key,
- factory_type factory, void* owner)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- // First see if there is an existing service object with the given key.
- execution_context::service* service = first_service_;
- while (service)
- {
- if (keys_match(service->key_, key))
- return service;
- service = service->next_;
- }
-
- // Create a new service object. The service registry's mutex is not locked
- // at this time to allow for nested calls into this function from the new
- // service's constructor.
- lock.unlock();
- auto_service_ptr new_service = { factory(owner) };
- new_service.ptr_->key_ = key;
- lock.lock();
-
- // Check that nobody else created another service object of the same type
- // while the lock was released.
- service = first_service_;
- while (service)
- {
- if (keys_match(service->key_, key))
- return service;
- service = service->next_;
- }
-
- // Service was successfully initialised, pass ownership to registry.
- new_service.ptr_->next_ = first_service_;
- first_service_ = new_service.ptr_;
- new_service.ptr_ = 0;
- return first_service_;
-}
-
-void service_registry::do_add_service(
- const execution_context::service::key& key,
- execution_context::service* new_service)
-{
- if (&owner_ != &new_service->context())
- boost::asio::detail::throw_exception(invalid_service_owner());
-
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- // Check if there is an existing service object with the given key.
- execution_context::service* service = first_service_;
- while (service)
- {
- if (keys_match(service->key_, key))
- boost::asio::detail::throw_exception(service_already_exists());
- service = service->next_;
- }
-
- // Take ownership of the service object.
- new_service->key_ = key;
- new_service->next_ = first_service_;
- first_service_ = new_service;
-}
-
-bool service_registry::do_has_service(
- const execution_context::service::key& key) const
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- execution_context::service* service = first_service_;
- while (service)
- {
- if (keys_match(service->key_, key))
- return true;
- service = service->next_;
- }
-
- return false;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_IMPL_SERVICE_REGISTRY_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp
deleted file mode 100644
index 3442ac3de1..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_ops.ipp
+++ /dev/null
@@ -1,3573 +0,0 @@
-//
-// detail/impl/socket_ops.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SOCKET_OPS_IPP
-#define BOOST_ASIO_DETAIL_SOCKET_OPS_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#include <cctype>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <cerrno>
-#include <new>
-#include <boost/asio/detail/assert.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/error.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# include <codecvt>
-# include <locale>
-# include <string>
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) \
- || defined(__MACH__) && defined(__APPLE__)
-# if defined(BOOST_ASIO_HAS_PTHREADS)
-# include <pthread.h>
-# endif // defined(BOOST_ASIO_HAS_PTHREADS)
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- // || defined(__MACH__) && defined(__APPLE__)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-namespace socket_ops {
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-struct msghdr { int msg_namelen; };
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-#if defined(__hpux)
-// HP-UX doesn't declare these functions extern "C", so they are declared again
-// here to avoid linker errors about undefined symbols.
-extern "C" char* if_indextoname(unsigned int, char*);
-extern "C" unsigned int if_nametoindex(const char*);
-#endif // defined(__hpux)
-
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-inline void clear_last_error()
-{
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- WSASetLastError(0);
-#else
- errno = 0;
-#endif
-}
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-template <typename ReturnType>
-inline ReturnType error_wrapper(ReturnType return_value,
- boost::system::error_code& ec)
-{
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- ec = boost::system::error_code(WSAGetLastError(),
- boost::asio::error::get_system_category());
-#else
- ec = boost::system::error_code(errno,
- boost::asio::error::get_system_category());
-#endif
- return return_value;
-}
-
-template <typename SockLenType>
-inline socket_type call_accept(SockLenType msghdr::*,
- socket_type s, socket_addr_type* addr, std::size_t* addrlen)
-{
- SockLenType tmp_addrlen = addrlen ? (SockLenType)*addrlen : 0;
- socket_type result = ::accept(s, addr, addrlen ? &tmp_addrlen : 0);
- if (addrlen)
- *addrlen = (std::size_t)tmp_addrlen;
- return result;
-}
-
-socket_type accept(socket_type s, socket_addr_type* addr,
- std::size_t* addrlen, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return invalid_socket;
- }
-
- clear_last_error();
-
- socket_type new_s = error_wrapper(call_accept(
- &msghdr::msg_namelen, s, addr, addrlen), ec);
- if (new_s == invalid_socket)
- return new_s;
-
-#if defined(__MACH__) && defined(__APPLE__) || defined(__FreeBSD__)
- int optval = 1;
- int result = error_wrapper(::setsockopt(new_s,
- SOL_SOCKET, SO_NOSIGPIPE, &optval, sizeof(optval)), ec);
- if (result != 0)
- {
- ::close(new_s);
- return invalid_socket;
- }
-#endif
-
- ec = boost::system::error_code();
- return new_s;
-}
-
-socket_type sync_accept(socket_type s, state_type state,
- socket_addr_type* addr, std::size_t* addrlen, boost::system::error_code& ec)
-{
- // Accept a socket.
- for (;;)
- {
- // Try to complete the operation without blocking.
- socket_type new_socket = socket_ops::accept(s, addr, addrlen, ec);
-
- // Check if operation succeeded.
- if (new_socket != invalid_socket)
- return new_socket;
-
- // Operation failed.
- if (ec == boost::asio::error::would_block
- || ec == boost::asio::error::try_again)
- {
- if (state & user_set_non_blocking)
- return invalid_socket;
- // Fall through to retry operation.
- }
- else if (ec == boost::asio::error::connection_aborted)
- {
- if (state & enable_connection_aborted)
- return invalid_socket;
- // Fall through to retry operation.
- }
-#if defined(EPROTO)
- else if (ec.value() == EPROTO)
- {
- if (state & enable_connection_aborted)
- return invalid_socket;
- // Fall through to retry operation.
- }
-#endif // defined(EPROTO)
- else
- return invalid_socket;
-
- // Wait for socket to become ready.
- if (socket_ops::poll_read(s, 0, -1, ec) < 0)
- return invalid_socket;
- }
-}
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-void complete_iocp_accept(socket_type s,
- void* output_buffer, DWORD address_length,
- socket_addr_type* addr, std::size_t* addrlen,
- socket_type new_socket, boost::system::error_code& ec)
-{
- // Map non-portable errors to their portable counterparts.
- if (ec.value() == ERROR_NETNAME_DELETED)
- ec = boost::asio::error::connection_aborted;
-
- if (!ec)
- {
- // Get the address of the peer.
- if (addr && addrlen)
- {
- LPSOCKADDR local_addr = 0;
- int local_addr_length = 0;
- LPSOCKADDR remote_addr = 0;
- int remote_addr_length = 0;
- GetAcceptExSockaddrs(output_buffer, 0, address_length,
- address_length, &local_addr, &local_addr_length,
- &remote_addr, &remote_addr_length);
- if (static_cast<std::size_t>(remote_addr_length) > *addrlen)
- {
- ec = boost::asio::error::invalid_argument;
- }
- else
- {
- using namespace std; // For memcpy.
- memcpy(addr, remote_addr, remote_addr_length);
- *addrlen = static_cast<std::size_t>(remote_addr_length);
- }
- }
-
- // Need to set the SO_UPDATE_ACCEPT_CONTEXT option so that getsockname
- // and getpeername will work on the accepted socket.
- SOCKET update_ctx_param = s;
- socket_ops::state_type state = 0;
- socket_ops::setsockopt(new_socket, state,
- SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT,
- &update_ctx_param, sizeof(SOCKET), ec);
- }
-}
-
-#else // defined(BOOST_ASIO_HAS_IOCP)
-
-bool non_blocking_accept(socket_type s,
- state_type state, socket_addr_type* addr, std::size_t* addrlen,
- boost::system::error_code& ec, socket_type& new_socket)
-{
- for (;;)
- {
- // Accept the waiting connection.
- new_socket = socket_ops::accept(s, addr, addrlen, ec);
-
- // Check if operation succeeded.
- if (new_socket != invalid_socket)
- return true;
-
- // Retry operation if interrupted by signal.
- if (ec == boost::asio::error::interrupted)
- continue;
-
- // Operation failed.
- if (ec == boost::asio::error::would_block
- || ec == boost::asio::error::try_again)
- {
- // Fall through to retry operation.
- }
- else if (ec == boost::asio::error::connection_aborted)
- {
- if (state & enable_connection_aborted)
- return true;
- // Fall through to retry operation.
- }
-#if defined(EPROTO)
- else if (ec.value() == EPROTO)
- {
- if (state & enable_connection_aborted)
- return true;
- // Fall through to retry operation.
- }
-#endif // defined(EPROTO)
- else
- return true;
-
- return false;
- }
-}
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-template <typename SockLenType>
-inline int call_bind(SockLenType msghdr::*,
- socket_type s, const socket_addr_type* addr, std::size_t addrlen)
-{
- return ::bind(s, addr, (SockLenType)addrlen);
-}
-
-int bind(socket_type s, const socket_addr_type* addr,
- std::size_t addrlen, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
- clear_last_error();
- int result = error_wrapper(call_bind(
- &msghdr::msg_namelen, s, addr, addrlen), ec);
- if (result == 0)
- ec = boost::system::error_code();
- return result;
-}
-
-int close(socket_type s, state_type& state,
- bool destruction, boost::system::error_code& ec)
-{
- int result = 0;
- if (s != invalid_socket)
- {
- // We don't want the destructor to block, so set the socket to linger in
- // the background. If the user doesn't like this behaviour then they need
- // to explicitly close the socket.
- if (destruction && (state & user_set_linger))
- {
- ::linger opt;
- opt.l_onoff = 0;
- opt.l_linger = 0;
- boost::system::error_code ignored_ec;
- socket_ops::setsockopt(s, state, SOL_SOCKET,
- SO_LINGER, &opt, sizeof(opt), ignored_ec);
- }
-
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- result = error_wrapper(::closesocket(s), ec);
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- result = error_wrapper(::close(s), ec);
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
- if (result != 0
- && (ec == boost::asio::error::would_block
- || ec == boost::asio::error::try_again))
- {
- // According to UNIX Network Programming Vol. 1, it is possible for
- // close() to fail with EWOULDBLOCK under certain circumstances. What
- // isn't clear is the state of the descriptor after this error. The one
- // current OS where this behaviour is seen, Windows, says that the socket
- // remains open. Therefore we'll put the descriptor back into blocking
- // mode and have another attempt at closing it.
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- ioctl_arg_type arg = 0;
- ::ioctlsocket(s, FIONBIO, &arg);
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-# if defined(__SYMBIAN32__)
- int flags = ::fcntl(s, F_GETFL, 0);
- if (flags >= 0)
- ::fcntl(s, F_SETFL, flags & ~O_NONBLOCK);
-# else // defined(__SYMBIAN32__)
- ioctl_arg_type arg = 0;
- ::ioctl(s, FIONBIO, &arg);
-# endif // defined(__SYMBIAN32__)
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- state &= ~non_blocking;
-
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- result = error_wrapper(::closesocket(s), ec);
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- result = error_wrapper(::close(s), ec);
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- }
- }
-
- if (result == 0)
- ec = boost::system::error_code();
- return result;
-}
-
-bool set_user_non_blocking(socket_type s,
- state_type& state, bool value, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return false;
- }
-
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- ioctl_arg_type arg = (value ? 1 : 0);
- int result = error_wrapper(::ioctlsocket(s, FIONBIO, &arg), ec);
-#elif defined(__SYMBIAN32__)
- int result = error_wrapper(::fcntl(s, F_GETFL, 0), ec);
- if (result >= 0)
- {
- clear_last_error();
- int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
- result = error_wrapper(::fcntl(s, F_SETFL, flag), ec);
- }
-#else
- ioctl_arg_type arg = (value ? 1 : 0);
- int result = error_wrapper(::ioctl(s, FIONBIO, &arg), ec);
-#endif
-
- if (result >= 0)
- {
- ec = boost::system::error_code();
- if (value)
- state |= user_set_non_blocking;
- else
- {
- // Clearing the user-set non-blocking mode always overrides any
- // internally-set non-blocking flag. Any subsequent asynchronous
- // operations will need to re-enable non-blocking I/O.
- state &= ~(user_set_non_blocking | internal_non_blocking);
- }
- return true;
- }
-
- return false;
-}
-
-bool set_internal_non_blocking(socket_type s,
- state_type& state, bool value, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return false;
- }
-
- if (!value && (state & user_set_non_blocking))
- {
- // It does not make sense to clear the internal non-blocking flag if the
- // user still wants non-blocking behaviour. Return an error and let the
- // caller figure out whether to update the user-set non-blocking flag.
- ec = boost::asio::error::invalid_argument;
- return false;
- }
-
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- ioctl_arg_type arg = (value ? 1 : 0);
- int result = error_wrapper(::ioctlsocket(s, FIONBIO, &arg), ec);
-#elif defined(__SYMBIAN32__)
- int result = error_wrapper(::fcntl(s, F_GETFL, 0), ec);
- if (result >= 0)
- {
- clear_last_error();
- int flag = (value ? (result | O_NONBLOCK) : (result & ~O_NONBLOCK));
- result = error_wrapper(::fcntl(s, F_SETFL, flag), ec);
- }
-#else
- ioctl_arg_type arg = (value ? 1 : 0);
- int result = error_wrapper(::ioctl(s, FIONBIO, &arg), ec);
-#endif
-
- if (result >= 0)
- {
- ec = boost::system::error_code();
- if (value)
- state |= internal_non_blocking;
- else
- state &= ~internal_non_blocking;
- return true;
- }
-
- return false;
-}
-
-int shutdown(socket_type s, int what, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
- clear_last_error();
- int result = error_wrapper(::shutdown(s, what), ec);
- if (result == 0)
- ec = boost::system::error_code();
- return result;
-}
-
-template <typename SockLenType>
-inline int call_connect(SockLenType msghdr::*,
- socket_type s, const socket_addr_type* addr, std::size_t addrlen)
-{
- return ::connect(s, addr, (SockLenType)addrlen);
-}
-
-int connect(socket_type s, const socket_addr_type* addr,
- std::size_t addrlen, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
- clear_last_error();
- int result = error_wrapper(call_connect(
- &msghdr::msg_namelen, s, addr, addrlen), ec);
- if (result == 0)
- ec = boost::system::error_code();
-#if defined(__linux__)
- else if (ec == boost::asio::error::try_again)
- ec = boost::asio::error::no_buffer_space;
-#endif // defined(__linux__)
- return result;
-}
-
-void sync_connect(socket_type s, const socket_addr_type* addr,
- std::size_t addrlen, boost::system::error_code& ec)
-{
- // Perform the connect operation.
- socket_ops::connect(s, addr, addrlen, ec);
- if (ec != boost::asio::error::in_progress
- && ec != boost::asio::error::would_block)
- {
- // The connect operation finished immediately.
- return;
- }
-
- // Wait for socket to become ready.
- if (socket_ops::poll_connect(s, -1, ec) < 0)
- return;
-
- // Get the error code from the connect operation.
- int connect_error = 0;
- size_t connect_error_len = sizeof(connect_error);
- if (socket_ops::getsockopt(s, 0, SOL_SOCKET, SO_ERROR,
- &connect_error, &connect_error_len, ec) == socket_error_retval)
- return;
-
- // Return the result of the connect operation.
- ec = boost::system::error_code(connect_error,
- boost::asio::error::get_system_category());
-}
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-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
- // and getpeername will work on the connected socket.
- socket_ops::state_type state = 0;
- const int so_update_connect_context = 0x7010;
- socket_ops::setsockopt(s, state, SOL_SOCKET,
- so_update_connect_context, 0, 0, ec);
- }
-}
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-bool non_blocking_connect(socket_type s, boost::system::error_code& ec)
-{
- // Check if the connect operation has finished. This is required since we may
- // get spurious readiness notifications from the reactor.
-#if defined(BOOST_ASIO_WINDOWS) \
- || defined(__CYGWIN__) \
- || defined(__SYMBIAN32__)
- fd_set write_fds;
- FD_ZERO(&write_fds);
- FD_SET(s, &write_fds);
- fd_set except_fds;
- FD_ZERO(&except_fds);
- FD_SET(s, &except_fds);
- timeval zero_timeout;
- zero_timeout.tv_sec = 0;
- zero_timeout.tv_usec = 0;
- int ready = ::select(s + 1, 0, &write_fds, &except_fds, &zero_timeout);
-#else // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
- pollfd fds;
- fds.fd = s;
- fds.events = POLLOUT;
- fds.revents = 0;
- int ready = ::poll(&fds, 1, 0);
-#endif // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
- if (ready == 0)
- {
- // The asynchronous connect operation is still in progress.
- return false;
- }
-
- // Get the error code from the connect operation.
- int connect_error = 0;
- size_t connect_error_len = sizeof(connect_error);
- if (socket_ops::getsockopt(s, 0, SOL_SOCKET, SO_ERROR,
- &connect_error, &connect_error_len, ec) == 0)
- {
- if (connect_error)
- {
- ec = boost::system::error_code(connect_error,
- boost::asio::error::get_system_category());
- }
- else
- ec = boost::system::error_code();
- }
-
- return true;
-}
-
-int socketpair(int af, int type, int protocol,
- socket_type sv[2], boost::system::error_code& ec)
-{
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- (void)(af);
- (void)(type);
- (void)(protocol);
- (void)(sv);
- ec = boost::asio::error::operation_not_supported;
- return socket_error_retval;
-#else
- clear_last_error();
- int result = error_wrapper(::socketpair(af, type, protocol, sv), ec);
- if (result == 0)
- ec = boost::system::error_code();
- return result;
-#endif
-}
-
-bool sockatmark(socket_type s, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return false;
- }
-
-#if defined(SIOCATMARK)
- ioctl_arg_type value = 0;
-# if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- int result = error_wrapper(::ioctlsocket(s, SIOCATMARK, &value), ec);
-# else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- int result = error_wrapper(::ioctl(s, SIOCATMARK, &value), ec);
-# endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- if (result == 0)
- ec = boost::system::error_code();
-# if defined(ENOTTY)
- if (ec.value() == ENOTTY)
- ec = boost::asio::error::not_socket;
-# endif // defined(ENOTTY)
-#else // defined(SIOCATMARK)
- int value = error_wrapper(::sockatmark(s), ec);
- if (value != -1)
- ec = boost::system::error_code();
-#endif // defined(SIOCATMARK)
-
- return ec ? false : value != 0;
-}
-
-size_t available(socket_type s, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return 0;
- }
-
- ioctl_arg_type value = 0;
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- int result = error_wrapper(::ioctlsocket(s, FIONREAD, &value), ec);
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- int result = error_wrapper(::ioctl(s, FIONREAD, &value), ec);
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- if (result == 0)
- ec = boost::system::error_code();
-#if defined(ENOTTY)
- if (ec.value() == ENOTTY)
- ec = boost::asio::error::not_socket;
-#endif // defined(ENOTTY)
-
- return ec ? static_cast<size_t>(0) : static_cast<size_t>(value);
-}
-
-int listen(socket_type s, int backlog, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
- clear_last_error();
- int result = error_wrapper(::listen(s, backlog), ec);
- if (result == 0)
- ec = boost::system::error_code();
- return result;
-}
-
-inline void init_buf_iov_base(void*& base, void* addr)
-{
- base = addr;
-}
-
-template <typename T>
-inline void init_buf_iov_base(T& base, void* addr)
-{
- base = static_cast<T>(addr);
-}
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-typedef WSABUF buf;
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-typedef iovec buf;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-void init_buf(buf& b, void* data, size_t size)
-{
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- b.buf = static_cast<char*>(data);
- b.len = static_cast<u_long>(size);
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- init_buf_iov_base(b.iov_base, data);
- b.iov_len = size;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-}
-
-void init_buf(buf& b, const void* data, size_t size)
-{
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- b.buf = static_cast<char*>(const_cast<void*>(data));
- b.len = static_cast<u_long>(size);
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- init_buf_iov_base(b.iov_base, const_cast<void*>(data));
- b.iov_len = size;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-}
-
-inline void init_msghdr_msg_name(void*& name, socket_addr_type* addr)
-{
- name = addr;
-}
-
-inline void init_msghdr_msg_name(void*& name, const socket_addr_type* addr)
-{
- name = const_cast<socket_addr_type*>(addr);
-}
-
-template <typename T>
-inline void init_msghdr_msg_name(T& name, socket_addr_type* addr)
-{
- name = reinterpret_cast<T>(addr);
-}
-
-template <typename T>
-inline void init_msghdr_msg_name(T& name, const socket_addr_type* addr)
-{
- name = reinterpret_cast<T>(const_cast<socket_addr_type*>(addr));
-}
-
-signed_size_type recv(socket_type s, buf* bufs, size_t count,
- int flags, boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- // Receive some data.
- DWORD recv_buf_count = static_cast<DWORD>(count);
- DWORD bytes_transferred = 0;
- DWORD recv_flags = flags;
- int result = error_wrapper(::WSARecv(s, bufs,
- recv_buf_count, &bytes_transferred, &recv_flags, 0, 0), ec);
- if (ec.value() == ERROR_NETNAME_DELETED)
- ec = boost::asio::error::connection_reset;
- else if (ec.value() == ERROR_PORT_UNREACHABLE)
- ec = boost::asio::error::connection_refused;
- else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
- ec.assign(0, ec.category());
- if (result != 0)
- return socket_error_retval;
- ec = boost::system::error_code();
- return bytes_transferred;
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- msghdr msg = msghdr();
- msg.msg_iov = bufs;
- msg.msg_iovlen = static_cast<int>(count);
- signed_size_type result = error_wrapper(::recvmsg(s, &msg, flags), ec);
- if (result >= 0)
- ec = boost::system::error_code();
- return result;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-}
-
-size_t sync_recv(socket_type s, state_type state, buf* bufs,
- size_t count, int flags, bool all_empty, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return 0;
- }
-
- // A request to read 0 bytes on a stream is a no-op.
- if (all_empty && (state & stream_oriented))
- {
- ec = boost::system::error_code();
- return 0;
- }
-
- // Read some data.
- for (;;)
- {
- // Try to complete the operation without blocking.
- signed_size_type bytes = socket_ops::recv(s, bufs, count, flags, ec);
-
- // Check if operation succeeded.
- if (bytes > 0)
- return bytes;
-
- // Check for EOF.
- if ((state & stream_oriented) && bytes == 0)
- {
- ec = boost::asio::error::eof;
- return 0;
- }
-
- // Operation failed.
- if ((state & user_set_non_blocking)
- || (ec != boost::asio::error::would_block
- && ec != boost::asio::error::try_again))
- return 0;
-
- // Wait for socket to become ready.
- if (socket_ops::poll_read(s, 0, -1, ec) < 0)
- return 0;
- }
-}
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-void complete_iocp_recv(state_type state,
- const weak_cancel_token_type& cancel_token, bool all_empty,
- boost::system::error_code& ec, size_t bytes_transferred)
-{
- // Map non-portable errors to their portable counterparts.
- if (ec.value() == ERROR_NETNAME_DELETED)
- {
- if (cancel_token.expired())
- ec = boost::asio::error::operation_aborted;
- else
- ec = boost::asio::error::connection_reset;
- }
- else if (ec.value() == ERROR_PORT_UNREACHABLE)
- {
- ec = boost::asio::error::connection_refused;
- }
- else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
- {
- ec.assign(0, ec.category());
- }
-
- // Check for connection closed.
- else if (!ec && bytes_transferred == 0
- && (state & stream_oriented) != 0
- && !all_empty)
- {
- ec = boost::asio::error::eof;
- }
-}
-
-#else // defined(BOOST_ASIO_HAS_IOCP)
-
-bool non_blocking_recv(socket_type s,
- buf* bufs, size_t count, int flags, bool is_stream,
- boost::system::error_code& ec, size_t& bytes_transferred)
-{
- for (;;)
- {
- // Read some data.
- signed_size_type bytes = socket_ops::recv(s, bufs, count, flags, ec);
-
- // Check for end of stream.
- if (is_stream && bytes == 0)
- {
- ec = boost::asio::error::eof;
- return true;
- }
-
- // Retry operation if interrupted by signal.
- if (ec == boost::asio::error::interrupted)
- continue;
-
- // Check if we need to run the operation again.
- if (ec == boost::asio::error::would_block
- || ec == boost::asio::error::try_again)
- return false;
-
- // Operation is complete.
- if (bytes >= 0)
- {
- ec = boost::system::error_code();
- bytes_transferred = bytes;
- }
- else
- bytes_transferred = 0;
-
- return true;
- }
-}
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-signed_size_type recvfrom(socket_type s, buf* bufs, size_t count,
- int flags, socket_addr_type* addr, std::size_t* addrlen,
- boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- // Receive some data.
- DWORD recv_buf_count = static_cast<DWORD>(count);
- DWORD bytes_transferred = 0;
- DWORD recv_flags = flags;
- int tmp_addrlen = (int)*addrlen;
- int result = error_wrapper(::WSARecvFrom(s, bufs, recv_buf_count,
- &bytes_transferred, &recv_flags, addr, &tmp_addrlen, 0, 0), ec);
- *addrlen = (std::size_t)tmp_addrlen;
- if (ec.value() == ERROR_NETNAME_DELETED)
- ec = boost::asio::error::connection_reset;
- else if (ec.value() == ERROR_PORT_UNREACHABLE)
- ec = boost::asio::error::connection_refused;
- else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
- ec.assign(0, ec.category());
- if (result != 0)
- return socket_error_retval;
- ec = boost::system::error_code();
- return bytes_transferred;
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- msghdr msg = msghdr();
- init_msghdr_msg_name(msg.msg_name, addr);
- msg.msg_namelen = static_cast<int>(*addrlen);
- msg.msg_iov = bufs;
- msg.msg_iovlen = static_cast<int>(count);
- signed_size_type result = error_wrapper(::recvmsg(s, &msg, flags), ec);
- *addrlen = msg.msg_namelen;
- if (result >= 0)
- ec = boost::system::error_code();
- return result;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-}
-
-size_t sync_recvfrom(socket_type s, state_type state, buf* bufs,
- size_t count, int flags, socket_addr_type* addr,
- std::size_t* addrlen, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return 0;
- }
-
- // Read some data.
- for (;;)
- {
- // Try to complete the operation without blocking.
- signed_size_type bytes = socket_ops::recvfrom(
- s, bufs, count, flags, addr, addrlen, ec);
-
- // Check if operation succeeded.
- if (bytes >= 0)
- return bytes;
-
- // Operation failed.
- if ((state & user_set_non_blocking)
- || (ec != boost::asio::error::would_block
- && ec != boost::asio::error::try_again))
- return 0;
-
- // Wait for socket to become ready.
- if (socket_ops::poll_read(s, 0, -1, ec) < 0)
- return 0;
- }
-}
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-void complete_iocp_recvfrom(
- const weak_cancel_token_type& cancel_token,
- boost::system::error_code& ec)
-{
- // Map non-portable errors to their portable counterparts.
- if (ec.value() == ERROR_NETNAME_DELETED)
- {
- if (cancel_token.expired())
- ec = boost::asio::error::operation_aborted;
- else
- ec = boost::asio::error::connection_reset;
- }
- else if (ec.value() == ERROR_PORT_UNREACHABLE)
- {
- ec = boost::asio::error::connection_refused;
- }
- else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
- {
- ec.assign(0, ec.category());
- }
-}
-
-#else // defined(BOOST_ASIO_HAS_IOCP)
-
-bool non_blocking_recvfrom(socket_type s,
- buf* bufs, size_t count, int flags,
- socket_addr_type* addr, std::size_t* addrlen,
- boost::system::error_code& ec, size_t& bytes_transferred)
-{
- for (;;)
- {
- // Read some data.
- signed_size_type bytes = socket_ops::recvfrom(
- s, bufs, count, flags, addr, addrlen, ec);
-
- // Retry operation if interrupted by signal.
- if (ec == boost::asio::error::interrupted)
- continue;
-
- // Check if we need to run the operation again.
- if (ec == boost::asio::error::would_block
- || ec == boost::asio::error::try_again)
- return false;
-
- // Operation is complete.
- if (bytes >= 0)
- {
- ec = boost::system::error_code();
- bytes_transferred = bytes;
- }
- else
- bytes_transferred = 0;
-
- return true;
- }
-}
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-signed_size_type recvmsg(socket_type s, buf* bufs, size_t count,
- int in_flags, int& out_flags, boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- out_flags = 0;
- return socket_ops::recv(s, bufs, count, in_flags, ec);
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- msghdr msg = msghdr();
- msg.msg_iov = bufs;
- msg.msg_iovlen = static_cast<int>(count);
- signed_size_type result = error_wrapper(::recvmsg(s, &msg, in_flags), ec);
- if (result >= 0)
- {
- ec = boost::system::error_code();
- out_flags = msg.msg_flags;
- }
- else
- out_flags = 0;
- return result;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-}
-
-size_t sync_recvmsg(socket_type s, state_type state,
- buf* bufs, size_t count, int in_flags, int& out_flags,
- boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return 0;
- }
-
- // Read some data.
- for (;;)
- {
- // Try to complete the operation without blocking.
- signed_size_type bytes = socket_ops::recvmsg(
- s, bufs, count, in_flags, out_flags, ec);
-
- // Check if operation succeeded.
- if (bytes >= 0)
- return bytes;
-
- // Operation failed.
- if ((state & user_set_non_blocking)
- || (ec != boost::asio::error::would_block
- && ec != boost::asio::error::try_again))
- return 0;
-
- // Wait for socket to become ready.
- if (socket_ops::poll_read(s, 0, -1, ec) < 0)
- return 0;
- }
-}
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-void complete_iocp_recvmsg(
- const weak_cancel_token_type& cancel_token,
- boost::system::error_code& ec)
-{
- // Map non-portable errors to their portable counterparts.
- if (ec.value() == ERROR_NETNAME_DELETED)
- {
- if (cancel_token.expired())
- ec = boost::asio::error::operation_aborted;
- else
- ec = boost::asio::error::connection_reset;
- }
- else if (ec.value() == ERROR_PORT_UNREACHABLE)
- {
- ec = boost::asio::error::connection_refused;
- }
- else if (ec.value() == WSAEMSGSIZE || ec.value() == ERROR_MORE_DATA)
- {
- ec.assign(0, ec.category());
- }
-}
-
-#else // defined(BOOST_ASIO_HAS_IOCP)
-
-bool non_blocking_recvmsg(socket_type s,
- buf* bufs, size_t count, int in_flags, int& out_flags,
- boost::system::error_code& ec, size_t& bytes_transferred)
-{
- for (;;)
- {
- // Read some data.
- signed_size_type bytes = socket_ops::recvmsg(
- s, bufs, count, in_flags, out_flags, ec);
-
- // Retry operation if interrupted by signal.
- if (ec == boost::asio::error::interrupted)
- continue;
-
- // Check if we need to run the operation again.
- if (ec == boost::asio::error::would_block
- || ec == boost::asio::error::try_again)
- return false;
-
- // Operation is complete.
- if (bytes >= 0)
- {
- ec = boost::system::error_code();
- bytes_transferred = bytes;
- }
- else
- bytes_transferred = 0;
-
- return true;
- }
-}
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-signed_size_type send(socket_type s, const buf* bufs, size_t count,
- int flags, boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- // Send the data.
- DWORD send_buf_count = static_cast<DWORD>(count);
- DWORD bytes_transferred = 0;
- DWORD send_flags = flags;
- int result = error_wrapper(::WSASend(s, const_cast<buf*>(bufs),
- send_buf_count, &bytes_transferred, send_flags, 0, 0), ec);
- if (ec.value() == ERROR_NETNAME_DELETED)
- ec = boost::asio::error::connection_reset;
- else if (ec.value() == ERROR_PORT_UNREACHABLE)
- ec = boost::asio::error::connection_refused;
- if (result != 0)
- return socket_error_retval;
- ec = boost::system::error_code();
- return bytes_transferred;
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- msghdr msg = msghdr();
- msg.msg_iov = const_cast<buf*>(bufs);
- msg.msg_iovlen = static_cast<int>(count);
-#if defined(__linux__)
- flags |= MSG_NOSIGNAL;
-#endif // defined(__linux__)
- signed_size_type result = error_wrapper(::sendmsg(s, &msg, flags), ec);
- if (result >= 0)
- ec = boost::system::error_code();
- return result;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-}
-
-size_t sync_send(socket_type s, state_type state, const buf* bufs,
- size_t count, int flags, bool all_empty, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return 0;
- }
-
- // A request to write 0 bytes to a stream is a no-op.
- if (all_empty && (state & stream_oriented))
- {
- ec = boost::system::error_code();
- return 0;
- }
-
- // Read some data.
- for (;;)
- {
- // Try to complete the operation without blocking.
- signed_size_type bytes = socket_ops::send(s, bufs, count, flags, ec);
-
- // Check if operation succeeded.
- if (bytes >= 0)
- return bytes;
-
- // Operation failed.
- if ((state & user_set_non_blocking)
- || (ec != boost::asio::error::would_block
- && ec != boost::asio::error::try_again))
- return 0;
-
- // Wait for socket to become ready.
- if (socket_ops::poll_write(s, 0, -1, ec) < 0)
- return 0;
- }
-}
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-void complete_iocp_send(
- const weak_cancel_token_type& cancel_token,
- boost::system::error_code& ec)
-{
- // Map non-portable errors to their portable counterparts.
- if (ec.value() == ERROR_NETNAME_DELETED)
- {
- if (cancel_token.expired())
- ec = boost::asio::error::operation_aborted;
- else
- ec = boost::asio::error::connection_reset;
- }
- else if (ec.value() == ERROR_PORT_UNREACHABLE)
- {
- ec = boost::asio::error::connection_refused;
- }
-}
-
-#else // defined(BOOST_ASIO_HAS_IOCP)
-
-bool non_blocking_send(socket_type s,
- const buf* bufs, size_t count, int flags,
- boost::system::error_code& ec, size_t& bytes_transferred)
-{
- for (;;)
- {
- // Write some data.
- signed_size_type bytes = socket_ops::send(s, bufs, count, flags, ec);
-
- // Retry operation if interrupted by signal.
- if (ec == boost::asio::error::interrupted)
- continue;
-
- // Check if we need to run the operation again.
- if (ec == boost::asio::error::would_block
- || ec == boost::asio::error::try_again)
- return false;
-
- // Operation is complete.
- if (bytes >= 0)
- {
- ec = boost::system::error_code();
- bytes_transferred = bytes;
- }
- else
- bytes_transferred = 0;
-
- return true;
- }
-}
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-signed_size_type sendto(socket_type s, const buf* bufs, size_t count,
- int flags, const socket_addr_type* addr, std::size_t addrlen,
- boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- // Send the data.
- DWORD send_buf_count = static_cast<DWORD>(count);
- DWORD bytes_transferred = 0;
- int result = error_wrapper(::WSASendTo(s, const_cast<buf*>(bufs),
- send_buf_count, &bytes_transferred, flags, addr,
- static_cast<int>(addrlen), 0, 0), ec);
- if (ec.value() == ERROR_NETNAME_DELETED)
- ec = boost::asio::error::connection_reset;
- else if (ec.value() == ERROR_PORT_UNREACHABLE)
- ec = boost::asio::error::connection_refused;
- if (result != 0)
- return socket_error_retval;
- ec = boost::system::error_code();
- return bytes_transferred;
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- msghdr msg = msghdr();
- init_msghdr_msg_name(msg.msg_name, addr);
- msg.msg_namelen = static_cast<int>(addrlen);
- msg.msg_iov = const_cast<buf*>(bufs);
- msg.msg_iovlen = static_cast<int>(count);
-#if defined(__linux__)
- flags |= MSG_NOSIGNAL;
-#endif // defined(__linux__)
- signed_size_type result = error_wrapper(::sendmsg(s, &msg, flags), ec);
- if (result >= 0)
- ec = boost::system::error_code();
- return result;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-}
-
-size_t sync_sendto(socket_type s, state_type state, const buf* bufs,
- size_t count, int flags, const socket_addr_type* addr,
- std::size_t addrlen, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return 0;
- }
-
- // Write some data.
- for (;;)
- {
- // Try to complete the operation without blocking.
- signed_size_type bytes = socket_ops::sendto(
- s, bufs, count, flags, addr, addrlen, ec);
-
- // Check if operation succeeded.
- if (bytes >= 0)
- return bytes;
-
- // Operation failed.
- if ((state & user_set_non_blocking)
- || (ec != boost::asio::error::would_block
- && ec != boost::asio::error::try_again))
- return 0;
-
- // Wait for socket to become ready.
- if (socket_ops::poll_write(s, 0, -1, ec) < 0)
- return 0;
- }
-}
-
-#if !defined(BOOST_ASIO_HAS_IOCP)
-
-bool non_blocking_sendto(socket_type s,
- const buf* bufs, size_t count, int flags,
- const socket_addr_type* addr, std::size_t addrlen,
- boost::system::error_code& ec, size_t& bytes_transferred)
-{
- for (;;)
- {
- // Write some data.
- signed_size_type bytes = socket_ops::sendto(
- s, bufs, count, flags, addr, addrlen, ec);
-
- // Retry operation if interrupted by signal.
- if (ec == boost::asio::error::interrupted)
- continue;
-
- // Check if we need to run the operation again.
- if (ec == boost::asio::error::would_block
- || ec == boost::asio::error::try_again)
- return false;
-
- // Operation is complete.
- if (bytes >= 0)
- {
- ec = boost::system::error_code();
- bytes_transferred = bytes;
- }
- else
- bytes_transferred = 0;
-
- return true;
- }
-}
-
-#endif // !defined(BOOST_ASIO_HAS_IOCP)
-
-socket_type socket(int af, int type, int protocol,
- boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- socket_type s = error_wrapper(::WSASocketW(af, type, protocol, 0, 0,
- WSA_FLAG_OVERLAPPED), ec);
- if (s == invalid_socket)
- return s;
-
- if (af == BOOST_ASIO_OS_DEF(AF_INET6))
- {
- // Try to enable the POSIX default behaviour of having IPV6_V6ONLY set to
- // false. This will only succeed on Windows Vista and later versions of
- // Windows, where a dual-stack IPv4/v6 implementation is available.
- DWORD optval = 0;
- ::setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
- reinterpret_cast<const char*>(&optval), sizeof(optval));
- }
-
- ec = boost::system::error_code();
-
- return s;
-#elif defined(__MACH__) && defined(__APPLE__) || defined(__FreeBSD__)
- socket_type s = error_wrapper(::socket(af, type, protocol), ec);
- if (s == invalid_socket)
- return s;
-
- int optval = 1;
- int result = error_wrapper(::setsockopt(s,
- SOL_SOCKET, SO_NOSIGPIPE, &optval, sizeof(optval)), ec);
- if (result != 0)
- {
- ::close(s);
- return invalid_socket;
- }
-
- return s;
-#else
- int s = error_wrapper(::socket(af, type, protocol), ec);
- if (s >= 0)
- ec = boost::system::error_code();
- return s;
-#endif
-}
-
-template <typename SockLenType>
-inline int call_setsockopt(SockLenType msghdr::*,
- socket_type s, int level, int optname,
- const void* optval, std::size_t optlen)
-{
- return ::setsockopt(s, level, optname,
- (const char*)optval, (SockLenType)optlen);
-}
-
-int setsockopt(socket_type s, state_type& state, int level, int optname,
- const void* optval, std::size_t optlen, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
- if (level == custom_socket_option_level && optname == always_fail_option)
- {
- ec = boost::asio::error::invalid_argument;
- return socket_error_retval;
- }
-
- if (level == custom_socket_option_level
- && optname == enable_connection_aborted_option)
- {
- if (optlen != sizeof(int))
- {
- ec = boost::asio::error::invalid_argument;
- return socket_error_retval;
- }
-
- if (*static_cast<const int*>(optval))
- state |= enable_connection_aborted;
- else
- state &= ~enable_connection_aborted;
- ec = boost::system::error_code();
- return 0;
- }
-
- if (level == SOL_SOCKET && optname == SO_LINGER)
- state |= user_set_linger;
-
-#if defined(__BORLANDC__)
- // Mysteriously, using the getsockopt and setsockopt functions directly with
- // Borland C++ results in incorrect values being set and read. The bug can be
- // worked around by using function addresses resolved with GetProcAddress.
- if (HMODULE winsock_module = ::GetModuleHandleA("ws2_32"))
- {
- typedef int (WSAAPI *sso_t)(SOCKET, int, int, const char*, int);
- if (sso_t sso = (sso_t)::GetProcAddress(winsock_module, "setsockopt"))
- {
- clear_last_error();
- return error_wrapper(sso(s, level, optname,
- reinterpret_cast<const char*>(optval),
- static_cast<int>(optlen)), ec);
- }
- }
- ec = boost::asio::error::fault;
- return socket_error_retval;
-#else // defined(__BORLANDC__)
- clear_last_error();
- int result = error_wrapper(call_setsockopt(&msghdr::msg_namelen,
- s, level, optname, optval, optlen), ec);
- if (result == 0)
- {
- ec = boost::system::error_code();
-
-#if defined(__MACH__) && defined(__APPLE__) \
- || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
- // To implement portable behaviour for SO_REUSEADDR with UDP sockets we
- // need to also set SO_REUSEPORT on BSD-based platforms.
- if ((state & datagram_oriented)
- && level == SOL_SOCKET && optname == SO_REUSEADDR)
- {
- call_setsockopt(&msghdr::msg_namelen, s,
- SOL_SOCKET, SO_REUSEPORT, optval, optlen);
- }
-#endif
- }
-
- return result;
-#endif // defined(__BORLANDC__)
-}
-
-template <typename SockLenType>
-inline int call_getsockopt(SockLenType msghdr::*,
- socket_type s, int level, int optname,
- void* optval, std::size_t* optlen)
-{
- SockLenType tmp_optlen = (SockLenType)*optlen;
- int result = ::getsockopt(s, level, optname, (char*)optval, &tmp_optlen);
- *optlen = (std::size_t)tmp_optlen;
- return result;
-}
-
-int getsockopt(socket_type s, state_type state, int level, int optname,
- void* optval, size_t* optlen, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
- if (level == custom_socket_option_level && optname == always_fail_option)
- {
- ec = boost::asio::error::invalid_argument;
- return socket_error_retval;
- }
-
- if (level == custom_socket_option_level
- && optname == enable_connection_aborted_option)
- {
- if (*optlen != sizeof(int))
- {
- ec = boost::asio::error::invalid_argument;
- return socket_error_retval;
- }
-
- *static_cast<int*>(optval) = (state & enable_connection_aborted) ? 1 : 0;
- ec = boost::system::error_code();
- return 0;
- }
-
-#if defined(__BORLANDC__)
- // Mysteriously, using the getsockopt and setsockopt functions directly with
- // Borland C++ results in incorrect values being set and read. The bug can be
- // worked around by using function addresses resolved with GetProcAddress.
- if (HMODULE winsock_module = ::GetModuleHandleA("ws2_32"))
- {
- typedef int (WSAAPI *gso_t)(SOCKET, int, int, char*, int*);
- if (gso_t gso = (gso_t)::GetProcAddress(winsock_module, "getsockopt"))
- {
- clear_last_error();
- int tmp_optlen = static_cast<int>(*optlen);
- int result = error_wrapper(gso(s, level, optname,
- reinterpret_cast<char*>(optval), &tmp_optlen), ec);
- *optlen = static_cast<size_t>(tmp_optlen);
- if (result != 0 && level == IPPROTO_IPV6 && optname == IPV6_V6ONLY
- && ec.value() == WSAENOPROTOOPT && *optlen == sizeof(DWORD))
- {
- // Dual-stack IPv4/v6 sockets, and the IPV6_V6ONLY socket option, are
- // only supported on Windows Vista and later. To simplify program logic
- // we will fake success of getting this option and specify that the
- // value is non-zero (i.e. true). This corresponds to the behavior of
- // IPv6 sockets on Windows platforms pre-Vista.
- *static_cast<DWORD*>(optval) = 1;
- ec = boost::system::error_code();
- }
- return result;
- }
- }
- ec = boost::asio::error::fault;
- return socket_error_retval;
-#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- clear_last_error();
- int result = error_wrapper(call_getsockopt(&msghdr::msg_namelen,
- s, level, optname, optval, optlen), ec);
- if (result != 0 && level == IPPROTO_IPV6 && optname == IPV6_V6ONLY
- && ec.value() == WSAENOPROTOOPT && *optlen == sizeof(DWORD))
- {
- // Dual-stack IPv4/v6 sockets, and the IPV6_V6ONLY socket option, are only
- // supported on Windows Vista and later. To simplify program logic we will
- // fake success of getting this option and specify that the value is
- // non-zero (i.e. true). This corresponds to the behavior of IPv6 sockets
- // on Windows platforms pre-Vista.
- *static_cast<DWORD*>(optval) = 1;
- ec = boost::system::error_code();
- }
- if (result == 0)
- ec = boost::system::error_code();
- return result;
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- clear_last_error();
- int result = error_wrapper(call_getsockopt(&msghdr::msg_namelen,
- s, level, optname, optval, optlen), ec);
-#if defined(__linux__)
- if (result == 0 && level == SOL_SOCKET && *optlen == sizeof(int)
- && (optname == SO_SNDBUF || optname == SO_RCVBUF))
- {
- // On Linux, setting SO_SNDBUF or SO_RCVBUF to N actually causes the kernel
- // to set the buffer size to N*2. Linux puts additional stuff into the
- // buffers so that only about half is actually available to the application.
- // The retrieved value is divided by 2 here to make it appear as though the
- // correct value has been set.
- *static_cast<int*>(optval) /= 2;
- }
-#endif // defined(__linux__)
- if (result == 0)
- ec = boost::system::error_code();
- return result;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-}
-
-template <typename SockLenType>
-inline int call_getpeername(SockLenType msghdr::*,
- socket_type s, socket_addr_type* addr, std::size_t* addrlen)
-{
- SockLenType tmp_addrlen = (SockLenType)*addrlen;
- int result = ::getpeername(s, addr, &tmp_addrlen);
- *addrlen = (std::size_t)tmp_addrlen;
- return result;
-}
-
-int getpeername(socket_type s, socket_addr_type* addr,
- std::size_t* addrlen, bool cached, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
-#if defined(BOOST_ASIO_WINDOWS) && !defined(BOOST_ASIO_WINDOWS_APP) \
- || defined(__CYGWIN__)
- if (cached)
- {
- // Check if socket is still connected.
- DWORD connect_time = 0;
- size_t connect_time_len = sizeof(connect_time);
- if (socket_ops::getsockopt(s, 0, SOL_SOCKET, SO_CONNECT_TIME,
- &connect_time, &connect_time_len, ec) == socket_error_retval)
- {
- return socket_error_retval;
- }
- if (connect_time == 0xFFFFFFFF)
- {
- ec = boost::asio::error::not_connected;
- return socket_error_retval;
- }
-
- // The cached value is still valid.
- ec = boost::system::error_code();
- return 0;
- }
-#else // defined(BOOST_ASIO_WINDOWS) && !defined(BOOST_ASIO_WINDOWS_APP)
- // || defined(__CYGWIN__)
- (void)cached;
-#endif // defined(BOOST_ASIO_WINDOWS) && !defined(BOOST_ASIO_WINDOWS_APP)
- // || defined(__CYGWIN__)
-
- clear_last_error();
- int result = error_wrapper(call_getpeername(
- &msghdr::msg_namelen, s, addr, addrlen), ec);
- if (result == 0)
- ec = boost::system::error_code();
- return result;
-}
-
-template <typename SockLenType>
-inline int call_getsockname(SockLenType msghdr::*,
- socket_type s, socket_addr_type* addr, std::size_t* addrlen)
-{
- SockLenType tmp_addrlen = (SockLenType)*addrlen;
- int result = ::getsockname(s, addr, &tmp_addrlen);
- *addrlen = (std::size_t)tmp_addrlen;
- return result;
-}
-
-int getsockname(socket_type s, socket_addr_type* addr,
- std::size_t* addrlen, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
- clear_last_error();
- int result = error_wrapper(call_getsockname(
- &msghdr::msg_namelen, s, addr, addrlen), ec);
- if (result == 0)
- ec = boost::system::error_code();
- return result;
-}
-
-int ioctl(socket_type s, state_type& state, int cmd,
- ioctl_arg_type* arg, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- int result = error_wrapper(::ioctlsocket(s, cmd, arg), ec);
-#elif defined(__MACH__) && defined(__APPLE__) \
- || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
- int result = error_wrapper(::ioctl(s,
- static_cast<unsigned int>(cmd), arg), ec);
-#else
- int result = error_wrapper(::ioctl(s, cmd, arg), ec);
-#endif
- if (result >= 0)
- {
- ec = boost::system::error_code();
-
- // When updating the non-blocking mode we always perform the ioctl syscall,
- // even if the flags would otherwise indicate that the socket is already in
- // the correct state. This ensures that the underlying socket is put into
- // the state that has been requested by the user. If the ioctl syscall was
- // successful then we need to update the flags to match.
- if (cmd == static_cast<int>(FIONBIO))
- {
- if (*arg)
- {
- state |= user_set_non_blocking;
- }
- else
- {
- // Clearing the non-blocking mode always overrides any internally-set
- // non-blocking flag. Any subsequent asynchronous operations will need
- // to re-enable non-blocking I/O.
- state &= ~(user_set_non_blocking | internal_non_blocking);
- }
- }
- }
-
- return result;
-}
-
-int select(int nfds, fd_set* readfds, fd_set* writefds,
- fd_set* exceptfds, timeval* timeout, boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- if (!readfds && !writefds && !exceptfds && timeout)
- {
- DWORD milliseconds = timeout->tv_sec * 1000 + timeout->tv_usec / 1000;
- if (milliseconds == 0)
- milliseconds = 1; // Force context switch.
- ::Sleep(milliseconds);
- ec = boost::system::error_code();
- return 0;
- }
-
- // The select() call allows timeout values measured in microseconds, but the
- // system clock (as wrapped by boost::posix_time::microsec_clock) typically
- // has a resolution of 10 milliseconds. This can lead to a spinning select
- // reactor, meaning increased CPU usage, when waiting for the earliest
- // scheduled timeout if it's less than 10 milliseconds away. To avoid a tight
- // spin we'll use a minimum timeout of 1 millisecond.
- if (timeout && timeout->tv_sec == 0
- && timeout->tv_usec > 0 && timeout->tv_usec < 1000)
- timeout->tv_usec = 1000;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-#if defined(__hpux) && defined(__SELECT)
- timespec ts;
- ts.tv_sec = timeout ? timeout->tv_sec : 0;
- ts.tv_nsec = timeout ? timeout->tv_usec * 1000 : 0;
- return error_wrapper(::pselect(nfds, readfds,
- writefds, exceptfds, timeout ? &ts : 0, 0), ec);
-#else
- int result = error_wrapper(::select(nfds, readfds,
- writefds, exceptfds, timeout), ec);
- if (result >= 0)
- ec = boost::system::error_code();
- return result;
-#endif
-}
-
-int poll_read(socket_type s, state_type state,
- int msec, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
-#if defined(BOOST_ASIO_WINDOWS) \
- || defined(__CYGWIN__) \
- || defined(__SYMBIAN32__)
- fd_set fds;
- FD_ZERO(&fds);
- FD_SET(s, &fds);
- timeval timeout_obj;
- timeval* timeout;
- if (state & user_set_non_blocking)
- {
- timeout_obj.tv_sec = 0;
- timeout_obj.tv_usec = 0;
- timeout = &timeout_obj;
- }
- else if (msec >= 0)
- {
- timeout_obj.tv_sec = msec / 1000;
- timeout_obj.tv_usec = (msec % 1000) * 1000;
- timeout = &timeout_obj;
- }
- else
- timeout = 0;
- clear_last_error();
- int result = error_wrapper(::select(s + 1, &fds, 0, 0, timeout), ec);
-#else // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
- pollfd fds;
- fds.fd = s;
- fds.events = POLLIN;
- fds.revents = 0;
- int timeout = (state & user_set_non_blocking) ? 0 : msec;
- clear_last_error();
- int result = error_wrapper(::poll(&fds, 1, timeout), ec);
-#endif // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
- if (result == 0)
- ec = (state & user_set_non_blocking)
- ? boost::asio::error::would_block : boost::system::error_code();
- else if (result > 0)
- ec = boost::system::error_code();
- return result;
-}
-
-int poll_write(socket_type s, state_type state,
- int msec, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
-#if defined(BOOST_ASIO_WINDOWS) \
- || defined(__CYGWIN__) \
- || defined(__SYMBIAN32__)
- fd_set fds;
- FD_ZERO(&fds);
- FD_SET(s, &fds);
- timeval timeout_obj;
- timeval* timeout;
- if (state & user_set_non_blocking)
- {
- timeout_obj.tv_sec = 0;
- timeout_obj.tv_usec = 0;
- timeout = &timeout_obj;
- }
- else if (msec >= 0)
- {
- timeout_obj.tv_sec = msec / 1000;
- timeout_obj.tv_usec = (msec % 1000) * 1000;
- timeout = &timeout_obj;
- }
- else
- timeout = 0;
- clear_last_error();
- int result = error_wrapper(::select(s + 1, 0, &fds, 0, timeout), ec);
-#else // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
- pollfd fds;
- fds.fd = s;
- fds.events = POLLOUT;
- fds.revents = 0;
- int timeout = (state & user_set_non_blocking) ? 0 : msec;
- clear_last_error();
- int result = error_wrapper(::poll(&fds, 1, timeout), ec);
-#endif // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
- if (result == 0)
- ec = (state & user_set_non_blocking)
- ? boost::asio::error::would_block : boost::system::error_code();
- else if (result > 0)
- ec = boost::system::error_code();
- return result;
-}
-
-int poll_error(socket_type s, state_type state,
- int msec, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
-#if defined(BOOST_ASIO_WINDOWS) \
- || defined(__CYGWIN__) \
- || defined(__SYMBIAN32__)
- fd_set fds;
- FD_ZERO(&fds);
- FD_SET(s, &fds);
- timeval timeout_obj;
- timeval* timeout;
- if (state & user_set_non_blocking)
- {
- timeout_obj.tv_sec = 0;
- timeout_obj.tv_usec = 0;
- timeout = &timeout_obj;
- }
- else if (msec >= 0)
- {
- timeout_obj.tv_sec = msec / 1000;
- timeout_obj.tv_usec = (msec % 1000) * 1000;
- timeout = &timeout_obj;
- }
- else
- timeout = 0;
- clear_last_error();
- int result = error_wrapper(::select(s + 1, 0, 0, &fds, timeout), ec);
-#else // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
- pollfd fds;
- fds.fd = s;
- fds.events = POLLPRI | POLLERR | POLLHUP;
- fds.revents = 0;
- int timeout = (state & user_set_non_blocking) ? 0 : msec;
- clear_last_error();
- int result = error_wrapper(::poll(&fds, 1, timeout), ec);
-#endif // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
- if (result == 0)
- ec = (state & user_set_non_blocking)
- ? boost::asio::error::would_block : boost::system::error_code();
- else if (result > 0)
- ec = boost::system::error_code();
- return result;
-}
-
-int poll_connect(socket_type s, int msec, boost::system::error_code& ec)
-{
- if (s == invalid_socket)
- {
- ec = boost::asio::error::bad_descriptor;
- return socket_error_retval;
- }
-
-#if defined(BOOST_ASIO_WINDOWS) \
- || defined(__CYGWIN__) \
- || defined(__SYMBIAN32__)
- fd_set write_fds;
- FD_ZERO(&write_fds);
- FD_SET(s, &write_fds);
- fd_set except_fds;
- FD_ZERO(&except_fds);
- FD_SET(s, &except_fds);
- timeval timeout_obj;
- timeval* timeout;
- if (msec >= 0)
- {
- timeout_obj.tv_sec = msec / 1000;
- timeout_obj.tv_usec = (msec % 1000) * 1000;
- timeout = &timeout_obj;
- }
- else
- timeout = 0;
- clear_last_error();
- int result = error_wrapper(::select(
- s + 1, 0, &write_fds, &except_fds, timeout), ec);
- if (result >= 0)
- ec = boost::system::error_code();
- return result;
-#else // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
- pollfd fds;
- fds.fd = s;
- fds.events = POLLOUT;
- fds.revents = 0;
- clear_last_error();
- int result = error_wrapper(::poll(&fds, 1, msec), ec);
- if (result >= 0)
- ec = boost::system::error_code();
- return result;
-#endif // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
-}
-
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-const char* inet_ntop(int af, const void* src, char* dest, size_t length,
- unsigned long scope_id, boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- using namespace std; // For sprintf.
- const unsigned char* bytes = static_cast<const unsigned char*>(src);
- if (af == BOOST_ASIO_OS_DEF(AF_INET))
- {
- sprintf_s(dest, length, "%u.%u.%u.%u",
- bytes[0], bytes[1], bytes[2], bytes[3]);
- return dest;
- }
- else if (af == BOOST_ASIO_OS_DEF(AF_INET6))
- {
- size_t n = 0, b = 0, z = 0;
- while (n < length && b < 16)
- {
- if (bytes[b] == 0 && bytes[b + 1] == 0 && z == 0)
- {
- do b += 2; while (b < 16 && bytes[b] == 0 && bytes[b + 1] == 0);
- n += sprintf_s(dest + n, length - n, ":%s", b < 16 ? "" : ":"), ++z;
- }
- else
- {
- n += sprintf_s(dest + n, length - n, "%s%x", b ? ":" : "",
- (static_cast<u_long_type>(bytes[b]) << 8) | bytes[b + 1]);
- b += 2;
- }
- }
- if (scope_id)
- n += sprintf_s(dest + n, length - n, "%%%lu", scope_id);
- return dest;
- }
- else
- {
- ec = boost::asio::error::address_family_not_supported;
- return 0;
- }
-#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- using namespace std; // For memcpy.
-
- if (af != BOOST_ASIO_OS_DEF(AF_INET) && af != BOOST_ASIO_OS_DEF(AF_INET6))
- {
- ec = boost::asio::error::address_family_not_supported;
- return 0;
- }
-
- union
- {
- socket_addr_type base;
- sockaddr_storage_type storage;
- sockaddr_in4_type v4;
- sockaddr_in6_type v6;
- } address;
- DWORD address_length;
- if (af == BOOST_ASIO_OS_DEF(AF_INET))
- {
- address_length = sizeof(sockaddr_in4_type);
- address.v4.sin_family = BOOST_ASIO_OS_DEF(AF_INET);
- address.v4.sin_port = 0;
- memcpy(&address.v4.sin_addr, src, sizeof(in4_addr_type));
- }
- else // AF_INET6
- {
- address_length = sizeof(sockaddr_in6_type);
- address.v6.sin6_family = BOOST_ASIO_OS_DEF(AF_INET6);
- address.v6.sin6_port = 0;
- address.v6.sin6_flowinfo = 0;
- address.v6.sin6_scope_id = scope_id;
- memcpy(&address.v6.sin6_addr, src, sizeof(in6_addr_type));
- }
-
- DWORD string_length = static_cast<DWORD>(length);
-#if defined(BOOST_NO_ANSI_APIS) || (defined(_MSC_VER) && (_MSC_VER >= 1800))
- 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, static_cast<int>(length), 0, 0);
-#else
- int result = error_wrapper(::WSAAddressToStringA(
- &address.base, address_length, 0, dest, &string_length), ec);
-#endif
-
- // Windows may set error code on success.
- if (result != socket_error_retval)
- ec = boost::system::error_code();
-
- // Windows may not set an error code on failure.
- else if (result == socket_error_retval && !ec)
- ec = boost::asio::error::invalid_argument;
-
- return result == socket_error_retval ? 0 : dest;
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- const char* result = error_wrapper(::inet_ntop(
- af, src, dest, static_cast<int>(length)), ec);
- if (result == 0 && !ec)
- ec = boost::asio::error::invalid_argument;
- if (result != 0 && af == BOOST_ASIO_OS_DEF(AF_INET6) && scope_id != 0)
- {
- using namespace std; // For strcat and sprintf.
- char if_name[IF_NAMESIZE + 1] = "%";
- const in6_addr_type* ipv6_address = static_cast<const in6_addr_type*>(src);
- bool is_link_local = ((ipv6_address->s6_addr[0] == 0xfe)
- && ((ipv6_address->s6_addr[1] & 0xc0) == 0x80));
- bool is_multicast_link_local = ((ipv6_address->s6_addr[0] == 0xff)
- && ((ipv6_address->s6_addr[1] & 0x0f) == 0x02));
- if ((!is_link_local && !is_multicast_link_local)
- || if_indextoname(static_cast<unsigned>(scope_id), if_name + 1) == 0)
- sprintf(if_name + 1, "%lu", scope_id);
- strcat(dest, if_name);
- }
- return result;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-}
-
-int inet_pton(int af, const char* src, void* dest,
- unsigned long* scope_id, boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- using namespace std; // For sscanf.
- unsigned char* bytes = static_cast<unsigned char*>(dest);
- if (af == BOOST_ASIO_OS_DEF(AF_INET))
- {
- unsigned int b0, b1, b2, b3;
- if (sscanf_s(src, "%u.%u.%u.%u", &b0, &b1, &b2, &b3) != 4)
- {
- ec = boost::asio::error::invalid_argument;
- return -1;
- }
- if (b0 > 255 || b1 > 255 || b2 > 255 || b3 > 255)
- {
- ec = boost::asio::error::invalid_argument;
- return -1;
- }
- bytes[0] = static_cast<unsigned char>(b0);
- bytes[1] = static_cast<unsigned char>(b1);
- bytes[2] = static_cast<unsigned char>(b2);
- bytes[3] = static_cast<unsigned char>(b3);
- ec = boost::system::error_code();
- return 1;
- }
- else if (af == BOOST_ASIO_OS_DEF(AF_INET6))
- {
- unsigned char* bytes = static_cast<unsigned char*>(dest);
- std::memset(bytes, 0, 16);
- unsigned char back_bytes[16] = { 0 };
- int num_front_bytes = 0, num_back_bytes = 0;
- const char* p = src;
-
- enum { fword, fcolon, bword, scope, done } state = fword;
- unsigned long current_word = 0;
- while (state != done)
- {
- if (current_word > 0xFFFF)
- {
- ec = boost::asio::error::invalid_argument;
- return -1;
- }
-
- switch (state)
- {
- case fword:
- if (*p >= '0' && *p <= '9')
- current_word = current_word * 16 + *p++ - '0';
- else if (*p >= 'a' && *p <= 'f')
- current_word = current_word * 16 + *p++ - 'a' + 10;
- else if (*p >= 'A' && *p <= 'F')
- current_word = current_word * 16 + *p++ - 'A' + 10;
- else
- {
- if (num_front_bytes == 16)
- {
- ec = boost::asio::error::invalid_argument;
- return -1;
- }
-
- bytes[num_front_bytes++] = (current_word >> 8) & 0xFF;
- bytes[num_front_bytes++] = current_word & 0xFF;
- current_word = 0;
-
- if (*p == ':')
- state = fcolon, ++p;
- else if (*p == '%')
- state = scope, ++p;
- else if (*p == 0)
- state = done;
- else
- {
- ec = boost::asio::error::invalid_argument;
- return -1;
- }
- }
- break;
-
- case fcolon:
- if (*p == ':')
- state = bword, ++p;
- else
- state = fword;
- break;
-
- case bword:
- if (*p >= '0' && *p <= '9')
- current_word = current_word * 16 + *p++ - '0';
- else if (*p >= 'a' && *p <= 'f')
- current_word = current_word * 16 + *p++ - 'a' + 10;
- else if (*p >= 'A' && *p <= 'F')
- current_word = current_word * 16 + *p++ - 'A' + 10;
- else
- {
- if (num_front_bytes + num_back_bytes == 16)
- {
- ec = boost::asio::error::invalid_argument;
- return -1;
- }
-
- back_bytes[num_back_bytes++] = (current_word >> 8) & 0xFF;
- back_bytes[num_back_bytes++] = current_word & 0xFF;
- current_word = 0;
-
- if (*p == ':')
- state = bword, ++p;
- else if (*p == '%')
- state = scope, ++p;
- else if (*p == 0)
- state = done;
- else
- {
- ec = boost::asio::error::invalid_argument;
- return -1;
- }
- }
- break;
-
- case scope:
- if (*p >= '0' && *p <= '9')
- current_word = current_word * 10 + *p++ - '0';
- else if (*p == 0)
- *scope_id = current_word, state = done;
- else
- {
- ec = boost::asio::error::invalid_argument;
- return -1;
- }
- break;
-
- default:
- break;
- }
- }
-
- for (int i = 0; i < num_back_bytes; ++i)
- bytes[16 - num_back_bytes + i] = back_bytes[i];
-
- ec = boost::system::error_code();
- return 1;
- }
- else
- {
- ec = boost::asio::error::address_family_not_supported;
- return -1;
- }
-#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- using namespace std; // For memcpy and strcmp.
-
- if (af != BOOST_ASIO_OS_DEF(AF_INET) && af != BOOST_ASIO_OS_DEF(AF_INET6))
- {
- ec = boost::asio::error::address_family_not_supported;
- return -1;
- }
-
- union
- {
- socket_addr_type base;
- sockaddr_storage_type storage;
- sockaddr_in4_type v4;
- sockaddr_in6_type v6;
- } address;
- int address_length = sizeof(sockaddr_storage_type);
-#if defined(BOOST_NO_ANSI_APIS) || (defined(_MSC_VER) && (_MSC_VER >= 1800))
- int num_wide_chars = static_cast<int>(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(
- wide_buffer, af, 0, &address.base, &address_length), ec);
-#else
- int result = error_wrapper(::WSAStringToAddressA(
- const_cast<char*>(src), af, 0, &address.base, &address_length), ec);
-#endif
-
- if (af == BOOST_ASIO_OS_DEF(AF_INET))
- {
- if (result != socket_error_retval)
- {
- memcpy(dest, &address.v4.sin_addr, sizeof(in4_addr_type));
- ec = boost::system::error_code();
- }
- else if (strcmp(src, "255.255.255.255") == 0)
- {
- static_cast<in4_addr_type*>(dest)->s_addr = INADDR_NONE;
- ec = boost::system::error_code();
- }
- }
- else // AF_INET6
- {
- if (result != socket_error_retval)
- {
- memcpy(dest, &address.v6.sin6_addr, sizeof(in6_addr_type));
- if (scope_id)
- *scope_id = address.v6.sin6_scope_id;
- ec = boost::system::error_code();
- }
- }
-
- // Windows may not set an error code on failure.
- if (result == socket_error_retval && !ec)
- ec = boost::asio::error::invalid_argument;
-
- if (result != socket_error_retval)
- ec = boost::system::error_code();
-
- return result == socket_error_retval ? -1 : 1;
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- 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 && is_v6 && scope_id)
- {
- using namespace std; // For strchr and atoi.
- *scope_id = 0;
- if (if_name != 0)
- {
- in6_addr_type* ipv6_address = static_cast<in6_addr_type*>(dest);
- bool is_link_local = ((ipv6_address->s6_addr[0] == 0xfe)
- && ((ipv6_address->s6_addr[1] & 0xc0) == 0x80));
- bool is_multicast_link_local = ((ipv6_address->s6_addr[0] == 0xff)
- && ((ipv6_address->s6_addr[1] & 0x0f) == 0x02));
- if (is_link_local || is_multicast_link_local)
- *scope_id = if_nametoindex(if_name + 1);
- if (*scope_id == 0)
- *scope_id = atoi(if_name + 1);
- }
- }
- return result;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-}
-
-int gethostname(char* name, int namelen, boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- try
- {
- using namespace Windows::Foundation::Collections;
- using namespace Windows::Networking;
- using namespace Windows::Networking::Connectivity;
- IVectorView<HostName^>^ hostnames = NetworkInformation::GetHostNames();
- for (unsigned i = 0; i < hostnames->Size; ++i)
- {
- HostName^ hostname = hostnames->GetAt(i);
- if (hostname->Type == HostNameType::DomainName)
- {
- std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
- std::string raw_name = converter.to_bytes(hostname->RawName->Data());
- if (namelen > 0 && raw_name.size() < static_cast<std::size_t>(namelen))
- {
- strcpy_s(name, namelen, raw_name.c_str());
- return 0;
- }
- }
- }
- return -1;
- }
- catch (Platform::Exception^ e)
- {
- ec = boost::system::error_code(e->HResult,
- boost::system::system_category());
- return -1;
- }
-#else // defined(BOOST_ASIO_WINDOWS_RUNTIME)
- int result = error_wrapper(::gethostname(name, namelen), ec);
-# if defined(BOOST_ASIO_WINDOWS)
- if (result == 0)
- ec = boost::system::error_code();
-# endif // defined(BOOST_ASIO_WINDOWS)
- return result;
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-}
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#if !defined(BOOST_ASIO_HAS_GETADDRINFO)
-
-// The following functions are only needed for emulation of getaddrinfo and
-// getnameinfo.
-
-inline boost::system::error_code translate_netdb_error(int error)
-{
- switch (error)
- {
- case 0:
- return boost::system::error_code();
- case HOST_NOT_FOUND:
- return boost::asio::error::host_not_found;
- case TRY_AGAIN:
- return boost::asio::error::host_not_found_try_again;
- case NO_RECOVERY:
- return boost::asio::error::no_recovery;
- case NO_DATA:
- return boost::asio::error::no_data;
- default:
- BOOST_ASIO_ASSERT(false);
- return boost::asio::error::invalid_argument;
- }
-}
-
-inline hostent* gethostbyaddr(const char* addr, int length, int af,
- hostent* result, char* buffer, int buflength, boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- (void)(buffer);
- (void)(buflength);
- hostent* retval = error_wrapper(::gethostbyaddr(addr, length, af), ec);
- if (!retval)
- return 0;
- ec = boost::system::error_code();
- *result = *retval;
- return retval;
-#elif defined(__sun) || defined(__QNX__)
- int error = 0;
- hostent* retval = error_wrapper(::gethostbyaddr_r(addr, length, af, result,
- buffer, buflength, &error), ec);
- if (error)
- ec = translate_netdb_error(error);
- return retval;
-#elif defined(__MACH__) && defined(__APPLE__)
- (void)(buffer);
- (void)(buflength);
- int error = 0;
- hostent* retval = error_wrapper(::getipnodebyaddr(
- addr, length, af, &error), ec);
- if (error)
- ec = translate_netdb_error(error);
- if (!retval)
- return 0;
- *result = *retval;
- return retval;
-#else
- hostent* retval = 0;
- int error = 0;
- error_wrapper(::gethostbyaddr_r(addr, length, af, result, buffer,
- buflength, &retval, &error), ec);
- if (error)
- ec = translate_netdb_error(error);
- return retval;
-#endif
-}
-
-inline hostent* gethostbyname(const char* name, int af, struct hostent* result,
- char* buffer, int buflength, int ai_flags, boost::system::error_code& ec)
-{
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- (void)(buffer);
- (void)(buflength);
- (void)(ai_flags);
- if (af != BOOST_ASIO_OS_DEF(AF_INET))
- {
- ec = boost::asio::error::address_family_not_supported;
- return 0;
- }
- hostent* retval = error_wrapper(::gethostbyname(name), ec);
- if (!retval)
- return 0;
- ec = boost::system::error_code();
- *result = *retval;
- return result;
-#elif defined(__sun) || defined(__QNX__)
- (void)(ai_flags);
- if (af != BOOST_ASIO_OS_DEF(AF_INET))
- {
- ec = boost::asio::error::address_family_not_supported;
- return 0;
- }
- int error = 0;
- hostent* retval = error_wrapper(::gethostbyname_r(name, result, buffer,
- buflength, &error), ec);
- if (error)
- ec = translate_netdb_error(error);
- return retval;
-#elif defined(__MACH__) && defined(__APPLE__)
- (void)(buffer);
- (void)(buflength);
- int error = 0;
- hostent* retval = error_wrapper(::getipnodebyname(
- name, af, ai_flags, &error), ec);
- if (error)
- ec = translate_netdb_error(error);
- if (!retval)
- return 0;
- *result = *retval;
- return retval;
-#else
- (void)(ai_flags);
- if (af != BOOST_ASIO_OS_DEF(AF_INET))
- {
- ec = boost::asio::error::address_family_not_supported;
- return 0;
- }
- hostent* retval = 0;
- int error = 0;
- error_wrapper(::gethostbyname_r(name, result,
- buffer, buflength, &retval, &error), ec);
- if (error)
- ec = translate_netdb_error(error);
- return retval;
-#endif
-}
-
-inline void freehostent(hostent* h)
-{
-#if defined(__MACH__) && defined(__APPLE__)
- if (h)
- ::freehostent(h);
-#else
- (void)(h);
-#endif
-}
-
-// Emulation of getaddrinfo based on implementation in:
-// Stevens, W. R., UNIX Network Programming Vol. 1, 2nd Ed., Prentice-Hall 1998.
-
-struct gai_search
-{
- const char* host;
- int family;
-};
-
-inline int gai_nsearch(const char* host,
- const addrinfo_type* hints, gai_search (&search)[2])
-{
- int search_count = 0;
- if (host == 0 || host[0] == '\0')
- {
- if (hints->ai_flags & AI_PASSIVE)
- {
- // No host and AI_PASSIVE implies wildcard bind.
- switch (hints->ai_family)
- {
- case BOOST_ASIO_OS_DEF(AF_INET):
- search[search_count].host = "0.0.0.0";
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET);
- ++search_count;
- break;
- case BOOST_ASIO_OS_DEF(AF_INET6):
- search[search_count].host = "0::0";
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET6);
- ++search_count;
- break;
- case BOOST_ASIO_OS_DEF(AF_UNSPEC):
- search[search_count].host = "0::0";
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET6);
- ++search_count;
- search[search_count].host = "0.0.0.0";
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET);
- ++search_count;
- break;
- default:
- break;
- }
- }
- else
- {
- // No host and not AI_PASSIVE means connect to local host.
- switch (hints->ai_family)
- {
- case BOOST_ASIO_OS_DEF(AF_INET):
- search[search_count].host = "localhost";
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET);
- ++search_count;
- break;
- case BOOST_ASIO_OS_DEF(AF_INET6):
- search[search_count].host = "localhost";
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET6);
- ++search_count;
- break;
- case BOOST_ASIO_OS_DEF(AF_UNSPEC):
- search[search_count].host = "localhost";
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET6);
- ++search_count;
- search[search_count].host = "localhost";
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET);
- ++search_count;
- break;
- default:
- break;
- }
- }
- }
- else
- {
- // Host is specified.
- switch (hints->ai_family)
- {
- case BOOST_ASIO_OS_DEF(AF_INET):
- search[search_count].host = host;
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET);
- ++search_count;
- break;
- case BOOST_ASIO_OS_DEF(AF_INET6):
- search[search_count].host = host;
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET6);
- ++search_count;
- break;
- case BOOST_ASIO_OS_DEF(AF_UNSPEC):
- search[search_count].host = host;
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET6);
- ++search_count;
- search[search_count].host = host;
- search[search_count].family = BOOST_ASIO_OS_DEF(AF_INET);
- ++search_count;
- break;
- default:
- break;
- }
- }
- return search_count;
-}
-
-template <typename T>
-inline T* gai_alloc(std::size_t size = sizeof(T))
-{
- using namespace std;
- T* p = static_cast<T*>(::operator new(size, std::nothrow));
- if (p)
- memset(p, 0, size);
- return p;
-}
-
-inline void gai_free(void* p)
-{
- ::operator delete(p);
-}
-
-inline void gai_strcpy(char* target, const char* source, std::size_t max_size)
-{
- using namespace std;
-#if defined(BOOST_ASIO_HAS_SECURE_RTL)
- strcpy_s(target, max_size, source);
-#else // defined(BOOST_ASIO_HAS_SECURE_RTL)
- *target = 0;
- if (max_size > 0)
- strncat(target, source, max_size - 1);
-#endif // defined(BOOST_ASIO_HAS_SECURE_RTL)
-}
-
-enum { gai_clone_flag = 1 << 30 };
-
-inline int gai_aistruct(addrinfo_type*** next, const addrinfo_type* hints,
- const void* addr, int family)
-{
- using namespace std;
-
- addrinfo_type* ai = gai_alloc<addrinfo_type>();
- if (ai == 0)
- return EAI_MEMORY;
-
- ai->ai_next = 0;
- **next = ai;
- *next = &ai->ai_next;
-
- ai->ai_canonname = 0;
- ai->ai_socktype = hints->ai_socktype;
- if (ai->ai_socktype == 0)
- ai->ai_flags |= gai_clone_flag;
- ai->ai_protocol = hints->ai_protocol;
- ai->ai_family = family;
-
- switch (ai->ai_family)
- {
- case BOOST_ASIO_OS_DEF(AF_INET):
- {
- sockaddr_in4_type* sinptr = gai_alloc<sockaddr_in4_type>();
- if (sinptr == 0)
- return EAI_MEMORY;
- sinptr->sin_family = BOOST_ASIO_OS_DEF(AF_INET);
- memcpy(&sinptr->sin_addr, addr, sizeof(in4_addr_type));
- ai->ai_addr = reinterpret_cast<sockaddr*>(sinptr);
- ai->ai_addrlen = sizeof(sockaddr_in4_type);
- break;
- }
- case BOOST_ASIO_OS_DEF(AF_INET6):
- {
- sockaddr_in6_type* sin6ptr = gai_alloc<sockaddr_in6_type>();
- if (sin6ptr == 0)
- return EAI_MEMORY;
- sin6ptr->sin6_family = BOOST_ASIO_OS_DEF(AF_INET6);
- memcpy(&sin6ptr->sin6_addr, addr, sizeof(in6_addr_type));
- ai->ai_addr = reinterpret_cast<sockaddr*>(sin6ptr);
- ai->ai_addrlen = sizeof(sockaddr_in6_type);
- break;
- }
- default:
- break;
- }
-
- return 0;
-}
-
-inline addrinfo_type* gai_clone(addrinfo_type* ai)
-{
- using namespace std;
-
- addrinfo_type* new_ai = gai_alloc<addrinfo_type>();
- if (new_ai == 0)
- return new_ai;
-
- new_ai->ai_next = ai->ai_next;
- ai->ai_next = new_ai;
-
- new_ai->ai_flags = 0;
- new_ai->ai_family = ai->ai_family;
- new_ai->ai_socktype = ai->ai_socktype;
- new_ai->ai_protocol = ai->ai_protocol;
- new_ai->ai_canonname = 0;
- new_ai->ai_addrlen = ai->ai_addrlen;
- new_ai->ai_addr = gai_alloc<sockaddr>(ai->ai_addrlen);
- memcpy(new_ai->ai_addr, ai->ai_addr, ai->ai_addrlen);
-
- return new_ai;
-}
-
-inline int gai_port(addrinfo_type* aihead, int port, int socktype)
-{
- int num_found = 0;
-
- for (addrinfo_type* ai = aihead; ai; ai = ai->ai_next)
- {
- if (ai->ai_flags & gai_clone_flag)
- {
- if (ai->ai_socktype != 0)
- {
- ai = gai_clone(ai);
- if (ai == 0)
- return -1;
- // ai now points to newly cloned entry.
- }
- }
- else if (ai->ai_socktype != socktype)
- {
- // Ignore if mismatch on socket type.
- continue;
- }
-
- ai->ai_socktype = socktype;
-
- switch (ai->ai_family)
- {
- case BOOST_ASIO_OS_DEF(AF_INET):
- {
- sockaddr_in4_type* sinptr =
- reinterpret_cast<sockaddr_in4_type*>(ai->ai_addr);
- sinptr->sin_port = port;
- ++num_found;
- break;
- }
- case BOOST_ASIO_OS_DEF(AF_INET6):
- {
- sockaddr_in6_type* sin6ptr =
- reinterpret_cast<sockaddr_in6_type*>(ai->ai_addr);
- sin6ptr->sin6_port = port;
- ++num_found;
- break;
- }
- default:
- break;
- }
- }
-
- return num_found;
-}
-
-inline int gai_serv(addrinfo_type* aihead,
- const addrinfo_type* hints, const char* serv)
-{
- using namespace std;
-
- int num_found = 0;
-
- if (
-#if defined(AI_NUMERICSERV)
- (hints->ai_flags & AI_NUMERICSERV) ||
-#endif
- isdigit(static_cast<unsigned char>(serv[0])))
- {
- int port = htons(atoi(serv));
- if (hints->ai_socktype)
- {
- // Caller specifies socket type.
- int rc = gai_port(aihead, port, hints->ai_socktype);
- if (rc < 0)
- return EAI_MEMORY;
- num_found += rc;
- }
- else
- {
- // Caller does not specify socket type.
- int rc = gai_port(aihead, port, SOCK_STREAM);
- if (rc < 0)
- return EAI_MEMORY;
- num_found += rc;
- rc = gai_port(aihead, port, SOCK_DGRAM);
- if (rc < 0)
- return EAI_MEMORY;
- num_found += rc;
- }
- }
- else
- {
- // Try service name with TCP first, then UDP.
- if (hints->ai_socktype == 0 || hints->ai_socktype == SOCK_STREAM)
- {
- servent* sptr = getservbyname(serv, "tcp");
- if (sptr != 0)
- {
- int rc = gai_port(aihead, sptr->s_port, SOCK_STREAM);
- if (rc < 0)
- return EAI_MEMORY;
- num_found += rc;
- }
- }
- if (hints->ai_socktype == 0 || hints->ai_socktype == SOCK_DGRAM)
- {
- servent* sptr = getservbyname(serv, "udp");
- if (sptr != 0)
- {
- int rc = gai_port(aihead, sptr->s_port, SOCK_DGRAM);
- if (rc < 0)
- return EAI_MEMORY;
- num_found += rc;
- }
- }
- }
-
- if (num_found == 0)
- {
- if (hints->ai_socktype == 0)
- {
- // All calls to getservbyname() failed.
- return EAI_NONAME;
- }
- else
- {
- // Service not supported for socket type.
- return EAI_SERVICE;
- }
- }
-
- return 0;
-}
-
-inline int gai_echeck(const char* host, const char* service,
- int flags, int family, int socktype, int protocol)
-{
- (void)(flags);
- (void)(protocol);
-
- // Host or service must be specified.
- if (host == 0 || host[0] == '\0')
- if (service == 0 || service[0] == '\0')
- return EAI_NONAME;
-
- // Check combination of family and socket type.
- switch (family)
- {
- case BOOST_ASIO_OS_DEF(AF_UNSPEC):
- break;
- case BOOST_ASIO_OS_DEF(AF_INET):
- case BOOST_ASIO_OS_DEF(AF_INET6):
- if (service != 0 && service[0] != '\0')
- if (socktype != 0 && socktype != SOCK_STREAM && socktype != SOCK_DGRAM)
- return EAI_SOCKTYPE;
- break;
- default:
- return EAI_FAMILY;
- }
-
- return 0;
-}
-
-inline void freeaddrinfo_emulation(addrinfo_type* aihead)
-{
- addrinfo_type* ai = aihead;
- while (ai)
- {
- gai_free(ai->ai_addr);
- gai_free(ai->ai_canonname);
- addrinfo_type* ainext = ai->ai_next;
- gai_free(ai);
- ai = ainext;
- }
-}
-
-inline int getaddrinfo_emulation(const char* host, const char* service,
- const addrinfo_type* hintsp, addrinfo_type** result)
-{
- // Set up linked list of addrinfo structures.
- addrinfo_type* aihead = 0;
- addrinfo_type** ainext = &aihead;
- char* canon = 0;
-
- // Supply default hints if not specified by caller.
- addrinfo_type hints = addrinfo_type();
- hints.ai_family = BOOST_ASIO_OS_DEF(AF_UNSPEC);
- if (hintsp)
- hints = *hintsp;
-
- // If the resolution is not specifically for AF_INET6, remove the AI_V4MAPPED
- // and AI_ALL flags.
-#if defined(AI_V4MAPPED)
- if (hints.ai_family != BOOST_ASIO_OS_DEF(AF_INET6))
- hints.ai_flags &= ~AI_V4MAPPED;
-#endif
-#if defined(AI_ALL)
- if (hints.ai_family != BOOST_ASIO_OS_DEF(AF_INET6))
- hints.ai_flags &= ~AI_ALL;
-#endif
-
- // Basic error checking.
- int rc = gai_echeck(host, service, hints.ai_flags, hints.ai_family,
- hints.ai_socktype, hints.ai_protocol);
- if (rc != 0)
- {
- freeaddrinfo_emulation(aihead);
- return rc;
- }
-
- gai_search search[2];
- int search_count = gai_nsearch(host, &hints, search);
- for (gai_search* sptr = search; sptr < search + search_count; ++sptr)
- {
- // Check for IPv4 dotted decimal string.
- in4_addr_type inaddr;
- boost::system::error_code ec;
- if (socket_ops::inet_pton(BOOST_ASIO_OS_DEF(AF_INET),
- sptr->host, &inaddr, 0, ec) == 1)
- {
- if (hints.ai_family != BOOST_ASIO_OS_DEF(AF_UNSPEC)
- && hints.ai_family != BOOST_ASIO_OS_DEF(AF_INET))
- {
- freeaddrinfo_emulation(aihead);
- gai_free(canon);
- return EAI_FAMILY;
- }
- if (sptr->family == BOOST_ASIO_OS_DEF(AF_INET))
- {
- rc = gai_aistruct(&ainext, &hints, &inaddr, BOOST_ASIO_OS_DEF(AF_INET));
- if (rc != 0)
- {
- freeaddrinfo_emulation(aihead);
- gai_free(canon);
- return rc;
- }
- }
- continue;
- }
-
- // Check for IPv6 hex string.
- in6_addr_type in6addr;
- if (socket_ops::inet_pton(BOOST_ASIO_OS_DEF(AF_INET6),
- sptr->host, &in6addr, 0, ec) == 1)
- {
- if (hints.ai_family != BOOST_ASIO_OS_DEF(AF_UNSPEC)
- && hints.ai_family != BOOST_ASIO_OS_DEF(AF_INET6))
- {
- freeaddrinfo_emulation(aihead);
- gai_free(canon);
- return EAI_FAMILY;
- }
- if (sptr->family == BOOST_ASIO_OS_DEF(AF_INET6))
- {
- rc = gai_aistruct(&ainext, &hints, &in6addr,
- BOOST_ASIO_OS_DEF(AF_INET6));
- if (rc != 0)
- {
- freeaddrinfo_emulation(aihead);
- gai_free(canon);
- return rc;
- }
- }
- continue;
- }
-
- // Look up hostname.
- hostent hent;
- char hbuf[8192] = "";
- hostent* hptr = socket_ops::gethostbyname(sptr->host,
- sptr->family, &hent, hbuf, sizeof(hbuf), hints.ai_flags, ec);
- if (hptr == 0)
- {
- if (search_count == 2)
- {
- // Failure is OK if there are multiple searches.
- continue;
- }
- freeaddrinfo_emulation(aihead);
- gai_free(canon);
- if (ec == boost::asio::error::host_not_found)
- return EAI_NONAME;
- if (ec == boost::asio::error::host_not_found_try_again)
- return EAI_AGAIN;
- if (ec == boost::asio::error::no_recovery)
- return EAI_FAIL;
- if (ec == boost::asio::error::no_data)
- return EAI_NONAME;
- return EAI_NONAME;
- }
-
- // Check for address family mismatch if one was specified.
- if (hints.ai_family != BOOST_ASIO_OS_DEF(AF_UNSPEC)
- && hints.ai_family != hptr->h_addrtype)
- {
- freeaddrinfo_emulation(aihead);
- gai_free(canon);
- socket_ops::freehostent(hptr);
- return EAI_FAMILY;
- }
-
- // Save canonical name first time.
- if (host != 0 && host[0] != '\0' && hptr->h_name && hptr->h_name[0]
- && (hints.ai_flags & AI_CANONNAME) && canon == 0)
- {
- std::size_t canon_len = strlen(hptr->h_name) + 1;
- canon = gai_alloc<char>(canon_len);
- if (canon == 0)
- {
- freeaddrinfo_emulation(aihead);
- socket_ops::freehostent(hptr);
- return EAI_MEMORY;
- }
- gai_strcpy(canon, hptr->h_name, canon_len);
- }
-
- // Create an addrinfo structure for each returned address.
- for (char** ap = hptr->h_addr_list; *ap; ++ap)
- {
- rc = gai_aistruct(&ainext, &hints, *ap, hptr->h_addrtype);
- if (rc != 0)
- {
- freeaddrinfo_emulation(aihead);
- gai_free(canon);
- socket_ops::freehostent(hptr);
- return EAI_FAMILY;
- }
- }
-
- socket_ops::freehostent(hptr);
- }
-
- // Check if we found anything.
- if (aihead == 0)
- {
- gai_free(canon);
- return EAI_NONAME;
- }
-
- // Return canonical name in first entry.
- if (host != 0 && host[0] != '\0' && (hints.ai_flags & AI_CANONNAME))
- {
- if (canon)
- {
- aihead->ai_canonname = canon;
- canon = 0;
- }
- else
- {
- std::size_t canonname_len = strlen(search[0].host) + 1;
- aihead->ai_canonname = gai_alloc<char>(canonname_len);
- if (aihead->ai_canonname == 0)
- {
- freeaddrinfo_emulation(aihead);
- return EAI_MEMORY;
- }
- gai_strcpy(aihead->ai_canonname, search[0].host, canonname_len);
- }
- }
- gai_free(canon);
-
- // Process the service name.
- if (service != 0 && service[0] != '\0')
- {
- rc = gai_serv(aihead, &hints, service);
- if (rc != 0)
- {
- freeaddrinfo_emulation(aihead);
- return rc;
- }
- }
-
- // Return result to caller.
- *result = aihead;
- return 0;
-}
-
-inline boost::system::error_code getnameinfo_emulation(
- const socket_addr_type* sa, std::size_t salen, char* host,
- std::size_t hostlen, char* serv, std::size_t servlen, int flags,
- boost::system::error_code& ec)
-{
- using namespace std;
-
- const char* addr;
- size_t addr_len;
- unsigned short port;
- switch (sa->sa_family)
- {
- case BOOST_ASIO_OS_DEF(AF_INET):
- if (salen != sizeof(sockaddr_in4_type))
- {
- return ec = boost::asio::error::invalid_argument;
- }
- addr = reinterpret_cast<const char*>(
- &reinterpret_cast<const sockaddr_in4_type*>(sa)->sin_addr);
- addr_len = sizeof(in4_addr_type);
- port = reinterpret_cast<const sockaddr_in4_type*>(sa)->sin_port;
- break;
- case BOOST_ASIO_OS_DEF(AF_INET6):
- if (salen != sizeof(sockaddr_in6_type))
- {
- return ec = boost::asio::error::invalid_argument;
- }
- addr = reinterpret_cast<const char*>(
- &reinterpret_cast<const sockaddr_in6_type*>(sa)->sin6_addr);
- addr_len = sizeof(in6_addr_type);
- port = reinterpret_cast<const sockaddr_in6_type*>(sa)->sin6_port;
- break;
- default:
- return ec = boost::asio::error::address_family_not_supported;
- }
-
- if (host && hostlen > 0)
- {
- if (flags & NI_NUMERICHOST)
- {
- if (socket_ops::inet_ntop(sa->sa_family, addr, host, hostlen, 0, ec) == 0)
- {
- return ec;
- }
- }
- else
- {
- hostent hent;
- char hbuf[8192] = "";
- hostent* hptr = socket_ops::gethostbyaddr(addr,
- static_cast<int>(addr_len), sa->sa_family,
- &hent, hbuf, sizeof(hbuf), ec);
- if (hptr && hptr->h_name && hptr->h_name[0] != '\0')
- {
- if (flags & NI_NOFQDN)
- {
- char* dot = strchr(hptr->h_name, '.');
- if (dot)
- {
- *dot = 0;
- }
- }
- gai_strcpy(host, hptr->h_name, hostlen);
- socket_ops::freehostent(hptr);
- }
- else
- {
- socket_ops::freehostent(hptr);
- if (flags & NI_NAMEREQD)
- {
- return ec = boost::asio::error::host_not_found;
- }
- if (socket_ops::inet_ntop(sa->sa_family,
- addr, host, hostlen, 0, ec) == 0)
- {
- return ec;
- }
- }
- }
- }
-
- if (serv && servlen > 0)
- {
- if (flags & NI_NUMERICSERV)
- {
- if (servlen < 6)
- {
- return ec = boost::asio::error::no_buffer_space;
- }
-#if defined(BOOST_ASIO_HAS_SECURE_RTL)
- sprintf_s(serv, servlen, "%u", ntohs(port));
-#else // defined(BOOST_ASIO_HAS_SECURE_RTL)
- sprintf(serv, "%u", ntohs(port));
-#endif // defined(BOOST_ASIO_HAS_SECURE_RTL)
- }
- else
- {
-#if defined(BOOST_ASIO_HAS_PTHREADS)
- static ::pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
- ::pthread_mutex_lock(&mutex);
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
- servent* sptr = ::getservbyport(port, (flags & NI_DGRAM) ? "udp" : 0);
- if (sptr && sptr->s_name && sptr->s_name[0] != '\0')
- {
- gai_strcpy(serv, sptr->s_name, servlen);
- }
- else
- {
- if (servlen < 6)
- {
- return ec = boost::asio::error::no_buffer_space;
- }
-#if defined(BOOST_ASIO_HAS_SECURE_RTL)
- sprintf_s(serv, servlen, "%u", ntohs(port));
-#else // defined(BOOST_ASIO_HAS_SECURE_RTL)
- sprintf(serv, "%u", ntohs(port));
-#endif // defined(BOOST_ASIO_HAS_SECURE_RTL)
- }
-#if defined(BOOST_ASIO_HAS_PTHREADS)
- ::pthread_mutex_unlock(&mutex);
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
- }
- }
-
- ec = boost::system::error_code();
- return ec;
-}
-
-#endif // !defined(BOOST_ASIO_HAS_GETADDRINFO)
-
-inline boost::system::error_code translate_addrinfo_error(int error)
-{
- switch (error)
- {
- case 0:
- return boost::system::error_code();
- case EAI_AGAIN:
- return boost::asio::error::host_not_found_try_again;
- case EAI_BADFLAGS:
- return boost::asio::error::invalid_argument;
- case EAI_FAIL:
- return boost::asio::error::no_recovery;
- case EAI_FAMILY:
- return boost::asio::error::address_family_not_supported;
- case EAI_MEMORY:
- return boost::asio::error::no_memory;
- case EAI_NONAME:
-#if defined(EAI_ADDRFAMILY)
- case EAI_ADDRFAMILY:
-#endif
-#if defined(EAI_NODATA) && (EAI_NODATA != EAI_NONAME)
- case EAI_NODATA:
-#endif
- return boost::asio::error::host_not_found;
- case EAI_SERVICE:
- return boost::asio::error::service_not_found;
- case EAI_SOCKTYPE:
- return boost::asio::error::socket_type_not_supported;
- default: // Possibly the non-portable EAI_SYSTEM.
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- return boost::system::error_code(
- WSAGetLastError(), boost::asio::error::get_system_category());
-#else
- return boost::system::error_code(
- errno, boost::asio::error::get_system_category());
-#endif
- }
-}
-
-boost::system::error_code getaddrinfo(const char* host,
- const char* service, const addrinfo_type& hints,
- addrinfo_type** result, boost::system::error_code& ec)
-{
- host = (host && *host) ? host : 0;
- service = (service && *service) ? service : 0;
- clear_last_error();
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-# if defined(BOOST_ASIO_HAS_GETADDRINFO)
- // Building for Windows XP, Windows Server 2003, or later.
- int error = ::getaddrinfo(host, service, &hints, result);
- return ec = translate_addrinfo_error(error);
-# else
- // Building for Windows 2000 or earlier.
- typedef int (WSAAPI *gai_t)(const char*,
- const char*, const addrinfo_type*, addrinfo_type**);
- if (HMODULE winsock_module = ::GetModuleHandleA("ws2_32"))
- {
- if (gai_t gai = (gai_t)::GetProcAddress(winsock_module, "getaddrinfo"))
- {
- int error = gai(host, service, &hints, result);
- return ec = translate_addrinfo_error(error);
- }
- }
- int error = getaddrinfo_emulation(host, service, &hints, result);
- return ec = translate_addrinfo_error(error);
-# endif
-#elif !defined(BOOST_ASIO_HAS_GETADDRINFO)
- int error = getaddrinfo_emulation(host, service, &hints, result);
- return ec = translate_addrinfo_error(error);
-#else
- int error = ::getaddrinfo(host, service, &hints, result);
-#if defined(__MACH__) && defined(__APPLE__)
- using namespace std; // For isdigit and atoi.
- if (error == 0 && service && isdigit(static_cast<unsigned char>(service[0])))
- {
- u_short_type port = host_to_network_short(atoi(service));
- for (addrinfo_type* ai = *result; ai; ai = ai->ai_next)
- {
- switch (ai->ai_family)
- {
- case BOOST_ASIO_OS_DEF(AF_INET):
- {
- sockaddr_in4_type* sinptr =
- reinterpret_cast<sockaddr_in4_type*>(ai->ai_addr);
- if (sinptr->sin_port == 0)
- sinptr->sin_port = port;
- break;
- }
- case BOOST_ASIO_OS_DEF(AF_INET6):
- {
- sockaddr_in6_type* sin6ptr =
- reinterpret_cast<sockaddr_in6_type*>(ai->ai_addr);
- if (sin6ptr->sin6_port == 0)
- sin6ptr->sin6_port = port;
- break;
- }
- default:
- break;
- }
- }
- }
-#endif
- return ec = translate_addrinfo_error(error);
-#endif
-}
-
-boost::system::error_code background_getaddrinfo(
- const weak_cancel_token_type& cancel_token, const char* host,
- const char* service, const addrinfo_type& hints,
- addrinfo_type** result, boost::system::error_code& ec)
-{
- if (cancel_token.expired())
- ec = boost::asio::error::operation_aborted;
- else
- socket_ops::getaddrinfo(host, service, hints, result, ec);
- return ec;
-}
-
-void freeaddrinfo(addrinfo_type* ai)
-{
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-# if defined(BOOST_ASIO_HAS_GETADDRINFO)
- // Building for Windows XP, Windows Server 2003, or later.
- ::freeaddrinfo(ai);
-# else
- // Building for Windows 2000 or earlier.
- typedef int (WSAAPI *fai_t)(addrinfo_type*);
- if (HMODULE winsock_module = ::GetModuleHandleA("ws2_32"))
- {
- if (fai_t fai = (fai_t)::GetProcAddress(winsock_module, "freeaddrinfo"))
- {
- fai(ai);
- return;
- }
- }
- freeaddrinfo_emulation(ai);
-# endif
-#elif !defined(BOOST_ASIO_HAS_GETADDRINFO)
- freeaddrinfo_emulation(ai);
-#else
- ::freeaddrinfo(ai);
-#endif
-}
-
-boost::system::error_code getnameinfo(const socket_addr_type* addr,
- std::size_t addrlen, char* host, std::size_t hostlen,
- char* serv, std::size_t servlen, int flags, boost::system::error_code& ec)
-{
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-# if defined(BOOST_ASIO_HAS_GETADDRINFO)
- // Building for Windows XP, Windows Server 2003, or later.
- clear_last_error();
- int error = ::getnameinfo(addr, static_cast<socklen_t>(addrlen),
- host, static_cast<DWORD>(hostlen),
- serv, static_cast<DWORD>(servlen), flags);
- return ec = translate_addrinfo_error(error);
-# else
- // Building for Windows 2000 or earlier.
- typedef int (WSAAPI *gni_t)(const socket_addr_type*,
- int, char*, DWORD, char*, DWORD, int);
- if (HMODULE winsock_module = ::GetModuleHandleA("ws2_32"))
- {
- if (gni_t gni = (gni_t)::GetProcAddress(winsock_module, "getnameinfo"))
- {
- clear_last_error();
- int error = gni(addr, static_cast<int>(addrlen),
- host, static_cast<DWORD>(hostlen),
- serv, static_cast<DWORD>(servlen), flags);
- return ec = translate_addrinfo_error(error);
- }
- }
- clear_last_error();
- return getnameinfo_emulation(addr, addrlen,
- host, hostlen, serv, servlen, flags, ec);
-# endif
-#elif !defined(BOOST_ASIO_HAS_GETADDRINFO)
- using namespace std; // For memcpy.
- sockaddr_storage_type tmp_addr;
- memcpy(&tmp_addr, addr, addrlen);
- addr = reinterpret_cast<socket_addr_type*>(&tmp_addr);
- clear_last_error();
- return getnameinfo_emulation(addr, addrlen,
- host, hostlen, serv, servlen, flags, ec);
-#else
- clear_last_error();
- int error = ::getnameinfo(addr, addrlen, host, hostlen, serv, servlen, flags);
- return ec = translate_addrinfo_error(error);
-#endif
-}
-
-boost::system::error_code sync_getnameinfo(
- const socket_addr_type* addr, std::size_t addrlen,
- char* host, std::size_t hostlen, char* serv,
- std::size_t servlen, int sock_type, boost::system::error_code& ec)
-{
- // First try resolving with the service name. If that fails try resolving
- // but allow the service to be returned as a number.
- int flags = (sock_type == SOCK_DGRAM) ? NI_DGRAM : 0;
- socket_ops::getnameinfo(addr, addrlen, host,
- hostlen, serv, servlen, flags, ec);
- if (ec)
- {
- socket_ops::getnameinfo(addr, addrlen, host, hostlen,
- serv, servlen, flags | NI_NUMERICSERV, ec);
- }
-
- return ec;
-}
-
-boost::system::error_code background_getnameinfo(
- const weak_cancel_token_type& cancel_token,
- const socket_addr_type* addr, std::size_t addrlen,
- char* host, std::size_t hostlen, char* serv,
- std::size_t servlen, int sock_type, boost::system::error_code& ec)
-{
- if (cancel_token.expired())
- {
- ec = boost::asio::error::operation_aborted;
- }
- else
- {
- // First try resolving with the service name. If that fails try resolving
- // but allow the service to be returned as a number.
- int flags = (sock_type == SOCK_DGRAM) ? NI_DGRAM : 0;
- socket_ops::getnameinfo(addr, addrlen, host,
- hostlen, serv, servlen, flags, ec);
- if (ec)
- {
- socket_ops::getnameinfo(addr, addrlen, host, hostlen,
- serv, servlen, flags | NI_NUMERICSERV, ec);
- }
- }
-
- return ec;
-}
-
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-u_long_type network_to_host_long(u_long_type value)
-{
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- unsigned char* value_p = reinterpret_cast<unsigned char*>(&value);
- u_long_type result = (static_cast<u_long_type>(value_p[0]) << 24)
- | (static_cast<u_long_type>(value_p[1]) << 16)
- | (static_cast<u_long_type>(value_p[2]) << 8)
- | static_cast<u_long_type>(value_p[3]);
- return result;
-#else // defined(BOOST_ASIO_WINDOWS_RUNTIME)
- return ntohl(value);
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-}
-
-u_long_type host_to_network_long(u_long_type value)
-{
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- u_long_type result;
- unsigned char* result_p = reinterpret_cast<unsigned char*>(&result);
- result_p[0] = static_cast<unsigned char>((value >> 24) & 0xFF);
- result_p[1] = static_cast<unsigned char>((value >> 16) & 0xFF);
- result_p[2] = static_cast<unsigned char>((value >> 8) & 0xFF);
- result_p[3] = static_cast<unsigned char>(value & 0xFF);
- return result;
-#else // defined(BOOST_ASIO_WINDOWS_RUNTIME)
- return htonl(value);
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-}
-
-u_short_type network_to_host_short(u_short_type value)
-{
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- unsigned char* value_p = reinterpret_cast<unsigned char*>(&value);
- u_short_type result = (static_cast<u_short_type>(value_p[0]) << 8)
- | static_cast<u_short_type>(value_p[1]);
- return result;
-#else // defined(BOOST_ASIO_WINDOWS_RUNTIME)
- return ntohs(value);
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-}
-
-u_short_type host_to_network_short(u_short_type value)
-{
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- u_short_type result;
- unsigned char* result_p = reinterpret_cast<unsigned char*>(&result);
- result_p[0] = static_cast<unsigned char>((value >> 8) & 0xFF);
- result_p[1] = static_cast<unsigned char>(value & 0xFF);
- return result;
-#else // defined(BOOST_ASIO_WINDOWS_RUNTIME)
- return htons(value);
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-}
-
-} // namespace socket_ops
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_SOCKET_OPS_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp
deleted file mode 100644
index 3d9e5289d3..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/socket_select_interrupter.ipp
+++ /dev/null
@@ -1,178 +0,0 @@
-//
-// detail/impl/socket_select_interrupter.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_SOCKET_SELECT_INTERRUPTER_IPP
-#define BOOST_ASIO_DETAIL_IMPL_SOCKET_SELECT_INTERRUPTER_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#if defined(BOOST_ASIO_WINDOWS) \
- || defined(__CYGWIN__) \
- || defined(__SYMBIAN32__)
-
-#include <cstdlib>
-#include <boost/asio/detail/socket_holder.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/socket_select_interrupter.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-socket_select_interrupter::socket_select_interrupter()
-{
- open_descriptors();
-}
-
-void socket_select_interrupter::open_descriptors()
-{
- boost::system::error_code ec;
- socket_holder acceptor(socket_ops::socket(
- AF_INET, SOCK_STREAM, IPPROTO_TCP, ec));
- if (acceptor.get() == invalid_socket)
- boost::asio::detail::throw_error(ec, "socket_select_interrupter");
-
- int opt = 1;
- socket_ops::state_type acceptor_state = 0;
- socket_ops::setsockopt(acceptor.get(), acceptor_state,
- SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt), ec);
-
- using namespace std; // For memset.
- sockaddr_in4_type addr;
- std::size_t addr_len = sizeof(addr);
- memset(&addr, 0, sizeof(addr));
- addr.sin_family = AF_INET;
- addr.sin_addr.s_addr = socket_ops::host_to_network_long(INADDR_LOOPBACK);
- addr.sin_port = 0;
- if (socket_ops::bind(acceptor.get(), (const socket_addr_type*)&addr,
- addr_len, ec) == socket_error_retval)
- boost::asio::detail::throw_error(ec, "socket_select_interrupter");
-
- if (socket_ops::getsockname(acceptor.get(), (socket_addr_type*)&addr,
- &addr_len, ec) == socket_error_retval)
- boost::asio::detail::throw_error(ec, "socket_select_interrupter");
-
- // Some broken firewalls on Windows will intermittently cause getsockname to
- // return 0.0.0.0 when the socket is actually bound to 127.0.0.1. We
- // explicitly specify the target address here to work around this problem.
- if (addr.sin_addr.s_addr == socket_ops::host_to_network_long(INADDR_ANY))
- addr.sin_addr.s_addr = socket_ops::host_to_network_long(INADDR_LOOPBACK);
-
- if (socket_ops::listen(acceptor.get(),
- SOMAXCONN, ec) == socket_error_retval)
- boost::asio::detail::throw_error(ec, "socket_select_interrupter");
-
- socket_holder client(socket_ops::socket(
- AF_INET, SOCK_STREAM, IPPROTO_TCP, ec));
- if (client.get() == invalid_socket)
- boost::asio::detail::throw_error(ec, "socket_select_interrupter");
-
- if (socket_ops::connect(client.get(), (const socket_addr_type*)&addr,
- addr_len, ec) == socket_error_retval)
- boost::asio::detail::throw_error(ec, "socket_select_interrupter");
-
- socket_holder server(socket_ops::accept(acceptor.get(), 0, 0, ec));
- if (server.get() == invalid_socket)
- boost::asio::detail::throw_error(ec, "socket_select_interrupter");
-
- ioctl_arg_type non_blocking = 1;
- socket_ops::state_type client_state = 0;
- if (socket_ops::ioctl(client.get(), client_state,
- FIONBIO, &non_blocking, ec))
- boost::asio::detail::throw_error(ec, "socket_select_interrupter");
-
- opt = 1;
- socket_ops::setsockopt(client.get(), client_state,
- IPPROTO_TCP, TCP_NODELAY, &opt, sizeof(opt), ec);
-
- non_blocking = 1;
- socket_ops::state_type server_state = 0;
- if (socket_ops::ioctl(server.get(), server_state,
- FIONBIO, &non_blocking, ec))
- boost::asio::detail::throw_error(ec, "socket_select_interrupter");
-
- opt = 1;
- socket_ops::setsockopt(server.get(), server_state,
- IPPROTO_TCP, TCP_NODELAY, &opt, sizeof(opt), ec);
-
- read_descriptor_ = server.release();
- write_descriptor_ = client.release();
-}
-
-socket_select_interrupter::~socket_select_interrupter()
-{
- close_descriptors();
-}
-
-void socket_select_interrupter::close_descriptors()
-{
- boost::system::error_code ec;
- socket_ops::state_type state = socket_ops::internal_non_blocking;
- if (read_descriptor_ != invalid_socket)
- socket_ops::close(read_descriptor_, state, true, ec);
- if (write_descriptor_ != invalid_socket)
- socket_ops::close(write_descriptor_, state, true, ec);
-}
-
-void socket_select_interrupter::recreate()
-{
- close_descriptors();
-
- write_descriptor_ = invalid_socket;
- read_descriptor_ = invalid_socket;
-
- open_descriptors();
-}
-
-void socket_select_interrupter::interrupt()
-{
- char byte = 0;
- socket_ops::buf b;
- socket_ops::init_buf(b, &byte, 1);
- boost::system::error_code ec;
- socket_ops::send(write_descriptor_, &b, 1, 0, ec);
-}
-
-bool socket_select_interrupter::reset()
-{
- char data[1024];
- socket_ops::buf b;
- socket_ops::init_buf(b, data, sizeof(data));
- boost::system::error_code ec;
- int bytes_read = socket_ops::recv(read_descriptor_, &b, 1, 0, ec);
- bool was_interrupted = (bytes_read > 0);
- while (bytes_read == sizeof(data))
- bytes_read = socket_ops::recv(read_descriptor_, &b, 1, 0, ec);
- return was_interrupted;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
-
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_SOCKET_SELECT_INTERRUPTER_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp
deleted file mode 100644
index d47708bb98..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-//
-// detail/impl/strand_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_STRAND_SERVICE_HPP
-#define BOOST_ASIO_DETAIL_IMPL_STRAND_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/call_stack.hpp>
-#include <boost/asio/detail/completion_handler.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-inline strand_service::strand_impl::strand_impl()
- : operation(&strand_service::do_complete),
- locked_(false)
-{
-}
-
-struct strand_service::on_dispatch_exit
-{
- io_context_impl* io_context_;
- strand_impl* impl_;
-
- ~on_dispatch_exit()
- {
- impl_->mutex_.lock();
- impl_->ready_queue_.push(impl_->waiting_queue_);
- bool more_handlers = impl_->locked_ = !impl_->ready_queue_.empty();
- impl_->mutex_.unlock();
-
- if (more_handlers)
- io_context_->post_immediate_completion(impl_, false);
- }
-};
-
-template <typename Handler>
-void strand_service::dispatch(strand_service::implementation_type& impl,
- Handler& handler)
-{
- // If we are already in the strand then the handler can run immediately.
- if (call_stack<strand_impl>::contains(impl))
- {
- fenced_block b(fenced_block::full);
- boost_asio_handler_invoke_helpers::invoke(handler, handler);
- return;
- }
-
- // Allocate and construct an operation to wrap the handler.
- typedef completion_handler<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(handler);
-
- BOOST_ASIO_HANDLER_CREATION((this->context(),
- *p.p, "strand", impl, 0, "dispatch"));
-
- bool dispatch_immediately = do_dispatch(impl, p.p);
- operation* o = p.p;
- p.v = p.p = 0;
-
- if (dispatch_immediately)
- {
- // Indicate that this strand is executing on the current thread.
- call_stack<strand_impl>::context ctx(impl);
-
- // Ensure the next handler, if any, is scheduled on block exit.
- on_dispatch_exit on_exit = { &io_context_, impl };
- (void)on_exit;
-
- completion_handler<Handler>::do_complete(
- &io_context_, o, boost::system::error_code(), 0);
- }
-}
-
-// Request the io_context to invoke the given handler and return immediately.
-template <typename Handler>
-void strand_service::post(strand_service::implementation_type& impl,
- Handler& handler)
-{
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef completion_handler<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(handler);
-
- BOOST_ASIO_HANDLER_CREATION((this->context(),
- *p.p, "strand", impl, 0, "post"));
-
- do_post(impl, p.p, is_continuation);
- p.v = p.p = 0;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_IMPL_STRAND_SERVICE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp
deleted file mode 100644
index 9926f9abf3..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/strand_service.ipp
+++ /dev/null
@@ -1,179 +0,0 @@
-//
-// detail/impl/strand_service.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_STRAND_SERVICE_IPP
-#define BOOST_ASIO_DETAIL_IMPL_STRAND_SERVICE_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/call_stack.hpp>
-#include <boost/asio/detail/strand_service.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-struct strand_service::on_do_complete_exit
-{
- io_context_impl* owner_;
- strand_impl* impl_;
-
- ~on_do_complete_exit()
- {
- impl_->mutex_.lock();
- impl_->ready_queue_.push(impl_->waiting_queue_);
- bool more_handlers = impl_->locked_ = !impl_->ready_queue_.empty();
- impl_->mutex_.unlock();
-
- if (more_handlers)
- owner_->post_immediate_completion(impl_, true);
- }
-};
-
-strand_service::strand_service(boost::asio::io_context& io_context)
- : boost::asio::detail::service_base<strand_service>(io_context),
- io_context_(boost::asio::use_service<io_context_impl>(io_context)),
- mutex_(),
- salt_(0)
-{
-}
-
-void strand_service::shutdown()
-{
- op_queue<operation> ops;
-
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- for (std::size_t i = 0; i < num_implementations; ++i)
- {
- if (strand_impl* impl = implementations_[i].get())
- {
- ops.push(impl->waiting_queue_);
- ops.push(impl->ready_queue_);
- }
- }
-}
-
-void strand_service::construct(strand_service::implementation_type& impl)
-{
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
-
- std::size_t salt = salt_++;
-#if defined(BOOST_ASIO_ENABLE_SEQUENTIAL_STRAND_ALLOCATION)
- std::size_t index = salt;
-#else // defined(BOOST_ASIO_ENABLE_SEQUENTIAL_STRAND_ALLOCATION)
- std::size_t index = reinterpret_cast<std::size_t>(&impl);
- index += (reinterpret_cast<std::size_t>(&impl) >> 3);
- index ^= salt + 0x9e3779b9 + (index << 6) + (index >> 2);
-#endif // defined(BOOST_ASIO_ENABLE_SEQUENTIAL_STRAND_ALLOCATION)
- index = index % num_implementations;
-
- if (!implementations_[index].get())
- implementations_[index].reset(new strand_impl);
- impl = implementations_[index].get();
-}
-
-bool strand_service::running_in_this_thread(
- const implementation_type& impl) const
-{
- return call_stack<strand_impl>::contains(impl) != 0;
-}
-
-bool strand_service::do_dispatch(implementation_type& impl, operation* op)
-{
- // If we are running inside the io_context, and no other handler already
- // holds the strand lock, then the handler can run immediately.
- bool can_dispatch = io_context_.can_dispatch();
- impl->mutex_.lock();
- if (can_dispatch && !impl->locked_)
- {
- // Immediate invocation is allowed.
- impl->locked_ = true;
- impl->mutex_.unlock();
- return true;
- }
-
- if (impl->locked_)
- {
- // Some other handler already holds the strand lock. Enqueue for later.
- impl->waiting_queue_.push(op);
- impl->mutex_.unlock();
- }
- else
- {
- // The handler is acquiring the strand lock and so is responsible for
- // scheduling the strand.
- impl->locked_ = true;
- impl->mutex_.unlock();
- impl->ready_queue_.push(op);
- io_context_.post_immediate_completion(impl, false);
- }
-
- return false;
-}
-
-void strand_service::do_post(implementation_type& impl,
- operation* op, bool is_continuation)
-{
- impl->mutex_.lock();
- if (impl->locked_)
- {
- // Some other handler already holds the strand lock. Enqueue for later.
- impl->waiting_queue_.push(op);
- impl->mutex_.unlock();
- }
- else
- {
- // The handler is acquiring the strand lock and so is responsible for
- // scheduling the strand.
- impl->locked_ = true;
- impl->mutex_.unlock();
- impl->ready_queue_.push(op);
- io_context_.post_immediate_completion(impl, is_continuation);
- }
-}
-
-void strand_service::do_complete(void* owner, operation* base,
- const boost::system::error_code& ec, std::size_t /*bytes_transferred*/)
-{
- if (owner)
- {
- strand_impl* impl = static_cast<strand_impl*>(base);
-
- // Indicate that this strand is executing on the current thread.
- call_stack<strand_impl>::context ctx(impl);
-
- // Ensure the next handler, if any, is scheduled on block exit.
- on_do_complete_exit on_exit;
- on_exit.owner_ = static_cast<io_context_impl*>(owner);
- on_exit.impl_ = impl;
-
- // Run all ready handlers. No lock is required since the ready queue is
- // accessed only within the strand.
- while (operation* o = impl->ready_queue_.front())
- {
- impl->ready_queue_.pop();
- o->complete(owner, ec, 0);
- }
- }
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_IMPL_STRAND_SERVICE_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp
deleted file mode 100644
index ffcacf47ae..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/throw_error.ipp
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// detail/impl/throw_error.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_THROW_ERROR_IPP
-#define BOOST_ASIO_DETAIL_IMPL_THROW_ERROR_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/throw_exception.hpp>
-#include <boost/system/system_error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-void do_throw_error(const boost::system::error_code& err)
-{
- boost::system::system_error e(err);
- boost::asio::detail::throw_exception(e);
-}
-
-void do_throw_error(const boost::system::error_code& err, const char* location)
-{
- boost::system::system_error e(err, location);
- boost::asio::detail::throw_exception(e);
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_IMPL_THROW_ERROR_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp
deleted file mode 100644
index 71f83216aa..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/timer_queue_set.ipp
+++ /dev/null
@@ -1,103 +0,0 @@
-//
-// detail/impl/timer_queue_set.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_TIMER_QUEUE_SET_IPP
-#define BOOST_ASIO_DETAIL_IMPL_TIMER_QUEUE_SET_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/timer_queue_set.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-timer_queue_set::timer_queue_set()
- : first_(0)
-{
-}
-
-void timer_queue_set::insert(timer_queue_base* q)
-{
- q->next_ = first_;
- first_ = q;
-}
-
-void timer_queue_set::erase(timer_queue_base* q)
-{
- if (first_)
- {
- if (q == first_)
- {
- first_ = q->next_;
- q->next_ = 0;
- return;
- }
-
- for (timer_queue_base* p = first_; p->next_; p = p->next_)
- {
- if (p->next_ == q)
- {
- p->next_ = q->next_;
- q->next_ = 0;
- return;
- }
- }
- }
-}
-
-bool timer_queue_set::all_empty() const
-{
- for (timer_queue_base* p = first_; p; p = p->next_)
- if (!p->empty())
- return false;
- return true;
-}
-
-long timer_queue_set::wait_duration_msec(long max_duration) const
-{
- long min_duration = max_duration;
- for (timer_queue_base* p = first_; p; p = p->next_)
- min_duration = p->wait_duration_msec(min_duration);
- return min_duration;
-}
-
-long timer_queue_set::wait_duration_usec(long max_duration) const
-{
- long min_duration = max_duration;
- for (timer_queue_base* p = first_; p; p = p->next_)
- min_duration = p->wait_duration_usec(min_duration);
- return min_duration;
-}
-
-void timer_queue_set::get_ready_timers(op_queue<operation>& ops)
-{
- for (timer_queue_base* p = first_; p; p = p->next_)
- p->get_ready_timers(ops);
-}
-
-void timer_queue_set::get_all_timers(op_queue<operation>& ops)
-{
- for (timer_queue_base* p = first_; p; p = p->next_)
- p->get_all_timers(ops);
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_IMPL_TIMER_QUEUE_SET_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp
deleted file mode 100644
index 3e7dfdcf21..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_event.ipp
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// detail/win_event.ipp
-// ~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_WIN_EVENT_IPP
-#define BOOST_ASIO_DETAIL_IMPL_WIN_EVENT_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS)
-
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/win_event.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-win_event::win_event()
- : state_(0)
-{
-#if defined(BOOST_ASIO_WINDOWS_APP)
- events_[0] = ::CreateEventExW(0, 0,
- CREATE_EVENT_MANUAL_RESET, EVENT_ALL_ACCESS);
-#else // defined(BOOST_ASIO_WINDOWS_APP)
- events_[0] = ::CreateEventW(0, true, false, 0);
-#endif // defined(BOOST_ASIO_WINDOWS_APP)
- if (!events_[0])
- {
- DWORD last_error = ::GetLastError();
- boost::system::error_code ec(last_error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "event");
- }
-
-#if defined(BOOST_ASIO_WINDOWS_APP)
- events_[1] = ::CreateEventExW(0, 0, 0, EVENT_ALL_ACCESS);
-#else // defined(BOOST_ASIO_WINDOWS_APP)
- events_[1] = ::CreateEventW(0, false, false, 0);
-#endif // defined(BOOST_ASIO_WINDOWS_APP)
- if (!events_[1])
- {
- DWORD last_error = ::GetLastError();
- ::CloseHandle(events_[0]);
- boost::system::error_code ec(last_error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "event");
- }
-}
-
-win_event::~win_event()
-{
- ::CloseHandle(events_[0]);
- ::CloseHandle(events_[1]);
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_WIN_EVENT_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp
deleted file mode 100644
index 771c1f3c3a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-//
-// detail/impl/win_iocp_io_context.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_HPP
-#define BOOST_ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/completion_handler.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Time_Traits>
-void win_iocp_io_context::add_timer_queue(
- timer_queue<Time_Traits>& queue)
-{
- do_add_timer_queue(queue);
-}
-
-template <typename Time_Traits>
-void win_iocp_io_context::remove_timer_queue(
- timer_queue<Time_Traits>& queue)
-{
- do_remove_timer_queue(queue);
-}
-
-template <typename Time_Traits>
-void win_iocp_io_context::schedule_timer(timer_queue<Time_Traits>& queue,
- const typename Time_Traits::time_type& time,
- typename timer_queue<Time_Traits>::per_timer_data& timer, wait_op* op)
-{
- // If the service has been shut down we silently discard the timer.
- if (::InterlockedExchangeAdd(&shutdown_, 0) != 0)
- {
- post_immediate_completion(op, false);
- return;
- }
-
- mutex::scoped_lock lock(dispatch_mutex_);
-
- bool earliest = queue.enqueue_timer(time, timer, op);
- work_started();
- if (earliest)
- update_timeout();
-}
-
-template <typename Time_Traits>
-std::size_t win_iocp_io_context::cancel_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& timer,
- std::size_t max_cancelled)
-{
- // If the service has been shut down we silently ignore the cancellation.
- if (::InterlockedExchangeAdd(&shutdown_, 0) != 0)
- return 0;
-
- mutex::scoped_lock lock(dispatch_mutex_);
- op_queue<win_iocp_operation> ops;
- std::size_t n = queue.cancel_timer(timer, ops, max_cancelled);
- post_deferred_completions(ops);
- return n;
-}
-
-template <typename Time_Traits>
-void win_iocp_io_context::move_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& to,
- typename timer_queue<Time_Traits>::per_timer_data& from)
-{
- boost::asio::detail::mutex::scoped_lock lock(dispatch_mutex_);
- op_queue<operation> ops;
- queue.cancel_timer(to, ops);
- queue.move_timer(to, from);
- lock.unlock();
- post_deferred_completions(ops);
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp
deleted file mode 100644
index 87637f0b5c..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_io_context.ipp
+++ /dev/null
@@ -1,556 +0,0 @@
-//
-// detail/impl/win_iocp_io_context.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_IPP
-#define BOOST_ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/error.hpp>
-#include <boost/asio/detail/cstdint.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/limits.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/win_iocp_io_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-struct win_iocp_io_context::work_finished_on_block_exit
-{
- ~work_finished_on_block_exit()
- {
- io_context_->work_finished();
- }
-
- win_iocp_io_context* io_context_;
-};
-
-struct win_iocp_io_context::timer_thread_function
-{
- void operator()()
- {
- while (::InterlockedExchangeAdd(&io_context_->shutdown_, 0) == 0)
- {
- if (::WaitForSingleObject(io_context_->waitable_timer_.handle,
- INFINITE) == WAIT_OBJECT_0)
- {
- ::InterlockedExchange(&io_context_->dispatch_required_, 1);
- ::PostQueuedCompletionStatus(io_context_->iocp_.handle,
- 0, wake_for_dispatch, 0);
- }
- }
- }
-
- win_iocp_io_context* io_context_;
-};
-
-win_iocp_io_context::win_iocp_io_context(
- boost::asio::execution_context& ctx, int concurrency_hint)
- : execution_context_service_base<win_iocp_io_context>(ctx),
- iocp_(),
- outstanding_work_(0),
- stopped_(0),
- stop_event_posted_(0),
- shutdown_(0),
- gqcs_timeout_(get_gqcs_timeout()),
- dispatch_required_(0),
- concurrency_hint_(concurrency_hint)
-{
- BOOST_ASIO_HANDLER_TRACKING_INIT;
-
- iocp_.handle = ::CreateIoCompletionPort(INVALID_HANDLE_VALUE, 0, 0,
- static_cast<DWORD>(concurrency_hint >= 0 ? concurrency_hint : DWORD(~0)));
- if (!iocp_.handle)
- {
- DWORD last_error = ::GetLastError();
- boost::system::error_code ec(last_error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "iocp");
- }
-}
-
-void win_iocp_io_context::shutdown()
-{
- ::InterlockedExchange(&shutdown_, 1);
-
- if (timer_thread_.get())
- {
- LARGE_INTEGER timeout;
- timeout.QuadPart = 1;
- ::SetWaitableTimer(waitable_timer_.handle, &timeout, 1, 0, 0, FALSE);
- }
-
- while (::InterlockedExchangeAdd(&outstanding_work_, 0) > 0)
- {
- op_queue<win_iocp_operation> ops;
- timer_queues_.get_all_timers(ops);
- ops.push(completed_ops_);
- if (!ops.empty())
- {
- while (win_iocp_operation* op = ops.front())
- {
- ops.pop();
- ::InterlockedDecrement(&outstanding_work_);
- op->destroy();
- }
- }
- else
- {
- DWORD bytes_transferred = 0;
- dword_ptr_t completion_key = 0;
- LPOVERLAPPED overlapped = 0;
- ::GetQueuedCompletionStatus(iocp_.handle, &bytes_transferred,
- &completion_key, &overlapped, gqcs_timeout_);
- if (overlapped)
- {
- ::InterlockedDecrement(&outstanding_work_);
- static_cast<win_iocp_operation*>(overlapped)->destroy();
- }
- }
- }
-
- if (timer_thread_.get())
- timer_thread_->join();
-}
-
-boost::system::error_code win_iocp_io_context::register_handle(
- HANDLE handle, boost::system::error_code& ec)
-{
- if (::CreateIoCompletionPort(handle, iocp_.handle, 0, 0) == 0)
- {
- DWORD last_error = ::GetLastError();
- ec = boost::system::error_code(last_error,
- boost::asio::error::get_system_category());
- }
- else
- {
- ec = boost::system::error_code();
- }
- return ec;
-}
-
-size_t win_iocp_io_context::run(boost::system::error_code& ec)
-{
- if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0)
- {
- stop();
- ec = boost::system::error_code();
- return 0;
- }
-
- win_iocp_thread_info this_thread;
- thread_call_stack::context ctx(this, this_thread);
-
- size_t n = 0;
- while (do_one(INFINITE, ec))
- if (n != (std::numeric_limits<size_t>::max)())
- ++n;
- return n;
-}
-
-size_t win_iocp_io_context::run_one(boost::system::error_code& ec)
-{
- if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0)
- {
- stop();
- ec = boost::system::error_code();
- return 0;
- }
-
- win_iocp_thread_info this_thread;
- thread_call_stack::context ctx(this, this_thread);
-
- return do_one(INFINITE, ec);
-}
-
-size_t win_iocp_io_context::wait_one(long usec, boost::system::error_code& ec)
-{
- if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0)
- {
- stop();
- ec = boost::system::error_code();
- return 0;
- }
-
- win_iocp_thread_info this_thread;
- thread_call_stack::context ctx(this, this_thread);
-
- return do_one(usec < 0 ? INFINITE : ((usec - 1) / 1000 + 1), ec);
-}
-
-size_t win_iocp_io_context::poll(boost::system::error_code& ec)
-{
- if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0)
- {
- stop();
- ec = boost::system::error_code();
- return 0;
- }
-
- win_iocp_thread_info this_thread;
- thread_call_stack::context ctx(this, this_thread);
-
- size_t n = 0;
- while (do_one(0, ec))
- if (n != (std::numeric_limits<size_t>::max)())
- ++n;
- return n;
-}
-
-size_t win_iocp_io_context::poll_one(boost::system::error_code& ec)
-{
- if (::InterlockedExchangeAdd(&outstanding_work_, 0) == 0)
- {
- stop();
- ec = boost::system::error_code();
- return 0;
- }
-
- win_iocp_thread_info this_thread;
- thread_call_stack::context ctx(this, this_thread);
-
- return do_one(0, ec);
-}
-
-void win_iocp_io_context::stop()
-{
- if (::InterlockedExchange(&stopped_, 1) == 0)
- {
- if (::InterlockedExchange(&stop_event_posted_, 1) == 0)
- {
- if (!::PostQueuedCompletionStatus(iocp_.handle, 0, 0, 0))
- {
- DWORD last_error = ::GetLastError();
- boost::system::error_code ec(last_error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "pqcs");
- }
- }
- }
-}
-
-void win_iocp_io_context::post_deferred_completion(win_iocp_operation* op)
-{
- // Flag the operation as ready.
- op->ready_ = 1;
-
- // Enqueue the operation on the I/O completion port.
- if (!::PostQueuedCompletionStatus(iocp_.handle, 0, 0, op))
- {
- // Out of resources. Put on completed queue instead.
- mutex::scoped_lock lock(dispatch_mutex_);
- completed_ops_.push(op);
- ::InterlockedExchange(&dispatch_required_, 1);
- }
-}
-
-void win_iocp_io_context::post_deferred_completions(
- op_queue<win_iocp_operation>& ops)
-{
- while (win_iocp_operation* op = ops.front())
- {
- ops.pop();
-
- // Flag the operation as ready.
- op->ready_ = 1;
-
- // Enqueue the operation on the I/O completion port.
- if (!::PostQueuedCompletionStatus(iocp_.handle, 0, 0, op))
- {
- // Out of resources. Put on completed queue instead.
- mutex::scoped_lock lock(dispatch_mutex_);
- completed_ops_.push(op);
- completed_ops_.push(ops);
- ::InterlockedExchange(&dispatch_required_, 1);
- }
- }
-}
-
-void win_iocp_io_context::abandon_operations(
- op_queue<win_iocp_operation>& ops)
-{
- while (win_iocp_operation* op = ops.front())
- {
- ops.pop();
- ::InterlockedDecrement(&outstanding_work_);
- op->destroy();
- }
-}
-
-void win_iocp_io_context::on_pending(win_iocp_operation* op)
-{
- if (::InterlockedCompareExchange(&op->ready_, 1, 0) == 1)
- {
- // Enqueue the operation on the I/O completion port.
- if (!::PostQueuedCompletionStatus(iocp_.handle,
- 0, overlapped_contains_result, op))
- {
- // Out of resources. Put on completed queue instead.
- mutex::scoped_lock lock(dispatch_mutex_);
- completed_ops_.push(op);
- ::InterlockedExchange(&dispatch_required_, 1);
- }
- }
-}
-
-void win_iocp_io_context::on_completion(win_iocp_operation* op,
- DWORD last_error, DWORD bytes_transferred)
-{
- // Flag that the operation is ready for invocation.
- op->ready_ = 1;
-
- // Store results in the OVERLAPPED structure.
- op->Internal = reinterpret_cast<ulong_ptr_t>(
- &boost::asio::error::get_system_category());
- op->Offset = last_error;
- op->OffsetHigh = bytes_transferred;
-
- // Enqueue the operation on the I/O completion port.
- if (!::PostQueuedCompletionStatus(iocp_.handle,
- 0, overlapped_contains_result, op))
- {
- // Out of resources. Put on completed queue instead.
- mutex::scoped_lock lock(dispatch_mutex_);
- completed_ops_.push(op);
- ::InterlockedExchange(&dispatch_required_, 1);
- }
-}
-
-void win_iocp_io_context::on_completion(win_iocp_operation* op,
- const boost::system::error_code& ec, DWORD bytes_transferred)
-{
- // Flag that the operation is ready for invocation.
- op->ready_ = 1;
-
- // Store results in the OVERLAPPED structure.
- op->Internal = reinterpret_cast<ulong_ptr_t>(&ec.category());
- op->Offset = ec.value();
- op->OffsetHigh = bytes_transferred;
-
- // Enqueue the operation on the I/O completion port.
- if (!::PostQueuedCompletionStatus(iocp_.handle,
- 0, overlapped_contains_result, op))
- {
- // Out of resources. Put on completed queue instead.
- mutex::scoped_lock lock(dispatch_mutex_);
- completed_ops_.push(op);
- ::InterlockedExchange(&dispatch_required_, 1);
- }
-}
-
-size_t win_iocp_io_context::do_one(DWORD msec, boost::system::error_code& ec)
-{
- for (;;)
- {
- // Try to acquire responsibility for dispatching timers and completed ops.
- if (::InterlockedCompareExchange(&dispatch_required_, 0, 1) == 1)
- {
- mutex::scoped_lock lock(dispatch_mutex_);
-
- // Dispatch pending timers and operations.
- op_queue<win_iocp_operation> ops;
- ops.push(completed_ops_);
- timer_queues_.get_ready_timers(ops);
- post_deferred_completions(ops);
- update_timeout();
- }
-
- // Get the next operation from the queue.
- DWORD bytes_transferred = 0;
- dword_ptr_t completion_key = 0;
- LPOVERLAPPED overlapped = 0;
- ::SetLastError(0);
- BOOL ok = ::GetQueuedCompletionStatus(iocp_.handle,
- &bytes_transferred, &completion_key, &overlapped,
- msec < gqcs_timeout_ ? msec : gqcs_timeout_);
- DWORD last_error = ::GetLastError();
-
- if (overlapped)
- {
- win_iocp_operation* op = static_cast<win_iocp_operation*>(overlapped);
- boost::system::error_code result_ec(last_error,
- boost::asio::error::get_system_category());
-
- // We may have been passed the last_error and bytes_transferred in the
- // OVERLAPPED structure itself.
- if (completion_key == overlapped_contains_result)
- {
- result_ec = boost::system::error_code(static_cast<int>(op->Offset),
- *reinterpret_cast<boost::system::error_category*>(op->Internal));
- bytes_transferred = op->OffsetHigh;
- }
-
- // Otherwise ensure any result has been saved into the OVERLAPPED
- // structure.
- else
- {
- op->Internal = reinterpret_cast<ulong_ptr_t>(&result_ec.category());
- op->Offset = result_ec.value();
- op->OffsetHigh = bytes_transferred;
- }
-
- // Dispatch the operation only if ready. The operation may not be ready
- // if the initiating function (e.g. a call to WSARecv) has not yet
- // returned. This is because the initiating function still wants access
- // to the operation's OVERLAPPED structure.
- if (::InterlockedCompareExchange(&op->ready_, 1, 0) == 1)
- {
- // Ensure the count of outstanding work is decremented on block exit.
- work_finished_on_block_exit on_exit = { this };
- (void)on_exit;
-
- op->complete(this, result_ec, bytes_transferred);
- ec = boost::system::error_code();
- return 1;
- }
- }
- else if (!ok)
- {
- if (last_error != WAIT_TIMEOUT)
- {
- ec = boost::system::error_code(last_error,
- boost::asio::error::get_system_category());
- return 0;
- }
-
- // If we're waiting indefinitely we need to keep going until we get a
- // real handler.
- if (msec == INFINITE)
- continue;
-
- ec = boost::system::error_code();
- return 0;
- }
- else if (completion_key == wake_for_dispatch)
- {
- // We have been woken up to try to acquire responsibility for dispatching
- // timers and completed operations.
- }
- else
- {
- // Indicate that there is no longer an in-flight stop event.
- ::InterlockedExchange(&stop_event_posted_, 0);
-
- // The stopped_ flag is always checked to ensure that any leftover
- // stop events from a previous run invocation are ignored.
- if (::InterlockedExchangeAdd(&stopped_, 0) != 0)
- {
- // Wake up next thread that is blocked on GetQueuedCompletionStatus.
- if (::InterlockedExchange(&stop_event_posted_, 1) == 0)
- {
- if (!::PostQueuedCompletionStatus(iocp_.handle, 0, 0, 0))
- {
- last_error = ::GetLastError();
- ec = boost::system::error_code(last_error,
- boost::asio::error::get_system_category());
- return 0;
- }
- }
-
- ec = boost::system::error_code();
- return 0;
- }
- }
- }
-}
-
-DWORD win_iocp_io_context::get_gqcs_timeout()
-{
- OSVERSIONINFOEX osvi;
- ZeroMemory(&osvi, sizeof(osvi));
- osvi.dwOSVersionInfoSize = sizeof(osvi);
- osvi.dwMajorVersion = 6ul;
-
- const uint64_t condition_mask = ::VerSetConditionMask(
- 0, VER_MAJORVERSION, VER_GREATER_EQUAL);
-
- if (!!::VerifyVersionInfo(&osvi, VER_MAJORVERSION, condition_mask))
- return INFINITE;
-
- return default_gqcs_timeout;
-}
-
-void win_iocp_io_context::do_add_timer_queue(timer_queue_base& queue)
-{
- mutex::scoped_lock lock(dispatch_mutex_);
-
- timer_queues_.insert(&queue);
-
- if (!waitable_timer_.handle)
- {
- waitable_timer_.handle = ::CreateWaitableTimer(0, FALSE, 0);
- if (waitable_timer_.handle == 0)
- {
- DWORD last_error = ::GetLastError();
- boost::system::error_code ec(last_error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "timer");
- }
-
- LARGE_INTEGER timeout;
- timeout.QuadPart = -max_timeout_usec;
- timeout.QuadPart *= 10;
- ::SetWaitableTimer(waitable_timer_.handle,
- &timeout, max_timeout_msec, 0, 0, FALSE);
- }
-
- if (!timer_thread_.get())
- {
- timer_thread_function thread_function = { this };
- timer_thread_.reset(new thread(thread_function, 65536));
- }
-}
-
-void win_iocp_io_context::do_remove_timer_queue(timer_queue_base& queue)
-{
- mutex::scoped_lock lock(dispatch_mutex_);
-
- timer_queues_.erase(&queue);
-}
-
-void win_iocp_io_context::update_timeout()
-{
- if (timer_thread_.get())
- {
- // There's no point updating the waitable timer if the new timeout period
- // exceeds the maximum timeout. In that case, we might as well wait for the
- // existing period of the timer to expire.
- long timeout_usec = timer_queues_.wait_duration_usec(max_timeout_usec);
- if (timeout_usec < max_timeout_usec)
- {
- LARGE_INTEGER timeout;
- timeout.QuadPart = -timeout_usec;
- timeout.QuadPart *= 10;
- ::SetWaitableTimer(waitable_timer_.handle,
- &timeout, max_timeout_msec, 0, 0, FALSE);
- }
- }
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_WIN_IOCP_IO_CONTEXT_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp
deleted file mode 100644
index 3b7e7066f5..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_iocp_socket_service_base.ipp
+++ /dev/null
@@ -1,801 +0,0 @@
-//
-// detail/impl/win_iocp_socket_service_base.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_WIN_IOCP_SOCKET_SERVICE_BASE_IPP
-#define BOOST_ASIO_DETAIL_IMPL_WIN_IOCP_SOCKET_SERVICE_BASE_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/win_iocp_socket_service_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-win_iocp_socket_service_base::win_iocp_socket_service_base(
- boost::asio::io_context& io_context)
- : io_context_(io_context),
- iocp_service_(use_service<win_iocp_io_context>(io_context)),
- reactor_(0),
- connect_ex_(0),
- nt_set_info_(0),
- mutex_(),
- impl_list_(0)
-{
-}
-
-void win_iocp_socket_service_base::base_shutdown()
-{
- // Close all implementations, causing all operations to complete.
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- base_implementation_type* impl = impl_list_;
- while (impl)
- {
- close_for_destruction(*impl);
- impl = impl->next_;
- }
-}
-
-void win_iocp_socket_service_base::construct(
- win_iocp_socket_service_base::base_implementation_type& impl)
-{
- impl.socket_ = invalid_socket;
- impl.state_ = 0;
- impl.cancel_token_.reset();
-#if defined(BOOST_ASIO_ENABLE_CANCELIO)
- impl.safe_cancellation_thread_id_ = 0;
-#endif // defined(BOOST_ASIO_ENABLE_CANCELIO)
-
- // Insert implementation into linked list of all implementations.
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- impl.next_ = impl_list_;
- impl.prev_ = 0;
- if (impl_list_)
- impl_list_->prev_ = &impl;
- impl_list_ = &impl;
-}
-
-void win_iocp_socket_service_base::base_move_construct(
- win_iocp_socket_service_base::base_implementation_type& impl,
- win_iocp_socket_service_base::base_implementation_type& other_impl)
-{
- impl.socket_ = other_impl.socket_;
- other_impl.socket_ = invalid_socket;
-
- impl.state_ = other_impl.state_;
- other_impl.state_ = 0;
-
- impl.cancel_token_ = other_impl.cancel_token_;
- other_impl.cancel_token_.reset();
-
-#if defined(BOOST_ASIO_ENABLE_CANCELIO)
- impl.safe_cancellation_thread_id_ = other_impl.safe_cancellation_thread_id_;
- other_impl.safe_cancellation_thread_id_ = 0;
-#endif // defined(BOOST_ASIO_ENABLE_CANCELIO)
-
- // Insert implementation into linked list of all implementations.
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- impl.next_ = impl_list_;
- impl.prev_ = 0;
- if (impl_list_)
- impl_list_->prev_ = &impl;
- impl_list_ = &impl;
-}
-
-void win_iocp_socket_service_base::base_move_assign(
- win_iocp_socket_service_base::base_implementation_type& impl,
- win_iocp_socket_service_base& other_service,
- win_iocp_socket_service_base::base_implementation_type& other_impl)
-{
- close_for_destruction(impl);
-
- if (this != &other_service)
- {
- // Remove implementation from linked list of all implementations.
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- if (impl_list_ == &impl)
- impl_list_ = impl.next_;
- if (impl.prev_)
- impl.prev_->next_ = impl.next_;
- if (impl.next_)
- impl.next_->prev_= impl.prev_;
- impl.next_ = 0;
- impl.prev_ = 0;
- }
-
- impl.socket_ = other_impl.socket_;
- other_impl.socket_ = invalid_socket;
-
- impl.state_ = other_impl.state_;
- other_impl.state_ = 0;
-
- impl.cancel_token_ = other_impl.cancel_token_;
- other_impl.cancel_token_.reset();
-
-#if defined(BOOST_ASIO_ENABLE_CANCELIO)
- impl.safe_cancellation_thread_id_ = other_impl.safe_cancellation_thread_id_;
- other_impl.safe_cancellation_thread_id_ = 0;
-#endif // defined(BOOST_ASIO_ENABLE_CANCELIO)
-
- if (this != &other_service)
- {
- // Insert implementation into linked list of all implementations.
- boost::asio::detail::mutex::scoped_lock lock(other_service.mutex_);
- impl.next_ = other_service.impl_list_;
- impl.prev_ = 0;
- if (other_service.impl_list_)
- other_service.impl_list_->prev_ = &impl;
- other_service.impl_list_ = &impl;
- }
-}
-
-void win_iocp_socket_service_base::destroy(
- win_iocp_socket_service_base::base_implementation_type& impl)
-{
- close_for_destruction(impl);
-
- // Remove implementation from linked list of all implementations.
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- if (impl_list_ == &impl)
- impl_list_ = impl.next_;
- if (impl.prev_)
- impl.prev_->next_ = impl.next_;
- if (impl.next_)
- impl.next_->prev_= impl.prev_;
- impl.next_ = 0;
- impl.prev_ = 0;
-}
-
-boost::system::error_code win_iocp_socket_service_base::close(
- win_iocp_socket_service_base::base_implementation_type& impl,
- boost::system::error_code& ec)
-{
- if (is_open(impl))
- {
- BOOST_ASIO_HANDLER_OPERATION((iocp_service_.context(),
- "socket", &impl, impl.socket_, "close"));
-
- // Check if the reactor was created, in which case we need to close the
- // socket on the reactor as well to cancel any operations that might be
- // running there.
- select_reactor* r = static_cast<select_reactor*>(
- interlocked_compare_exchange_pointer(
- reinterpret_cast<void**>(&reactor_), 0, 0));
- if (r)
- r->deregister_descriptor(impl.socket_, impl.reactor_data_, true);
-
- socket_ops::close(impl.socket_, impl.state_, false, ec);
-
- if (r)
- r->cleanup_descriptor_data(impl.reactor_data_);
- }
- else
- {
- ec = boost::system::error_code();
- }
-
- impl.socket_ = invalid_socket;
- impl.state_ = 0;
- impl.cancel_token_.reset();
-#if defined(BOOST_ASIO_ENABLE_CANCELIO)
- impl.safe_cancellation_thread_id_ = 0;
-#endif // defined(BOOST_ASIO_ENABLE_CANCELIO)
-
- return ec;
-}
-
-socket_type win_iocp_socket_service_base::release(
- win_iocp_socket_service_base::base_implementation_type& impl,
- boost::system::error_code& ec)
-{
- if (!is_open(impl))
- return invalid_socket;
-
- cancel(impl, ec);
- if (ec)
- return invalid_socket;
-
- nt_set_info_fn fn = get_nt_set_info();
- if (fn == 0)
- {
- ec = boost::asio::error::operation_not_supported;
- return invalid_socket;
- }
-
- HANDLE sock_as_handle = reinterpret_cast<HANDLE>(impl.socket_);
- ULONG_PTR iosb[2] = { 0, 0 };
- void* info[2] = { 0, 0 };
- if (fn(sock_as_handle, iosb, &info, sizeof(info),
- 61 /* FileReplaceCompletionInformation */))
- {
- ec = boost::asio::error::operation_not_supported;
- return invalid_socket;
- }
-
- socket_type tmp = impl.socket_;
- impl.socket_ = invalid_socket;
- return tmp;
-}
-
-boost::system::error_code win_iocp_socket_service_base::cancel(
- win_iocp_socket_service_base::base_implementation_type& impl,
- boost::system::error_code& ec)
-{
- if (!is_open(impl))
- {
- ec = boost::asio::error::bad_descriptor;
- return ec;
- }
-
- BOOST_ASIO_HANDLER_OPERATION((iocp_service_.context(),
- "socket", &impl, impl.socket_, "cancel"));
-
- if (FARPROC cancel_io_ex_ptr = ::GetProcAddress(
- ::GetModuleHandleA("KERNEL32"), "CancelIoEx"))
- {
- // The version of Windows supports cancellation from any thread.
- typedef BOOL (WINAPI* cancel_io_ex_t)(HANDLE, LPOVERLAPPED);
- cancel_io_ex_t cancel_io_ex = (cancel_io_ex_t)cancel_io_ex_ptr;
- socket_type sock = impl.socket_;
- HANDLE sock_as_handle = reinterpret_cast<HANDLE>(sock);
- if (!cancel_io_ex(sock_as_handle, 0))
- {
- DWORD last_error = ::GetLastError();
- if (last_error == ERROR_NOT_FOUND)
- {
- // ERROR_NOT_FOUND means that there were no operations to be
- // cancelled. We swallow this error to match the behaviour on other
- // platforms.
- ec = boost::system::error_code();
- }
- else
- {
- ec = boost::system::error_code(last_error,
- boost::asio::error::get_system_category());
- }
- }
- else
- {
- ec = boost::system::error_code();
- }
- }
-#if defined(BOOST_ASIO_ENABLE_CANCELIO)
- else if (impl.safe_cancellation_thread_id_ == 0)
- {
- // No operations have been started, so there's nothing to cancel.
- ec = boost::system::error_code();
- }
- else if (impl.safe_cancellation_thread_id_ == ::GetCurrentThreadId())
- {
- // Asynchronous operations have been started from the current thread only,
- // so it is safe to try to cancel them using CancelIo.
- socket_type sock = impl.socket_;
- HANDLE sock_as_handle = reinterpret_cast<HANDLE>(sock);
- if (!::CancelIo(sock_as_handle))
- {
- DWORD last_error = ::GetLastError();
- ec = boost::system::error_code(last_error,
- boost::asio::error::get_system_category());
- }
- else
- {
- ec = boost::system::error_code();
- }
- }
- else
- {
- // Asynchronous operations have been started from more than one thread,
- // so cancellation is not safe.
- ec = boost::asio::error::operation_not_supported;
- }
-#else // defined(BOOST_ASIO_ENABLE_CANCELIO)
- else
- {
- // Cancellation is not supported as CancelIo may not be used.
- ec = boost::asio::error::operation_not_supported;
- }
-#endif // defined(BOOST_ASIO_ENABLE_CANCELIO)
-
- // Cancel any operations started via the reactor.
- if (!ec)
- {
- select_reactor* r = static_cast<select_reactor*>(
- interlocked_compare_exchange_pointer(
- reinterpret_cast<void**>(&reactor_), 0, 0));
- if (r)
- r->cancel_ops(impl.socket_, impl.reactor_data_);
- }
-
- return ec;
-}
-
-boost::system::error_code win_iocp_socket_service_base::do_open(
- win_iocp_socket_service_base::base_implementation_type& impl,
- int family, int type, int protocol, boost::system::error_code& ec)
-{
- if (is_open(impl))
- {
- ec = boost::asio::error::already_open;
- return ec;
- }
-
- socket_holder sock(socket_ops::socket(family, type, protocol, ec));
- if (sock.get() == invalid_socket)
- return ec;
-
- HANDLE sock_as_handle = reinterpret_cast<HANDLE>(sock.get());
- if (iocp_service_.register_handle(sock_as_handle, ec))
- return ec;
-
- impl.socket_ = sock.release();
- switch (type)
- {
- case SOCK_STREAM: impl.state_ = socket_ops::stream_oriented; break;
- case SOCK_DGRAM: impl.state_ = socket_ops::datagram_oriented; break;
- default: impl.state_ = 0; break;
- }
- impl.cancel_token_.reset(static_cast<void*>(0), socket_ops::noop_deleter());
- ec = boost::system::error_code();
- return ec;
-}
-
-boost::system::error_code win_iocp_socket_service_base::do_assign(
- win_iocp_socket_service_base::base_implementation_type& impl,
- int type, socket_type native_socket, boost::system::error_code& ec)
-{
- if (is_open(impl))
- {
- ec = boost::asio::error::already_open;
- return ec;
- }
-
- HANDLE sock_as_handle = reinterpret_cast<HANDLE>(native_socket);
- if (iocp_service_.register_handle(sock_as_handle, ec))
- return ec;
-
- impl.socket_ = native_socket;
- switch (type)
- {
- case SOCK_STREAM: impl.state_ = socket_ops::stream_oriented; break;
- case SOCK_DGRAM: impl.state_ = socket_ops::datagram_oriented; break;
- default: impl.state_ = 0; break;
- }
- impl.cancel_token_.reset(static_cast<void*>(0), socket_ops::noop_deleter());
- ec = boost::system::error_code();
- return ec;
-}
-
-void win_iocp_socket_service_base::start_send_op(
- win_iocp_socket_service_base::base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count,
- socket_base::message_flags flags, bool noop, operation* op)
-{
- update_cancellation_thread_id(impl);
- iocp_service_.work_started();
-
- if (noop)
- iocp_service_.on_completion(op);
- else if (!is_open(impl))
- iocp_service_.on_completion(op, boost::asio::error::bad_descriptor);
- else
- {
- DWORD bytes_transferred = 0;
- int result = ::WSASend(impl.socket_, buffers,
- static_cast<DWORD>(buffer_count), &bytes_transferred, flags, op, 0);
- DWORD last_error = ::WSAGetLastError();
- if (last_error == ERROR_PORT_UNREACHABLE)
- last_error = WSAECONNREFUSED;
- if (result != 0 && last_error != WSA_IO_PENDING)
- iocp_service_.on_completion(op, last_error, bytes_transferred);
- else
- iocp_service_.on_pending(op);
- }
-}
-
-void win_iocp_socket_service_base::start_send_to_op(
- win_iocp_socket_service_base::base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count,
- const socket_addr_type* addr, int addrlen,
- socket_base::message_flags flags, operation* op)
-{
- update_cancellation_thread_id(impl);
- iocp_service_.work_started();
-
- if (!is_open(impl))
- iocp_service_.on_completion(op, boost::asio::error::bad_descriptor);
- else
- {
- DWORD bytes_transferred = 0;
- int result = ::WSASendTo(impl.socket_, buffers,
- static_cast<DWORD>(buffer_count),
- &bytes_transferred, flags, addr, addrlen, op, 0);
- DWORD last_error = ::WSAGetLastError();
- if (last_error == ERROR_PORT_UNREACHABLE)
- last_error = WSAECONNREFUSED;
- if (result != 0 && last_error != WSA_IO_PENDING)
- iocp_service_.on_completion(op, last_error, bytes_transferred);
- else
- iocp_service_.on_pending(op);
- }
-}
-
-void win_iocp_socket_service_base::start_receive_op(
- win_iocp_socket_service_base::base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count,
- socket_base::message_flags flags, bool noop, operation* op)
-{
- update_cancellation_thread_id(impl);
- iocp_service_.work_started();
-
- if (noop)
- iocp_service_.on_completion(op);
- else if (!is_open(impl))
- iocp_service_.on_completion(op, boost::asio::error::bad_descriptor);
- else
- {
- DWORD bytes_transferred = 0;
- DWORD recv_flags = flags;
- int result = ::WSARecv(impl.socket_, buffers,
- static_cast<DWORD>(buffer_count),
- &bytes_transferred, &recv_flags, op, 0);
- DWORD last_error = ::WSAGetLastError();
- if (last_error == ERROR_NETNAME_DELETED)
- last_error = WSAECONNRESET;
- else if (last_error == ERROR_PORT_UNREACHABLE)
- last_error = WSAECONNREFUSED;
- if (result != 0 && last_error != WSA_IO_PENDING)
- iocp_service_.on_completion(op, last_error, bytes_transferred);
- else
- iocp_service_.on_pending(op);
- }
-}
-
-void win_iocp_socket_service_base::start_null_buffers_receive_op(
- win_iocp_socket_service_base::base_implementation_type& impl,
- socket_base::message_flags flags, reactor_op* op)
-{
- if ((impl.state_ & socket_ops::stream_oriented) != 0)
- {
- // For stream sockets on Windows, we may issue a 0-byte overlapped
- // WSARecv to wait until there is data available on the socket.
- ::WSABUF buf = { 0, 0 };
- start_receive_op(impl, &buf, 1, flags, false, op);
- }
- else
- {
- start_reactor_op(impl,
- (flags & socket_base::message_out_of_band)
- ? select_reactor::except_op : select_reactor::read_op,
- op);
- }
-}
-
-void win_iocp_socket_service_base::start_receive_from_op(
- win_iocp_socket_service_base::base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count, socket_addr_type* addr,
- socket_base::message_flags flags, int* addrlen, operation* op)
-{
- update_cancellation_thread_id(impl);
- iocp_service_.work_started();
-
- if (!is_open(impl))
- iocp_service_.on_completion(op, boost::asio::error::bad_descriptor);
- else
- {
- DWORD bytes_transferred = 0;
- DWORD recv_flags = flags;
- int result = ::WSARecvFrom(impl.socket_, buffers,
- static_cast<DWORD>(buffer_count),
- &bytes_transferred, &recv_flags, addr, addrlen, op, 0);
- DWORD last_error = ::WSAGetLastError();
- if (last_error == ERROR_PORT_UNREACHABLE)
- last_error = WSAECONNREFUSED;
- if (result != 0 && last_error != WSA_IO_PENDING)
- iocp_service_.on_completion(op, last_error, bytes_transferred);
- else
- iocp_service_.on_pending(op);
- }
-}
-
-void win_iocp_socket_service_base::start_accept_op(
- win_iocp_socket_service_base::base_implementation_type& impl,
- bool peer_is_open, socket_holder& new_socket, int family, int type,
- int protocol, void* output_buffer, DWORD address_length, operation* op)
-{
- update_cancellation_thread_id(impl);
- iocp_service_.work_started();
-
- if (!is_open(impl))
- iocp_service_.on_completion(op, boost::asio::error::bad_descriptor);
- else if (peer_is_open)
- iocp_service_.on_completion(op, boost::asio::error::already_open);
- else
- {
- boost::system::error_code ec;
- new_socket.reset(socket_ops::socket(family, type, protocol, ec));
- if (new_socket.get() == invalid_socket)
- iocp_service_.on_completion(op, ec);
- else
- {
- DWORD bytes_read = 0;
- BOOL result = ::AcceptEx(impl.socket_, new_socket.get(), output_buffer,
- 0, address_length, address_length, &bytes_read, op);
- DWORD last_error = ::WSAGetLastError();
- if (!result && last_error != WSA_IO_PENDING)
- iocp_service_.on_completion(op, last_error);
- else
- iocp_service_.on_pending(op);
- }
- }
-}
-
-void win_iocp_socket_service_base::restart_accept_op(
- socket_type s, socket_holder& new_socket, int family, int type,
- int protocol, void* output_buffer, DWORD address_length, operation* op)
-{
- new_socket.reset();
- iocp_service_.work_started();
-
- boost::system::error_code ec;
- new_socket.reset(socket_ops::socket(family, type, protocol, ec));
- if (new_socket.get() == invalid_socket)
- iocp_service_.on_completion(op, ec);
- else
- {
- DWORD bytes_read = 0;
- BOOL result = ::AcceptEx(s, new_socket.get(), output_buffer,
- 0, address_length, address_length, &bytes_read, op);
- DWORD last_error = ::WSAGetLastError();
- if (!result && last_error != WSA_IO_PENDING)
- iocp_service_.on_completion(op, last_error);
- else
- iocp_service_.on_pending(op);
- }
-}
-
-void win_iocp_socket_service_base::start_reactor_op(
- win_iocp_socket_service_base::base_implementation_type& impl,
- int op_type, reactor_op* op)
-{
- select_reactor& r = get_reactor();
- update_cancellation_thread_id(impl);
-
- if (is_open(impl))
- {
- r.start_op(op_type, impl.socket_, impl.reactor_data_, op, false, false);
- return;
- }
- else
- op->ec_ = boost::asio::error::bad_descriptor;
-
- iocp_service_.post_immediate_completion(op, false);
-}
-
-void win_iocp_socket_service_base::start_connect_op(
- win_iocp_socket_service_base::base_implementation_type& impl,
- int family, int type, const socket_addr_type* addr,
- std::size_t addrlen, win_iocp_socket_connect_op_base* op)
-{
- // If ConnectEx is available, use that.
- if (family == BOOST_ASIO_OS_DEF(AF_INET)
- || family == BOOST_ASIO_OS_DEF(AF_INET6))
- {
- if (connect_ex_fn connect_ex = get_connect_ex(impl, type))
- {
- union address_union
- {
- socket_addr_type base;
- sockaddr_in4_type v4;
- sockaddr_in6_type v6;
- } a;
-
- using namespace std; // For memset.
- memset(&a, 0, sizeof(a));
- a.base.sa_family = family;
-
- socket_ops::bind(impl.socket_, &a.base,
- family == BOOST_ASIO_OS_DEF(AF_INET)
- ? sizeof(a.v4) : sizeof(a.v6), op->ec_);
- if (op->ec_ && op->ec_ != boost::asio::error::invalid_argument)
- {
- iocp_service_.post_immediate_completion(op, false);
- return;
- }
-
- op->connect_ex_ = true;
- update_cancellation_thread_id(impl);
- iocp_service_.work_started();
-
- BOOL result = connect_ex(impl.socket_,
- addr, static_cast<int>(addrlen), 0, 0, 0, op);
- DWORD last_error = ::WSAGetLastError();
- if (!result && last_error != WSA_IO_PENDING)
- iocp_service_.on_completion(op, last_error);
- else
- iocp_service_.on_pending(op);
- return;
- }
- }
-
- // Otherwise, fall back to a reactor-based implementation.
- select_reactor& r = get_reactor();
- update_cancellation_thread_id(impl);
-
- if ((impl.state_ & socket_ops::non_blocking) != 0
- || socket_ops::set_internal_non_blocking(
- impl.socket_, impl.state_, true, op->ec_))
- {
- if (socket_ops::connect(impl.socket_, addr, addrlen, op->ec_) != 0)
- {
- if (op->ec_ == boost::asio::error::in_progress
- || op->ec_ == boost::asio::error::would_block)
- {
- op->ec_ = boost::system::error_code();
- r.start_op(select_reactor::connect_op, impl.socket_,
- impl.reactor_data_, op, false, false);
- return;
- }
- }
- }
-
- r.post_immediate_completion(op, false);
-}
-
-void win_iocp_socket_service_base::close_for_destruction(
- win_iocp_socket_service_base::base_implementation_type& impl)
-{
- if (is_open(impl))
- {
- BOOST_ASIO_HANDLER_OPERATION((iocp_service_.context(),
- "socket", &impl, impl.socket_, "close"));
-
- // Check if the reactor was created, in which case we need to close the
- // socket on the reactor as well to cancel any operations that might be
- // running there.
- select_reactor* r = static_cast<select_reactor*>(
- interlocked_compare_exchange_pointer(
- reinterpret_cast<void**>(&reactor_), 0, 0));
- if (r)
- r->deregister_descriptor(impl.socket_, impl.reactor_data_, true);
-
- boost::system::error_code ignored_ec;
- socket_ops::close(impl.socket_, impl.state_, true, ignored_ec);
-
- if (r)
- r->cleanup_descriptor_data(impl.reactor_data_);
- }
-
- impl.socket_ = invalid_socket;
- impl.state_ = 0;
- impl.cancel_token_.reset();
-#if defined(BOOST_ASIO_ENABLE_CANCELIO)
- impl.safe_cancellation_thread_id_ = 0;
-#endif // defined(BOOST_ASIO_ENABLE_CANCELIO)
-}
-
-void win_iocp_socket_service_base::update_cancellation_thread_id(
- win_iocp_socket_service_base::base_implementation_type& impl)
-{
-#if defined(BOOST_ASIO_ENABLE_CANCELIO)
- if (impl.safe_cancellation_thread_id_ == 0)
- impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId();
- else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId())
- impl.safe_cancellation_thread_id_ = ~DWORD(0);
-#else // defined(BOOST_ASIO_ENABLE_CANCELIO)
- (void)impl;
-#endif // defined(BOOST_ASIO_ENABLE_CANCELIO)
-}
-
-select_reactor& win_iocp_socket_service_base::get_reactor()
-{
- select_reactor* r = static_cast<select_reactor*>(
- interlocked_compare_exchange_pointer(
- reinterpret_cast<void**>(&reactor_), 0, 0));
- if (!r)
- {
- r = &(use_service<select_reactor>(io_context_));
- interlocked_exchange_pointer(reinterpret_cast<void**>(&reactor_), r);
- }
- return *r;
-}
-
-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;
-
- void* ptr = interlocked_compare_exchange_pointer(&connect_ex_, 0, 0);
- if (!ptr)
- {
- GUID guid = { 0x25a207b9, 0xddf3, 0x4660,
- { 0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e } };
-
- DWORD bytes = 0;
- if (::WSAIoctl(impl.socket_, SIO_GET_EXTENSION_FUNCTION_POINTER,
- &guid, sizeof(guid), &ptr, sizeof(ptr), &bytes, 0, 0) != 0)
- {
- // Set connect_ex_ to a special value to indicate that ConnectEx is
- // unavailable. That way we won't bother trying to look it up again.
- ptr = this;
- }
-
- interlocked_exchange_pointer(&connect_ex_, ptr);
- }
-
- return reinterpret_cast<connect_ex_fn>(ptr == this ? 0 : ptr);
-#endif // defined(BOOST_ASIO_DISABLE_CONNECTEX)
-}
-
-win_iocp_socket_service_base::nt_set_info_fn
-win_iocp_socket_service_base::get_nt_set_info()
-{
- void* ptr = interlocked_compare_exchange_pointer(&nt_set_info_, 0, 0);
- if (!ptr)
- {
- if (HMODULE h = ::GetModuleHandleA("NTDLL.DLL"))
- ptr = reinterpret_cast<void*>(GetProcAddress(h, "NtSetInformationFile"));
-
- // On failure, set nt_set_info_ to a special value to indicate that the
- // NtSetInformationFile function is unavailable. That way we won't bother
- // trying to look it up again.
- interlocked_exchange_pointer(&nt_set_info_, ptr ? ptr : this);
- }
-
- return reinterpret_cast<nt_set_info_fn>(ptr == this ? 0 : ptr);
-}
-
-void* win_iocp_socket_service_base::interlocked_compare_exchange_pointer(
- void** dest, void* exch, void* cmp)
-{
-#if defined(_M_IX86)
- return reinterpret_cast<void*>(InterlockedCompareExchange(
- reinterpret_cast<PLONG>(dest), reinterpret_cast<LONG>(exch),
- reinterpret_cast<LONG>(cmp)));
-#else
- return InterlockedCompareExchangePointer(dest, exch, cmp);
-#endif
-}
-
-void* win_iocp_socket_service_base::interlocked_exchange_pointer(
- void** dest, void* val)
-{
-#if defined(_M_IX86)
- return reinterpret_cast<void*>(InterlockedExchange(
- reinterpret_cast<PLONG>(dest), reinterpret_cast<LONG>(val)));
-#else
- return InterlockedExchangePointer(dest, val);
-#endif
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_WIN_IOCP_SOCKET_SERVICE_BASE_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp
deleted file mode 100644
index 12922263f2..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_mutex.ipp
+++ /dev/null
@@ -1,86 +0,0 @@
-//
-// detail/impl/win_mutex.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_WIN_MUTEX_IPP
-#define BOOST_ASIO_DETAIL_IMPL_WIN_MUTEX_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS)
-
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/win_mutex.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-win_mutex::win_mutex()
-{
- int error = do_init();
- boost::system::error_code ec(error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "mutex");
-}
-
-int win_mutex::do_init()
-{
-#if defined(__MINGW32__)
- // Not sure if MinGW supports structured exception handling, so for now
- // we'll just call the Windows API and hope.
-# if defined(UNDER_CE)
- ::InitializeCriticalSection(&crit_section_);
-# elif defined(BOOST_ASIO_WINDOWS_APP)
- if (!::InitializeCriticalSectionEx(&crit_section_, 0, 0))
- return ::GetLastError();
-# else
- if (!::InitializeCriticalSectionAndSpinCount(&crit_section_, 0x80000000))
- return ::GetLastError();
-# endif
- return 0;
-#else
- __try
- {
-# if defined(UNDER_CE)
- ::InitializeCriticalSection(&crit_section_);
-# elif defined(BOOST_ASIO_WINDOWS_APP)
- if (!::InitializeCriticalSectionEx(&crit_section_, 0, 0))
- return ::GetLastError();
-# else
- if (!::InitializeCriticalSectionAndSpinCount(&crit_section_, 0x80000000))
- return ::GetLastError();
-# endif
- }
- __except(GetExceptionCode() == STATUS_NO_MEMORY
- ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH)
- {
- return ERROR_OUTOFMEMORY;
- }
-
- return 0;
-#endif
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_WIN_MUTEX_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp
deleted file mode 100644
index 10e8622e37..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_static_mutex.ipp
+++ /dev/null
@@ -1,138 +0,0 @@
-//
-// detail/impl/win_static_mutex.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_WIN_STATIC_MUTEX_IPP
-#define BOOST_ASIO_DETAIL_IMPL_WIN_STATIC_MUTEX_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS)
-
-#include <cstdio>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/win_static_mutex.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-void win_static_mutex::init()
-{
- int error = do_init();
- boost::system::error_code ec(error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "static_mutex");
-}
-
-int win_static_mutex::do_init()
-{
- using namespace std; // For sprintf.
- wchar_t mutex_name[128];
-#if defined(BOOST_ASIO_HAS_SECURE_RTL)
- swprintf_s(
-#else // defined(BOOST_ASIO_HAS_SECURE_RTL)
- _snwprintf(
-#endif // defined(BOOST_ASIO_HAS_SECURE_RTL)
- mutex_name, 128, L"asio-58CCDC44-6264-4842-90C2-F3C545CB8AA7-%u-%p",
- static_cast<unsigned int>(::GetCurrentProcessId()), this);
-
-#if defined(BOOST_ASIO_WINDOWS_APP)
- HANDLE mutex = ::CreateMutexExW(0, mutex_name, CREATE_MUTEX_INITIAL_OWNER, 0);
-#else // defined(BOOST_ASIO_WINDOWS_APP)
- HANDLE mutex = ::CreateMutexW(0, TRUE, mutex_name);
-#endif // defined(BOOST_ASIO_WINDOWS_APP)
- DWORD last_error = ::GetLastError();
- if (mutex == 0)
- return ::GetLastError();
-
- if (last_error == ERROR_ALREADY_EXISTS)
- {
-#if defined(BOOST_ASIO_WINDOWS_APP)
- ::WaitForSingleObjectEx(mutex, INFINITE, false);
-#else // defined(BOOST_ASIO_WINDOWS_APP)
- ::WaitForSingleObject(mutex, INFINITE);
-#endif // defined(BOOST_ASIO_WINDOWS_APP)
- }
-
- if (initialised_)
- {
- ::ReleaseMutex(mutex);
- ::CloseHandle(mutex);
- return 0;
- }
-
-#if defined(__MINGW32__)
- // Not sure if MinGW supports structured exception handling, so for now
- // we'll just call the Windows API and hope.
-# if defined(UNDER_CE)
- ::InitializeCriticalSection(&crit_section_);
-# else
- if (!::InitializeCriticalSectionAndSpinCount(&crit_section_, 0x80000000))
- {
- last_error = ::GetLastError();
- ::ReleaseMutex(mutex);
- ::CloseHandle(mutex);
- return last_error;
- }
-# endif
-#else
- __try
- {
-# if defined(UNDER_CE)
- ::InitializeCriticalSection(&crit_section_);
-# elif defined(BOOST_ASIO_WINDOWS_APP)
- if (!::InitializeCriticalSectionEx(&crit_section_, 0, 0))
- {
- last_error = ::GetLastError();
- ::ReleaseMutex(mutex);
- ::CloseHandle(mutex);
- return last_error;
- }
-# else
- if (!::InitializeCriticalSectionAndSpinCount(&crit_section_, 0x80000000))
- {
- last_error = ::GetLastError();
- ::ReleaseMutex(mutex);
- ::CloseHandle(mutex);
- return last_error;
- }
-# endif
- }
- __except(GetExceptionCode() == STATUS_NO_MEMORY
- ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH)
- {
- ::ReleaseMutex(mutex);
- ::CloseHandle(mutex);
- return ERROR_OUTOFMEMORY;
- }
-#endif
-
- initialised_ = true;
- ::ReleaseMutex(mutex);
- ::CloseHandle(mutex);
- return 0;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_WIN_STATIC_MUTEX_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp
deleted file mode 100644
index 710c9b9f9b..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_thread.ipp
+++ /dev/null
@@ -1,152 +0,0 @@
-//
-// detail/impl/win_thread.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_WIN_THREAD_IPP
-#define BOOST_ASIO_DETAIL_IMPL_WIN_THREAD_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS) \
- && !defined(BOOST_ASIO_WINDOWS_APP) \
- && !defined(UNDER_CE)
-
-#include <process.h>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/win_thread.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-win_thread::~win_thread()
-{
- ::CloseHandle(thread_);
-
- // The exit_event_ handle is deliberately allowed to leak here since it
- // is an error for the owner of an internal thread not to join() it.
-}
-
-void win_thread::join()
-{
- HANDLE handles[2] = { exit_event_, thread_ };
- ::WaitForMultipleObjects(2, handles, FALSE, INFINITE);
- ::CloseHandle(exit_event_);
- if (terminate_threads())
- {
- ::TerminateThread(thread_, 0);
- }
- else
- {
- ::QueueUserAPC(apc_function, thread_, 0);
- ::WaitForSingleObject(thread_, INFINITE);
- }
-}
-
-std::size_t win_thread::hardware_concurrency()
-{
- SYSTEM_INFO system_info;
- ::GetSystemInfo(&system_info);
- return system_info.dwNumberOfProcessors;
-}
-
-void win_thread::start_thread(func_base* arg, unsigned int stack_size)
-{
- ::HANDLE entry_event = 0;
- arg->entry_event_ = entry_event = ::CreateEventW(0, true, false, 0);
- if (!entry_event)
- {
- DWORD last_error = ::GetLastError();
- delete arg;
- boost::system::error_code ec(last_error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "thread.entry_event");
- }
-
- arg->exit_event_ = exit_event_ = ::CreateEventW(0, true, false, 0);
- if (!exit_event_)
- {
- DWORD last_error = ::GetLastError();
- delete arg;
- boost::system::error_code ec(last_error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "thread.exit_event");
- }
-
- unsigned int thread_id = 0;
- thread_ = reinterpret_cast<HANDLE>(::_beginthreadex(0,
- stack_size, win_thread_function, arg, 0, &thread_id));
- if (!thread_)
- {
- DWORD last_error = ::GetLastError();
- delete arg;
- if (entry_event)
- ::CloseHandle(entry_event);
- if (exit_event_)
- ::CloseHandle(exit_event_);
- boost::system::error_code ec(last_error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "thread");
- }
-
- if (entry_event)
- {
- ::WaitForSingleObject(entry_event, INFINITE);
- ::CloseHandle(entry_event);
- }
-}
-
-unsigned int __stdcall win_thread_function(void* arg)
-{
- win_thread::auto_func_base_ptr func = {
- static_cast<win_thread::func_base*>(arg) };
-
- ::SetEvent(func.ptr->entry_event_);
-
- func.ptr->run();
-
- // Signal that the thread has finished its work, but rather than returning go
- // to sleep to put the thread into a well known state. If the thread is being
- // joined during global object destruction then it may be killed using
- // TerminateThread (to avoid a deadlock in DllMain). Otherwise, the SleepEx
- // call will be interrupted using QueueUserAPC and the thread will shut down
- // cleanly.
- HANDLE exit_event = func.ptr->exit_event_;
- delete func.ptr;
- func.ptr = 0;
- ::SetEvent(exit_event);
- ::SleepEx(INFINITE, TRUE);
-
- return 0;
-}
-
-#if defined(WINVER) && (WINVER < 0x0500)
-void __stdcall apc_function(ULONG) {}
-#else
-void __stdcall apc_function(ULONG_PTR) {}
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS)
- // && !defined(BOOST_ASIO_WINDOWS_APP)
- // && !defined(UNDER_CE)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_WIN_THREAD_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp
deleted file mode 100644
index 755d020703..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/win_tss_ptr.ipp
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// detail/impl/win_tss_ptr.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_WIN_TSS_PTR_IPP
-#define BOOST_ASIO_DETAIL_IMPL_WIN_TSS_PTR_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS)
-
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/win_tss_ptr.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-DWORD win_tss_ptr_create()
-{
-#if defined(UNDER_CE)
- const DWORD out_of_indexes = 0xFFFFFFFF;
-#else
- const DWORD out_of_indexes = TLS_OUT_OF_INDEXES;
-#endif
-
- DWORD tss_key = ::TlsAlloc();
- if (tss_key == out_of_indexes)
- {
- DWORD last_error = ::GetLastError();
- boost::system::error_code ec(last_error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "tss");
- }
- return tss_key;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_WIN_TSS_PTR_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp
deleted file mode 100644
index e6254aed93..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winrt_ssocket_service_base.ipp
+++ /dev/null
@@ -1,631 +0,0 @@
-//
-// detail/impl/winrt_ssocket_service_base.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_WINRT_SSOCKET_SERVICE_BASE_IPP
-#define BOOST_ASIO_DETAIL_IMPL_WINRT_SSOCKET_SERVICE_BASE_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <cstring>
-#include <boost/asio/detail/winrt_ssocket_service_base.hpp>
-#include <boost/asio/detail/winrt_async_op.hpp>
-#include <boost/asio/detail/winrt_utils.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-winrt_ssocket_service_base::winrt_ssocket_service_base(
- boost::asio::io_context& io_context)
- : io_context_(use_service<io_context_impl>(io_context)),
- async_manager_(use_service<winrt_async_manager>(io_context)),
- mutex_(),
- impl_list_(0)
-{
-}
-
-void winrt_ssocket_service_base::base_shutdown()
-{
- // Close all implementations, causing all operations to complete.
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- base_implementation_type* impl = impl_list_;
- while (impl)
- {
- boost::system::error_code ignored_ec;
- close(*impl, ignored_ec);
- impl = impl->next_;
- }
-}
-
-void winrt_ssocket_service_base::construct(
- winrt_ssocket_service_base::base_implementation_type& impl)
-{
- // Insert implementation into linked list of all implementations.
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- impl.next_ = impl_list_;
- impl.prev_ = 0;
- if (impl_list_)
- impl_list_->prev_ = &impl;
- impl_list_ = &impl;
-}
-
-void winrt_ssocket_service_base::base_move_construct(
- winrt_ssocket_service_base::base_implementation_type& impl,
- winrt_ssocket_service_base::base_implementation_type& other_impl)
-{
- impl.socket_ = other_impl.socket_;
- other_impl.socket_ = nullptr;
-
- // Insert implementation into linked list of all implementations.
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- impl.next_ = impl_list_;
- impl.prev_ = 0;
- if (impl_list_)
- impl_list_->prev_ = &impl;
- impl_list_ = &impl;
-}
-
-void winrt_ssocket_service_base::base_move_assign(
- winrt_ssocket_service_base::base_implementation_type& impl,
- winrt_ssocket_service_base& other_service,
- winrt_ssocket_service_base::base_implementation_type& other_impl)
-{
- boost::system::error_code ignored_ec;
- close(impl, ignored_ec);
-
- if (this != &other_service)
- {
- // Remove implementation from linked list of all implementations.
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- if (impl_list_ == &impl)
- impl_list_ = impl.next_;
- if (impl.prev_)
- impl.prev_->next_ = impl.next_;
- if (impl.next_)
- impl.next_->prev_= impl.prev_;
- impl.next_ = 0;
- impl.prev_ = 0;
- }
-
- impl.socket_ = other_impl.socket_;
- other_impl.socket_ = nullptr;
-
- if (this != &other_service)
- {
- // Insert implementation into linked list of all implementations.
- boost::asio::detail::mutex::scoped_lock lock(other_service.mutex_);
- impl.next_ = other_service.impl_list_;
- impl.prev_ = 0;
- if (other_service.impl_list_)
- other_service.impl_list_->prev_ = &impl;
- other_service.impl_list_ = &impl;
- }
-}
-
-void winrt_ssocket_service_base::destroy(
- winrt_ssocket_service_base::base_implementation_type& impl)
-{
- boost::system::error_code ignored_ec;
- close(impl, ignored_ec);
-
- // Remove implementation from linked list of all implementations.
- boost::asio::detail::mutex::scoped_lock lock(mutex_);
- if (impl_list_ == &impl)
- impl_list_ = impl.next_;
- if (impl.prev_)
- impl.prev_->next_ = impl.next_;
- if (impl.next_)
- impl.next_->prev_= impl.prev_;
- impl.next_ = 0;
- impl.prev_ = 0;
-}
-
-boost::system::error_code winrt_ssocket_service_base::close(
- winrt_ssocket_service_base::base_implementation_type& impl,
- boost::system::error_code& ec)
-{
- if (impl.socket_)
- {
- delete impl.socket_;
- impl.socket_ = nullptr;
- }
-
- ec = boost::system::error_code();
- return ec;
-}
-
-winrt_ssocket_service_base::native_handle_type
-winrt_ssocket_service_base::release(
- winrt_ssocket_service_base::base_implementation_type& impl,
- boost::system::error_code& ec)
-{
- if (!is_open(impl))
- return nullptr;
-
- cancel(impl, ec);
- if (ec)
- return nullptr;
-
- native_handle_type tmp = impl.socket_;
- impl.socket_ = nullptr;
- return tmp;
-}
-
-std::size_t winrt_ssocket_service_base::do_get_endpoint(
- const base_implementation_type& impl, bool local,
- void* addr, std::size_t addr_len, boost::system::error_code& ec) const
-{
- if (!is_open(impl))
- {
- ec = boost::asio::error::bad_descriptor;
- return addr_len;
- }
-
- try
- {
- std::string addr_string = winrt_utils::string(local
- ? impl.socket_->Information->LocalAddress->CanonicalName
- : impl.socket_->Information->RemoteAddress->CanonicalName);
- unsigned short port = winrt_utils::integer(local
- ? impl.socket_->Information->LocalPort
- : impl.socket_->Information->RemotePort);
- unsigned long scope = 0;
-
- switch (reinterpret_cast<const socket_addr_type*>(addr)->sa_family)
- {
- case BOOST_ASIO_OS_DEF(AF_INET):
- if (addr_len < sizeof(sockaddr_in4_type))
- {
- ec = boost::asio::error::invalid_argument;
- return addr_len;
- }
- else
- {
- socket_ops::inet_pton(BOOST_ASIO_OS_DEF(AF_INET), addr_string.c_str(),
- &reinterpret_cast<sockaddr_in4_type*>(addr)->sin_addr, &scope, ec);
- reinterpret_cast<sockaddr_in4_type*>(addr)->sin_port
- = socket_ops::host_to_network_short(port);
- ec = boost::system::error_code();
- return sizeof(sockaddr_in4_type);
- }
- case BOOST_ASIO_OS_DEF(AF_INET6):
- if (addr_len < sizeof(sockaddr_in6_type))
- {
- ec = boost::asio::error::invalid_argument;
- return addr_len;
- }
- else
- {
- socket_ops::inet_pton(BOOST_ASIO_OS_DEF(AF_INET6), addr_string.c_str(),
- &reinterpret_cast<sockaddr_in6_type*>(addr)->sin6_addr, &scope, ec);
- reinterpret_cast<sockaddr_in6_type*>(addr)->sin6_port
- = socket_ops::host_to_network_short(port);
- ec = boost::system::error_code();
- return sizeof(sockaddr_in6_type);
- }
- default:
- ec = boost::asio::error::address_family_not_supported;
- return addr_len;
- }
- }
- catch (Platform::Exception^ e)
- {
- ec = boost::system::error_code(e->HResult,
- boost::system::system_category());
- return addr_len;
- }
-}
-
-boost::system::error_code winrt_ssocket_service_base::do_set_option(
- winrt_ssocket_service_base::base_implementation_type& impl,
- int level, int optname, const void* optval,
- std::size_t optlen, boost::system::error_code& ec)
-{
- if (!is_open(impl))
- {
- ec = boost::asio::error::bad_descriptor;
- return ec;
- }
-
- try
- {
- if (level == BOOST_ASIO_OS_DEF(SOL_SOCKET)
- && optname == BOOST_ASIO_OS_DEF(SO_KEEPALIVE))
- {
- if (optlen == sizeof(int))
- {
- int value = 0;
- std::memcpy(&value, optval, optlen);
- impl.socket_->Control->KeepAlive = !!value;
- ec = boost::system::error_code();
- }
- else
- {
- ec = boost::asio::error::invalid_argument;
- }
- }
- else if (level == BOOST_ASIO_OS_DEF(IPPROTO_TCP)
- && optname == BOOST_ASIO_OS_DEF(TCP_NODELAY))
- {
- if (optlen == sizeof(int))
- {
- int value = 0;
- std::memcpy(&value, optval, optlen);
- impl.socket_->Control->NoDelay = !!value;
- ec = boost::system::error_code();
- }
- else
- {
- ec = boost::asio::error::invalid_argument;
- }
- }
- else
- {
- ec = boost::asio::error::invalid_argument;
- }
- }
- catch (Platform::Exception^ e)
- {
- ec = boost::system::error_code(e->HResult,
- boost::system::system_category());
- }
-
- return ec;
-}
-
-void winrt_ssocket_service_base::do_get_option(
- const winrt_ssocket_service_base::base_implementation_type& impl,
- int level, int optname, void* optval,
- std::size_t* optlen, boost::system::error_code& ec) const
-{
- if (!is_open(impl))
- {
- ec = boost::asio::error::bad_descriptor;
- return;
- }
-
- try
- {
- if (level == BOOST_ASIO_OS_DEF(SOL_SOCKET)
- && optname == BOOST_ASIO_OS_DEF(SO_KEEPALIVE))
- {
- if (*optlen >= sizeof(int))
- {
- int value = impl.socket_->Control->KeepAlive ? 1 : 0;
- std::memcpy(optval, &value, sizeof(int));
- *optlen = sizeof(int);
- ec = boost::system::error_code();
- }
- else
- {
- ec = boost::asio::error::invalid_argument;
- }
- }
- else if (level == BOOST_ASIO_OS_DEF(IPPROTO_TCP)
- && optname == BOOST_ASIO_OS_DEF(TCP_NODELAY))
- {
- if (*optlen >= sizeof(int))
- {
- int value = impl.socket_->Control->NoDelay ? 1 : 0;
- std::memcpy(optval, &value, sizeof(int));
- *optlen = sizeof(int);
- ec = boost::system::error_code();
- }
- else
- {
- ec = boost::asio::error::invalid_argument;
- }
- }
- else
- {
- ec = boost::asio::error::invalid_argument;
- }
- }
- catch (Platform::Exception^ e)
- {
- ec = boost::system::error_code(e->HResult,
- boost::system::system_category());
- }
-}
-
-boost::system::error_code winrt_ssocket_service_base::do_connect(
- winrt_ssocket_service_base::base_implementation_type& impl,
- const void* addr, boost::system::error_code& ec)
-{
- if (!is_open(impl))
- {
- ec = boost::asio::error::bad_descriptor;
- return ec;
- }
-
- char addr_string[max_addr_v6_str_len];
- unsigned short port;
- switch (reinterpret_cast<const socket_addr_type*>(addr)->sa_family)
- {
- case BOOST_ASIO_OS_DEF(AF_INET):
- socket_ops::inet_ntop(BOOST_ASIO_OS_DEF(AF_INET),
- &reinterpret_cast<const sockaddr_in4_type*>(addr)->sin_addr,
- addr_string, sizeof(addr_string), 0, ec);
- port = socket_ops::network_to_host_short(
- reinterpret_cast<const sockaddr_in4_type*>(addr)->sin_port);
- break;
- case BOOST_ASIO_OS_DEF(AF_INET6):
- socket_ops::inet_ntop(BOOST_ASIO_OS_DEF(AF_INET6),
- &reinterpret_cast<const sockaddr_in6_type*>(addr)->sin6_addr,
- addr_string, sizeof(addr_string), 0, ec);
- port = socket_ops::network_to_host_short(
- reinterpret_cast<const sockaddr_in6_type*>(addr)->sin6_port);
- break;
- default:
- ec = boost::asio::error::address_family_not_supported;
- return ec;
- }
-
- if (!ec) try
- {
- async_manager_.sync(impl.socket_->ConnectAsync(
- ref new Windows::Networking::HostName(
- winrt_utils::string(addr_string)),
- winrt_utils::string(port)), ec);
- }
- catch (Platform::Exception^ e)
- {
- ec = boost::system::error_code(e->HResult,
- boost::system::system_category());
- }
-
- return ec;
-}
-
-void winrt_ssocket_service_base::start_connect_op(
- winrt_ssocket_service_base::base_implementation_type& impl,
- const void* addr, winrt_async_op<void>* op, bool is_continuation)
-{
- if (!is_open(impl))
- {
- op->ec_ = boost::asio::error::bad_descriptor;
- io_context_.post_immediate_completion(op, is_continuation);
- return;
- }
-
- char addr_string[max_addr_v6_str_len];
- unsigned short port = 0;
- switch (reinterpret_cast<const socket_addr_type*>(addr)->sa_family)
- {
- case BOOST_ASIO_OS_DEF(AF_INET):
- socket_ops::inet_ntop(BOOST_ASIO_OS_DEF(AF_INET),
- &reinterpret_cast<const sockaddr_in4_type*>(addr)->sin_addr,
- addr_string, sizeof(addr_string), 0, op->ec_);
- port = socket_ops::network_to_host_short(
- reinterpret_cast<const sockaddr_in4_type*>(addr)->sin_port);
- break;
- case BOOST_ASIO_OS_DEF(AF_INET6):
- socket_ops::inet_ntop(BOOST_ASIO_OS_DEF(AF_INET6),
- &reinterpret_cast<const sockaddr_in6_type*>(addr)->sin6_addr,
- addr_string, sizeof(addr_string), 0, op->ec_);
- port = socket_ops::network_to_host_short(
- reinterpret_cast<const sockaddr_in6_type*>(addr)->sin6_port);
- break;
- default:
- op->ec_ = boost::asio::error::address_family_not_supported;
- break;
- }
-
- if (op->ec_)
- {
- io_context_.post_immediate_completion(op, is_continuation);
- return;
- }
-
- try
- {
- async_manager_.async(impl.socket_->ConnectAsync(
- ref new Windows::Networking::HostName(
- winrt_utils::string(addr_string)),
- winrt_utils::string(port)), op);
- }
- catch (Platform::Exception^ e)
- {
- op->ec_ = boost::system::error_code(
- e->HResult, boost::system::system_category());
- io_context_.post_immediate_completion(op, is_continuation);
- }
-}
-
-std::size_t winrt_ssocket_service_base::do_send(
- winrt_ssocket_service_base::base_implementation_type& impl,
- const boost::asio::const_buffer& data,
- socket_base::message_flags flags, boost::system::error_code& ec)
-{
- if (flags)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- if (!is_open(impl))
- {
- ec = boost::asio::error::bad_descriptor;
- return 0;
- }
-
- try
- {
- buffer_sequence_adapter<boost::asio::const_buffer,
- boost::asio::const_buffer> bufs(boost::asio::buffer(data));
-
- if (bufs.all_empty())
- {
- ec = boost::system::error_code();
- return 0;
- }
-
- return async_manager_.sync(
- impl.socket_->OutputStream->WriteAsync(bufs.buffers()[0]), ec);
- }
- catch (Platform::Exception^ e)
- {
- ec = boost::system::error_code(e->HResult,
- boost::system::system_category());
- return 0;
- }
-}
-
-void winrt_ssocket_service_base::start_send_op(
- winrt_ssocket_service_base::base_implementation_type& impl,
- const boost::asio::const_buffer& data, socket_base::message_flags flags,
- winrt_async_op<unsigned int>* op, bool is_continuation)
-{
- if (flags)
- {
- op->ec_ = boost::asio::error::operation_not_supported;
- io_context_.post_immediate_completion(op, is_continuation);
- return;
- }
-
- if (!is_open(impl))
- {
- op->ec_ = boost::asio::error::bad_descriptor;
- io_context_.post_immediate_completion(op, is_continuation);
- return;
- }
-
- try
- {
- buffer_sequence_adapter<boost::asio::const_buffer,
- boost::asio::const_buffer> bufs(boost::asio::buffer(data));
-
- if (bufs.all_empty())
- {
- io_context_.post_immediate_completion(op, is_continuation);
- return;
- }
-
- async_manager_.async(
- impl.socket_->OutputStream->WriteAsync(bufs.buffers()[0]), op);
- }
- catch (Platform::Exception^ e)
- {
- op->ec_ = boost::system::error_code(e->HResult,
- boost::system::system_category());
- io_context_.post_immediate_completion(op, is_continuation);
- }
-}
-
-std::size_t winrt_ssocket_service_base::do_receive(
- winrt_ssocket_service_base::base_implementation_type& impl,
- const boost::asio::mutable_buffer& data,
- socket_base::message_flags flags, boost::system::error_code& ec)
-{
- if (flags)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- if (!is_open(impl))
- {
- ec = boost::asio::error::bad_descriptor;
- return 0;
- }
-
- try
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- boost::asio::mutable_buffer> bufs(boost::asio::buffer(data));
-
- if (bufs.all_empty())
- {
- ec = boost::system::error_code();
- return 0;
- }
-
- async_manager_.sync(
- impl.socket_->InputStream->ReadAsync(
- bufs.buffers()[0], bufs.buffers()[0]->Capacity,
- Windows::Storage::Streams::InputStreamOptions::Partial), ec);
-
- std::size_t bytes_transferred = bufs.buffers()[0]->Length;
- if (bytes_transferred == 0 && !ec)
- {
- ec = boost::asio::error::eof;
- }
-
- return bytes_transferred;
- }
- catch (Platform::Exception^ e)
- {
- ec = boost::system::error_code(e->HResult,
- boost::system::system_category());
- return 0;
- }
-}
-
-void winrt_ssocket_service_base::start_receive_op(
- winrt_ssocket_service_base::base_implementation_type& impl,
- const boost::asio::mutable_buffer& data, socket_base::message_flags flags,
- winrt_async_op<Windows::Storage::Streams::IBuffer^>* op,
- bool is_continuation)
-{
- if (flags)
- {
- op->ec_ = boost::asio::error::operation_not_supported;
- io_context_.post_immediate_completion(op, is_continuation);
- return;
- }
-
- if (!is_open(impl))
- {
- op->ec_ = boost::asio::error::bad_descriptor;
- io_context_.post_immediate_completion(op, is_continuation);
- return;
- }
-
- try
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- boost::asio::mutable_buffer> bufs(boost::asio::buffer(data));
-
- if (bufs.all_empty())
- {
- io_context_.post_immediate_completion(op, is_continuation);
- return;
- }
-
- async_manager_.async(
- impl.socket_->InputStream->ReadAsync(
- bufs.buffers()[0], bufs.buffers()[0]->Capacity,
- Windows::Storage::Streams::InputStreamOptions::Partial), op);
- }
- catch (Platform::Exception^ e)
- {
- op->ec_ = boost::system::error_code(e->HResult,
- boost::system::system_category());
- io_context_.post_immediate_completion(op, is_continuation);
- }
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_WINRT_SSOCKET_SERVICE_BASE_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp b/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp
deleted file mode 100644
index 5d31a03b06..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/impl/winsock_init.ipp
+++ /dev/null
@@ -1,84 +0,0 @@
-//
-// detail/impl/winsock_init.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IMPL_WINSOCK_INIT_IPP
-#define BOOST_ASIO_DETAIL_IMPL_WINSOCK_INIT_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/winsock_init.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-void winsock_init_base::startup(data& d,
- unsigned char major, unsigned char minor)
-{
- if (::InterlockedIncrement(&d.init_count_) == 1)
- {
- WSADATA wsa_data;
- long result = ::WSAStartup(MAKEWORD(major, minor), &wsa_data);
- ::InterlockedExchange(&d.result_, result);
- }
-}
-
-void winsock_init_base::manual_startup(data& d)
-{
- if (::InterlockedIncrement(&d.init_count_) == 1)
- {
- ::InterlockedExchange(&d.result_, 0);
- }
-}
-
-void winsock_init_base::cleanup(data& d)
-{
- if (::InterlockedDecrement(&d.init_count_) == 0)
- {
- ::WSACleanup();
- }
-}
-
-void winsock_init_base::manual_cleanup(data& d)
-{
- ::InterlockedDecrement(&d.init_count_);
-}
-
-void winsock_init_base::throw_on_error(data& d)
-{
- long result = ::InterlockedExchangeAdd(&d.result_, 0);
- if (result != 0)
- {
- boost::system::error_code ec(result,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "winsock");
- }
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-#endif // BOOST_ASIO_DETAIL_IMPL_WINSOCK_INIT_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp
deleted file mode 100644
index 112b0ad751..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/io_control.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-//
-// detail/io_control.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IO_CONTROL_HPP
-#define BOOST_ASIO_DETAIL_IO_CONTROL_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <cstddef>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-namespace io_control {
-
-// I/O control command for getting number of bytes available.
-class bytes_readable
-{
-public:
- // Default constructor.
- bytes_readable()
- : value_(0)
- {
- }
-
- // Construct with a specific command value.
- bytes_readable(std::size_t value)
- : value_(static_cast<detail::ioctl_arg_type>(value))
- {
- }
-
- // Get the name of the IO control command.
- int name() const
- {
- return static_cast<int>(BOOST_ASIO_OS_DEF(FIONREAD));
- }
-
- // Set the value of the I/O control command.
- void set(std::size_t value)
- {
- value_ = static_cast<detail::ioctl_arg_type>(value);
- }
-
- // Get the current value of the I/O control command.
- std::size_t get() const
- {
- return static_cast<std::size_t>(value_);
- }
-
- // Get the address of the command data.
- detail::ioctl_arg_type* data()
- {
- return &value_;
- }
-
- // Get the address of the command data.
- const detail::ioctl_arg_type* data() const
- {
- return &value_;
- }
-
-private:
- detail::ioctl_arg_type value_;
-};
-
-} // namespace io_control
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_IO_CONTROL_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp
deleted file mode 100644
index bc52ee87ce..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/is_executor.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-//
-// detail/is_executor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_IS_EXECUTOR_HPP
-#define BOOST_ASIO_DETAIL_IS_EXECUTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-struct executor_memfns_base
-{
- void context();
- void on_work_started();
- void on_work_finished();
- void dispatch();
- void post();
- void defer();
-};
-
-template <typename T>
-struct executor_memfns_derived
- : T, executor_memfns_base
-{
-};
-
-template <typename T, T>
-struct executor_memfns_check
-{
-};
-
-template <typename>
-char (&context_memfn_helper(...))[2];
-
-template <typename T>
-char context_memfn_helper(
- executor_memfns_check<
- void (executor_memfns_base::*)(),
- &executor_memfns_derived<T>::context>*);
-
-template <typename>
-char (&on_work_started_memfn_helper(...))[2];
-
-template <typename T>
-char on_work_started_memfn_helper(
- executor_memfns_check<
- void (executor_memfns_base::*)(),
- &executor_memfns_derived<T>::on_work_started>*);
-
-template <typename>
-char (&on_work_finished_memfn_helper(...))[2];
-
-template <typename T>
-char on_work_finished_memfn_helper(
- executor_memfns_check<
- void (executor_memfns_base::*)(),
- &executor_memfns_derived<T>::on_work_finished>*);
-
-template <typename>
-char (&dispatch_memfn_helper(...))[2];
-
-template <typename T>
-char dispatch_memfn_helper(
- executor_memfns_check<
- void (executor_memfns_base::*)(),
- &executor_memfns_derived<T>::dispatch>*);
-
-template <typename>
-char (&post_memfn_helper(...))[2];
-
-template <typename T>
-char post_memfn_helper(
- executor_memfns_check<
- void (executor_memfns_base::*)(),
- &executor_memfns_derived<T>::post>*);
-
-template <typename>
-char (&defer_memfn_helper(...))[2];
-
-template <typename T>
-char defer_memfn_helper(
- executor_memfns_check<
- void (executor_memfns_base::*)(),
- &executor_memfns_derived<T>::defer>*);
-
-template <typename T>
-struct is_executor_class
- : integral_constant<bool,
- sizeof(context_memfn_helper<T>(0)) != 1 &&
- sizeof(on_work_started_memfn_helper<T>(0)) != 1 &&
- sizeof(on_work_finished_memfn_helper<T>(0)) != 1 &&
- sizeof(dispatch_memfn_helper<T>(0)) != 1 &&
- sizeof(post_memfn_helper<T>(0)) != 1 &&
- sizeof(defer_memfn_helper<T>(0)) != 1>
-{
-};
-
-template <typename T>
-struct is_executor
- : conditional<is_class<T>::value,
- is_executor_class<T>,
- false_type>::type
-{
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_IS_EXECUTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp
deleted file mode 100644
index 8451b17510..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/keyword_tss_ptr.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//
-// detail/keyword_tss_ptr.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_KEYWORD_TSS_PTR_HPP
-#define BOOST_ASIO_DETAIL_KEYWORD_TSS_PTR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_THREAD_KEYWORD_EXTENSION)
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename T>
-class keyword_tss_ptr
- : private noncopyable
-{
-public:
- // Constructor.
- keyword_tss_ptr()
- {
- }
-
- // Destructor.
- ~keyword_tss_ptr()
- {
- }
-
- // Get the value.
- operator T*() const
- {
- return value_;
- }
-
- // Set the value.
- void operator=(T* value)
- {
- value_ = value;
- }
-
-private:
- static BOOST_ASIO_THREAD_KEYWORD T* value_;
-};
-
-template <typename T>
-BOOST_ASIO_THREAD_KEYWORD T* keyword_tss_ptr<T>::value_;
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_THREAD_KEYWORD_EXTENSION)
-
-#endif // BOOST_ASIO_DETAIL_KEYWORD_TSS_PTR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp
deleted file mode 100644
index 31d79ca6a4..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/kqueue_reactor.hpp
+++ /dev/null
@@ -1,244 +0,0 @@
-//
-// detail/kqueue_reactor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 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
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_KQUEUE_REACTOR_HPP
-#define BOOST_ASIO_DETAIL_KQUEUE_REACTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_KQUEUE)
-
-#include <cstddef>
-#include <sys/types.h>
-#include <sys/event.h>
-#include <sys/time.h>
-#include <boost/asio/detail/limits.hpp>
-#include <boost/asio/detail/mutex.hpp>
-#include <boost/asio/detail/object_pool.hpp>
-#include <boost/asio/detail/op_queue.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/select_interrupter.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/timer_queue_base.hpp>
-#include <boost/asio/detail/timer_queue_set.hpp>
-#include <boost/asio/detail/wait_op.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/execution_context.hpp>
-
-// Older versions of Mac OS X may not define EV_OOBAND.
-#if !defined(EV_OOBAND)
-# define EV_OOBAND EV_FLAG1
-#endif // !defined(EV_OOBAND)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class scheduler;
-
-class kqueue_reactor
- : public execution_context_service_base<kqueue_reactor>
-{
-private:
- // The mutex type used by this reactor.
- typedef conditionally_enabled_mutex mutex;
-
-public:
- enum op_types { read_op = 0, write_op = 1,
- connect_op = 1, except_op = 2, max_ops = 3 };
-
- // Per-descriptor queues.
- struct descriptor_state
- {
- descriptor_state(bool locking) : mutex_(locking) {}
-
- friend class kqueue_reactor;
- friend class object_pool_access;
-
- descriptor_state* next_;
- descriptor_state* prev_;
-
- mutex mutex_;
- int descriptor_;
- int num_kevents_; // 1 == read only, 2 == read and write
- op_queue<reactor_op> op_queue_[max_ops];
- bool shutdown_;
- };
-
- // Per-descriptor data.
- typedef descriptor_state* per_descriptor_data;
-
- // Constructor.
- BOOST_ASIO_DECL kqueue_reactor(boost::asio::execution_context& ctx);
-
- // Destructor.
- BOOST_ASIO_DECL ~kqueue_reactor();
-
- // Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL void shutdown();
-
- // Recreate internal descriptors following a fork.
- BOOST_ASIO_DECL void notify_fork(
- boost::asio::execution_context::fork_event fork_ev);
-
- // Initialise the task.
- BOOST_ASIO_DECL void init_task();
-
- // Register a socket with the reactor. Returns 0 on success, system error
- // code on failure.
- BOOST_ASIO_DECL int register_descriptor(socket_type descriptor,
- per_descriptor_data& descriptor_data);
-
- // Register a descriptor with an associated single operation. Returns 0 on
- // success, system error code on failure.
- BOOST_ASIO_DECL int register_internal_descriptor(
- int op_type, socket_type descriptor,
- per_descriptor_data& descriptor_data, reactor_op* op);
-
- // Move descriptor registration from one descriptor_data object to another.
- BOOST_ASIO_DECL void move_descriptor(socket_type descriptor,
- per_descriptor_data& target_descriptor_data,
- per_descriptor_data& source_descriptor_data);
-
- // Post a reactor operation for immediate completion.
- void post_immediate_completion(reactor_op* op, bool is_continuation)
- {
- scheduler_.post_immediate_completion(op, is_continuation);
- }
-
- // Start a new operation. The reactor operation will be performed when the
- // given descriptor is flagged as ready, or an error has occurred.
- BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor,
- per_descriptor_data& descriptor_data, reactor_op* op,
- bool is_continuation, bool allow_speculative);
-
- // Cancel all operations associated with the given descriptor. The
- // handlers associated with the descriptor will be invoked with the
- // operation_aborted error.
- BOOST_ASIO_DECL void cancel_ops(socket_type descriptor,
- per_descriptor_data& descriptor_data);
-
- // Cancel any operations that are running against the descriptor and remove
- // its registration from the reactor. The reactor resources associated with
- // the descriptor must be released by calling cleanup_descriptor_data.
- BOOST_ASIO_DECL void deregister_descriptor(socket_type descriptor,
- per_descriptor_data& descriptor_data, bool closing);
-
- // Remove the descriptor's registration from the reactor. The reactor
- // resources associated with the descriptor must be released by calling
- // cleanup_descriptor_data.
- BOOST_ASIO_DECL void deregister_internal_descriptor(
- socket_type descriptor, per_descriptor_data& descriptor_data);
-
- // Perform any post-deregistration cleanup tasks associated with the
- // descriptor data.
- BOOST_ASIO_DECL void cleanup_descriptor_data(
- per_descriptor_data& descriptor_data);
-
- // Add a new timer queue to the reactor.
- template <typename Time_Traits>
- void add_timer_queue(timer_queue<Time_Traits>& queue);
-
- // Remove a timer queue from the reactor.
- template <typename Time_Traits>
- void remove_timer_queue(timer_queue<Time_Traits>& queue);
-
- // Schedule a new operation in the given timer queue to expire at the
- // specified absolute time.
- template <typename Time_Traits>
- void schedule_timer(timer_queue<Time_Traits>& queue,
- const typename Time_Traits::time_type& time,
- typename timer_queue<Time_Traits>::per_timer_data& timer, wait_op* op);
-
- // Cancel the timer operations associated with the given token. Returns the
- // number of operations that have been posted or dispatched.
- template <typename Time_Traits>
- std::size_t cancel_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& timer,
- std::size_t max_cancelled = (std::numeric_limits<std::size_t>::max)());
-
- // Move the timer operations associated with the given timer.
- template <typename Time_Traits>
- void move_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& target,
- typename timer_queue<Time_Traits>::per_timer_data& source);
-
- // Run the kqueue loop.
- BOOST_ASIO_DECL void run(long usec, op_queue<operation>& ops);
-
- // Interrupt the kqueue loop.
- BOOST_ASIO_DECL void interrupt();
-
-private:
- // Create the kqueue file descriptor. Throws an exception if the descriptor
- // cannot be created.
- BOOST_ASIO_DECL static int do_kqueue_create();
-
- // Allocate a new descriptor state object.
- BOOST_ASIO_DECL descriptor_state* allocate_descriptor_state();
-
- // Free an existing descriptor state object.
- BOOST_ASIO_DECL void free_descriptor_state(descriptor_state* s);
-
- // Helper function to add a new timer queue.
- BOOST_ASIO_DECL void do_add_timer_queue(timer_queue_base& queue);
-
- // Helper function to remove a timer queue.
- BOOST_ASIO_DECL void do_remove_timer_queue(timer_queue_base& queue);
-
- // Get the timeout value for the kevent call.
- BOOST_ASIO_DECL timespec* get_timeout(long usec, timespec& ts);
-
- // The scheduler used to post completions.
- scheduler& scheduler_;
-
- // Mutex to protect access to internal data.
- mutex mutex_;
-
- // The kqueue file descriptor.
- int kqueue_fd_;
-
- // The interrupter is used to break a blocking kevent call.
- select_interrupter interrupter_;
-
- // The timer queues.
- timer_queue_set timer_queues_;
-
- // Whether the service has been shut down.
- bool shutdown_;
-
- // Mutex to protect access to the registered descriptors.
- mutex registered_descriptors_mutex_;
-
- // Keep track of all registered descriptors.
- object_pool<descriptor_state> registered_descriptors_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/detail/impl/kqueue_reactor.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/kqueue_reactor.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_HAS_KQUEUE)
-
-#endif // BOOST_ASIO_DETAIL_KQUEUE_REACTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/limits.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/limits.hpp
deleted file mode 100644
index 036c5999b8..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/limits.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//
-// detail/limits.hpp
-// ~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_LIMITS_HPP
-#define BOOST_ASIO_DETAIL_LIMITS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_BOOST_LIMITS)
-# include <boost/limits.hpp>
-#else // defined(BOOST_ASIO_HAS_BOOST_LIMITS)
-# include <limits>
-#endif // defined(BOOST_ASIO_HAS_BOOST_LIMITS)
-
-#endif // BOOST_ASIO_DETAIL_LIMITS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp
deleted file mode 100644
index 20196a78f6..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/macos_fenced_block.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-// detail/macos_fenced_block.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_MACOS_FENCED_BLOCK_HPP
-#define BOOST_ASIO_DETAIL_MACOS_FENCED_BLOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(__MACH__) && defined(__APPLE__)
-
-#include <libkern/OSAtomic.h>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class macos_fenced_block
- : private noncopyable
-{
-public:
- enum half_t { half };
- enum full_t { full };
-
- // Constructor for a half fenced block.
- explicit macos_fenced_block(half_t)
- {
- }
-
- // Constructor for a full fenced block.
- explicit macos_fenced_block(full_t)
- {
- OSMemoryBarrier();
- }
-
- // Destructor.
- ~macos_fenced_block()
- {
- OSMemoryBarrier();
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(__MACH__) && defined(__APPLE__)
-
-#endif // BOOST_ASIO_DETAIL_MACOS_FENCED_BLOCK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp
deleted file mode 100644
index 21a68e456f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/memory.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//
-// detail/memory.hpp
-// ~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_MEMORY_HPP
-#define BOOST_ASIO_DETAIL_MEMORY_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <memory>
-
-#if !defined(BOOST_ASIO_HAS_STD_SHARED_PTR)
-# include <boost/shared_ptr.hpp>
-# include <boost/weak_ptr.hpp>
-#endif // !defined(BOOST_ASIO_HAS_STD_SHARED_PTR)
-
-#if !defined(BOOST_ASIO_HAS_STD_ADDRESSOF)
-# include <boost/utility/addressof.hpp>
-#endif // !defined(BOOST_ASIO_HAS_STD_ADDRESSOF)
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if defined(BOOST_ASIO_HAS_STD_SHARED_PTR)
-using std::shared_ptr;
-using std::weak_ptr;
-#else // defined(BOOST_ASIO_HAS_STD_SHARED_PTR)
-using boost::shared_ptr;
-using boost::weak_ptr;
-#endif // defined(BOOST_ASIO_HAS_STD_SHARED_PTR)
-
-#if defined(BOOST_ASIO_HAS_STD_ADDRESSOF)
-using std::addressof;
-#else // defined(BOOST_ASIO_HAS_STD_ADDRESSOF)
-using boost::addressof;
-#endif // defined(BOOST_ASIO_HAS_STD_ADDRESSOF)
-
-} // namespace detail
-
-#if defined(BOOST_ASIO_HAS_CXX11_ALLOCATORS)
-using std::allocator_arg_t;
-# define BOOST_ASIO_USES_ALLOCATOR(t) \
- namespace std { \
- template <typename Allocator> \
- struct uses_allocator<t, Allocator> : true_type {}; \
- } \
- /**/
-# define BOOST_ASIO_REBIND_ALLOC(alloc, t) \
- typename std::allocator_traits<alloc>::template rebind_alloc<t>
- /**/
-#else // defined(BOOST_ASIO_HAS_CXX11_ALLOCATORS)
-struct allocator_arg_t {};
-# define BOOST_ASIO_USES_ALLOCATOR(t)
-# define BOOST_ASIO_REBIND_ALLOC(alloc, t) \
- typename alloc::template rebind<t>::other
- /**/
-#endif // defined(BOOST_ASIO_HAS_CXX11_ALLOCATORS)
-
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_MEMORY_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp
deleted file mode 100644
index 9fe4ad333e..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/mutex.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// detail/mutex.hpp
-// ~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_MUTEX_HPP
-#define BOOST_ASIO_DETAIL_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-# include <boost/asio/detail/null_mutex.hpp>
-#elif defined(BOOST_ASIO_WINDOWS)
-# include <boost/asio/detail/win_mutex.hpp>
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-# include <boost/asio/detail/posix_mutex.hpp>
-#elif defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-# include <boost/asio/detail/std_mutex.hpp>
-#else
-# error Only Windows, POSIX and std::mutex are supported!
-#endif
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-typedef null_mutex mutex;
-#elif defined(BOOST_ASIO_WINDOWS)
-typedef win_mutex mutex;
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-typedef posix_mutex mutex;
-#elif defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-typedef std_mutex mutex;
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_MUTEX_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp
deleted file mode 100644
index 36b30c074d..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/noncopyable.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// detail/noncopyable.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_NONCOPYABLE_HPP
-#define BOOST_ASIO_DETAIL_NONCOPYABLE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class noncopyable
-{
-protected:
- noncopyable() {}
- ~noncopyable() {}
-private:
- noncopyable(const noncopyable&);
- const noncopyable& operator=(const noncopyable&);
-};
-
-} // namespace detail
-
-using boost::asio::detail::noncopyable;
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_NONCOPYABLE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp
deleted file mode 100644
index 8394028e41..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_event.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-//
-// detail/null_event.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_NULL_EVENT_HPP
-#define BOOST_ASIO_DETAIL_NULL_EVENT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class null_event
- : private noncopyable
-{
-public:
- // Constructor.
- null_event()
- {
- }
-
- // Destructor.
- ~null_event()
- {
- }
-
- // Signal the event. (Retained for backward compatibility.)
- template <typename Lock>
- void signal(Lock&)
- {
- }
-
- // Signal all waiters.
- template <typename Lock>
- void signal_all(Lock&)
- {
- }
-
- // Unlock the mutex and signal one waiter.
- template <typename Lock>
- void unlock_and_signal_one(Lock&)
- {
- }
-
- // If there's a waiter, unlock the mutex and signal it.
- template <typename Lock>
- bool maybe_unlock_and_signal_one(Lock&)
- {
- return false;
- }
-
- // Reset the event.
- template <typename Lock>
- void clear(Lock&)
- {
- }
-
- // Wait for the event to become signalled.
- template <typename Lock>
- void wait(Lock&)
- {
- do_wait();
- }
-
- // Timed wait for the event to become signalled.
- template <typename Lock>
- bool wait_for_usec(Lock&, long usec)
- {
- do_wait_for_usec(usec);
- return true;
- }
-
-private:
- BOOST_ASIO_DECL static void do_wait();
- BOOST_ASIO_DECL static void do_wait_for_usec(long usec);
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/null_event.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_DETAIL_NULL_EVENT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp
deleted file mode 100644
index f9f59af3a9..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_fenced_block.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// detail/null_fenced_block.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_NULL_FENCED_BLOCK_HPP
-#define BOOST_ASIO_DETAIL_NULL_FENCED_BLOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class null_fenced_block
- : private noncopyable
-{
-public:
- enum half_or_full_t { half, full };
-
- // Constructor.
- explicit null_fenced_block(half_or_full_t)
- {
- }
-
- // Destructor.
- ~null_fenced_block()
- {
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_NULL_FENCED_BLOCK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp
deleted file mode 100644
index 3a4d516889..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_global.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// detail/null_global.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_NULL_GLOBAL_HPP
-#define BOOST_ASIO_DETAIL_NULL_GLOBAL_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename T>
-struct null_global_impl
-{
- null_global_impl()
- : ptr_(0)
- {
- }
-
- // Destructor automatically cleans up the global.
- ~null_global_impl()
- {
- delete ptr_;
- }
-
- static null_global_impl instance_;
- T* ptr_;
-};
-
-template <typename T>
-null_global_impl<T> null_global_impl<T>::instance_;
-
-template <typename T>
-T& null_global()
-{
- if (null_global_impl<T>::instance_.ptr_ == 0)
- null_global_impl<T>::instance_.ptr_ = new T;
- return *null_global_impl<T>::instance_.ptr_;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_NULL_GLOBAL_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp
deleted file mode 100644
index 90b92fe77b..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_mutex.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// detail/null_mutex.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_NULL_MUTEX_HPP
-#define BOOST_ASIO_DETAIL_NULL_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/scoped_lock.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class null_mutex
- : private noncopyable
-{
-public:
- typedef boost::asio::detail::scoped_lock<null_mutex> scoped_lock;
-
- // Constructor.
- null_mutex()
- {
- }
-
- // Destructor.
- ~null_mutex()
- {
- }
-
- // Lock the mutex.
- void lock()
- {
- }
-
- // Unlock the mutex.
- void unlock()
- {
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_HAS_THREADS)
-
-#endif // BOOST_ASIO_DETAIL_NULL_MUTEX_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp
deleted file mode 100644
index 028f0f3535..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_reactor.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// detail/null_reactor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_NULL_REACTOR_HPP
-#define BOOST_ASIO_DETAIL_NULL_REACTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP) || defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/detail/scheduler_operation.hpp>
-#include <boost/asio/execution_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class null_reactor
- : public execution_context_service_base<null_reactor>
-{
-public:
- // Constructor.
- null_reactor(boost::asio::execution_context& ctx)
- : execution_context_service_base<null_reactor>(ctx)
- {
- }
-
- // Destructor.
- ~null_reactor()
- {
- }
-
- // Destroy all user-defined handler objects owned by the service.
- void shutdown()
- {
- }
-
- // No-op because should never be called.
- void run(long /*usec*/, op_queue<scheduler_operation>& /*ops*/)
- {
- }
-
- // No-op.
- void interrupt()
- {
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP) || defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_NULL_REACTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp
deleted file mode 100644
index b2285c1f45..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_signal_blocker.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-// detail/null_signal_blocker.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_NULL_SIGNAL_BLOCKER_HPP
-#define BOOST_ASIO_DETAIL_NULL_SIGNAL_BLOCKER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS) \
- || defined(BOOST_ASIO_WINDOWS) \
- || defined(BOOST_ASIO_WINDOWS_RUNTIME) \
- || defined(__CYGWIN__) \
- || defined(__SYMBIAN32__)
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class null_signal_blocker
- : private noncopyable
-{
-public:
- // Constructor blocks all signals for the calling thread.
- null_signal_blocker()
- {
- }
-
- // Destructor restores the previous signal mask.
- ~null_signal_blocker()
- {
- }
-
- // Block all signals for the calling thread.
- void block()
- {
- }
-
- // Restore the previous signal mask.
- void unblock()
- {
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_HAS_THREADS)
- // || defined(BOOST_ASIO_WINDOWS)
- // || defined(BOOST_ASIO_WINDOWS_RUNTIME)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
-
-#endif // BOOST_ASIO_DETAIL_NULL_SIGNAL_BLOCKER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp
deleted file mode 100644
index 2c5b784125..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_socket_service.hpp
+++ /dev/null
@@ -1,510 +0,0 @@
-//
-// detail/null_socket_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_NULL_SOCKET_SERVICE_HPP
-#define BOOST_ASIO_DETAIL_NULL_SOCKET_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/buffer.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/socket_base.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Protocol>
-class null_socket_service :
- public service_base<null_socket_service<Protocol> >
-{
-public:
- // The protocol type.
- typedef Protocol protocol_type;
-
- // The endpoint type.
- typedef typename Protocol::endpoint endpoint_type;
-
- // The native type of a socket.
- typedef int native_handle_type;
-
- // The implementation type of the socket.
- struct implementation_type
- {
- };
-
- // Constructor.
- null_socket_service(boost::asio::io_context& io_context)
- : service_base<null_socket_service<Protocol> >(io_context),
- io_context_(io_context)
- {
- }
-
- // Destroy all user-defined handler objects owned by the service.
- void shutdown()
- {
- }
-
- // Construct a new socket implementation.
- void construct(implementation_type&)
- {
- }
-
- // Move-construct a new socket implementation.
- void move_construct(implementation_type&, implementation_type&)
- {
- }
-
- // Move-assign from another socket implementation.
- void move_assign(implementation_type&,
- null_socket_service&, implementation_type&)
- {
- }
-
- // Move-construct a new socket implementation from another protocol type.
- template <typename Protocol1>
- void converting_move_construct(implementation_type&,
- null_socket_service<Protocol1>&,
- typename null_socket_service<Protocol1>::implementation_type&)
- {
- }
-
- // Destroy a socket implementation.
- void destroy(implementation_type&)
- {
- }
-
- // Open a new socket implementation.
- boost::system::error_code open(implementation_type&,
- const protocol_type&, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Assign a native socket to a socket implementation.
- boost::system::error_code assign(implementation_type&, const protocol_type&,
- const native_handle_type&, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Determine whether the socket is open.
- bool is_open(const implementation_type&) const
- {
- return false;
- }
-
- // Destroy a socket implementation.
- boost::system::error_code close(implementation_type&,
- boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Release ownership of the socket.
- native_handle_type release(implementation_type&,
- boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Get the native socket representation.
- native_handle_type native_handle(implementation_type&)
- {
- return 0;
- }
-
- // Cancel all operations associated with the socket.
- boost::system::error_code cancel(implementation_type&,
- boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Determine whether the socket is at the out-of-band data mark.
- bool at_mark(const implementation_type&,
- boost::system::error_code& ec) const
- {
- ec = boost::asio::error::operation_not_supported;
- return false;
- }
-
- // Determine the number of bytes available for reading.
- std::size_t available(const implementation_type&,
- boost::system::error_code& ec) const
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Place the socket into the state where it will listen for new connections.
- boost::system::error_code listen(implementation_type&,
- int, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Perform an IO control command on the socket.
- template <typename IO_Control_Command>
- boost::system::error_code io_control(implementation_type&,
- IO_Control_Command&, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Gets the non-blocking mode of the socket.
- bool non_blocking(const implementation_type&) const
- {
- return false;
- }
-
- // Sets the non-blocking mode of the socket.
- boost::system::error_code non_blocking(implementation_type&,
- bool, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Gets the non-blocking mode of the native socket implementation.
- bool native_non_blocking(const implementation_type&) const
- {
- return false;
- }
-
- // Sets the non-blocking mode of the native socket implementation.
- boost::system::error_code native_non_blocking(implementation_type&,
- bool, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Disable sends or receives on the socket.
- boost::system::error_code shutdown(implementation_type&,
- socket_base::shutdown_type, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Bind the socket to the specified local endpoint.
- boost::system::error_code bind(implementation_type&,
- const endpoint_type&, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Set a socket option.
- template <typename Option>
- boost::system::error_code set_option(implementation_type&,
- const Option&, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Set a socket option.
- template <typename Option>
- boost::system::error_code get_option(const implementation_type&,
- Option&, boost::system::error_code& ec) const
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Get the local endpoint.
- endpoint_type local_endpoint(const implementation_type&,
- boost::system::error_code& ec) const
- {
- ec = boost::asio::error::operation_not_supported;
- return endpoint_type();
- }
-
- // Get the remote endpoint.
- endpoint_type remote_endpoint(const implementation_type&,
- boost::system::error_code& ec) const
- {
- ec = boost::asio::error::operation_not_supported;
- return endpoint_type();
- }
-
- // Send the given data to the peer.
- template <typename ConstBufferSequence>
- std::size_t send(implementation_type&, const ConstBufferSequence&,
- socket_base::message_flags, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Wait until data can be sent without blocking.
- std::size_t send(implementation_type&, const null_buffers&,
- socket_base::message_flags, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Start an asynchronous send. The data being sent must be valid for the
- // lifetime of the asynchronous operation.
- template <typename ConstBufferSequence, typename Handler>
- void async_send(implementation_type&, const ConstBufferSequence&,
- socket_base::message_flags, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.post(detail::bind_handler(handler, ec, bytes_transferred));
- }
-
- // Start an asynchronous wait until data can be sent without blocking.
- template <typename Handler>
- void async_send(implementation_type&, const null_buffers&,
- socket_base::message_flags, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.post(detail::bind_handler(handler, ec, bytes_transferred));
- }
-
- // Receive some data from the peer. Returns the number of bytes received.
- template <typename MutableBufferSequence>
- std::size_t receive(implementation_type&, const MutableBufferSequence&,
- socket_base::message_flags, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Wait until data can be received without blocking.
- std::size_t receive(implementation_type&, const null_buffers&,
- socket_base::message_flags, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received
- // must be valid for the lifetime of the asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive(implementation_type&, const MutableBufferSequence&,
- socket_base::message_flags, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.post(detail::bind_handler(handler, ec, bytes_transferred));
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive(implementation_type&, const null_buffers&,
- socket_base::message_flags, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.post(detail::bind_handler(handler, ec, bytes_transferred));
- }
-
- // Receive some data with associated flags. Returns the number of bytes
- // received.
- template <typename MutableBufferSequence>
- std::size_t receive_with_flags(implementation_type&,
- const MutableBufferSequence&, socket_base::message_flags,
- socket_base::message_flags&, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Wait until data can be received without blocking.
- std::size_t receive_with_flags(implementation_type&,
- const null_buffers&, socket_base::message_flags,
- socket_base::message_flags&, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received
- // must be valid for the lifetime of the asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive_with_flags(implementation_type&,
- const MutableBufferSequence&, socket_base::message_flags,
- socket_base::message_flags&, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.post(detail::bind_handler(handler, ec, bytes_transferred));
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive_with_flags(implementation_type&,
- const null_buffers&, socket_base::message_flags,
- socket_base::message_flags&, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.post(detail::bind_handler(handler, ec, bytes_transferred));
- }
-
- // Send a datagram to the specified endpoint. Returns the number of bytes
- // sent.
- template <typename ConstBufferSequence>
- std::size_t send_to(implementation_type&, const ConstBufferSequence&,
- const endpoint_type&, socket_base::message_flags,
- boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Wait until data can be sent without blocking.
- std::size_t send_to(implementation_type&, const null_buffers&,
- const endpoint_type&, socket_base::message_flags,
- boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Start an asynchronous send. The data being sent must be valid for the
- // lifetime of the asynchronous operation.
- template <typename ConstBufferSequence, typename Handler>
- void async_send_to(implementation_type&, const ConstBufferSequence&,
- const endpoint_type&, socket_base::message_flags,
- Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.post(detail::bind_handler(handler, ec, bytes_transferred));
- }
-
- // Start an asynchronous wait until data can be sent without blocking.
- template <typename Handler>
- void async_send_to(implementation_type&, const null_buffers&,
- const endpoint_type&, socket_base::message_flags, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.post(detail::bind_handler(handler, ec, bytes_transferred));
- }
-
- // Receive a datagram with the endpoint of the sender. Returns the number of
- // bytes received.
- template <typename MutableBufferSequence>
- std::size_t receive_from(implementation_type&, const MutableBufferSequence&,
- endpoint_type&, socket_base::message_flags,
- boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Wait until data can be received without blocking.
- std::size_t receive_from(implementation_type&, const null_buffers&,
- endpoint_type&, socket_base::message_flags,
- boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received and
- // the sender_endpoint object must both be valid for the lifetime of the
- // asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive_from(implementation_type&,
- const MutableBufferSequence&, endpoint_type&,
- socket_base::message_flags, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.post(detail::bind_handler(handler, ec, bytes_transferred));
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive_from(implementation_type&,
- const null_buffers&, endpoint_type&,
- socket_base::message_flags, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.post(detail::bind_handler(handler, ec, bytes_transferred));
- }
-
- // Accept a new connection.
- template <typename Socket>
- boost::system::error_code accept(implementation_type&,
- Socket&, endpoint_type*, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Start an asynchronous accept. The peer and peer_endpoint objects
- // must be valid until the accept's handler is invoked.
- template <typename Socket, typename Handler>
- void async_accept(implementation_type&, Socket&,
- endpoint_type*, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- io_context_.post(detail::bind_handler(handler, ec));
- }
-
- // Connect the socket to the specified endpoint.
- boost::system::error_code connect(implementation_type&,
- const endpoint_type&, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Start an asynchronous connect.
- template <typename Handler>
- void async_connect(implementation_type&,
- const endpoint_type&, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- io_context_.post(detail::bind_handler(handler, ec));
- }
-
-private:
- boost::asio::io_context& io_context_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_NULL_SOCKET_SERVICE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp
deleted file mode 100644
index 7e2c0b522c..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_static_mutex.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// detail/null_static_mutex.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_NULL_STATIC_MUTEX_HPP
-#define BOOST_ASIO_DETAIL_NULL_STATIC_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-
-#include <boost/asio/detail/scoped_lock.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-struct null_static_mutex
-{
- typedef boost::asio::detail::scoped_lock<null_static_mutex> scoped_lock;
-
- // Initialise the mutex.
- void init()
- {
- }
-
- // Lock the mutex.
- void lock()
- {
- }
-
- // Unlock the mutex.
- void unlock()
- {
- }
-
- int unused_;
-};
-
-#define BOOST_ASIO_NULL_STATIC_MUTEX_INIT { 0 }
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_HAS_THREADS)
-
-#endif // BOOST_ASIO_DETAIL_NULL_STATIC_MUTEX_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp
deleted file mode 100644
index 56ad8bf806..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_thread.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// detail/null_thread.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_NULL_THREAD_HPP
-#define BOOST_ASIO_DETAIL_NULL_THREAD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class null_thread
- : private noncopyable
-{
-public:
- // Constructor.
- template <typename Function>
- null_thread(Function, unsigned int = 0)
- {
- boost::asio::detail::throw_error(
- boost::asio::error::operation_not_supported, "thread");
- }
-
- // Destructor.
- ~null_thread()
- {
- }
-
- // Wait for the thread to exit.
- void join()
- {
- }
-
- // Get number of CPUs.
- static std::size_t hardware_concurrency()
- {
- return 1;
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_HAS_THREADS)
-
-#endif // BOOST_ASIO_DETAIL_NULL_THREAD_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp
deleted file mode 100644
index 06d5a4d522..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/null_tss_ptr.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// detail/null_tss_ptr.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_NULL_TSS_PTR_HPP
-#define BOOST_ASIO_DETAIL_NULL_TSS_PTR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename T>
-class null_tss_ptr
- : private noncopyable
-{
-public:
- // Constructor.
- null_tss_ptr()
- : value_(0)
- {
- }
-
- // Destructor.
- ~null_tss_ptr()
- {
- }
-
- // Get the value.
- operator T*() const
- {
- return value_;
- }
-
- // Set the value.
- void operator=(T* value)
- {
- value_ = value;
- }
-
-private:
- T* value_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_HAS_THREADS)
-
-#endif // BOOST_ASIO_DETAIL_NULL_TSS_PTR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp
deleted file mode 100644
index 7e454a7138..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/object_pool.hpp
+++ /dev/null
@@ -1,173 +0,0 @@
-//
-// detail/object_pool.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_OBJECT_POOL_HPP
-#define BOOST_ASIO_DETAIL_OBJECT_POOL_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Object>
-class object_pool;
-
-class object_pool_access
-{
-public:
- template <typename Object>
- static Object* create()
- {
- return new Object;
- }
-
- template <typename Object, typename Arg>
- static Object* create(Arg arg)
- {
- return new Object(arg);
- }
-
- template <typename Object>
- static void destroy(Object* o)
- {
- delete o;
- }
-
- template <typename Object>
- static Object*& next(Object* o)
- {
- return o->next_;
- }
-
- template <typename Object>
- static Object*& prev(Object* o)
- {
- return o->prev_;
- }
-};
-
-template <typename Object>
-class object_pool
- : private noncopyable
-{
-public:
- // Constructor.
- object_pool()
- : live_list_(0),
- free_list_(0)
- {
- }
-
- // Destructor destroys all objects.
- ~object_pool()
- {
- destroy_list(live_list_);
- destroy_list(free_list_);
- }
-
- // Get the object at the start of the live list.
- Object* first()
- {
- return live_list_;
- }
-
- // Allocate a new object.
- Object* alloc()
- {
- Object* o = free_list_;
- if (o)
- free_list_ = object_pool_access::next(free_list_);
- else
- o = object_pool_access::create<Object>();
-
- object_pool_access::next(o) = live_list_;
- object_pool_access::prev(o) = 0;
- if (live_list_)
- object_pool_access::prev(live_list_) = o;
- live_list_ = o;
-
- return o;
- }
-
- // Allocate a new object with an argument.
- template <typename Arg>
- Object* alloc(Arg arg)
- {
- Object* o = free_list_;
- if (o)
- free_list_ = object_pool_access::next(free_list_);
- else
- o = object_pool_access::create<Object>(arg);
-
- object_pool_access::next(o) = live_list_;
- object_pool_access::prev(o) = 0;
- if (live_list_)
- object_pool_access::prev(live_list_) = o;
- live_list_ = o;
-
- return o;
- }
-
- // Free an object. Moves it to the free list. No destructors are run.
- void free(Object* o)
- {
- if (live_list_ == o)
- live_list_ = object_pool_access::next(o);
-
- if (object_pool_access::prev(o))
- {
- object_pool_access::next(object_pool_access::prev(o))
- = object_pool_access::next(o);
- }
-
- if (object_pool_access::next(o))
- {
- object_pool_access::prev(object_pool_access::next(o))
- = object_pool_access::prev(o);
- }
-
- object_pool_access::next(o) = free_list_;
- object_pool_access::prev(o) = 0;
- free_list_ = o;
- }
-
-private:
- // Helper function to destroy all elements in a list.
- void destroy_list(Object* list)
- {
- while (list)
- {
- Object* o = list;
- list = object_pool_access::next(o);
- object_pool_access::destroy(o);
- }
- }
-
- // The list of live objects.
- Object* live_list_;
-
- // The free list.
- Object* free_list_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_OBJECT_POOL_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp
deleted file mode 100644
index f1b63cba0e..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/old_win_sdk_compat.hpp
+++ /dev/null
@@ -1,216 +0,0 @@
-//
-// detail/old_win_sdk_compat.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_OLD_WIN_SDK_COMPAT_HPP
-#define BOOST_ASIO_DETAIL_OLD_WIN_SDK_COMPAT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-// Guess whether we are building against on old Platform SDK.
-#if !defined(IN6ADDR_ANY_INIT)
-#define BOOST_ASIO_HAS_OLD_WIN_SDK 1
-#endif // !defined(IN6ADDR_ANY_INIT)
-
-#if defined(BOOST_ASIO_HAS_OLD_WIN_SDK)
-
-// Emulation of types that are missing from old Platform SDKs.
-//
-// N.B. this emulation is also used if building for a Windows 2000 target with
-// a recent (i.e. Vista or later) SDK, as the SDK does not provide IPv6 support
-// in that case.
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-enum
-{
- sockaddr_storage_maxsize = 128, // Maximum size.
- sockaddr_storage_alignsize = (sizeof(__int64)), // Desired alignment.
- sockaddr_storage_pad1size = (sockaddr_storage_alignsize - sizeof(short)),
- sockaddr_storage_pad2size = (sockaddr_storage_maxsize -
- (sizeof(short) + sockaddr_storage_pad1size + sockaddr_storage_alignsize))
-};
-
-struct sockaddr_storage_emulation
-{
- short ss_family;
- char __ss_pad1[sockaddr_storage_pad1size];
- __int64 __ss_align;
- char __ss_pad2[sockaddr_storage_pad2size];
-};
-
-struct in6_addr_emulation
-{
- union
- {
- u_char Byte[16];
- u_short Word[8];
- } u;
-};
-
-#if !defined(s6_addr)
-# define _S6_un u
-# define _S6_u8 Byte
-# define s6_addr _S6_un._S6_u8
-#endif // !defined(s6_addr)
-
-struct sockaddr_in6_emulation
-{
- short sin6_family;
- u_short sin6_port;
- u_long sin6_flowinfo;
- in6_addr_emulation sin6_addr;
- u_long sin6_scope_id;
-};
-
-struct ipv6_mreq_emulation
-{
- in6_addr_emulation ipv6mr_multiaddr;
- unsigned int ipv6mr_interface;
-};
-
-struct addrinfo_emulation
-{
- int ai_flags;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- size_t ai_addrlen;
- char* ai_canonname;
- sockaddr* ai_addr;
- addrinfo_emulation* ai_next;
-};
-
-#if !defined(AI_PASSIVE)
-# define AI_PASSIVE 0x1
-#endif
-
-#if !defined(AI_CANONNAME)
-# define AI_CANONNAME 0x2
-#endif
-
-#if !defined(AI_NUMERICHOST)
-# define AI_NUMERICHOST 0x4
-#endif
-
-#if !defined(EAI_AGAIN)
-# define EAI_AGAIN WSATRY_AGAIN
-#endif
-
-#if !defined(EAI_BADFLAGS)
-# define EAI_BADFLAGS WSAEINVAL
-#endif
-
-#if !defined(EAI_FAIL)
-# define EAI_FAIL WSANO_RECOVERY
-#endif
-
-#if !defined(EAI_FAMILY)
-# define EAI_FAMILY WSAEAFNOSUPPORT
-#endif
-
-#if !defined(EAI_MEMORY)
-# define EAI_MEMORY WSA_NOT_ENOUGH_MEMORY
-#endif
-
-#if !defined(EAI_NODATA)
-# define EAI_NODATA WSANO_DATA
-#endif
-
-#if !defined(EAI_NONAME)
-# define EAI_NONAME WSAHOST_NOT_FOUND
-#endif
-
-#if !defined(EAI_SERVICE)
-# define EAI_SERVICE WSATYPE_NOT_FOUND
-#endif
-
-#if !defined(EAI_SOCKTYPE)
-# define EAI_SOCKTYPE WSAESOCKTNOSUPPORT
-#endif
-
-#if !defined(NI_NOFQDN)
-# define NI_NOFQDN 0x01
-#endif
-
-#if !defined(NI_NUMERICHOST)
-# define NI_NUMERICHOST 0x02
-#endif
-
-#if !defined(NI_NAMEREQD)
-# define NI_NAMEREQD 0x04
-#endif
-
-#if !defined(NI_NUMERICSERV)
-# define NI_NUMERICSERV 0x08
-#endif
-
-#if !defined(NI_DGRAM)
-# define NI_DGRAM 0x10
-#endif
-
-#if !defined(IPPROTO_IPV6)
-# define IPPROTO_IPV6 41
-#endif
-
-#if !defined(IPV6_UNICAST_HOPS)
-# define IPV6_UNICAST_HOPS 4
-#endif
-
-#if !defined(IPV6_MULTICAST_IF)
-# define IPV6_MULTICAST_IF 9
-#endif
-
-#if !defined(IPV6_MULTICAST_HOPS)
-# define IPV6_MULTICAST_HOPS 10
-#endif
-
-#if !defined(IPV6_MULTICAST_LOOP)
-# define IPV6_MULTICAST_LOOP 11
-#endif
-
-#if !defined(IPV6_JOIN_GROUP)
-# define IPV6_JOIN_GROUP 12
-#endif
-
-#if !defined(IPV6_LEAVE_GROUP)
-# define IPV6_LEAVE_GROUP 13
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_OLD_WIN_SDK)
-
-// Even newer Platform SDKs that support IPv6 may not define IPV6_V6ONLY.
-#if !defined(IPV6_V6ONLY)
-# define IPV6_V6ONLY 27
-#endif
-
-// Some SDKs (e.g. Windows CE) don't define IPPROTO_ICMPV6.
-#if !defined(IPPROTO_ICMPV6)
-# define IPPROTO_ICMPV6 58
-#endif
-
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-#endif // BOOST_ASIO_DETAIL_OLD_WIN_SDK_COMPAT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp
deleted file mode 100644
index 935e45920f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/op_queue.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-//
-// detail/op_queue.hpp
-// ~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_OP_QUEUE_HPP
-#define BOOST_ASIO_DETAIL_OP_QUEUE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Operation>
-class op_queue;
-
-class op_queue_access
-{
-public:
- template <typename Operation>
- static Operation* next(Operation* o)
- {
- return static_cast<Operation*>(o->next_);
- }
-
- template <typename Operation1, typename Operation2>
- static void next(Operation1*& o1, Operation2* o2)
- {
- o1->next_ = o2;
- }
-
- template <typename Operation>
- static void destroy(Operation* o)
- {
- o->destroy();
- }
-
- template <typename Operation>
- static Operation*& front(op_queue<Operation>& q)
- {
- return q.front_;
- }
-
- template <typename Operation>
- static Operation*& back(op_queue<Operation>& q)
- {
- return q.back_;
- }
-};
-
-template <typename Operation>
-class op_queue
- : private noncopyable
-{
-public:
- // Constructor.
- op_queue()
- : front_(0),
- back_(0)
- {
- }
-
- // Destructor destroys all operations.
- ~op_queue()
- {
- while (Operation* op = front_)
- {
- pop();
- op_queue_access::destroy(op);
- }
- }
-
- // Get the operation at the front of the queue.
- Operation* front()
- {
- return front_;
- }
-
- // Pop an operation from the front of the queue.
- void pop()
- {
- if (front_)
- {
- Operation* tmp = front_;
- front_ = op_queue_access::next(front_);
- if (front_ == 0)
- back_ = 0;
- op_queue_access::next(tmp, static_cast<Operation*>(0));
- }
- }
-
- // Push an operation on to the back of the queue.
- void push(Operation* h)
- {
- op_queue_access::next(h, static_cast<Operation*>(0));
- if (back_)
- {
- op_queue_access::next(back_, h);
- back_ = h;
- }
- else
- {
- front_ = back_ = h;
- }
- }
-
- // Push all operations from another queue on to the back of the queue. The
- // source queue may contain operations of a derived type.
- template <typename OtherOperation>
- void push(op_queue<OtherOperation>& q)
- {
- if (Operation* other_front = op_queue_access::front(q))
- {
- if (back_)
- op_queue_access::next(back_, other_front);
- else
- front_ = other_front;
- back_ = op_queue_access::back(q);
- op_queue_access::front(q) = 0;
- op_queue_access::back(q) = 0;
- }
- }
-
- // Whether the queue is empty.
- bool empty() const
- {
- return front_ == 0;
- }
-
- // Test whether an operation is already enqueued.
- bool is_enqueued(Operation* o) const
- {
- return op_queue_access::next(o) != 0 || back_ == o;
- }
-
-private:
- friend class op_queue_access;
-
- // The front of the queue.
- Operation* front_;
-
- // The back of the queue.
- Operation* back_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_OP_QUEUE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp
deleted file mode 100644
index 13220231ab..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/operation.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// detail/operation.hpp
-// ~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_OPERATION_HPP
-#define BOOST_ASIO_DETAIL_OPERATION_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-# include <boost/asio/detail/win_iocp_operation.hpp>
-#else
-# include <boost/asio/detail/scheduler_operation.hpp>
-#endif
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-typedef win_iocp_operation operation;
-#else
-typedef scheduler_operation operation;
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_OPERATION_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp
deleted file mode 100644
index 696d565729..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/pipe_select_interrupter.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-// detail/pipe_select_interrupter.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_PIPE_SELECT_INTERRUPTER_HPP
-#define BOOST_ASIO_DETAIL_PIPE_SELECT_INTERRUPTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_WINDOWS)
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-#if !defined(__CYGWIN__)
-#if !defined(__SYMBIAN32__)
-#if !defined(BOOST_ASIO_HAS_EVENTFD)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class pipe_select_interrupter
-{
-public:
- // Constructor.
- BOOST_ASIO_DECL pipe_select_interrupter();
-
- // Destructor.
- BOOST_ASIO_DECL ~pipe_select_interrupter();
-
- // Recreate the interrupter's descriptors. Used after a fork.
- BOOST_ASIO_DECL void recreate();
-
- // Interrupt the select call.
- BOOST_ASIO_DECL void interrupt();
-
- // Reset the select interrupt. Returns true if the call was interrupted.
- BOOST_ASIO_DECL bool reset();
-
- // Get the read descriptor to be passed to select.
- int read_descriptor() const
- {
- return read_descriptor_;
- }
-
-private:
- // Open the descriptors. Throws on error.
- BOOST_ASIO_DECL void open_descriptors();
-
- // Close the descriptors.
- BOOST_ASIO_DECL void close_descriptors();
-
- // The read end of a connection used to interrupt the select call. This file
- // descriptor is passed to select such that when it is time to stop, a single
- // byte will be written on the other end of the connection and this
- // descriptor will become readable.
- int read_descriptor_;
-
- // The write end of a connection used to interrupt the select call. A single
- // byte may be written to this to wake up the select which is waiting for the
- // other end to become readable.
- int write_descriptor_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/pipe_select_interrupter.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // !defined(BOOST_ASIO_HAS_EVENTFD)
-#endif // !defined(__SYMBIAN32__)
-#endif // !defined(__CYGWIN__)
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-#endif // !defined(BOOST_ASIO_WINDOWS)
-
-#endif // BOOST_ASIO_DETAIL_PIPE_SELECT_INTERRUPTER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp
deleted file mode 100644
index 98529eaf26..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_event.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-//
-// detail/posix_event.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_POSIX_EVENT_HPP
-#define BOOST_ASIO_DETAIL_POSIX_EVENT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_PTHREADS)
-
-#include <pthread.h>
-#include <boost/asio/detail/assert.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class posix_event
- : private noncopyable
-{
-public:
- // Constructor.
- BOOST_ASIO_DECL posix_event();
-
- // Destructor.
- ~posix_event()
- {
- ::pthread_cond_destroy(&cond_);
- }
-
- // Signal the event. (Retained for backward compatibility.)
- template <typename Lock>
- void signal(Lock& lock)
- {
- this->signal_all(lock);
- }
-
- // Signal all waiters.
- template <typename Lock>
- void signal_all(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- (void)lock;
- state_ |= 1;
- ::pthread_cond_broadcast(&cond_); // Ignore EINVAL.
- }
-
- // Unlock the mutex and signal one waiter.
- template <typename Lock>
- void unlock_and_signal_one(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- state_ |= 1;
- bool have_waiters = (state_ > 1);
- lock.unlock();
- if (have_waiters)
- ::pthread_cond_signal(&cond_); // Ignore EINVAL.
- }
-
- // If there's a waiter, unlock the mutex and signal it.
- template <typename Lock>
- bool maybe_unlock_and_signal_one(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- state_ |= 1;
- if (state_ > 1)
- {
- lock.unlock();
- ::pthread_cond_signal(&cond_); // Ignore EINVAL.
- return true;
- }
- return false;
- }
-
- // Reset the event.
- template <typename Lock>
- void clear(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- (void)lock;
- state_ &= ~std::size_t(1);
- }
-
- // Wait for the event to become signalled.
- template <typename Lock>
- void wait(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- while ((state_ & 1) == 0)
- {
- state_ += 2;
- ::pthread_cond_wait(&cond_, &lock.mutex().mutex_); // Ignore EINVAL.
- state_ -= 2;
- }
- }
-
- // Timed wait for the event to become signalled.
- template <typename Lock>
- bool wait_for_usec(Lock& lock, long usec)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- if ((state_ & 1) == 0)
- {
- state_ += 2;
- timespec ts;
-#if (defined(__MACH__) && defined(__APPLE__)) \
- || (defined(__ANDROID__) && (__ANDROID_API__ < 21) \
- && defined(HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE))
- ts.tv_sec = usec / 1000000;
- ts.tv_nsec = (usec % 1000000) * 1000;
- ::pthread_cond_timedwait_relative_np(
- &cond_, &lock.mutex().mutex_, &ts); // Ignore EINVAL.
-#else // (defined(__MACH__) && defined(__APPLE__))
- // || (defined(__ANDROID__) && (__ANDROID_API__ < 21)
- // && defined(HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE))
- if (::clock_gettime(CLOCK_MONOTONIC, &ts) == 0)
- {
- ts.tv_sec += usec / 1000000;
- ts.tv_nsec = (usec % 1000000) * 1000;
- ts.tv_sec += ts.tv_nsec / 1000000000;
- ts.tv_nsec = ts.tv_nsec % 1000000000;
- ::pthread_cond_timedwait(&cond_,
- &lock.mutex().mutex_, &ts); // Ignore EINVAL.
- }
-#endif // (defined(__MACH__) && defined(__APPLE__))
- // || (defined(__ANDROID__) && (__ANDROID_API__ < 21)
- // && defined(HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE))
- state_ -= 2;
- }
- return (state_ & 1) != 0;
- }
-
-private:
- ::pthread_cond_t cond_;
- std::size_t state_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/posix_event.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
-
-#endif // BOOST_ASIO_DETAIL_POSIX_EVENT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp
deleted file mode 100644
index f68f2aa1c4..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_fd_set_adapter.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-//
-// detail/posix_fd_set_adapter.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_POSIX_FD_SET_ADAPTER_HPP
-#define BOOST_ASIO_DETAIL_POSIX_FD_SET_ADAPTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_WINDOWS) \
- && !defined(__CYGWIN__) \
- && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <cstring>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/reactor_op_queue.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Adapts the FD_SET type to meet the Descriptor_Set concept's requirements.
-class posix_fd_set_adapter : noncopyable
-{
-public:
- posix_fd_set_adapter()
- : max_descriptor_(invalid_socket)
- {
- using namespace std; // Needed for memset on Solaris.
- FD_ZERO(&fd_set_);
- }
-
- void reset()
- {
- using namespace std; // Needed for memset on Solaris.
- FD_ZERO(&fd_set_);
- }
-
- bool set(socket_type descriptor)
- {
- if (descriptor < (socket_type)FD_SETSIZE)
- {
- if (max_descriptor_ == invalid_socket || descriptor > max_descriptor_)
- max_descriptor_ = descriptor;
- FD_SET(descriptor, &fd_set_);
- return true;
- }
- return false;
- }
-
- void set(reactor_op_queue<socket_type>& operations, op_queue<operation>& ops)
- {
- reactor_op_queue<socket_type>::iterator i = operations.begin();
- while (i != operations.end())
- {
- reactor_op_queue<socket_type>::iterator op_iter = i++;
- if (!set(op_iter->first))
- {
- boost::system::error_code ec(error::fd_set_failure);
- operations.cancel_operations(op_iter, ops, ec);
- }
- }
- }
-
- bool is_set(socket_type descriptor) const
- {
- return FD_ISSET(descriptor, &fd_set_) != 0;
- }
-
- operator fd_set*()
- {
- return &fd_set_;
- }
-
- socket_type max_descriptor() const
- {
- return max_descriptor_;
- }
-
- void perform(reactor_op_queue<socket_type>& operations,
- op_queue<operation>& ops) const
- {
- reactor_op_queue<socket_type>::iterator i = operations.begin();
- while (i != operations.end())
- {
- reactor_op_queue<socket_type>::iterator op_iter = i++;
- if (is_set(op_iter->first))
- operations.perform_operations(op_iter, ops);
- }
- }
-
-private:
- mutable fd_set fd_set_;
- socket_type max_descriptor_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_WINDOWS)
- // && !defined(__CYGWIN__)
- // && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_POSIX_FD_SET_ADAPTER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp
deleted file mode 100644
index c2c2996f88..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_global.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// detail/posix_global.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_POSIX_GLOBAL_HPP
-#define BOOST_ASIO_DETAIL_POSIX_GLOBAL_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_PTHREADS)
-
-#include <exception>
-#include <pthread.h>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename T>
-struct posix_global_impl
-{
- // Helper function to perform initialisation.
- static void do_init()
- {
- instance_.static_ptr_ = instance_.ptr_ = new T;
- }
-
- // Destructor automatically cleans up the global.
- ~posix_global_impl()
- {
- delete static_ptr_;
- }
-
- static ::pthread_once_t init_once_;
- static T* static_ptr_;
- static posix_global_impl instance_;
- T* ptr_;
-};
-
-template <typename T>
-::pthread_once_t posix_global_impl<T>::init_once_ = PTHREAD_ONCE_INIT;
-
-template <typename T>
-T* posix_global_impl<T>::static_ptr_ = 0;
-
-template <typename T>
-posix_global_impl<T> posix_global_impl<T>::instance_;
-
-template <typename T>
-T& posix_global()
-{
- int result = ::pthread_once(
- &posix_global_impl<T>::init_once_,
- &posix_global_impl<T>::do_init);
-
- if (result != 0)
- std::terminate();
-
- return *posix_global_impl<T>::instance_.ptr_;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
-
-#endif // BOOST_ASIO_DETAIL_POSIX_GLOBAL_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp
deleted file mode 100644
index 5e1d42c530..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_mutex.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-//
-// detail/posix_mutex.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_POSIX_MUTEX_HPP
-#define BOOST_ASIO_DETAIL_POSIX_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_PTHREADS)
-
-#include <pthread.h>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/scoped_lock.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class posix_event;
-
-class posix_mutex
- : private noncopyable
-{
-public:
- typedef boost::asio::detail::scoped_lock<posix_mutex> scoped_lock;
-
- // Constructor.
- BOOST_ASIO_DECL posix_mutex();
-
- // Destructor.
- ~posix_mutex()
- {
- ::pthread_mutex_destroy(&mutex_); // Ignore EBUSY.
- }
-
- // Lock the mutex.
- void lock()
- {
- (void)::pthread_mutex_lock(&mutex_); // Ignore EINVAL.
- }
-
- // Unlock the mutex.
- void unlock()
- {
- (void)::pthread_mutex_unlock(&mutex_); // Ignore EINVAL.
- }
-
-private:
- friend class posix_event;
- ::pthread_mutex_t mutex_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/posix_mutex.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
-
-#endif // BOOST_ASIO_DETAIL_POSIX_MUTEX_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp
deleted file mode 100644
index ea5758fb2c..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_signal_blocker.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//
-// detail/posix_signal_blocker.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_POSIX_SIGNAL_BLOCKER_HPP
-#define BOOST_ASIO_DETAIL_POSIX_SIGNAL_BLOCKER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_PTHREADS)
-
-#include <csignal>
-#include <pthread.h>
-#include <signal.h>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class posix_signal_blocker
- : private noncopyable
-{
-public:
- // Constructor blocks all signals for the calling thread.
- posix_signal_blocker()
- : blocked_(false)
- {
- sigset_t new_mask;
- sigfillset(&new_mask);
- blocked_ = (pthread_sigmask(SIG_BLOCK, &new_mask, &old_mask_) == 0);
- }
-
- // Destructor restores the previous signal mask.
- ~posix_signal_blocker()
- {
- if (blocked_)
- pthread_sigmask(SIG_SETMASK, &old_mask_, 0);
- }
-
- // Block all signals for the calling thread.
- void block()
- {
- if (!blocked_)
- {
- sigset_t new_mask;
- sigfillset(&new_mask);
- blocked_ = (pthread_sigmask(SIG_BLOCK, &new_mask, &old_mask_) == 0);
- }
- }
-
- // Restore the previous signal mask.
- void unblock()
- {
- if (blocked_)
- blocked_ = (pthread_sigmask(SIG_SETMASK, &old_mask_, 0) != 0);
- }
-
-private:
- // Have signals been blocked.
- bool blocked_;
-
- // The previous signal mask.
- sigset_t old_mask_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
-
-#endif // BOOST_ASIO_DETAIL_POSIX_SIGNAL_BLOCKER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp
deleted file mode 100644
index cbf7013c2d..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_static_mutex.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// detail/posix_static_mutex.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_POSIX_STATIC_MUTEX_HPP
-#define BOOST_ASIO_DETAIL_POSIX_STATIC_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_PTHREADS)
-
-#include <pthread.h>
-#include <boost/asio/detail/scoped_lock.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-struct posix_static_mutex
-{
- typedef boost::asio::detail::scoped_lock<posix_static_mutex> scoped_lock;
-
- // Initialise the mutex.
- void init()
- {
- // Nothing to do.
- }
-
- // Lock the mutex.
- void lock()
- {
- (void)::pthread_mutex_lock(&mutex_); // Ignore EINVAL.
- }
-
- // Unlock the mutex.
- void unlock()
- {
- (void)::pthread_mutex_unlock(&mutex_); // Ignore EINVAL.
- }
-
- ::pthread_mutex_t mutex_;
-};
-
-#define BOOST_ASIO_POSIX_STATIC_MUTEX_INIT { PTHREAD_MUTEX_INITIALIZER }
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
-
-#endif // BOOST_ASIO_DETAIL_POSIX_STATIC_MUTEX_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp
deleted file mode 100644
index b2821f5356..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_thread.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-//
-// detail/posix_thread.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_POSIX_THREAD_HPP
-#define BOOST_ASIO_DETAIL_POSIX_THREAD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_PTHREADS)
-
-#include <cstddef>
-#include <pthread.h>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-extern "C"
-{
- BOOST_ASIO_DECL void* boost_asio_detail_posix_thread_function(void* arg);
-}
-
-class posix_thread
- : private noncopyable
-{
-public:
- // Constructor.
- template <typename Function>
- posix_thread(Function f, unsigned int = 0)
- : joined_(false)
- {
- start_thread(new func<Function>(f));
- }
-
- // Destructor.
- BOOST_ASIO_DECL ~posix_thread();
-
- // Wait for the thread to exit.
- BOOST_ASIO_DECL void join();
-
- // Get number of CPUs.
- BOOST_ASIO_DECL static std::size_t hardware_concurrency();
-
-private:
- friend void* boost_asio_detail_posix_thread_function(void* arg);
-
- class func_base
- {
- public:
- virtual ~func_base() {}
- virtual void run() = 0;
- };
-
- struct auto_func_base_ptr
- {
- func_base* ptr;
- ~auto_func_base_ptr() { delete ptr; }
- };
-
- template <typename Function>
- class func
- : public func_base
- {
- public:
- func(Function f)
- : f_(f)
- {
- }
-
- virtual void run()
- {
- f_();
- }
-
- private:
- Function f_;
- };
-
- BOOST_ASIO_DECL void start_thread(func_base* arg);
-
- ::pthread_t thread_;
- bool joined_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/posix_thread.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
-
-#endif // BOOST_ASIO_DETAIL_POSIX_THREAD_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp
deleted file mode 100644
index 93d06744a7..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/posix_tss_ptr.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-//
-// detail/posix_tss_ptr.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_POSIX_TSS_PTR_HPP
-#define BOOST_ASIO_DETAIL_POSIX_TSS_PTR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_PTHREADS)
-
-#include <pthread.h>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Helper function to create thread-specific storage.
-BOOST_ASIO_DECL void posix_tss_ptr_create(pthread_key_t& key);
-
-template <typename T>
-class posix_tss_ptr
- : private noncopyable
-{
-public:
- // Constructor.
- posix_tss_ptr()
- {
- posix_tss_ptr_create(tss_key_);
- }
-
- // Destructor.
- ~posix_tss_ptr()
- {
- ::pthread_key_delete(tss_key_);
- }
-
- // Get the value.
- operator T*() const
- {
- return static_cast<T*>(::pthread_getspecific(tss_key_));
- }
-
- // Set the value.
- void operator=(T* value)
- {
- ::pthread_setspecific(tss_key_, value);
- }
-
-private:
- // Thread-specific storage to allow unlocked access to determine whether a
- // thread is a member of the pool.
- pthread_key_t tss_key_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/posix_tss_ptr.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_HAS_PTHREADS)
-
-#endif // BOOST_ASIO_DETAIL_POSIX_TSS_PTR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp
deleted file mode 100644
index dca3a3285f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_null_buffers_op.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-//
-// detail/reactive_null_buffers_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTIVE_NULL_BUFFERS_OP_HPP
-#define BOOST_ASIO_DETAIL_REACTIVE_NULL_BUFFERS_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Handler>
-class reactive_null_buffers_op : public reactor_op
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_null_buffers_op);
-
- reactive_null_buffers_op(Handler& handler)
- : reactor_op(&reactive_null_buffers_op::do_perform,
- &reactive_null_buffers_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static status do_perform(reactor_op*)
- {
- return done;
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- reactive_null_buffers_op* o(static_cast<reactive_null_buffers_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, o->ec_, o->bytes_transferred_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_REACTIVE_NULL_BUFFERS_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp
deleted file mode 100644
index 292f3bdf25..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_accept_op.hpp
+++ /dev/null
@@ -1,219 +0,0 @@
-//
-// detail/reactive_socket_accept_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTIVE_SOCKET_ACCEPT_OP_HPP
-#define BOOST_ASIO_DETAIL_REACTIVE_SOCKET_ACCEPT_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_holder.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Socket, typename Protocol>
-class reactive_socket_accept_op_base : public reactor_op
-{
-public:
- reactive_socket_accept_op_base(socket_type socket,
- socket_ops::state_type state, Socket& peer, const Protocol& protocol,
- typename Protocol::endpoint* peer_endpoint, func_type complete_func)
- : reactor_op(&reactive_socket_accept_op_base::do_perform, complete_func),
- socket_(socket),
- state_(state),
- peer_(peer),
- protocol_(protocol),
- peer_endpoint_(peer_endpoint),
- addrlen_(peer_endpoint ? peer_endpoint->capacity() : 0)
- {
- }
-
- static status do_perform(reactor_op* base)
- {
- reactive_socket_accept_op_base* o(
- static_cast<reactive_socket_accept_op_base*>(base));
-
- socket_type new_socket = invalid_socket;
- status result = socket_ops::non_blocking_accept(o->socket_,
- o->state_, o->peer_endpoint_ ? o->peer_endpoint_->data() : 0,
- o->peer_endpoint_ ? &o->addrlen_ : 0, o->ec_, new_socket)
- ? done : not_done;
- o->new_socket_.reset(new_socket);
-
- BOOST_ASIO_HANDLER_REACTOR_OPERATION((*o, "non_blocking_accept", o->ec_));
-
- return result;
- }
-
- void do_assign()
- {
- if (new_socket_.get() != invalid_socket)
- {
- if (peer_endpoint_)
- peer_endpoint_->resize(addrlen_);
- peer_.assign(protocol_, new_socket_.get(), ec_);
- if (!ec_)
- new_socket_.release();
- }
- }
-
-private:
- socket_type socket_;
- socket_ops::state_type state_;
- socket_holder new_socket_;
- Socket& peer_;
- Protocol protocol_;
- typename Protocol::endpoint* peer_endpoint_;
- std::size_t addrlen_;
-};
-
-template <typename Socket, typename Protocol, typename Handler>
-class reactive_socket_accept_op :
- public reactive_socket_accept_op_base<Socket, Protocol>
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_accept_op);
-
- reactive_socket_accept_op(socket_type socket,
- socket_ops::state_type state, Socket& peer, const Protocol& protocol,
- typename Protocol::endpoint* peer_endpoint, Handler& handler)
- : reactive_socket_accept_op_base<Socket, Protocol>(socket, state, peer,
- protocol, peer_endpoint, &reactive_socket_accept_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- reactive_socket_accept_op* o(static_cast<reactive_socket_accept_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- // On success, assign new connection to peer socket object.
- if (owner)
- o->do_assign();
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder1<Handler, boost::system::error_code>
- handler(o->handler_, o->ec_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-
-template <typename Protocol, typename Handler>
-class reactive_socket_move_accept_op :
- private Protocol::socket,
- public reactive_socket_accept_op_base<typename Protocol::socket, Protocol>
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_move_accept_op);
-
- reactive_socket_move_accept_op(io_context& ioc, socket_type socket,
- socket_ops::state_type state, const Protocol& protocol,
- typename Protocol::endpoint* peer_endpoint, Handler& handler)
- : Protocol::socket(ioc),
- reactive_socket_accept_op_base<typename Protocol::socket, Protocol>(
- socket, state, *this, protocol, peer_endpoint,
- &reactive_socket_move_accept_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- reactive_socket_move_accept_op* o(
- static_cast<reactive_socket_move_accept_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- // On success, assign new connection to peer socket object.
- if (owner)
- o->do_assign();
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::move_binder2<Handler,
- boost::system::error_code, typename Protocol::socket>
- handler(0, BOOST_ASIO_MOVE_CAST(Handler)(o->handler_), o->ec_,
- BOOST_ASIO_MOVE_CAST(typename Protocol::socket)(*o));
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, "..."));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_REACTIVE_SOCKET_ACCEPT_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp
deleted file mode 100644
index bbb5020501..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_connect_op.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-//
-// detail/reactive_socket_connect_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTIVE_SOCKET_CONNECT_OP_HPP
-#define BOOST_ASIO_DETAIL_REACTIVE_SOCKET_CONNECT_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class reactive_socket_connect_op_base : public reactor_op
-{
-public:
- reactive_socket_connect_op_base(socket_type socket, func_type complete_func)
- : reactor_op(&reactive_socket_connect_op_base::do_perform, complete_func),
- socket_(socket)
- {
- }
-
- static status do_perform(reactor_op* base)
- {
- reactive_socket_connect_op_base* o(
- static_cast<reactive_socket_connect_op_base*>(base));
-
- status result = socket_ops::non_blocking_connect(
- o->socket_, o->ec_) ? done : not_done;
-
- BOOST_ASIO_HANDLER_REACTOR_OPERATION((*o, "non_blocking_connect", o->ec_));
-
- return result;
- }
-
-private:
- socket_type socket_;
-};
-
-template <typename Handler>
-class reactive_socket_connect_op : public reactive_socket_connect_op_base
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_connect_op);
-
- reactive_socket_connect_op(socket_type socket, Handler& handler)
- : reactive_socket_connect_op_base(socket,
- &reactive_socket_connect_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- reactive_socket_connect_op* o
- (static_cast<reactive_socket_connect_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder1<Handler, boost::system::error_code>
- handler(o->handler_, o->ec_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_REACTIVE_SOCKET_CONNECT_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp
deleted file mode 100644
index 0f124627bd..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recv_op.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-//
-// detail/reactive_socket_recv_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTIVE_SOCKET_RECV_OP_HPP
-#define BOOST_ASIO_DETAIL_REACTIVE_SOCKET_RECV_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename MutableBufferSequence>
-class reactive_socket_recv_op_base : public reactor_op
-{
-public:
- reactive_socket_recv_op_base(socket_type socket,
- socket_ops::state_type state, const MutableBufferSequence& buffers,
- socket_base::message_flags flags, func_type complete_func)
- : reactor_op(&reactive_socket_recv_op_base::do_perform, complete_func),
- socket_(socket),
- state_(state),
- buffers_(buffers),
- flags_(flags)
- {
- }
-
- static status do_perform(reactor_op* base)
- {
- reactive_socket_recv_op_base* o(
- static_cast<reactive_socket_recv_op_base*>(base));
-
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(o->buffers_);
-
- status result = socket_ops::non_blocking_recv(o->socket_,
- bufs.buffers(), bufs.count(), o->flags_,
- (o->state_ & socket_ops::stream_oriented) != 0,
- o->ec_, o->bytes_transferred_) ? done : not_done;
-
- if (result == done)
- if ((o->state_ & socket_ops::stream_oriented) != 0)
- if (o->bytes_transferred_ == 0)
- result = done_and_exhausted;
-
- BOOST_ASIO_HANDLER_REACTOR_OPERATION((*o, "non_blocking_recv",
- o->ec_, o->bytes_transferred_));
-
- return result;
- }
-
-private:
- socket_type socket_;
- socket_ops::state_type state_;
- MutableBufferSequence buffers_;
- socket_base::message_flags flags_;
-};
-
-template <typename MutableBufferSequence, typename Handler>
-class reactive_socket_recv_op :
- public reactive_socket_recv_op_base<MutableBufferSequence>
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_recv_op);
-
- reactive_socket_recv_op(socket_type socket,
- socket_ops::state_type state, const MutableBufferSequence& buffers,
- socket_base::message_flags flags, Handler& handler)
- : reactive_socket_recv_op_base<MutableBufferSequence>(socket, state,
- buffers, flags, &reactive_socket_recv_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- reactive_socket_recv_op* o(static_cast<reactive_socket_recv_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, o->ec_, o->bytes_transferred_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_REACTIVE_SOCKET_RECV_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp
deleted file mode 100644
index b96a01327a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvfrom_op.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-//
-// detail/reactive_socket_recvfrom_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTIVE_SOCKET_RECVFROM_OP_HPP
-#define BOOST_ASIO_DETAIL_REACTIVE_SOCKET_RECVFROM_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename MutableBufferSequence, typename Endpoint>
-class reactive_socket_recvfrom_op_base : public reactor_op
-{
-public:
- reactive_socket_recvfrom_op_base(socket_type socket, int protocol_type,
- const MutableBufferSequence& buffers, Endpoint& endpoint,
- socket_base::message_flags flags, func_type complete_func)
- : reactor_op(&reactive_socket_recvfrom_op_base::do_perform, complete_func),
- socket_(socket),
- protocol_type_(protocol_type),
- buffers_(buffers),
- sender_endpoint_(endpoint),
- flags_(flags)
- {
- }
-
- static status do_perform(reactor_op* base)
- {
- reactive_socket_recvfrom_op_base* o(
- static_cast<reactive_socket_recvfrom_op_base*>(base));
-
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(o->buffers_);
-
- std::size_t addr_len = o->sender_endpoint_.capacity();
- status result = socket_ops::non_blocking_recvfrom(o->socket_,
- bufs.buffers(), bufs.count(), o->flags_,
- o->sender_endpoint_.data(), &addr_len,
- o->ec_, o->bytes_transferred_) ? done : not_done;
-
- if (result && !o->ec_)
- o->sender_endpoint_.resize(addr_len);
-
- BOOST_ASIO_HANDLER_REACTOR_OPERATION((*o, "non_blocking_recvfrom",
- o->ec_, o->bytes_transferred_));
-
- return result;
- }
-
-private:
- socket_type socket_;
- int protocol_type_;
- MutableBufferSequence buffers_;
- Endpoint& sender_endpoint_;
- socket_base::message_flags flags_;
-};
-
-template <typename MutableBufferSequence, typename Endpoint, typename Handler>
-class reactive_socket_recvfrom_op :
- public reactive_socket_recvfrom_op_base<MutableBufferSequence, Endpoint>
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_recvfrom_op);
-
- reactive_socket_recvfrom_op(socket_type socket, int protocol_type,
- const MutableBufferSequence& buffers, Endpoint& endpoint,
- socket_base::message_flags flags, Handler& handler)
- : reactive_socket_recvfrom_op_base<MutableBufferSequence, Endpoint>(
- socket, protocol_type, buffers, endpoint, flags,
- &reactive_socket_recvfrom_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- reactive_socket_recvfrom_op* o(
- static_cast<reactive_socket_recvfrom_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, o->ec_, o->bytes_transferred_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_REACTIVE_SOCKET_RECVFROM_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp
deleted file mode 100644
index 6ae324947c..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_recvmsg_op.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-//
-// detail/reactive_socket_recvmsg_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTIVE_SOCKET_RECVMSG_OP_HPP
-#define BOOST_ASIO_DETAIL_REACTIVE_SOCKET_RECVMSG_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/socket_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename MutableBufferSequence>
-class reactive_socket_recvmsg_op_base : public reactor_op
-{
-public:
- reactive_socket_recvmsg_op_base(socket_type socket,
- const MutableBufferSequence& buffers, socket_base::message_flags in_flags,
- socket_base::message_flags& out_flags, func_type complete_func)
- : reactor_op(&reactive_socket_recvmsg_op_base::do_perform, complete_func),
- socket_(socket),
- buffers_(buffers),
- in_flags_(in_flags),
- out_flags_(out_flags)
- {
- }
-
- static status do_perform(reactor_op* base)
- {
- reactive_socket_recvmsg_op_base* o(
- static_cast<reactive_socket_recvmsg_op_base*>(base));
-
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(o->buffers_);
-
- status result = socket_ops::non_blocking_recvmsg(o->socket_,
- bufs.buffers(), bufs.count(),
- o->in_flags_, o->out_flags_,
- o->ec_, o->bytes_transferred_) ? done : not_done;
-
- BOOST_ASIO_HANDLER_REACTOR_OPERATION((*o, "non_blocking_recvmsg",
- o->ec_, o->bytes_transferred_));
-
- return result;
- }
-
-private:
- socket_type socket_;
- MutableBufferSequence buffers_;
- socket_base::message_flags in_flags_;
- socket_base::message_flags& out_flags_;
-};
-
-template <typename MutableBufferSequence, typename Handler>
-class reactive_socket_recvmsg_op :
- public reactive_socket_recvmsg_op_base<MutableBufferSequence>
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_recvmsg_op);
-
- reactive_socket_recvmsg_op(socket_type socket,
- const MutableBufferSequence& buffers, socket_base::message_flags in_flags,
- socket_base::message_flags& out_flags, Handler& handler)
- : reactive_socket_recvmsg_op_base<MutableBufferSequence>(socket, buffers,
- in_flags, out_flags, &reactive_socket_recvmsg_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- reactive_socket_recvmsg_op* o(
- static_cast<reactive_socket_recvmsg_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, o->ec_, o->bytes_transferred_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_REACTIVE_SOCKET_RECVMSG_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp
deleted file mode 100644
index 11f3ad80af..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_send_op.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-//
-// detail/reactive_socket_send_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SEND_OP_HPP
-#define BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SEND_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename ConstBufferSequence>
-class reactive_socket_send_op_base : public reactor_op
-{
-public:
- reactive_socket_send_op_base(socket_type socket,
- socket_ops::state_type state, const ConstBufferSequence& buffers,
- socket_base::message_flags flags, func_type complete_func)
- : reactor_op(&reactive_socket_send_op_base::do_perform, complete_func),
- socket_(socket),
- state_(state),
- buffers_(buffers),
- flags_(flags)
- {
- }
-
- static status do_perform(reactor_op* base)
- {
- reactive_socket_send_op_base* o(
- static_cast<reactive_socket_send_op_base*>(base));
-
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence> bufs(o->buffers_);
-
- status result = socket_ops::non_blocking_send(o->socket_,
- bufs.buffers(), bufs.count(), o->flags_,
- o->ec_, o->bytes_transferred_) ? done : not_done;
-
- if (result == done)
- if ((o->state_ & socket_ops::stream_oriented) != 0)
- if (o->bytes_transferred_ < bufs.total_size())
- result = done_and_exhausted;
-
- BOOST_ASIO_HANDLER_REACTOR_OPERATION((*o, "non_blocking_send",
- o->ec_, o->bytes_transferred_));
-
- return result;
- }
-
-private:
- socket_type socket_;
- socket_ops::state_type state_;
- ConstBufferSequence buffers_;
- socket_base::message_flags flags_;
-};
-
-template <typename ConstBufferSequence, typename Handler>
-class reactive_socket_send_op :
- public reactive_socket_send_op_base<ConstBufferSequence>
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_send_op);
-
- reactive_socket_send_op(socket_type socket,
- socket_ops::state_type state, const ConstBufferSequence& buffers,
- socket_base::message_flags flags, Handler& handler)
- : reactive_socket_send_op_base<ConstBufferSequence>(socket,
- state, buffers, flags, &reactive_socket_send_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- reactive_socket_send_op* o(static_cast<reactive_socket_send_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, o->ec_, o->bytes_transferred_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SEND_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp
deleted file mode 100644
index a73934bfc1..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_sendto_op.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-//
-// detail/reactive_socket_sendto_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SENDTO_OP_HPP
-#define BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SENDTO_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename ConstBufferSequence, typename Endpoint>
-class reactive_socket_sendto_op_base : public reactor_op
-{
-public:
- reactive_socket_sendto_op_base(socket_type socket,
- const ConstBufferSequence& buffers, const Endpoint& endpoint,
- socket_base::message_flags flags, func_type complete_func)
- : reactor_op(&reactive_socket_sendto_op_base::do_perform, complete_func),
- socket_(socket),
- buffers_(buffers),
- destination_(endpoint),
- flags_(flags)
- {
- }
-
- static status do_perform(reactor_op* base)
- {
- reactive_socket_sendto_op_base* o(
- static_cast<reactive_socket_sendto_op_base*>(base));
-
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence> bufs(o->buffers_);
-
- status result = socket_ops::non_blocking_sendto(o->socket_,
- bufs.buffers(), bufs.count(), o->flags_,
- o->destination_.data(), o->destination_.size(),
- o->ec_, o->bytes_transferred_) ? done : not_done;
-
- BOOST_ASIO_HANDLER_REACTOR_OPERATION((*o, "non_blocking_sendto",
- o->ec_, o->bytes_transferred_));
-
- return result;
- }
-
-private:
- socket_type socket_;
- ConstBufferSequence buffers_;
- Endpoint destination_;
- socket_base::message_flags flags_;
-};
-
-template <typename ConstBufferSequence, typename Endpoint, typename Handler>
-class reactive_socket_sendto_op :
- public reactive_socket_sendto_op_base<ConstBufferSequence, Endpoint>
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_socket_sendto_op);
-
- reactive_socket_sendto_op(socket_type socket,
- const ConstBufferSequence& buffers, const Endpoint& endpoint,
- socket_base::message_flags flags, Handler& handler)
- : reactive_socket_sendto_op_base<ConstBufferSequence, Endpoint>(socket,
- buffers, endpoint, flags, &reactive_socket_sendto_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- reactive_socket_sendto_op* o(static_cast<reactive_socket_sendto_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, o->ec_, o->bytes_transferred_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SENDTO_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp
deleted file mode 100644
index 89940d9af0..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service.hpp
+++ /dev/null
@@ -1,528 +0,0 @@
-//
-// detail/reactive_socket_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SERVICE_HPP
-#define BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/buffer.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/socket_base.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/reactive_null_buffers_op.hpp>
-#include <boost/asio/detail/reactive_socket_accept_op.hpp>
-#include <boost/asio/detail/reactive_socket_connect_op.hpp>
-#include <boost/asio/detail/reactive_socket_recvfrom_op.hpp>
-#include <boost/asio/detail/reactive_socket_sendto_op.hpp>
-#include <boost/asio/detail/reactive_socket_service_base.hpp>
-#include <boost/asio/detail/reactor.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_holder.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Protocol>
-class reactive_socket_service :
- public service_base<reactive_socket_service<Protocol> >,
- public reactive_socket_service_base
-{
-public:
- // The protocol type.
- typedef Protocol protocol_type;
-
- // The endpoint type.
- typedef typename Protocol::endpoint endpoint_type;
-
- // The native type of a socket.
- typedef socket_type native_handle_type;
-
- // The implementation type of the socket.
- struct implementation_type :
- reactive_socket_service_base::base_implementation_type
- {
- // Default constructor.
- implementation_type()
- : protocol_(endpoint_type().protocol())
- {
- }
-
- // The protocol associated with the socket.
- protocol_type protocol_;
- };
-
- // Constructor.
- reactive_socket_service(boost::asio::io_context& io_context)
- : service_base<reactive_socket_service<Protocol> >(io_context),
- reactive_socket_service_base(io_context)
- {
- }
-
- // Destroy all user-defined handler objects owned by the service.
- void shutdown()
- {
- this->base_shutdown();
- }
-
- // Move-construct a new socket implementation.
- void move_construct(implementation_type& impl,
- implementation_type& other_impl)
- {
- this->base_move_construct(impl, other_impl);
-
- impl.protocol_ = other_impl.protocol_;
- other_impl.protocol_ = endpoint_type().protocol();
- }
-
- // Move-assign from another socket implementation.
- void move_assign(implementation_type& impl,
- reactive_socket_service_base& other_service,
- implementation_type& other_impl)
- {
- this->base_move_assign(impl, other_service, other_impl);
-
- impl.protocol_ = other_impl.protocol_;
- other_impl.protocol_ = endpoint_type().protocol();
- }
-
- // Move-construct a new socket implementation from another protocol type.
- template <typename Protocol1>
- void converting_move_construct(implementation_type& impl,
- reactive_socket_service<Protocol1>&,
- typename reactive_socket_service<
- Protocol1>::implementation_type& other_impl)
- {
- this->base_move_construct(impl, other_impl);
-
- impl.protocol_ = protocol_type(other_impl.protocol_);
- other_impl.protocol_ = typename Protocol1::endpoint().protocol();
- }
-
- // Open a new socket implementation.
- boost::system::error_code open(implementation_type& impl,
- const protocol_type& protocol, boost::system::error_code& ec)
- {
- if (!do_open(impl, protocol.family(),
- protocol.type(), protocol.protocol(), ec))
- impl.protocol_ = protocol;
- return ec;
- }
-
- // Assign a native socket to a socket implementation.
- boost::system::error_code assign(implementation_type& impl,
- const protocol_type& protocol, const native_handle_type& native_socket,
- boost::system::error_code& ec)
- {
- if (!do_assign(impl, protocol.type(), native_socket, ec))
- impl.protocol_ = protocol;
- return ec;
- }
-
- // Get the native socket representation.
- native_handle_type native_handle(implementation_type& impl)
- {
- return impl.socket_;
- }
-
- // Bind the socket to the specified local endpoint.
- boost::system::error_code bind(implementation_type& impl,
- const endpoint_type& endpoint, boost::system::error_code& ec)
- {
- socket_ops::bind(impl.socket_, endpoint.data(), endpoint.size(), ec);
- return ec;
- }
-
- // Set a socket option.
- template <typename Option>
- boost::system::error_code set_option(implementation_type& impl,
- const Option& option, boost::system::error_code& ec)
- {
- socket_ops::setsockopt(impl.socket_, impl.state_,
- option.level(impl.protocol_), option.name(impl.protocol_),
- option.data(impl.protocol_), option.size(impl.protocol_), ec);
- return ec;
- }
-
- // Set a socket option.
- template <typename Option>
- boost::system::error_code get_option(const implementation_type& impl,
- Option& option, boost::system::error_code& ec) const
- {
- std::size_t size = option.size(impl.protocol_);
- socket_ops::getsockopt(impl.socket_, impl.state_,
- option.level(impl.protocol_), option.name(impl.protocol_),
- option.data(impl.protocol_), &size, ec);
- if (!ec)
- option.resize(impl.protocol_, size);
- return ec;
- }
-
- // Get the local endpoint.
- endpoint_type local_endpoint(const implementation_type& impl,
- boost::system::error_code& ec) const
- {
- endpoint_type endpoint;
- std::size_t addr_len = endpoint.capacity();
- if (socket_ops::getsockname(impl.socket_, endpoint.data(), &addr_len, ec))
- return endpoint_type();
- endpoint.resize(addr_len);
- return endpoint;
- }
-
- // Get the remote endpoint.
- endpoint_type remote_endpoint(const implementation_type& impl,
- boost::system::error_code& ec) const
- {
- endpoint_type endpoint;
- std::size_t addr_len = endpoint.capacity();
- if (socket_ops::getpeername(impl.socket_,
- endpoint.data(), &addr_len, false, ec))
- return endpoint_type();
- endpoint.resize(addr_len);
- return endpoint;
- }
-
- // Disable sends or receives on the socket.
- boost::system::error_code shutdown(base_implementation_type& impl,
- socket_base::shutdown_type what, boost::system::error_code& ec)
- {
- socket_ops::shutdown(impl.socket_, what, ec);
- return ec;
- }
-
- // Send a datagram to the specified endpoint. Returns the number of bytes
- // sent.
- template <typename ConstBufferSequence>
- size_t send_to(implementation_type& impl, const ConstBufferSequence& buffers,
- const endpoint_type& destination, socket_base::message_flags flags,
- boost::system::error_code& ec)
- {
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence> bufs(buffers);
-
- return socket_ops::sync_sendto(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), flags,
- destination.data(), destination.size(), ec);
- }
-
- // Wait until data can be sent without blocking.
- size_t send_to(implementation_type& impl, const null_buffers&,
- const endpoint_type&, socket_base::message_flags,
- boost::system::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_write(impl.socket_, impl.state_, -1, ec);
-
- return 0;
- }
-
- // Start an asynchronous send. The data being sent must be valid for the
- // lifetime of the asynchronous operation.
- template <typename ConstBufferSequence, typename Handler>
- void async_send_to(implementation_type& impl,
- const ConstBufferSequence& buffers,
- const endpoint_type& destination, socket_base::message_flags flags,
- Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_socket_sendto_op<ConstBufferSequence,
- endpoint_type, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.socket_, buffers, destination, flags, handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_send_to"));
-
- start_op(impl, reactor::write_op, p.p, is_continuation, true, false);
- p.v = p.p = 0;
- }
-
- // Start an asynchronous wait until data can be sent without blocking.
- template <typename Handler>
- void async_send_to(implementation_type& impl, const null_buffers&,
- const endpoint_type&, socket_base::message_flags, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_null_buffers_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_send_to(null_buffers)"));
-
- start_op(impl, reactor::write_op, p.p, is_continuation, false, false);
- p.v = p.p = 0;
- }
-
- // Receive a datagram with the endpoint of the sender. Returns the number of
- // bytes received.
- template <typename MutableBufferSequence>
- size_t receive_from(implementation_type& impl,
- const MutableBufferSequence& buffers,
- endpoint_type& sender_endpoint, socket_base::message_flags flags,
- boost::system::error_code& ec)
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- std::size_t addr_len = sender_endpoint.capacity();
- std::size_t bytes_recvd = socket_ops::sync_recvfrom(
- impl.socket_, impl.state_, bufs.buffers(), bufs.count(),
- flags, sender_endpoint.data(), &addr_len, ec);
-
- if (!ec)
- sender_endpoint.resize(addr_len);
-
- return bytes_recvd;
- }
-
- // Wait until data can be received without blocking.
- size_t receive_from(implementation_type& impl, const null_buffers&,
- endpoint_type& sender_endpoint, socket_base::message_flags,
- boost::system::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_read(impl.socket_, impl.state_, -1, ec);
-
- // Reset endpoint since it can be given no sensible value at this time.
- sender_endpoint = endpoint_type();
-
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received and
- // the sender_endpoint object must both be valid for the lifetime of the
- // asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive_from(implementation_type& impl,
- const MutableBufferSequence& buffers, endpoint_type& sender_endpoint,
- socket_base::message_flags flags, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_socket_recvfrom_op<MutableBufferSequence,
- endpoint_type, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- int protocol = impl.protocol_.type();
- p.p = new (p.v) op(impl.socket_, protocol,
- buffers, sender_endpoint, flags, handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_receive_from"));
-
- start_op(impl,
- (flags & socket_base::message_out_of_band)
- ? reactor::except_op : reactor::read_op,
- p.p, is_continuation, true, false);
- p.v = p.p = 0;
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive_from(implementation_type& impl,
- const null_buffers&, endpoint_type& sender_endpoint,
- socket_base::message_flags flags, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_null_buffers_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_receive_from(null_buffers)"));
-
- // Reset endpoint since it can be given no sensible value at this time.
- sender_endpoint = endpoint_type();
-
- start_op(impl,
- (flags & socket_base::message_out_of_band)
- ? reactor::except_op : reactor::read_op,
- p.p, is_continuation, false, false);
- p.v = p.p = 0;
- }
-
- // Accept a new connection.
- template <typename Socket>
- boost::system::error_code accept(implementation_type& impl,
- Socket& peer, endpoint_type* peer_endpoint, boost::system::error_code& ec)
- {
- // We cannot accept a socket that is already open.
- if (peer.is_open())
- {
- ec = boost::asio::error::already_open;
- return ec;
- }
-
- std::size_t addr_len = peer_endpoint ? peer_endpoint->capacity() : 0;
- socket_holder new_socket(socket_ops::sync_accept(impl.socket_,
- impl.state_, peer_endpoint ? peer_endpoint->data() : 0,
- peer_endpoint ? &addr_len : 0, ec));
-
- // On success, assign new connection to peer socket object.
- if (new_socket.get() != invalid_socket)
- {
- if (peer_endpoint)
- peer_endpoint->resize(addr_len);
- peer.assign(impl.protocol_, new_socket.get(), ec);
- if (!ec)
- new_socket.release();
- }
-
- return ec;
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- // Accept a new connection.
- typename Protocol::socket accept(implementation_type& impl,
- io_context* peer_io_context, endpoint_type* peer_endpoint,
- boost::system::error_code& ec)
- {
- typename Protocol::socket peer(
- peer_io_context ? *peer_io_context : io_context_);
-
- std::size_t addr_len = peer_endpoint ? peer_endpoint->capacity() : 0;
- socket_holder new_socket(socket_ops::sync_accept(impl.socket_,
- impl.state_, peer_endpoint ? peer_endpoint->data() : 0,
- peer_endpoint ? &addr_len : 0, ec));
-
- // On success, assign new connection to peer socket object.
- if (new_socket.get() != invalid_socket)
- {
- if (peer_endpoint)
- peer_endpoint->resize(addr_len);
- peer.assign(impl.protocol_, new_socket.get(), ec);
- if (!ec)
- new_socket.release();
- }
-
- return peer;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- // Start an asynchronous accept. The peer and peer_endpoint objects must be
- // valid until the accept's handler is invoked.
- template <typename Socket, typename Handler>
- void async_accept(implementation_type& impl, Socket& peer,
- endpoint_type* peer_endpoint, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_socket_accept_op<Socket, Protocol, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.socket_, impl.state_, peer,
- impl.protocol_, peer_endpoint, handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_accept"));
-
- start_accept_op(impl, p.p, is_continuation, peer.is_open());
- p.v = p.p = 0;
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- // Start an asynchronous accept. The peer_endpoint object must be valid until
- // the accept's handler is invoked.
- template <typename Handler>
- void async_accept(implementation_type& impl,
- boost::asio::io_context* peer_io_context,
- endpoint_type* peer_endpoint, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_socket_move_accept_op<Protocol, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(peer_io_context ? *peer_io_context : io_context_,
- impl.socket_, impl.state_, impl.protocol_, peer_endpoint, handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_accept"));
-
- start_accept_op(impl, p.p, is_continuation, false);
- p.v = p.p = 0;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- // Connect the socket to the specified endpoint.
- boost::system::error_code connect(implementation_type& impl,
- const endpoint_type& peer_endpoint, boost::system::error_code& ec)
- {
- socket_ops::sync_connect(impl.socket_,
- peer_endpoint.data(), peer_endpoint.size(), ec);
- return ec;
- }
-
- // Start an asynchronous connect.
- template <typename Handler>
- void async_connect(implementation_type& impl,
- const endpoint_type& peer_endpoint, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_socket_connect_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.socket_, handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_connect"));
-
- start_connect_op(impl, p.p, is_continuation,
- peer_endpoint.data(), peer_endpoint.size());
- p.v = p.p = 0;
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SERVICE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp
deleted file mode 100644
index 9d3d54cc11..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_socket_service_base.hpp
+++ /dev/null
@@ -1,513 +0,0 @@
-//
-// detail/reactive_socket_service_base.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SERVICE_BASE_HPP
-#define BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SERVICE_BASE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_IOCP) \
- && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/buffer.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/socket_base.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactive_null_buffers_op.hpp>
-#include <boost/asio/detail/reactive_socket_recv_op.hpp>
-#include <boost/asio/detail/reactive_socket_recvmsg_op.hpp>
-#include <boost/asio/detail/reactive_socket_send_op.hpp>
-#include <boost/asio/detail/reactive_wait_op.hpp>
-#include <boost/asio/detail/reactor.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_holder.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class reactive_socket_service_base
-{
-public:
- // The native type of a socket.
- typedef socket_type native_handle_type;
-
- // The implementation type of the socket.
- struct base_implementation_type
- {
- // The native socket representation.
- socket_type socket_;
-
- // The current state of the socket.
- socket_ops::state_type state_;
-
- // Per-descriptor data used by the reactor.
- reactor::per_descriptor_data reactor_data_;
- };
-
- // Constructor.
- BOOST_ASIO_DECL reactive_socket_service_base(
- boost::asio::io_context& io_context);
-
- // Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL void base_shutdown();
-
- // Construct a new socket implementation.
- BOOST_ASIO_DECL void construct(base_implementation_type& impl);
-
- // Move-construct a new socket implementation.
- BOOST_ASIO_DECL void base_move_construct(base_implementation_type& impl,
- base_implementation_type& other_impl);
-
- // Move-assign from another socket implementation.
- BOOST_ASIO_DECL void base_move_assign(base_implementation_type& impl,
- reactive_socket_service_base& other_service,
- base_implementation_type& other_impl);
-
- // Destroy a socket implementation.
- BOOST_ASIO_DECL void destroy(base_implementation_type& impl);
-
- // Determine whether the socket is open.
- bool is_open(const base_implementation_type& impl) const
- {
- return impl.socket_ != invalid_socket;
- }
-
- // Destroy a socket implementation.
- BOOST_ASIO_DECL boost::system::error_code close(
- base_implementation_type& impl, boost::system::error_code& ec);
-
- // Release ownership of the socket.
- BOOST_ASIO_DECL socket_type release(
- base_implementation_type& impl, boost::system::error_code& ec);
-
- // Get the native socket representation.
- native_handle_type native_handle(base_implementation_type& impl)
- {
- return impl.socket_;
- }
-
- // Cancel all operations associated with the socket.
- BOOST_ASIO_DECL boost::system::error_code cancel(
- base_implementation_type& impl, boost::system::error_code& ec);
-
- // Determine whether the socket is at the out-of-band data mark.
- bool at_mark(const base_implementation_type& impl,
- boost::system::error_code& ec) const
- {
- return socket_ops::sockatmark(impl.socket_, ec);
- }
-
- // Determine the number of bytes available for reading.
- std::size_t available(const base_implementation_type& impl,
- boost::system::error_code& ec) const
- {
- return socket_ops::available(impl.socket_, ec);
- }
-
- // Place the socket into the state where it will listen for new connections.
- boost::system::error_code listen(base_implementation_type& impl,
- int backlog, boost::system::error_code& ec)
- {
- socket_ops::listen(impl.socket_, backlog, ec);
- return ec;
- }
-
- // Perform an IO control command on the socket.
- template <typename IO_Control_Command>
- boost::system::error_code io_control(base_implementation_type& impl,
- IO_Control_Command& command, boost::system::error_code& ec)
- {
- socket_ops::ioctl(impl.socket_, impl.state_, command.name(),
- static_cast<ioctl_arg_type*>(command.data()), ec);
- return ec;
- }
-
- // Gets the non-blocking mode of the socket.
- bool non_blocking(const base_implementation_type& impl) const
- {
- return (impl.state_ & socket_ops::user_set_non_blocking) != 0;
- }
-
- // Sets the non-blocking mode of the socket.
- boost::system::error_code non_blocking(base_implementation_type& impl,
- bool mode, boost::system::error_code& ec)
- {
- socket_ops::set_user_non_blocking(impl.socket_, impl.state_, mode, ec);
- return ec;
- }
-
- // Gets the non-blocking mode of the native socket implementation.
- bool native_non_blocking(const base_implementation_type& impl) const
- {
- return (impl.state_ & socket_ops::internal_non_blocking) != 0;
- }
-
- // Sets the non-blocking mode of the native socket implementation.
- boost::system::error_code native_non_blocking(base_implementation_type& impl,
- bool mode, boost::system::error_code& ec)
- {
- socket_ops::set_internal_non_blocking(impl.socket_, impl.state_, mode, ec);
- return ec;
- }
-
- // Wait for the socket to become ready to read, ready to write, or to have
- // pending error conditions.
- boost::system::error_code wait(base_implementation_type& impl,
- socket_base::wait_type w, boost::system::error_code& ec)
- {
- switch (w)
- {
- case socket_base::wait_read:
- socket_ops::poll_read(impl.socket_, impl.state_, -1, ec);
- break;
- case socket_base::wait_write:
- socket_ops::poll_write(impl.socket_, impl.state_, -1, ec);
- break;
- case socket_base::wait_error:
- socket_ops::poll_error(impl.socket_, impl.state_, -1, ec);
- break;
- default:
- ec = boost::asio::error::invalid_argument;
- break;
- }
-
- return ec;
- }
-
- // Asynchronously wait for the socket to become ready to read, ready to
- // write, or to have pending error conditions.
- template <typename Handler>
- void async_wait(base_implementation_type& impl,
- socket_base::wait_type w, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_wait_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_wait"));
-
- int op_type;
- switch (w)
- {
- case socket_base::wait_read:
- op_type = reactor::read_op;
- break;
- case socket_base::wait_write:
- op_type = reactor::write_op;
- break;
- case socket_base::wait_error:
- op_type = reactor::except_op;
- break;
- default:
- p.p->ec_ = boost::asio::error::invalid_argument;
- reactor_.post_immediate_completion(p.p, is_continuation);
- p.v = p.p = 0;
- return;
- }
-
- start_op(impl, op_type, p.p, is_continuation, false, false);
- p.v = p.p = 0;
- }
-
- // Send the given data to the peer.
- template <typename ConstBufferSequence>
- size_t send(base_implementation_type& impl,
- const ConstBufferSequence& buffers,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence> bufs(buffers);
-
- return socket_ops::sync_send(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), flags, bufs.all_empty(), ec);
- }
-
- // Wait until data can be sent without blocking.
- size_t send(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags, boost::system::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_write(impl.socket_, impl.state_, -1, ec);
-
- return 0;
- }
-
- // Start an asynchronous send. The data being sent must be valid for the
- // lifetime of the asynchronous operation.
- template <typename ConstBufferSequence, typename Handler>
- void async_send(base_implementation_type& impl,
- const ConstBufferSequence& buffers,
- socket_base::message_flags flags, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_socket_send_op<ConstBufferSequence, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.socket_, impl.state_, buffers, flags, handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_send"));
-
- start_op(impl, reactor::write_op, p.p, is_continuation, true,
- ((impl.state_ & socket_ops::stream_oriented)
- && buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence>::all_empty(buffers)));
- p.v = p.p = 0;
- }
-
- // Start an asynchronous wait until data can be sent without blocking.
- template <typename Handler>
- void async_send(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_null_buffers_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_send(null_buffers)"));
-
- start_op(impl, reactor::write_op, p.p, is_continuation, false, false);
- p.v = p.p = 0;
- }
-
- // Receive some data from the peer. Returns the number of bytes received.
- template <typename MutableBufferSequence>
- size_t receive(base_implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- return socket_ops::sync_recv(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), flags, bufs.all_empty(), ec);
- }
-
- // Wait until data can be received without blocking.
- size_t receive(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags, boost::system::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_read(impl.socket_, impl.state_, -1, ec);
-
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received
- // must be valid for the lifetime of the asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive(base_implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags flags, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_socket_recv_op<MutableBufferSequence, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.socket_, impl.state_, buffers, flags, handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_receive"));
-
- start_op(impl,
- (flags & socket_base::message_out_of_band)
- ? reactor::except_op : reactor::read_op,
- p.p, is_continuation,
- (flags & socket_base::message_out_of_band) == 0,
- ((impl.state_ & socket_ops::stream_oriented)
- && buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence>::all_empty(buffers)));
- p.v = p.p = 0;
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags flags, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_null_buffers_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_receive(null_buffers)"));
-
- start_op(impl,
- (flags & socket_base::message_out_of_band)
- ? reactor::except_op : reactor::read_op,
- p.p, is_continuation, false, false);
- p.v = p.p = 0;
- }
-
- // Receive some data with associated flags. Returns the number of bytes
- // received.
- template <typename MutableBufferSequence>
- size_t receive_with_flags(base_implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags in_flags,
- socket_base::message_flags& out_flags, boost::system::error_code& ec)
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- return socket_ops::sync_recvmsg(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), in_flags, out_flags, ec);
- }
-
- // Wait until data can be received without blocking.
- size_t receive_with_flags(base_implementation_type& impl,
- const null_buffers&, socket_base::message_flags,
- socket_base::message_flags& out_flags, boost::system::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_read(impl.socket_, impl.state_, -1, ec);
-
- // Clear out_flags, since we cannot give it any other sensible value when
- // performing a null_buffers operation.
- out_flags = 0;
-
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received
- // must be valid for the lifetime of the asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive_with_flags(base_implementation_type& impl,
- const MutableBufferSequence& buffers, socket_base::message_flags in_flags,
- socket_base::message_flags& out_flags, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_socket_recvmsg_op<MutableBufferSequence, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.socket_, buffers, in_flags, out_flags, handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_receive_with_flags"));
-
- start_op(impl,
- (in_flags & socket_base::message_out_of_band)
- ? reactor::except_op : reactor::read_op,
- p.p, is_continuation,
- (in_flags & socket_base::message_out_of_band) == 0, false);
- p.v = p.p = 0;
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive_with_flags(base_implementation_type& impl,
- const null_buffers&, socket_base::message_flags in_flags,
- socket_base::message_flags& out_flags, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef reactive_null_buffers_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(handler);
-
- BOOST_ASIO_HANDLER_CREATION((reactor_.context(), *p.p, "socket",
- &impl, impl.socket_, "async_receive_with_flags(null_buffers)"));
-
- // Clear out_flags, since we cannot give it any other sensible value when
- // performing a null_buffers operation.
- out_flags = 0;
-
- start_op(impl,
- (in_flags & socket_base::message_out_of_band)
- ? reactor::except_op : reactor::read_op,
- p.p, is_continuation, false, false);
- p.v = p.p = 0;
- }
-
-protected:
- // Open a new socket implementation.
- BOOST_ASIO_DECL boost::system::error_code do_open(
- base_implementation_type& impl, int af,
- int type, int protocol, boost::system::error_code& ec);
-
- // Assign a native socket to a socket implementation.
- BOOST_ASIO_DECL boost::system::error_code do_assign(
- base_implementation_type& impl, int type,
- const native_handle_type& native_socket, boost::system::error_code& ec);
-
- // Start the asynchronous read or write operation.
- BOOST_ASIO_DECL void start_op(base_implementation_type& impl, int op_type,
- reactor_op* op, bool is_continuation, bool is_non_blocking, bool noop);
-
- // Start the asynchronous accept operation.
- BOOST_ASIO_DECL void start_accept_op(base_implementation_type& impl,
- reactor_op* op, bool is_continuation, bool peer_is_open);
-
- // Start the asynchronous connect operation.
- BOOST_ASIO_DECL void start_connect_op(base_implementation_type& impl,
- reactor_op* op, bool is_continuation,
- const socket_addr_type* addr, size_t addrlen);
-
- // The io_context that owns this socket service.
- io_context& io_context_;
-
- // The selector that performs event demultiplexing for the service.
- reactor& reactor_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/reactive_socket_service_base.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // !defined(BOOST_ASIO_HAS_IOCP)
- // && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_REACTIVE_SOCKET_SERVICE_BASE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp
deleted file mode 100644
index ee32502482..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactive_wait_op.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-//
-// detail/reactive_wait_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTIVE_WAIT_OP_HPP
-#define BOOST_ASIO_DETAIL_REACTIVE_WAIT_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Handler>
-class reactive_wait_op : public reactor_op
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(reactive_wait_op);
-
- reactive_wait_op(Handler& handler)
- : reactor_op(&reactive_wait_op::do_perform,
- &reactive_wait_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static status do_perform(reactor_op*)
- {
- return done;
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the handler object.
- reactive_wait_op* o(static_cast<reactive_wait_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder1<Handler, boost::system::error_code>
- handler(o->handler_, o->ec_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_REACTIVE_WAIT_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp
deleted file mode 100644
index f1e5d95864..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// detail/reactor.hpp
-// ~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTOR_HPP
-#define BOOST_ASIO_DETAIL_REACTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/reactor_fwd.hpp>
-
-#if defined(BOOST_ASIO_HAS_EPOLL)
-# include <boost/asio/detail/epoll_reactor.hpp>
-#elif defined(BOOST_ASIO_HAS_KQUEUE)
-# include <boost/asio/detail/kqueue_reactor.hpp>
-#elif defined(BOOST_ASIO_HAS_DEV_POLL)
-# include <boost/asio/detail/dev_poll_reactor.hpp>
-#elif defined(BOOST_ASIO_HAS_IOCP) || defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# include <boost/asio/detail/null_reactor.hpp>
-#else
-# include <boost/asio/detail/select_reactor.hpp>
-#endif
-
-#endif // BOOST_ASIO_DETAIL_REACTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_fwd.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_fwd.hpp
deleted file mode 100644
index b222b134e6..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_fwd.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// detail/reactor_fwd.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTOR_FWD_HPP
-#define BOOST_ASIO_DETAIL_REACTOR_FWD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if defined(BOOST_ASIO_HAS_IOCP) || defined(BOOST_ASIO_WINDOWS_RUNTIME)
-typedef class null_reactor reactor;
-#elif defined(BOOST_ASIO_HAS_IOCP)
-typedef class select_reactor reactor;
-#elif defined(BOOST_ASIO_HAS_EPOLL)
-typedef class epoll_reactor reactor;
-#elif defined(BOOST_ASIO_HAS_KQUEUE)
-typedef class kqueue_reactor reactor;
-#elif defined(BOOST_ASIO_HAS_DEV_POLL)
-typedef class dev_poll_reactor reactor;
-#else
-typedef class select_reactor reactor;
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_REACTOR_FWD_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp
deleted file mode 100644
index beb443eb69..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//
-// detail/reactor_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTOR_OP_HPP
-#define BOOST_ASIO_DETAIL_REACTOR_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/operation.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class reactor_op
- : public operation
-{
-public:
- // The error code to be passed to the completion handler.
- boost::system::error_code ec_;
-
- // The number of bytes transferred, to be passed to the completion handler.
- std::size_t bytes_transferred_;
-
- // Status returned by perform function. May be used to decide whether it is
- // worth performing more operations on the descriptor immediately.
- enum status { not_done, done, done_and_exhausted };
-
- // Perform the operation. Returns true if it is finished.
- status perform()
- {
- return perform_func_(this);
- }
-
-protected:
- typedef status (*perform_func_type)(reactor_op*);
-
- reactor_op(perform_func_type perform_func, func_type complete_func)
- : operation(complete_func),
- bytes_transferred_(0),
- perform_func_(perform_func)
- {
- }
-
-private:
- perform_func_type perform_func_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_REACTOR_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp
deleted file mode 100644
index fec0dd7d37..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/reactor_op_queue.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-//
-// detail/reactor_op_queue.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_REACTOR_OP_QUEUE_HPP
-#define BOOST_ASIO_DETAIL_REACTOR_OP_QUEUE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/hash_map.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/op_queue.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Descriptor>
-class reactor_op_queue
- : private noncopyable
-{
-public:
- typedef Descriptor key_type;
-
- struct mapped_type : op_queue<reactor_op>
- {
- mapped_type() {}
- mapped_type(const mapped_type&) {}
- void operator=(const mapped_type&) {}
- };
-
- typedef typename hash_map<key_type, mapped_type>::value_type value_type;
- typedef typename hash_map<key_type, mapped_type>::iterator iterator;
-
- // Constructor.
- reactor_op_queue()
- : operations_()
- {
- }
-
- // Obtain iterators to all registered descriptors.
- iterator begin() { return operations_.begin(); }
- iterator end() { return operations_.end(); }
-
- // Add a new operation to the queue. Returns true if this is the only
- // operation for the given descriptor, in which case the reactor's event
- // demultiplexing function call may need to be interrupted and restarted.
- bool enqueue_operation(Descriptor descriptor, reactor_op* op)
- {
- std::pair<iterator, bool> entry =
- operations_.insert(value_type(descriptor, mapped_type()));
- entry.first->second.push(op);
- return entry.second;
- }
-
- // Cancel all operations associated with the descriptor identified by the
- // supplied iterator. Any operations pending for the descriptor will be
- // cancelled. Returns true if any operations were cancelled, in which case
- // the reactor's event demultiplexing function may need to be interrupted and
- // restarted.
- bool cancel_operations(iterator i, op_queue<operation>& ops,
- const boost::system::error_code& ec =
- boost::asio::error::operation_aborted)
- {
- if (i != operations_.end())
- {
- while (reactor_op* op = i->second.front())
- {
- op->ec_ = ec;
- i->second.pop();
- ops.push(op);
- }
- operations_.erase(i);
- return true;
- }
-
- return false;
- }
-
- // Cancel all operations associated with the descriptor. Any operations
- // pending for the descriptor will be cancelled. Returns true if any
- // operations were cancelled, in which case the reactor's event
- // demultiplexing function may need to be interrupted and restarted.
- bool cancel_operations(Descriptor descriptor, op_queue<operation>& ops,
- const boost::system::error_code& ec =
- boost::asio::error::operation_aborted)
- {
- return this->cancel_operations(operations_.find(descriptor), ops, ec);
- }
-
- // Whether there are no operations in the queue.
- bool empty() const
- {
- return operations_.empty();
- }
-
- // Determine whether there are any operations associated with the descriptor.
- bool has_operation(Descriptor descriptor) const
- {
- return operations_.find(descriptor) != operations_.end();
- }
-
- // Perform the operations corresponding to the descriptor identified by the
- // supplied iterator. Returns true if there are still unfinished operations
- // queued for the descriptor.
- bool perform_operations(iterator i, op_queue<operation>& ops)
- {
- if (i != operations_.end())
- {
- while (reactor_op* op = i->second.front())
- {
- if (op->perform())
- {
- i->second.pop();
- ops.push(op);
- }
- else
- {
- return true;
- }
- }
- operations_.erase(i);
- }
- return false;
- }
-
- // Perform the operations corresponding to the descriptor. Returns true if
- // there are still unfinished operations queued for the descriptor.
- bool perform_operations(Descriptor descriptor, op_queue<operation>& ops)
- {
- return this->perform_operations(operations_.find(descriptor), ops);
- }
-
- // Get all operations owned by the queue.
- void get_all_operations(op_queue<operation>& ops)
- {
- iterator i = operations_.begin();
- while (i != operations_.end())
- {
- iterator op_iter = i++;
- ops.push(op_iter->second);
- operations_.erase(op_iter);
- }
- }
-
-private:
- // The operations that are currently executing asynchronously.
- hash_map<key_type, mapped_type> operations_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_REACTOR_OP_QUEUE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp
deleted file mode 100644
index adab0a7a61..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/recycling_allocator.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-//
-// detail/recycling_allocator.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_RECYCLING_ALLOCATOR_HPP
-#define BOOST_ASIO_DETAIL_RECYCLING_ALLOCATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/thread_context.hpp>
-#include <boost/asio/detail/thread_info_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename T>
-class recycling_allocator
-{
-public:
- typedef T value_type;
-
- template <typename U>
- struct rebind
- {
- typedef recycling_allocator<U> other;
- };
-
- recycling_allocator()
- {
- }
-
- template <typename U>
- recycling_allocator(const recycling_allocator<U>&)
- {
- }
-
- T* allocate(std::size_t n)
- {
- typedef thread_context::thread_call_stack call_stack;
- void* p = thread_info_base::allocate(call_stack::top(), sizeof(T) * n);
- return static_cast<T*>(p);
- }
-
- void deallocate(T* p, std::size_t n)
- {
- typedef thread_context::thread_call_stack call_stack;
- thread_info_base::deallocate(call_stack::top(), p, sizeof(T) * n);
- }
-};
-
-template <>
-class recycling_allocator<void>
-{
-public:
- typedef void value_type;
-
- template <typename U>
- struct rebind
- {
- typedef recycling_allocator<U> other;
- };
-
- recycling_allocator()
- {
- }
-
- template <typename U>
- recycling_allocator(const recycling_allocator<U>&)
- {
- }
-};
-
-template <typename Allocator>
-struct get_recycling_allocator
-{
- typedef Allocator type;
- static type get(const Allocator& a) { return a; }
-};
-
-template <typename T>
-struct get_recycling_allocator<std::allocator<T> >
-{
- typedef recycling_allocator<T> type;
- static type get(const std::allocator<T>&) { return type(); }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_RECYCLING_ALLOCATOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp
deleted file mode 100644
index 970544c783..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_endpoint_op.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-//
-// detail/resolve_endpoint_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_RESOLVER_ENDPOINT_OP_HPP
-#define BOOST_ASIO_DETAIL_RESOLVER_ENDPOINT_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/ip/basic_resolver_results.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/resolve_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Protocol, typename Handler>
-class resolve_endpoint_op : public resolve_op
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(resolve_endpoint_op);
-
- typedef typename Protocol::endpoint endpoint_type;
- typedef boost::asio::ip::basic_resolver_results<Protocol> results_type;
-
- resolve_endpoint_op(socket_ops::weak_cancel_token_type cancel_token,
- const endpoint_type& endpoint, io_context_impl& ioc, Handler& handler)
- : resolve_op(&resolve_endpoint_op::do_complete),
- cancel_token_(cancel_token),
- endpoint_(endpoint),
- io_context_impl_(ioc),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the operation object.
- resolve_endpoint_op* o(static_cast<resolve_endpoint_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- if (owner && owner != &o->io_context_impl_)
- {
- // The operation is being run on the worker io_context. Time to perform
- // the resolver operation.
-
- // Perform the blocking endpoint resolution operation.
- char host_name[NI_MAXHOST];
- char service_name[NI_MAXSERV];
- socket_ops::background_getnameinfo(o->cancel_token_, o->endpoint_.data(),
- o->endpoint_.size(), host_name, NI_MAXHOST, service_name, NI_MAXSERV,
- o->endpoint_.protocol().type(), o->ec_);
- o->results_ = results_type::create(o->endpoint_, host_name, service_name);
-
- // Pass operation back to main io_context for completion.
- o->io_context_impl_.post_deferred_completion(o);
- p.v = p.p = 0;
- }
- else
- {
- // The operation has been returned to the main io_context. The completion
- // handler is ready to be delivered.
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated
- // before the upcall is made. Even if we're not about to make an upcall,
- // a sub-object of the handler may be the true owner of the memory
- // associated with the handler. Consequently, a local copy of the handler
- // is required to ensure that any owning sub-object remains valid until
- // after we have deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, results_type>
- handler(o->handler_, o->ec_, o->results_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, "..."));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
- }
-
-private:
- socket_ops::weak_cancel_token_type cancel_token_;
- endpoint_type endpoint_;
- io_context_impl& io_context_impl_;
- Handler handler_;
- results_type results_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_RESOLVER_ENDPOINT_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp
deleted file mode 100644
index fd72994fc5..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_op.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// detail/resolve_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_RESOLVE_OP_HPP
-#define BOOST_ASIO_DETAIL_RESOLVE_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/detail/operation.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class resolve_op : public operation
-{
-public:
- // The error code to be passed to the completion handler.
- boost::system::error_code ec_;
-
-protected:
- resolve_op(func_type complete_func)
- : operation(complete_func)
- {
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_RESOLVE_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp
deleted file mode 100644
index 91bdd79654..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolve_query_op.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-//
-// detail/resolve_query_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_RESOLVE_QUERY_OP_HPP
-#define BOOST_ASIO_DETAIL_RESOLVE_QUERY_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/ip/basic_resolver_query.hpp>
-#include <boost/asio/ip/basic_resolver_results.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/resolve_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Protocol, typename Handler>
-class resolve_query_op : public resolve_op
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(resolve_query_op);
-
- typedef boost::asio::ip::basic_resolver_query<Protocol> query_type;
- typedef boost::asio::ip::basic_resolver_results<Protocol> results_type;
-
- resolve_query_op(socket_ops::weak_cancel_token_type cancel_token,
- const query_type& query, io_context_impl& ioc, Handler& handler)
- : resolve_op(&resolve_query_op::do_complete),
- cancel_token_(cancel_token),
- query_(query),
- io_context_impl_(ioc),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler)),
- addrinfo_(0)
- {
- handler_work<Handler>::start(handler_);
- }
-
- ~resolve_query_op()
- {
- if (addrinfo_)
- socket_ops::freeaddrinfo(addrinfo_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& /*ec*/,
- std::size_t /*bytes_transferred*/)
- {
- // Take ownership of the operation object.
- resolve_query_op* o(static_cast<resolve_query_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
-
- if (owner && owner != &o->io_context_impl_)
- {
- // The operation is being run on the worker io_context. Time to perform
- // the resolver operation.
-
- // Perform the blocking host resolution operation.
- socket_ops::background_getaddrinfo(o->cancel_token_,
- o->query_.host_name().c_str(), o->query_.service_name().c_str(),
- o->query_.hints(), &o->addrinfo_, o->ec_);
-
- // Pass operation back to main io_context for completion.
- o->io_context_impl_.post_deferred_completion(o);
- p.v = p.p = 0;
- }
- else
- {
- // The operation has been returned to the main io_context. The completion
- // handler is ready to be delivered.
-
- // Take ownership of the operation's outstanding work.
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated
- // before the upcall is made. Even if we're not about to make an upcall,
- // a sub-object of the handler may be the true owner of the memory
- // associated with the handler. Consequently, a local copy of the handler
- // is required to ensure that any owning sub-object remains valid until
- // after we have deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, results_type>
- handler(o->handler_, o->ec_, results_type());
- p.h = boost::asio::detail::addressof(handler.handler_);
- if (o->addrinfo_)
- {
- handler.arg2_ = results_type::create(o->addrinfo_,
- o->query_.host_name(), o->query_.service_name());
- }
- p.reset();
-
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, "..."));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
- }
-
-private:
- socket_ops::weak_cancel_token_type cancel_token_;
- query_type query_;
- io_context_impl& io_context_impl_;
- Handler handler_;
- boost::asio::detail::addrinfo_type* addrinfo_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_RESOLVE_QUERY_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp
deleted file mode 100644
index 85c9c2a0a7..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-//
-// detail/resolver_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_RESOLVER_SERVICE_HPP
-#define BOOST_ASIO_DETAIL_RESOLVER_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/ip/basic_resolver_query.hpp>
-#include <boost/asio/ip/basic_resolver_results.hpp>
-#include <boost/asio/detail/concurrency_hint.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/resolve_endpoint_op.hpp>
-#include <boost/asio/detail/resolve_query_op.hpp>
-#include <boost/asio/detail/resolver_service_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Protocol>
-class resolver_service :
- public service_base<resolver_service<Protocol> >,
- public resolver_service_base
-{
-public:
- // The implementation type of the resolver. A cancellation token is used to
- // indicate to the background thread that the operation has been cancelled.
- typedef socket_ops::shared_cancel_token_type implementation_type;
-
- // The endpoint type.
- typedef typename Protocol::endpoint endpoint_type;
-
- // The query type.
- typedef boost::asio::ip::basic_resolver_query<Protocol> query_type;
-
- // The results type.
- typedef boost::asio::ip::basic_resolver_results<Protocol> results_type;
-
- // Constructor.
- resolver_service(boost::asio::io_context& io_context)
- : service_base<resolver_service<Protocol> >(io_context),
- resolver_service_base(io_context)
- {
- }
-
- // Destroy all user-defined handler objects owned by the service.
- void shutdown()
- {
- this->base_shutdown();
- }
-
- // Perform any fork-related housekeeping.
- void notify_fork(boost::asio::io_context::fork_event fork_ev)
- {
- this->base_notify_fork(fork_ev);
- }
-
- // Resolve a query to a list of entries.
- results_type resolve(implementation_type&, const query_type& query,
- boost::system::error_code& ec)
- {
- boost::asio::detail::addrinfo_type* address_info = 0;
-
- socket_ops::getaddrinfo(query.host_name().c_str(),
- query.service_name().c_str(), query.hints(), &address_info, ec);
- auto_addrinfo auto_address_info(address_info);
-
- return ec ? results_type() : results_type::create(
- address_info, query.host_name(), query.service_name());
- }
-
- // Asynchronously resolve a query to a list of entries.
- template <typename Handler>
- void async_resolve(implementation_type& impl,
- const query_type& query, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef resolve_query_op<Protocol, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl, query, io_context_impl_, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_impl_.context(),
- *p.p, "resolver", &impl, 0, "async_resolve"));
-
- start_resolve_op(p.p);
- p.v = p.p = 0;
- }
-
- // Resolve an endpoint to a list of entries.
- results_type resolve(implementation_type&,
- const endpoint_type& endpoint, boost::system::error_code& ec)
- {
- char host_name[NI_MAXHOST];
- char service_name[NI_MAXSERV];
- socket_ops::sync_getnameinfo(endpoint.data(), endpoint.size(),
- host_name, NI_MAXHOST, service_name, NI_MAXSERV,
- endpoint.protocol().type(), ec);
-
- return ec ? results_type() : results_type::create(
- endpoint, host_name, service_name);
- }
-
- // Asynchronously resolve an endpoint to a list of entries.
- template <typename Handler>
- void async_resolve(implementation_type& impl,
- const endpoint_type& endpoint, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef resolve_endpoint_op<Protocol, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl, endpoint, io_context_impl_, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_impl_.context(),
- *p.p, "resolver", &impl, 0, "async_resolve"));
-
- start_resolve_op(p.p);
- p.v = p.p = 0;
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_RESOLVER_SERVICE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp
deleted file mode 100644
index 40adca655a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/resolver_service_base.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-//
-// detail/resolver_service_base.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_RESOLVER_SERVICE_BASE_HPP
-#define BOOST_ASIO_DETAIL_RESOLVER_SERVICE_BASE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/executor_work_guard.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/detail/mutex.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/resolve_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/scoped_ptr.hpp>
-#include <boost/asio/detail/thread.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class resolver_service_base
-{
-public:
- // The implementation type of the resolver. A cancellation token is used to
- // indicate to the background thread that the operation has been cancelled.
- typedef socket_ops::shared_cancel_token_type implementation_type;
-
- // Constructor.
- BOOST_ASIO_DECL resolver_service_base(boost::asio::io_context& io_context);
-
- // Destructor.
- BOOST_ASIO_DECL ~resolver_service_base();
-
- // Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL void base_shutdown();
-
- // Perform any fork-related housekeeping.
- BOOST_ASIO_DECL void base_notify_fork(
- boost::asio::io_context::fork_event fork_ev);
-
- // Construct a new resolver implementation.
- BOOST_ASIO_DECL void construct(implementation_type& impl);
-
- // Destroy a resolver implementation.
- BOOST_ASIO_DECL void destroy(implementation_type&);
-
- // Move-construct a new resolver implementation.
- BOOST_ASIO_DECL void move_construct(implementation_type& impl,
- implementation_type& other_impl);
-
- // Move-assign from another resolver implementation.
- BOOST_ASIO_DECL void move_assign(implementation_type& impl,
- resolver_service_base& other_service,
- implementation_type& other_impl);
-
- // Cancel pending asynchronous operations.
- BOOST_ASIO_DECL void cancel(implementation_type& impl);
-
-protected:
- // Helper function to start an asynchronous resolve operation.
- BOOST_ASIO_DECL void start_resolve_op(resolve_op* op);
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- // Helper class to perform exception-safe cleanup of addrinfo objects.
- class auto_addrinfo
- : private boost::asio::detail::noncopyable
- {
- public:
- explicit auto_addrinfo(boost::asio::detail::addrinfo_type* ai)
- : ai_(ai)
- {
- }
-
- ~auto_addrinfo()
- {
- if (ai_)
- socket_ops::freeaddrinfo(ai_);
- }
-
- operator boost::asio::detail::addrinfo_type*()
- {
- return ai_;
- }
-
- private:
- boost::asio::detail::addrinfo_type* ai_;
- };
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
- // Helper class to run the work io_context in a thread.
- class work_io_context_runner;
-
- // Start the work thread if it's not already running.
- BOOST_ASIO_DECL void start_work_thread();
-
- // The io_context implementation used to post completions.
- io_context_impl& io_context_impl_;
-
-private:
- // Mutex to protect access to internal data.
- boost::asio::detail::mutex mutex_;
-
- // Private io_context used for performing asynchronous host resolution.
- boost::asio::detail::scoped_ptr<boost::asio::io_context> work_io_context_;
-
- // The work io_context implementation used to post completions.
- io_context_impl& work_io_context_impl_;
-
- // Work for the private io_context to perform.
- boost::asio::executor_work_guard<
- boost::asio::io_context::executor_type> work_;
-
- // Thread used for running the work io_context's run loop.
- boost::asio::detail::scoped_ptr<boost::asio::detail::thread> work_thread_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/resolver_service_base.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_DETAIL_RESOLVER_SERVICE_BASE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp
deleted file mode 100644
index 835e4c9237..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler.hpp
+++ /dev/null
@@ -1,215 +0,0 @@
-//
-// detail/scheduler.hpp
-// ~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SCHEDULER_HPP
-#define BOOST_ASIO_DETAIL_SCHEDULER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#include <boost/system/error_code.hpp>
-#include <boost/asio/execution_context.hpp>
-#include <boost/asio/detail/atomic_count.hpp>
-#include <boost/asio/detail/conditionally_enabled_event.hpp>
-#include <boost/asio/detail/conditionally_enabled_mutex.hpp>
-#include <boost/asio/detail/op_queue.hpp>
-#include <boost/asio/detail/reactor_fwd.hpp>
-#include <boost/asio/detail/scheduler_operation.hpp>
-#include <boost/asio/detail/thread_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-struct scheduler_thread_info;
-
-class scheduler
- : public execution_context_service_base<scheduler>,
- public thread_context
-{
-public:
- typedef scheduler_operation operation;
-
- // Constructor. Specifies the number of concurrent threads that are likely to
- // run the scheduler. If set to 1 certain optimisation are performed.
- BOOST_ASIO_DECL scheduler(boost::asio::execution_context& ctx,
- int concurrency_hint = 0);
-
- // Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL void shutdown();
-
- // Initialise the task, if required.
- BOOST_ASIO_DECL void init_task();
-
- // Run the event loop until interrupted or no more work.
- BOOST_ASIO_DECL std::size_t run(boost::system::error_code& ec);
-
- // Run until interrupted or one operation is performed.
- BOOST_ASIO_DECL std::size_t run_one(boost::system::error_code& ec);
-
- // Run until timeout, interrupted, or one operation is performed.
- BOOST_ASIO_DECL std::size_t wait_one(
- long usec, boost::system::error_code& ec);
-
- // Poll for operations without blocking.
- BOOST_ASIO_DECL std::size_t poll(boost::system::error_code& ec);
-
- // Poll for one operation without blocking.
- BOOST_ASIO_DECL std::size_t poll_one(boost::system::error_code& ec);
-
- // Interrupt the event processing loop.
- BOOST_ASIO_DECL void stop();
-
- // Determine whether the scheduler is stopped.
- BOOST_ASIO_DECL bool stopped() const;
-
- // Restart in preparation for a subsequent run invocation.
- BOOST_ASIO_DECL void restart();
-
- // Notify that some work has started.
- void work_started()
- {
- ++outstanding_work_;
- }
-
- // Used to compensate for a forthcoming work_finished call. Must be called
- // from within a scheduler-owned thread.
- BOOST_ASIO_DECL void compensating_work_started();
-
- // Notify that some work has finished.
- void work_finished()
- {
- if (--outstanding_work_ == 0)
- stop();
- }
-
- // Return whether a handler can be dispatched immediately.
- bool can_dispatch()
- {
- return thread_call_stack::contains(this) != 0;
- }
-
- // Request invocation of the given operation and return immediately. Assumes
- // that work_started() has not yet been called for the operation.
- BOOST_ASIO_DECL void post_immediate_completion(
- operation* op, bool is_continuation);
-
- // Request invocation of the given operation and return immediately. Assumes
- // that work_started() was previously called for the operation.
- BOOST_ASIO_DECL void post_deferred_completion(operation* op);
-
- // Request invocation of the given operations and return immediately. Assumes
- // that work_started() was previously called for each operation.
- BOOST_ASIO_DECL void post_deferred_completions(op_queue<operation>& ops);
-
- // Enqueue the given operation following a failed attempt to dispatch the
- // operation for immediate invocation.
- BOOST_ASIO_DECL void do_dispatch(operation* op);
-
- // Process unfinished operations as part of a shutdownoperation. Assumes that
- // work_started() was previously called for the operations.
- BOOST_ASIO_DECL void abandon_operations(op_queue<operation>& ops);
-
- // Get the concurrency hint that was used to initialise the scheduler.
- int concurrency_hint() const
- {
- return concurrency_hint_;
- }
-
-private:
- // The mutex type used by this scheduler.
- typedef conditionally_enabled_mutex mutex;
-
- // The event type used by this scheduler.
- typedef conditionally_enabled_event event;
-
- // Structure containing thread-specific data.
- typedef scheduler_thread_info thread_info;
-
- // Run at most one operation. May block.
- BOOST_ASIO_DECL std::size_t do_run_one(mutex::scoped_lock& lock,
- thread_info& this_thread, const boost::system::error_code& ec);
-
- // Run at most one operation with a timeout. May block.
- BOOST_ASIO_DECL std::size_t do_wait_one(mutex::scoped_lock& lock,
- thread_info& this_thread, long usec, const boost::system::error_code& ec);
-
- // Poll for at most one operation.
- BOOST_ASIO_DECL std::size_t do_poll_one(mutex::scoped_lock& lock,
- thread_info& this_thread, const boost::system::error_code& ec);
-
- // Stop the task and all idle threads.
- BOOST_ASIO_DECL void stop_all_threads(mutex::scoped_lock& lock);
-
- // Wake a single idle thread, or the task, and always unlock the mutex.
- BOOST_ASIO_DECL void wake_one_thread_and_unlock(
- mutex::scoped_lock& lock);
-
- // Helper class to perform task-related operations on block exit.
- struct task_cleanup;
- friend struct task_cleanup;
-
- // Helper class to call work-related operations on block exit.
- struct work_cleanup;
- friend struct work_cleanup;
-
- // Whether to optimise for single-threaded use cases.
- const bool one_thread_;
-
- // Mutex to protect access to internal data.
- mutable mutex mutex_;
-
- // Event to wake up blocked threads.
- event wakeup_event_;
-
- // The task to be run by this service.
- reactor* task_;
-
- // Operation object to represent the position of the task in the queue.
- struct task_operation : operation
- {
- task_operation() : operation(0) {}
- } task_operation_;
-
- // Whether the task has been interrupted.
- bool task_interrupted_;
-
- // The count of unfinished work.
- atomic_count outstanding_work_;
-
- // The queue of handlers that are ready to be delivered.
- op_queue<operation> op_queue_;
-
- // Flag to indicate that the dispatcher has been stopped.
- bool stopped_;
-
- // Flag to indicate that the dispatcher has been shut down.
- bool shutdown_;
-
- // The concurrency hint used to initialise the scheduler.
- const int concurrency_hint_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/scheduler.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_DETAIL_SCHEDULER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp
deleted file mode 100644
index 633a8c594f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_operation.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// detail/scheduler_operation.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SCHEDULER_OPERATION_HPP
-#define BOOST_ASIO_DETAIL_SCHEDULER_OPERATION_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/system/error_code.hpp>
-#include <boost/asio/detail/handler_tracking.hpp>
-#include <boost/asio/detail/op_queue.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class scheduler;
-
-// Base class for all operations. A function pointer is used instead of virtual
-// functions to avoid the associated overhead.
-class scheduler_operation BOOST_ASIO_INHERIT_TRACKED_HANDLER
-{
-public:
- typedef scheduler_operation operation_type;
-
- void complete(void* owner, const boost::system::error_code& ec,
- std::size_t bytes_transferred)
- {
- func_(owner, this, ec, bytes_transferred);
- }
-
- void destroy()
- {
- func_(0, this, boost::system::error_code(), 0);
- }
-
-protected:
- typedef void (*func_type)(void*,
- scheduler_operation*,
- const boost::system::error_code&, std::size_t);
-
- scheduler_operation(func_type func)
- : next_(0),
- func_(func),
- task_result_(0)
- {
- }
-
- // Prevents deletion through this type.
- ~scheduler_operation()
- {
- }
-
-private:
- friend class op_queue_access;
- scheduler_operation* next_;
- func_type func_;
-protected:
- friend class scheduler;
- unsigned int task_result_; // Passed into bytes transferred.
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_SCHEDULER_OPERATION_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp
deleted file mode 100644
index 5f18381d50..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/scheduler_thread_info.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// detail/scheduler_thread_info.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SCHEDULER_THREAD_INFO_HPP
-#define BOOST_ASIO_DETAIL_SCHEDULER_THREAD_INFO_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/op_queue.hpp>
-#include <boost/asio/detail/thread_info_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class scheduler;
-class scheduler_operation;
-
-struct scheduler_thread_info : public thread_info_base
-{
- op_queue<scheduler_operation> private_op_queue;
- long private_outstanding_work;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_SCHEDULER_THREAD_INFO_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp
deleted file mode 100644
index 005585c700..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_lock.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-//
-// detail/scoped_lock.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SCOPED_LOCK_HPP
-#define BOOST_ASIO_DETAIL_SCOPED_LOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Helper class to lock and unlock a mutex automatically.
-template <typename Mutex>
-class scoped_lock
- : private noncopyable
-{
-public:
- // Tag type used to distinguish constructors.
- enum adopt_lock_t { adopt_lock };
-
- // Constructor adopts a lock that is already held.
- scoped_lock(Mutex& m, adopt_lock_t)
- : mutex_(m),
- locked_(true)
- {
- }
-
- // Constructor acquires the lock.
- explicit scoped_lock(Mutex& m)
- : mutex_(m)
- {
- mutex_.lock();
- locked_ = true;
- }
-
- // Destructor releases the lock.
- ~scoped_lock()
- {
- if (locked_)
- mutex_.unlock();
- }
-
- // Explicitly acquire the lock.
- void lock()
- {
- if (!locked_)
- {
- mutex_.lock();
- locked_ = true;
- }
- }
-
- // Explicitly release the lock.
- void unlock()
- {
- if (locked_)
- {
- mutex_.unlock();
- locked_ = false;
- }
- }
-
- // Test whether the lock is held.
- bool locked() const
- {
- return locked_;
- }
-
- // Get the underlying mutex.
- Mutex& mutex()
- {
- return mutex_;
- }
-
-private:
- // The underlying mutex.
- Mutex& mutex_;
-
- // Whether the mutex is currently locked or unlocked.
- bool locked_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_SCOPED_LOCK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp
deleted file mode 100644
index 12ad834919..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/scoped_ptr.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// detail/scoped_ptr.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SCOPED_PTR_HPP
-#define BOOST_ASIO_DETAIL_SCOPED_PTR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename T>
-class scoped_ptr
-{
-public:
- // Constructor.
- explicit scoped_ptr(T* p = 0)
- : p_(p)
- {
- }
-
- // Destructor.
- ~scoped_ptr()
- {
- delete p_;
- }
-
- // Access.
- T* get()
- {
- return p_;
- }
-
- // Access.
- T* operator->()
- {
- return p_;
- }
-
- // Dereference.
- T& operator*()
- {
- return *p_;
- }
-
- // Reset pointer.
- void reset(T* p = 0)
- {
- delete p_;
- p_ = p;
- }
-
- // Release ownership of the pointer.
- T* release()
- {
- T* tmp = p_;
- p_ = 0;
- return tmp;
- }
-
-private:
- // Disallow copying and assignment.
- scoped_ptr(const scoped_ptr&);
- scoped_ptr& operator=(const scoped_ptr&);
-
- T* p_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_SCOPED_PTR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp
deleted file mode 100644
index d837634e89..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/select_interrupter.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// detail/select_interrupter.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SELECT_INTERRUPTER_HPP
-#define BOOST_ASIO_DETAIL_SELECT_INTERRUPTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__SYMBIAN32__)
-# include <boost/asio/detail/socket_select_interrupter.hpp>
-#elif defined(BOOST_ASIO_HAS_EVENTFD)
-# include <boost/asio/detail/eventfd_select_interrupter.hpp>
-#else
-# include <boost/asio/detail/pipe_select_interrupter.hpp>
-#endif
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__SYMBIAN32__)
-typedef socket_select_interrupter select_interrupter;
-#elif defined(BOOST_ASIO_HAS_EVENTFD)
-typedef eventfd_select_interrupter select_interrupter;
-#else
-typedef pipe_select_interrupter select_interrupter;
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_SELECT_INTERRUPTER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp
deleted file mode 100644
index dfb5e96943..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/select_reactor.hpp
+++ /dev/null
@@ -1,240 +0,0 @@
-//
-// detail/select_reactor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SELECT_REACTOR_HPP
-#define BOOST_ASIO_DETAIL_SELECT_REACTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP) \
- || (!defined(BOOST_ASIO_HAS_DEV_POLL) \
- && !defined(BOOST_ASIO_HAS_EPOLL) \
- && !defined(BOOST_ASIO_HAS_KQUEUE) \
- && !defined(BOOST_ASIO_WINDOWS_RUNTIME))
-
-#include <cstddef>
-#include <boost/asio/detail/fd_set_adapter.hpp>
-#include <boost/asio/detail/limits.hpp>
-#include <boost/asio/detail/mutex.hpp>
-#include <boost/asio/detail/op_queue.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/reactor_op_queue.hpp>
-#include <boost/asio/detail/select_interrupter.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/timer_queue_base.hpp>
-#include <boost/asio/detail/timer_queue_set.hpp>
-#include <boost/asio/detail/wait_op.hpp>
-#include <boost/asio/execution_context.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-# include <boost/asio/detail/thread.hpp>
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class select_reactor
- : public execution_context_service_base<select_reactor>
-{
-public:
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- enum op_types { read_op = 0, write_op = 1, except_op = 2,
- max_select_ops = 3, connect_op = 3, max_ops = 4 };
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- enum op_types { read_op = 0, write_op = 1, except_op = 2,
- max_select_ops = 3, connect_op = 1, max_ops = 3 };
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
- // Per-descriptor data.
- struct per_descriptor_data
- {
- };
-
- // Constructor.
- BOOST_ASIO_DECL select_reactor(boost::asio::execution_context& ctx);
-
- // Destructor.
- BOOST_ASIO_DECL ~select_reactor();
-
- // Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL void shutdown();
-
- // Recreate internal descriptors following a fork.
- BOOST_ASIO_DECL void notify_fork(
- boost::asio::execution_context::fork_event fork_ev);
-
- // Initialise the task, but only if the reactor is not in its own thread.
- BOOST_ASIO_DECL void init_task();
-
- // Register a socket with the reactor. Returns 0 on success, system error
- // code on failure.
- BOOST_ASIO_DECL int register_descriptor(socket_type, per_descriptor_data&);
-
- // Register a descriptor with an associated single operation. Returns 0 on
- // success, system error code on failure.
- BOOST_ASIO_DECL int register_internal_descriptor(
- int op_type, socket_type descriptor,
- per_descriptor_data& descriptor_data, reactor_op* op);
-
- // Post a reactor operation for immediate completion.
- void post_immediate_completion(reactor_op* op, bool is_continuation)
- {
- scheduler_.post_immediate_completion(op, is_continuation);
- }
-
- // Start a new operation. The reactor operation will be performed when the
- // given descriptor is flagged as ready, or an error has occurred.
- BOOST_ASIO_DECL void start_op(int op_type, socket_type descriptor,
- per_descriptor_data&, reactor_op* op, bool is_continuation, bool);
-
- // Cancel all operations associated with the given descriptor. The
- // handlers associated with the descriptor will be invoked with the
- // operation_aborted error.
- BOOST_ASIO_DECL void cancel_ops(socket_type descriptor, per_descriptor_data&);
-
- // Cancel any operations that are running against the descriptor and remove
- // its registration from the reactor. The reactor resources associated with
- // the descriptor must be released by calling cleanup_descriptor_data.
- BOOST_ASIO_DECL void deregister_descriptor(socket_type descriptor,
- per_descriptor_data&, bool closing);
-
- // Remove the descriptor's registration from the reactor. The reactor
- // resources associated with the descriptor must be released by calling
- // cleanup_descriptor_data.
- BOOST_ASIO_DECL void deregister_internal_descriptor(
- socket_type descriptor, per_descriptor_data&);
-
- // Perform any post-deregistration cleanup tasks associated with the
- // descriptor data.
- BOOST_ASIO_DECL void cleanup_descriptor_data(per_descriptor_data&);
-
- // Move descriptor registration from one descriptor_data object to another.
- BOOST_ASIO_DECL void move_descriptor(socket_type descriptor,
- per_descriptor_data& target_descriptor_data,
- per_descriptor_data& source_descriptor_data);
-
- // Add a new timer queue to the reactor.
- template <typename Time_Traits>
- void add_timer_queue(timer_queue<Time_Traits>& queue);
-
- // Remove a timer queue from the reactor.
- template <typename Time_Traits>
- void remove_timer_queue(timer_queue<Time_Traits>& queue);
-
- // Schedule a new operation in the given timer queue to expire at the
- // specified absolute time.
- template <typename Time_Traits>
- void schedule_timer(timer_queue<Time_Traits>& queue,
- const typename Time_Traits::time_type& time,
- typename timer_queue<Time_Traits>::per_timer_data& timer, wait_op* op);
-
- // Cancel the timer operations associated with the given token. Returns the
- // number of operations that have been posted or dispatched.
- template <typename Time_Traits>
- std::size_t cancel_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& timer,
- std::size_t max_cancelled = (std::numeric_limits<std::size_t>::max)());
-
- // Move the timer operations associated with the given timer.
- template <typename Time_Traits>
- void move_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& target,
- typename timer_queue<Time_Traits>::per_timer_data& source);
-
- // Run select once until interrupted or events are ready to be dispatched.
- BOOST_ASIO_DECL void run(long usec, op_queue<operation>& ops);
-
- // Interrupt the select loop.
- BOOST_ASIO_DECL void interrupt();
-
-private:
-#if defined(BOOST_ASIO_HAS_IOCP)
- // Run the select loop in the thread.
- BOOST_ASIO_DECL void run_thread();
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
- // Helper function to add a new timer queue.
- BOOST_ASIO_DECL void do_add_timer_queue(timer_queue_base& queue);
-
- // Helper function to remove a timer queue.
- BOOST_ASIO_DECL void do_remove_timer_queue(timer_queue_base& queue);
-
- // Get the timeout value for the select call.
- BOOST_ASIO_DECL timeval* get_timeout(long usec, timeval& tv);
-
- // Cancel all operations associated with the given descriptor. This function
- // does not acquire the select_reactor's mutex.
- BOOST_ASIO_DECL void cancel_ops_unlocked(socket_type descriptor,
- const boost::system::error_code& ec);
-
- // The scheduler implementation used to post completions.
-# if defined(BOOST_ASIO_HAS_IOCP)
- typedef class win_iocp_io_context scheduler_type;
-# else // defined(BOOST_ASIO_HAS_IOCP)
- typedef class scheduler scheduler_type;
-# endif // defined(BOOST_ASIO_HAS_IOCP)
- scheduler_type& scheduler_;
-
- // Mutex to protect access to internal data.
- boost::asio::detail::mutex mutex_;
-
- // The interrupter is used to break a blocking select call.
- select_interrupter interrupter_;
-
- // The queues of read, write and except operations.
- reactor_op_queue<socket_type> op_queue_[max_ops];
-
- // The file descriptor sets to be passed to the select system call.
- fd_set_adapter fd_sets_[max_select_ops];
-
- // The timer queues.
- timer_queue_set timer_queues_;
-
-#if defined(BOOST_ASIO_HAS_IOCP)
- // Helper class to run the reactor loop in a thread.
- class thread_function;
- friend class thread_function;
-
- // Does the reactor loop thread need to stop.
- bool stop_thread_;
-
- // The thread that is running the reactor loop.
- boost::asio::detail::thread* thread_;
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
- // Whether the service has been shut down.
- bool shutdown_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/detail/impl/select_reactor.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/select_reactor.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
- // || (!defined(BOOST_ASIO_HAS_DEV_POLL)
- // && !defined(BOOST_ASIO_HAS_EPOLL)
- // && !defined(BOOST_ASIO_HAS_KQUEUE)
- // && !defined(BOOST_ASIO_WINDOWS_RUNTIME))
-
-#endif // BOOST_ASIO_DETAIL_SELECT_REACTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp
deleted file mode 100644
index 894fdb1b75..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/service_registry.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-//
-// detail/service_registry.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SERVICE_REGISTRY_HPP
-#define BOOST_ASIO_DETAIL_SERVICE_REGISTRY_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <typeinfo>
-#include <boost/asio/detail/mutex.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-#include <boost/asio/execution_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-class io_context;
-
-namespace detail {
-
-template <typename T>
-class typeid_wrapper {};
-
-class service_registry
- : private noncopyable
-{
-public:
- // Constructor.
- BOOST_ASIO_DECL service_registry(execution_context& owner);
-
- // Destructor.
- BOOST_ASIO_DECL ~service_registry();
-
- // Shutdown all services.
- BOOST_ASIO_DECL void shutdown_services();
-
- // Destroy all services.
- BOOST_ASIO_DECL void destroy_services();
-
- // Notify all services of a fork event.
- BOOST_ASIO_DECL void notify_fork(execution_context::fork_event fork_ev);
-
- // Get the service object corresponding to the specified service type. Will
- // create a new service object automatically if no such object already
- // exists. Ownership of the service object is not transferred to the caller.
- template <typename Service>
- Service& use_service();
-
- // Get the service object corresponding to the specified service type. Will
- // create a new service object automatically if no such object already
- // exists. Ownership of the service object is not transferred to the caller.
- // This overload is used for backwards compatibility with services that
- // inherit from io_context::service.
- template <typename Service>
- Service& use_service(io_context& owner);
-
- // Add a service object. Throws on error, in which case ownership of the
- // object is retained by the caller.
- template <typename Service>
- void add_service(Service* new_service);
-
- // Check whether a service object of the specified type already exists.
- template <typename Service>
- bool has_service() const;
-
-private:
- // Initalise a service's key when the key_type typedef is not available.
- template <typename Service>
- static void init_key(execution_context::service::key& key, ...);
-
-#if !defined(BOOST_ASIO_NO_TYPEID)
- // Initalise a service's key when the key_type typedef is available.
- template <typename Service>
- static void init_key(execution_context::service::key& key,
- typename enable_if<
- is_base_of<typename Service::key_type, Service>::value>::type*);
-#endif // !defined(BOOST_ASIO_NO_TYPEID)
-
- // Initialise a service's key based on its id.
- BOOST_ASIO_DECL static void init_key_from_id(
- execution_context::service::key& key,
- const execution_context::id& id);
-
-#if !defined(BOOST_ASIO_NO_TYPEID)
- // Initialise a service's key based on its id.
- template <typename Service>
- static void init_key_from_id(execution_context::service::key& key,
- const service_id<Service>& /*id*/);
-#endif // !defined(BOOST_ASIO_NO_TYPEID)
-
- // Check if a service matches the given id.
- BOOST_ASIO_DECL static bool keys_match(
- const execution_context::service::key& key1,
- const execution_context::service::key& key2);
-
- // The type of a factory function used for creating a service instance.
- typedef execution_context::service*(*factory_type)(void*);
-
- // Factory function for creating a service instance.
- template <typename Service, typename Owner>
- static execution_context::service* create(void* owner);
-
- // Destroy a service instance.
- BOOST_ASIO_DECL static void destroy(execution_context::service* service);
-
- // Helper class to manage service pointers.
- struct auto_service_ptr;
- friend struct auto_service_ptr;
- struct auto_service_ptr
- {
- execution_context::service* ptr_;
- ~auto_service_ptr() { destroy(ptr_); }
- };
-
- // Get the service object corresponding to the specified service key. Will
- // create a new service object automatically if no such object already
- // exists. Ownership of the service object is not transferred to the caller.
- BOOST_ASIO_DECL execution_context::service* do_use_service(
- const execution_context::service::key& key,
- factory_type factory, void* owner);
-
- // Add a service object. Throws on error, in which case ownership of the
- // object is retained by the caller.
- BOOST_ASIO_DECL void do_add_service(
- const execution_context::service::key& key,
- execution_context::service* new_service);
-
- // Check whether a service object with the specified key already exists.
- BOOST_ASIO_DECL bool do_has_service(
- const execution_context::service::key& key) const;
-
- // Mutex to protect access to internal data.
- mutable boost::asio::detail::mutex mutex_;
-
- // The owner of this service registry and the services it contains.
- execution_context& owner_;
-
- // The first service in the list of contained services.
- execution_context::service* first_service_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/detail/impl/service_registry.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/service_registry.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_DETAIL_SERVICE_REGISTRY_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp
deleted file mode 100644
index 875f188f48..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_blocker.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// detail/signal_blocker.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SIGNAL_BLOCKER_HPP
-#define BOOST_ASIO_DETAIL_SIGNAL_BLOCKER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS) || defined(BOOST_ASIO_WINDOWS) \
- || defined(BOOST_ASIO_WINDOWS_RUNTIME) \
- || defined(__CYGWIN__) || defined(__SYMBIAN32__)
-# include <boost/asio/detail/null_signal_blocker.hpp>
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-# include <boost/asio/detail/posix_signal_blocker.hpp>
-#else
-# error Only Windows and POSIX are supported!
-#endif
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if !defined(BOOST_ASIO_HAS_THREADS) || defined(BOOST_ASIO_WINDOWS) \
- || defined(BOOST_ASIO_WINDOWS_RUNTIME) \
- || defined(__CYGWIN__) || defined(__SYMBIAN32__)
-typedef null_signal_blocker signal_blocker;
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-typedef posix_signal_blocker signal_blocker;
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_SIGNAL_BLOCKER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp
deleted file mode 100644
index 1889de689b..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/signal_init.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// detail/signal_init.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SIGNAL_INIT_HPP
-#define BOOST_ASIO_DETAIL_SIGNAL_INIT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-
-#include <csignal>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <int Signal = SIGPIPE>
-class signal_init
-{
-public:
- // Constructor.
- signal_init()
- {
- std::signal(Signal, SIG_IGN);
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-
-#endif // BOOST_ASIO_DETAIL_SIGNAL_INIT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp
deleted file mode 100644
index b229f66b1b..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_holder.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-//
-// detail/socket_holder.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SOCKET_HOLDER_HPP
-#define BOOST_ASIO_DETAIL_SOCKET_HOLDER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Implement the resource acquisition is initialisation idiom for sockets.
-class socket_holder
- : private noncopyable
-{
-public:
- // Construct as an uninitialised socket.
- socket_holder()
- : socket_(invalid_socket)
- {
- }
-
- // Construct to take ownership of the specified socket.
- explicit socket_holder(socket_type s)
- : socket_(s)
- {
- }
-
- // Destructor.
- ~socket_holder()
- {
- if (socket_ != invalid_socket)
- {
- boost::system::error_code ec;
- socket_ops::state_type state = 0;
- socket_ops::close(socket_, state, true, ec);
- }
- }
-
- // Get the underlying socket.
- socket_type get() const
- {
- return socket_;
- }
-
- // Reset to an uninitialised socket.
- void reset()
- {
- if (socket_ != invalid_socket)
- {
- boost::system::error_code ec;
- socket_ops::state_type state = 0;
- socket_ops::close(socket_, state, true, ec);
- socket_ = invalid_socket;
- }
- }
-
- // Reset to take ownership of the specified socket.
- void reset(socket_type s)
- {
- reset();
- socket_ = s;
- }
-
- // Release ownership of the socket.
- socket_type release()
- {
- socket_type tmp = socket_;
- socket_ = invalid_socket;
- return tmp;
- }
-
-private:
- // The underlying socket.
- socket_type socket_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_SOCKET_HOLDER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp
deleted file mode 100644
index 8f5fa0b3ca..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_ops.hpp
+++ /dev/null
@@ -1,339 +0,0 @@
-//
-// detail/socket_ops.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SOCKET_OPS_HPP
-#define BOOST_ASIO_DETAIL_SOCKET_OPS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#include <boost/system/error_code.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-namespace socket_ops {
-
-// Socket state bits.
-enum
-{
- // The user wants a non-blocking socket.
- user_set_non_blocking = 1,
-
- // The socket has been set non-blocking.
- internal_non_blocking = 2,
-
- // Helper "state" used to determine whether the socket is non-blocking.
- non_blocking = user_set_non_blocking | internal_non_blocking,
-
- // User wants connection_aborted errors, which are disabled by default.
- enable_connection_aborted = 4,
-
- // The user set the linger option. Needs to be checked when closing.
- user_set_linger = 8,
-
- // The socket is stream-oriented.
- stream_oriented = 16,
-
- // The socket is datagram-oriented.
- datagram_oriented = 32,
-
- // The socket may have been dup()-ed.
- possible_dup = 64
-};
-
-typedef unsigned char state_type;
-
-struct noop_deleter { void operator()(void*) {} };
-typedef shared_ptr<void> shared_cancel_token_type;
-typedef weak_ptr<void> weak_cancel_token_type;
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-BOOST_ASIO_DECL socket_type accept(socket_type s, socket_addr_type* addr,
- std::size_t* addrlen, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL socket_type sync_accept(socket_type s,
- state_type state, socket_addr_type* addr,
- std::size_t* addrlen, boost::system::error_code& ec);
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL void complete_iocp_accept(socket_type s,
- void* output_buffer, DWORD address_length,
- socket_addr_type* addr, std::size_t* addrlen,
- socket_type new_socket, boost::system::error_code& ec);
-
-#else // defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL bool non_blocking_accept(socket_type s,
- state_type state, socket_addr_type* addr, std::size_t* addrlen,
- boost::system::error_code& ec, socket_type& new_socket);
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL int bind(socket_type s, const socket_addr_type* addr,
- std::size_t addrlen, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int close(socket_type s, state_type& state,
- bool destruction, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL bool set_user_non_blocking(socket_type s,
- state_type& state, bool value, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL bool set_internal_non_blocking(socket_type s,
- state_type& state, bool value, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int shutdown(socket_type s,
- int what, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int connect(socket_type s, const socket_addr_type* addr,
- std::size_t addrlen, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL void sync_connect(socket_type s, const socket_addr_type* addr,
- std::size_t addrlen, boost::system::error_code& ec);
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL void complete_iocp_connect(socket_type s,
- boost::system::error_code& ec);
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL bool non_blocking_connect(socket_type s,
- boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int socketpair(int af, int type, int protocol,
- socket_type sv[2], boost::system::error_code& ec);
-
-BOOST_ASIO_DECL bool sockatmark(socket_type s, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL size_t available(socket_type s, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int listen(socket_type s,
- int backlog, boost::system::error_code& ec);
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-typedef WSABUF buf;
-#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-typedef iovec buf;
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-BOOST_ASIO_DECL void init_buf(buf& b, void* data, size_t size);
-
-BOOST_ASIO_DECL void init_buf(buf& b, const void* data, size_t size);
-
-BOOST_ASIO_DECL signed_size_type recv(socket_type s, buf* bufs,
- size_t count, int flags, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL size_t sync_recv(socket_type s, state_type state, buf* bufs,
- size_t count, int flags, bool all_empty, boost::system::error_code& ec);
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL void complete_iocp_recv(state_type state,
- const weak_cancel_token_type& cancel_token, bool all_empty,
- boost::system::error_code& ec, size_t bytes_transferred);
-
-#else // defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL bool non_blocking_recv(socket_type s,
- buf* bufs, size_t count, int flags, bool is_stream,
- boost::system::error_code& ec, size_t& bytes_transferred);
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL signed_size_type recvfrom(socket_type s, buf* bufs,
- size_t count, int flags, socket_addr_type* addr,
- std::size_t* addrlen, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL size_t sync_recvfrom(socket_type s, state_type state,
- buf* bufs, size_t count, int flags, socket_addr_type* addr,
- std::size_t* addrlen, boost::system::error_code& ec);
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL void complete_iocp_recvfrom(
- const weak_cancel_token_type& cancel_token,
- boost::system::error_code& ec);
-
-#else // defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL bool non_blocking_recvfrom(socket_type s,
- buf* bufs, size_t count, int flags,
- socket_addr_type* addr, std::size_t* addrlen,
- boost::system::error_code& ec, size_t& bytes_transferred);
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL signed_size_type recvmsg(socket_type s, buf* bufs,
- size_t count, int in_flags, int& out_flags,
- boost::system::error_code& ec);
-
-BOOST_ASIO_DECL size_t sync_recvmsg(socket_type s, state_type state,
- buf* bufs, size_t count, int in_flags, int& out_flags,
- boost::system::error_code& ec);
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL void complete_iocp_recvmsg(
- const weak_cancel_token_type& cancel_token,
- boost::system::error_code& ec);
-
-#else // defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL bool non_blocking_recvmsg(socket_type s,
- buf* bufs, size_t count, int in_flags, int& out_flags,
- boost::system::error_code& ec, size_t& bytes_transferred);
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL signed_size_type send(socket_type s, const buf* bufs,
- size_t count, int flags, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL size_t sync_send(socket_type s, state_type state,
- const buf* bufs, size_t count, int flags,
- bool all_empty, boost::system::error_code& ec);
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL void complete_iocp_send(
- const weak_cancel_token_type& cancel_token,
- boost::system::error_code& ec);
-
-#else // defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL bool non_blocking_send(socket_type s,
- const buf* bufs, size_t count, int flags,
- boost::system::error_code& ec, size_t& bytes_transferred);
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL signed_size_type sendto(socket_type s, const buf* bufs,
- size_t count, int flags, const socket_addr_type* addr,
- std::size_t addrlen, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL size_t sync_sendto(socket_type s, state_type state,
- const buf* bufs, size_t count, int flags, const socket_addr_type* addr,
- std::size_t addrlen, boost::system::error_code& ec);
-
-#if !defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL bool non_blocking_sendto(socket_type s,
- const buf* bufs, size_t count, int flags,
- const socket_addr_type* addr, std::size_t addrlen,
- boost::system::error_code& ec, size_t& bytes_transferred);
-
-#endif // !defined(BOOST_ASIO_HAS_IOCP)
-
-BOOST_ASIO_DECL socket_type socket(int af, int type, int protocol,
- boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int setsockopt(socket_type s, state_type& state,
- int level, int optname, const void* optval,
- std::size_t optlen, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int getsockopt(socket_type s, state_type state,
- int level, int optname, void* optval,
- size_t* optlen, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int getpeername(socket_type s, socket_addr_type* addr,
- std::size_t* addrlen, bool cached, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int getsockname(socket_type s, socket_addr_type* addr,
- std::size_t* addrlen, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int ioctl(socket_type s, state_type& state,
- int cmd, ioctl_arg_type* arg, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int select(int nfds, fd_set* readfds, fd_set* writefds,
- fd_set* exceptfds, timeval* timeout, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int poll_read(socket_type s,
- state_type state, int msec, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int poll_write(socket_type s,
- state_type state, int msec, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int poll_error(socket_type s,
- state_type state, int msec, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int poll_connect(socket_type s,
- int msec, boost::system::error_code& ec);
-
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-BOOST_ASIO_DECL const char* inet_ntop(int af, const void* src, char* dest,
- size_t length, unsigned long scope_id, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int inet_pton(int af, const char* src, void* dest,
- unsigned long* scope_id, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL int gethostname(char* name,
- int namelen, boost::system::error_code& ec);
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-BOOST_ASIO_DECL boost::system::error_code getaddrinfo(const char* host,
- const char* service, const addrinfo_type& hints,
- addrinfo_type** result, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL boost::system::error_code background_getaddrinfo(
- const weak_cancel_token_type& cancel_token, const char* host,
- const char* service, const addrinfo_type& hints,
- addrinfo_type** result, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL void freeaddrinfo(addrinfo_type* ai);
-
-BOOST_ASIO_DECL boost::system::error_code getnameinfo(
- const socket_addr_type* addr, std::size_t addrlen,
- char* host, std::size_t hostlen, char* serv,
- std::size_t servlen, int flags, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL boost::system::error_code sync_getnameinfo(
- const socket_addr_type* addr, std::size_t addrlen,
- char* host, std::size_t hostlen, char* serv,
- std::size_t servlen, int sock_type, boost::system::error_code& ec);
-
-BOOST_ASIO_DECL boost::system::error_code background_getnameinfo(
- const weak_cancel_token_type& cancel_token,
- const socket_addr_type* addr, std::size_t addrlen,
- char* host, std::size_t hostlen, char* serv,
- std::size_t servlen, int sock_type, boost::system::error_code& ec);
-
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-BOOST_ASIO_DECL u_long_type network_to_host_long(u_long_type value);
-
-BOOST_ASIO_DECL u_long_type host_to_network_long(u_long_type value);
-
-BOOST_ASIO_DECL u_short_type network_to_host_short(u_short_type value);
-
-BOOST_ASIO_DECL u_short_type host_to_network_short(u_short_type value);
-
-} // namespace socket_ops
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/socket_ops.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_DETAIL_SOCKET_OPS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp
deleted file mode 100644
index bd940142ca..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_option.hpp
+++ /dev/null
@@ -1,318 +0,0 @@
-//
-// detail/socket_option.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SOCKET_OPTION_HPP
-#define BOOST_ASIO_DETAIL_SOCKET_OPTION_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <cstddef>
-#include <stdexcept>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/throw_exception.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-namespace socket_option {
-
-// Helper template for implementing boolean-based options.
-template <int Level, int Name>
-class boolean
-{
-public:
- // Default constructor.
- boolean()
- : value_(0)
- {
- }
-
- // Construct with a specific option value.
- explicit boolean(bool v)
- : value_(v ? 1 : 0)
- {
- }
-
- // Set the current value of the boolean.
- boolean& operator=(bool v)
- {
- value_ = v ? 1 : 0;
- return *this;
- }
-
- // Get the current value of the boolean.
- bool value() const
- {
- return !!value_;
- }
-
- // Convert to bool.
- operator bool() const
- {
- return !!value_;
- }
-
- // Test for false.
- bool operator!() const
- {
- return !value_;
- }
-
- // Get the level of the socket option.
- template <typename Protocol>
- int level(const Protocol&) const
- {
- return Level;
- }
-
- // Get the name of the socket option.
- template <typename Protocol>
- int name(const Protocol&) const
- {
- return Name;
- }
-
- // Get the address of the boolean data.
- template <typename Protocol>
- int* data(const Protocol&)
- {
- return &value_;
- }
-
- // Get the address of the boolean data.
- template <typename Protocol>
- const int* data(const Protocol&) const
- {
- return &value_;
- }
-
- // Get the size of the boolean data.
- template <typename Protocol>
- std::size_t size(const Protocol&) const
- {
- return sizeof(value_);
- }
-
- // Set the size of the boolean data.
- template <typename Protocol>
- void resize(const Protocol&, std::size_t s)
- {
- // On some platforms (e.g. Windows Vista), the getsockopt function will
- // return the size of a boolean socket option as one byte, even though a
- // four byte integer was passed in.
- switch (s)
- {
- case sizeof(char):
- value_ = *reinterpret_cast<char*>(&value_) ? 1 : 0;
- break;
- case sizeof(value_):
- break;
- default:
- {
- std::length_error ex("boolean socket option resize");
- boost::asio::detail::throw_exception(ex);
- }
- }
- }
-
-private:
- int value_;
-};
-
-// Helper template for implementing integer options.
-template <int Level, int Name>
-class integer
-{
-public:
- // Default constructor.
- integer()
- : value_(0)
- {
- }
-
- // Construct with a specific option value.
- explicit integer(int v)
- : value_(v)
- {
- }
-
- // Set the value of the int option.
- integer& operator=(int v)
- {
- value_ = v;
- return *this;
- }
-
- // Get the current value of the int option.
- int value() const
- {
- return value_;
- }
-
- // Get the level of the socket option.
- template <typename Protocol>
- int level(const Protocol&) const
- {
- return Level;
- }
-
- // Get the name of the socket option.
- template <typename Protocol>
- int name(const Protocol&) const
- {
- return Name;
- }
-
- // Get the address of the int data.
- template <typename Protocol>
- int* data(const Protocol&)
- {
- return &value_;
- }
-
- // Get the address of the int data.
- template <typename Protocol>
- const int* data(const Protocol&) const
- {
- return &value_;
- }
-
- // Get the size of the int data.
- template <typename Protocol>
- std::size_t size(const Protocol&) const
- {
- return sizeof(value_);
- }
-
- // Set the size of the int data.
- template <typename Protocol>
- void resize(const Protocol&, std::size_t s)
- {
- if (s != sizeof(value_))
- {
- std::length_error ex("integer socket option resize");
- boost::asio::detail::throw_exception(ex);
- }
- }
-
-private:
- int value_;
-};
-
-// Helper template for implementing linger options.
-template <int Level, int Name>
-class linger
-{
-public:
- // Default constructor.
- linger()
- {
- value_.l_onoff = 0;
- value_.l_linger = 0;
- }
-
- // Construct with specific option values.
- linger(bool e, int t)
- {
- enabled(e);
- timeout BOOST_ASIO_PREVENT_MACRO_SUBSTITUTION(t);
- }
-
- // Set the value for whether linger is enabled.
- void enabled(bool value)
- {
- value_.l_onoff = value ? 1 : 0;
- }
-
- // Get the value for whether linger is enabled.
- bool enabled() const
- {
- return value_.l_onoff != 0;
- }
-
- // Set the value for the linger timeout.
- void timeout BOOST_ASIO_PREVENT_MACRO_SUBSTITUTION(int value)
- {
-#if defined(WIN32)
- value_.l_linger = static_cast<u_short>(value);
-#else
- value_.l_linger = value;
-#endif
- }
-
- // Get the value for the linger timeout.
- int timeout BOOST_ASIO_PREVENT_MACRO_SUBSTITUTION() const
- {
- return static_cast<int>(value_.l_linger);
- }
-
- // Get the level of the socket option.
- template <typename Protocol>
- int level(const Protocol&) const
- {
- return Level;
- }
-
- // Get the name of the socket option.
- template <typename Protocol>
- int name(const Protocol&) const
- {
- return Name;
- }
-
- // Get the address of the linger data.
- template <typename Protocol>
- detail::linger_type* data(const Protocol&)
- {
- return &value_;
- }
-
- // Get the address of the linger data.
- template <typename Protocol>
- const detail::linger_type* data(const Protocol&) const
- {
- return &value_;
- }
-
- // Get the size of the linger data.
- template <typename Protocol>
- std::size_t size(const Protocol&) const
- {
- return sizeof(value_);
- }
-
- // Set the size of the int data.
- template <typename Protocol>
- void resize(const Protocol&, std::size_t s)
- {
- if (s != sizeof(value_))
- {
- std::length_error ex("linger socket option resize");
- boost::asio::detail::throw_exception(ex);
- }
- }
-
-private:
- detail::linger_type value_;
-};
-
-} // namespace socket_option
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_SOCKET_OPTION_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp
deleted file mode 100644
index dc7e30d69b..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_select_interrupter.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// detail/socket_select_interrupter.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SOCKET_SELECT_INTERRUPTER_HPP
-#define BOOST_ASIO_DETAIL_SOCKET_SELECT_INTERRUPTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#if defined(BOOST_ASIO_WINDOWS) \
- || defined(__CYGWIN__) \
- || defined(__SYMBIAN32__)
-
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class socket_select_interrupter
-{
-public:
- // Constructor.
- BOOST_ASIO_DECL socket_select_interrupter();
-
- // Destructor.
- BOOST_ASIO_DECL ~socket_select_interrupter();
-
- // Recreate the interrupter's descriptors. Used after a fork.
- BOOST_ASIO_DECL void recreate();
-
- // Interrupt the select call.
- BOOST_ASIO_DECL void interrupt();
-
- // Reset the select interrupt. Returns true if the call was interrupted.
- BOOST_ASIO_DECL bool reset();
-
- // Get the read descriptor to be passed to select.
- socket_type read_descriptor() const
- {
- return read_descriptor_;
- }
-
-private:
- // Open the descriptors. Throws on error.
- BOOST_ASIO_DECL void open_descriptors();
-
- // Close the descriptors.
- BOOST_ASIO_DECL void close_descriptors();
-
- // The read end of a connection used to interrupt the select call. This file
- // descriptor is passed to select such that when it is time to stop, a single
- // byte will be written on the other end of the connection and this
- // descriptor will become readable.
- socket_type read_descriptor_;
-
- // The write end of a connection used to interrupt the select call. A single
- // byte may be written to this to wake up the select which is waiting for the
- // other end to become readable.
- socket_type write_descriptor_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/socket_select_interrupter.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_WINDOWS)
- // || defined(__CYGWIN__)
- // || defined(__SYMBIAN32__)
-
-#endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_SOCKET_SELECT_INTERRUPTER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp
deleted file mode 100644
index 11ed551838..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/socket_types.hpp
+++ /dev/null
@@ -1,418 +0,0 @@
-//
-// detail/socket_types.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SOCKET_TYPES_HPP
-#define BOOST_ASIO_DETAIL_SOCKET_TYPES_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-// Empty.
-#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-# if defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
-# error WinSock.h has already been included
-# endif // defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
-# if defined(__BORLANDC__)
-# include <stdlib.h> // Needed for __errno
-# if !defined(_WSPIAPI_H_)
-# define _WSPIAPI_H_
-# define BOOST_ASIO_WSPIAPI_H_DEFINED
-# endif // !defined(_WSPIAPI_H_)
-# endif // defined(__BORLANDC__)
-# include <winsock2.h>
-# include <ws2tcpip.h>
-# if defined(WINAPI_FAMILY)
-# if ((WINAPI_FAMILY & WINAPI_PARTITION_DESKTOP) != 0)
-# include <windows.h>
-# endif // ((WINAPI_FAMILY & WINAPI_PARTITION_DESKTOP) != 0)
-# endif // defined(WINAPI_FAMILY)
-# if !defined(BOOST_ASIO_WINDOWS_APP)
-# include <mswsock.h>
-# endif // !defined(BOOST_ASIO_WINDOWS_APP)
-# if defined(BOOST_ASIO_WSPIAPI_H_DEFINED)
-# undef _WSPIAPI_H_
-# undef BOOST_ASIO_WSPIAPI_H_DEFINED
-# endif // defined(BOOST_ASIO_WSPIAPI_H_DEFINED)
-# if !defined(BOOST_ASIO_NO_DEFAULT_LINKED_LIBS)
-# if defined(UNDER_CE)
-# pragma comment(lib, "ws2.lib")
-# elif defined(_MSC_VER) || defined(__BORLANDC__)
-# pragma comment(lib, "ws2_32.lib")
-# if !defined(BOOST_ASIO_WINDOWS_APP)
-# pragma comment(lib, "mswsock.lib")
-# endif // !defined(BOOST_ASIO_WINDOWS_APP)
-# endif // defined(_MSC_VER) || defined(__BORLANDC__)
-# endif // !defined(BOOST_ASIO_NO_DEFAULT_LINKED_LIBS)
-# include <boost/asio/detail/old_win_sdk_compat.hpp>
-#else
-# include <sys/ioctl.h>
-# if (defined(__MACH__) && defined(__APPLE__)) \
- || defined(__FreeBSD__) || defined(__NetBSD__) \
- || defined(__OpenBSD__) || defined(__linux__) \
- || defined(__EMSCRIPTEN__)
-# include <poll.h>
-# elif !defined(__SYMBIAN32__)
-# include <sys/poll.h>
-# endif
-# include <sys/types.h>
-# include <sys/stat.h>
-# include <fcntl.h>
-# if defined(__hpux)
-# include <sys/time.h>
-# endif
-# if !defined(__hpux) || defined(__SELECT)
-# include <sys/select.h>
-# endif
-# include <sys/socket.h>
-# include <sys/uio.h>
-# include <sys/un.h>
-# include <netinet/in.h>
-# if !defined(__SYMBIAN32__)
-# include <netinet/tcp.h>
-# endif
-# include <arpa/inet.h>
-# include <netdb.h>
-# include <net/if.h>
-# include <limits.h>
-# if defined(__sun)
-# include <sys/filio.h>
-# include <sys/sockio.h>
-# endif
-#endif
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-const int max_addr_v4_str_len = 256;
-const int max_addr_v6_str_len = 256;
-typedef unsigned __int32 u_long_type;
-typedef unsigned __int16 u_short_type;
-struct in4_addr_type { u_long_type s_addr; };
-struct in4_mreq_type { in4_addr_type imr_multiaddr, imr_interface; };
-struct in6_addr_type { unsigned char s6_addr[16]; };
-struct in6_mreq_type { in6_addr_type ipv6mr_multiaddr;
- unsigned long ipv6mr_interface; };
-struct socket_addr_type { int sa_family; };
-struct sockaddr_in4_type { int sin_family;
- in4_addr_type sin_addr; u_short_type sin_port; };
-struct sockaddr_in6_type { int sin6_family;
- in6_addr_type sin6_addr; u_short_type sin6_port;
- u_long_type sin6_flowinfo; u_long_type sin6_scope_id; };
-struct sockaddr_storage_type { int ss_family;
- unsigned char ss_bytes[128 - sizeof(int)]; };
-struct addrinfo_type { int ai_flags;
- int ai_family, ai_socktype, ai_protocol;
- int ai_addrlen; const void* ai_addr;
- const char* ai_canonname; addrinfo_type* ai_next; };
-struct linger_type { u_short_type l_onoff, l_linger; };
-typedef u_long_type ioctl_arg_type;
-typedef int signed_size_type;
-# define BOOST_ASIO_OS_DEF(c) BOOST_ASIO_OS_DEF_##c
-# define BOOST_ASIO_OS_DEF_AF_UNSPEC 0
-# define BOOST_ASIO_OS_DEF_AF_INET 2
-# define BOOST_ASIO_OS_DEF_AF_INET6 23
-# define BOOST_ASIO_OS_DEF_SOCK_STREAM 1
-# define BOOST_ASIO_OS_DEF_SOCK_DGRAM 2
-# define BOOST_ASIO_OS_DEF_SOCK_RAW 3
-# define BOOST_ASIO_OS_DEF_SOCK_SEQPACKET 5
-# define BOOST_ASIO_OS_DEF_IPPROTO_IP 0
-# define BOOST_ASIO_OS_DEF_IPPROTO_IPV6 41
-# define BOOST_ASIO_OS_DEF_IPPROTO_TCP 6
-# define BOOST_ASIO_OS_DEF_IPPROTO_UDP 17
-# define BOOST_ASIO_OS_DEF_IPPROTO_ICMP 1
-# define BOOST_ASIO_OS_DEF_IPPROTO_ICMPV6 58
-# define BOOST_ASIO_OS_DEF_FIONBIO 1
-# define BOOST_ASIO_OS_DEF_FIONREAD 2
-# define BOOST_ASIO_OS_DEF_INADDR_ANY 0
-# define BOOST_ASIO_OS_DEF_MSG_OOB 0x1
-# define BOOST_ASIO_OS_DEF_MSG_PEEK 0x2
-# define BOOST_ASIO_OS_DEF_MSG_DONTROUTE 0x4
-# define BOOST_ASIO_OS_DEF_MSG_EOR 0 // Not supported.
-# define BOOST_ASIO_OS_DEF_SHUT_RD 0x0
-# define BOOST_ASIO_OS_DEF_SHUT_WR 0x1
-# define BOOST_ASIO_OS_DEF_SHUT_RDWR 0x2
-# define BOOST_ASIO_OS_DEF_SOMAXCONN 0x7fffffff
-# define BOOST_ASIO_OS_DEF_SOL_SOCKET 0xffff
-# define BOOST_ASIO_OS_DEF_SO_BROADCAST 0x20
-# define BOOST_ASIO_OS_DEF_SO_DEBUG 0x1
-# define BOOST_ASIO_OS_DEF_SO_DONTROUTE 0x10
-# define BOOST_ASIO_OS_DEF_SO_KEEPALIVE 0x8
-# define BOOST_ASIO_OS_DEF_SO_LINGER 0x80
-# define BOOST_ASIO_OS_DEF_SO_OOBINLINE 0x100
-# define BOOST_ASIO_OS_DEF_SO_SNDBUF 0x1001
-# define BOOST_ASIO_OS_DEF_SO_RCVBUF 0x1002
-# define BOOST_ASIO_OS_DEF_SO_SNDLOWAT 0x1003
-# define BOOST_ASIO_OS_DEF_SO_RCVLOWAT 0x1004
-# define BOOST_ASIO_OS_DEF_SO_REUSEADDR 0x4
-# define BOOST_ASIO_OS_DEF_TCP_NODELAY 0x1
-# define BOOST_ASIO_OS_DEF_IP_MULTICAST_IF 2
-# define BOOST_ASIO_OS_DEF_IP_MULTICAST_TTL 3
-# define BOOST_ASIO_OS_DEF_IP_MULTICAST_LOOP 4
-# define BOOST_ASIO_OS_DEF_IP_ADD_MEMBERSHIP 5
-# define BOOST_ASIO_OS_DEF_IP_DROP_MEMBERSHIP 6
-# define BOOST_ASIO_OS_DEF_IP_TTL 7
-# define BOOST_ASIO_OS_DEF_IPV6_UNICAST_HOPS 4
-# define BOOST_ASIO_OS_DEF_IPV6_MULTICAST_IF 9
-# define BOOST_ASIO_OS_DEF_IPV6_MULTICAST_HOPS 10
-# define BOOST_ASIO_OS_DEF_IPV6_MULTICAST_LOOP 11
-# define BOOST_ASIO_OS_DEF_IPV6_JOIN_GROUP 12
-# define BOOST_ASIO_OS_DEF_IPV6_LEAVE_GROUP 13
-# define BOOST_ASIO_OS_DEF_AI_CANONNAME 0x2
-# define BOOST_ASIO_OS_DEF_AI_PASSIVE 0x1
-# define BOOST_ASIO_OS_DEF_AI_NUMERICHOST 0x4
-# define BOOST_ASIO_OS_DEF_AI_NUMERICSERV 0x8
-# define BOOST_ASIO_OS_DEF_AI_V4MAPPED 0x800
-# define BOOST_ASIO_OS_DEF_AI_ALL 0x100
-# define BOOST_ASIO_OS_DEF_AI_ADDRCONFIG 0x400
-#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-typedef SOCKET socket_type;
-const SOCKET invalid_socket = INVALID_SOCKET;
-const int socket_error_retval = SOCKET_ERROR;
-const int max_addr_v4_str_len = 256;
-const int max_addr_v6_str_len = 256;
-typedef sockaddr socket_addr_type;
-typedef in_addr in4_addr_type;
-typedef ip_mreq in4_mreq_type;
-typedef sockaddr_in sockaddr_in4_type;
-# if defined(BOOST_ASIO_HAS_OLD_WIN_SDK)
-typedef in6_addr_emulation in6_addr_type;
-typedef ipv6_mreq_emulation in6_mreq_type;
-typedef sockaddr_in6_emulation sockaddr_in6_type;
-typedef sockaddr_storage_emulation sockaddr_storage_type;
-typedef addrinfo_emulation addrinfo_type;
-# else
-typedef in6_addr in6_addr_type;
-typedef ipv6_mreq in6_mreq_type;
-typedef sockaddr_in6 sockaddr_in6_type;
-typedef sockaddr_storage sockaddr_storage_type;
-typedef addrinfo addrinfo_type;
-# endif
-typedef ::linger linger_type;
-typedef unsigned long ioctl_arg_type;
-typedef u_long u_long_type;
-typedef u_short u_short_type;
-typedef int signed_size_type;
-# define BOOST_ASIO_OS_DEF(c) BOOST_ASIO_OS_DEF_##c
-# define BOOST_ASIO_OS_DEF_AF_UNSPEC AF_UNSPEC
-# define BOOST_ASIO_OS_DEF_AF_INET AF_INET
-# define BOOST_ASIO_OS_DEF_AF_INET6 AF_INET6
-# define BOOST_ASIO_OS_DEF_SOCK_STREAM SOCK_STREAM
-# define BOOST_ASIO_OS_DEF_SOCK_DGRAM SOCK_DGRAM
-# define BOOST_ASIO_OS_DEF_SOCK_RAW SOCK_RAW
-# define BOOST_ASIO_OS_DEF_SOCK_SEQPACKET SOCK_SEQPACKET
-# define BOOST_ASIO_OS_DEF_IPPROTO_IP IPPROTO_IP
-# define BOOST_ASIO_OS_DEF_IPPROTO_IPV6 IPPROTO_IPV6
-# define BOOST_ASIO_OS_DEF_IPPROTO_TCP IPPROTO_TCP
-# define BOOST_ASIO_OS_DEF_IPPROTO_UDP IPPROTO_UDP
-# define BOOST_ASIO_OS_DEF_IPPROTO_ICMP IPPROTO_ICMP
-# define BOOST_ASIO_OS_DEF_IPPROTO_ICMPV6 IPPROTO_ICMPV6
-# define BOOST_ASIO_OS_DEF_FIONBIO FIONBIO
-# define BOOST_ASIO_OS_DEF_FIONREAD FIONREAD
-# define BOOST_ASIO_OS_DEF_INADDR_ANY INADDR_ANY
-# define BOOST_ASIO_OS_DEF_MSG_OOB MSG_OOB
-# define BOOST_ASIO_OS_DEF_MSG_PEEK MSG_PEEK
-# define BOOST_ASIO_OS_DEF_MSG_DONTROUTE MSG_DONTROUTE
-# define BOOST_ASIO_OS_DEF_MSG_EOR 0 // Not supported on Windows.
-# define BOOST_ASIO_OS_DEF_SHUT_RD SD_RECEIVE
-# define BOOST_ASIO_OS_DEF_SHUT_WR SD_SEND
-# define BOOST_ASIO_OS_DEF_SHUT_RDWR SD_BOTH
-# define BOOST_ASIO_OS_DEF_SOMAXCONN SOMAXCONN
-# define BOOST_ASIO_OS_DEF_SOL_SOCKET SOL_SOCKET
-# define BOOST_ASIO_OS_DEF_SO_BROADCAST SO_BROADCAST
-# define BOOST_ASIO_OS_DEF_SO_DEBUG SO_DEBUG
-# define BOOST_ASIO_OS_DEF_SO_DONTROUTE SO_DONTROUTE
-# define BOOST_ASIO_OS_DEF_SO_KEEPALIVE SO_KEEPALIVE
-# define BOOST_ASIO_OS_DEF_SO_LINGER SO_LINGER
-# define BOOST_ASIO_OS_DEF_SO_OOBINLINE SO_OOBINLINE
-# define BOOST_ASIO_OS_DEF_SO_SNDBUF SO_SNDBUF
-# define BOOST_ASIO_OS_DEF_SO_RCVBUF SO_RCVBUF
-# define BOOST_ASIO_OS_DEF_SO_SNDLOWAT SO_SNDLOWAT
-# define BOOST_ASIO_OS_DEF_SO_RCVLOWAT SO_RCVLOWAT
-# define BOOST_ASIO_OS_DEF_SO_REUSEADDR SO_REUSEADDR
-# define BOOST_ASIO_OS_DEF_TCP_NODELAY TCP_NODELAY
-# define BOOST_ASIO_OS_DEF_IP_MULTICAST_IF IP_MULTICAST_IF
-# define BOOST_ASIO_OS_DEF_IP_MULTICAST_TTL IP_MULTICAST_TTL
-# define BOOST_ASIO_OS_DEF_IP_MULTICAST_LOOP IP_MULTICAST_LOOP
-# define BOOST_ASIO_OS_DEF_IP_ADD_MEMBERSHIP IP_ADD_MEMBERSHIP
-# define BOOST_ASIO_OS_DEF_IP_DROP_MEMBERSHIP IP_DROP_MEMBERSHIP
-# define BOOST_ASIO_OS_DEF_IP_TTL IP_TTL
-# define BOOST_ASIO_OS_DEF_IPV6_UNICAST_HOPS IPV6_UNICAST_HOPS
-# define BOOST_ASIO_OS_DEF_IPV6_MULTICAST_IF IPV6_MULTICAST_IF
-# define BOOST_ASIO_OS_DEF_IPV6_MULTICAST_HOPS IPV6_MULTICAST_HOPS
-# define BOOST_ASIO_OS_DEF_IPV6_MULTICAST_LOOP IPV6_MULTICAST_LOOP
-# define BOOST_ASIO_OS_DEF_IPV6_JOIN_GROUP IPV6_JOIN_GROUP
-# define BOOST_ASIO_OS_DEF_IPV6_LEAVE_GROUP IPV6_LEAVE_GROUP
-# define BOOST_ASIO_OS_DEF_AI_CANONNAME AI_CANONNAME
-# define BOOST_ASIO_OS_DEF_AI_PASSIVE AI_PASSIVE
-# define BOOST_ASIO_OS_DEF_AI_NUMERICHOST AI_NUMERICHOST
-# if defined(AI_NUMERICSERV)
-# define BOOST_ASIO_OS_DEF_AI_NUMERICSERV AI_NUMERICSERV
-# else
-# define BOOST_ASIO_OS_DEF_AI_NUMERICSERV 0
-# endif
-# if defined(AI_V4MAPPED)
-# define BOOST_ASIO_OS_DEF_AI_V4MAPPED AI_V4MAPPED
-# else
-# define BOOST_ASIO_OS_DEF_AI_V4MAPPED 0
-# endif
-# if defined(AI_ALL)
-# define BOOST_ASIO_OS_DEF_AI_ALL AI_ALL
-# else
-# define BOOST_ASIO_OS_DEF_AI_ALL 0
-# endif
-# if defined(AI_ADDRCONFIG)
-# define BOOST_ASIO_OS_DEF_AI_ADDRCONFIG AI_ADDRCONFIG
-# else
-# define BOOST_ASIO_OS_DEF_AI_ADDRCONFIG 0
-# endif
-# if defined (_WIN32_WINNT)
-const int max_iov_len = 64;
-# else
-const int max_iov_len = 16;
-# endif
-#else
-typedef int socket_type;
-const int invalid_socket = -1;
-const int socket_error_retval = -1;
-const int max_addr_v4_str_len = INET_ADDRSTRLEN;
-#if defined(INET6_ADDRSTRLEN)
-const int max_addr_v6_str_len = INET6_ADDRSTRLEN + 1 + IF_NAMESIZE;
-#else // defined(INET6_ADDRSTRLEN)
-const int max_addr_v6_str_len = 256;
-#endif // defined(INET6_ADDRSTRLEN)
-typedef sockaddr socket_addr_type;
-typedef in_addr in4_addr_type;
-# if defined(__hpux)
-// HP-UX doesn't provide ip_mreq when _XOPEN_SOURCE_EXTENDED is defined.
-struct in4_mreq_type
-{
- struct in_addr imr_multiaddr;
- struct in_addr imr_interface;
-};
-# else
-typedef ip_mreq in4_mreq_type;
-# endif
-typedef sockaddr_in sockaddr_in4_type;
-typedef in6_addr in6_addr_type;
-typedef ipv6_mreq in6_mreq_type;
-typedef sockaddr_in6 sockaddr_in6_type;
-typedef sockaddr_storage sockaddr_storage_type;
-typedef sockaddr_un sockaddr_un_type;
-typedef addrinfo addrinfo_type;
-typedef ::linger linger_type;
-typedef int ioctl_arg_type;
-typedef uint32_t u_long_type;
-typedef uint16_t u_short_type;
-#if defined(BOOST_ASIO_HAS_SSIZE_T)
-typedef ssize_t signed_size_type;
-#else // defined(BOOST_ASIO_HAS_SSIZE_T)
-typedef int signed_size_type;
-#endif // defined(BOOST_ASIO_HAS_SSIZE_T)
-# define BOOST_ASIO_OS_DEF(c) BOOST_ASIO_OS_DEF_##c
-# define BOOST_ASIO_OS_DEF_AF_UNSPEC AF_UNSPEC
-# define BOOST_ASIO_OS_DEF_AF_INET AF_INET
-# define BOOST_ASIO_OS_DEF_AF_INET6 AF_INET6
-# define BOOST_ASIO_OS_DEF_SOCK_STREAM SOCK_STREAM
-# define BOOST_ASIO_OS_DEF_SOCK_DGRAM SOCK_DGRAM
-# define BOOST_ASIO_OS_DEF_SOCK_RAW SOCK_RAW
-# define BOOST_ASIO_OS_DEF_SOCK_SEQPACKET SOCK_SEQPACKET
-# define BOOST_ASIO_OS_DEF_IPPROTO_IP IPPROTO_IP
-# define BOOST_ASIO_OS_DEF_IPPROTO_IPV6 IPPROTO_IPV6
-# define BOOST_ASIO_OS_DEF_IPPROTO_TCP IPPROTO_TCP
-# define BOOST_ASIO_OS_DEF_IPPROTO_UDP IPPROTO_UDP
-# define BOOST_ASIO_OS_DEF_IPPROTO_ICMP IPPROTO_ICMP
-# define BOOST_ASIO_OS_DEF_IPPROTO_ICMPV6 IPPROTO_ICMPV6
-# define BOOST_ASIO_OS_DEF_FIONBIO FIONBIO
-# define BOOST_ASIO_OS_DEF_FIONREAD FIONREAD
-# define BOOST_ASIO_OS_DEF_INADDR_ANY INADDR_ANY
-# define BOOST_ASIO_OS_DEF_MSG_OOB MSG_OOB
-# define BOOST_ASIO_OS_DEF_MSG_PEEK MSG_PEEK
-# define BOOST_ASIO_OS_DEF_MSG_DONTROUTE MSG_DONTROUTE
-# define BOOST_ASIO_OS_DEF_MSG_EOR MSG_EOR
-# define BOOST_ASIO_OS_DEF_SHUT_RD SHUT_RD
-# define BOOST_ASIO_OS_DEF_SHUT_WR SHUT_WR
-# define BOOST_ASIO_OS_DEF_SHUT_RDWR SHUT_RDWR
-# define BOOST_ASIO_OS_DEF_SOMAXCONN SOMAXCONN
-# define BOOST_ASIO_OS_DEF_SOL_SOCKET SOL_SOCKET
-# define BOOST_ASIO_OS_DEF_SO_BROADCAST SO_BROADCAST
-# define BOOST_ASIO_OS_DEF_SO_DEBUG SO_DEBUG
-# define BOOST_ASIO_OS_DEF_SO_DONTROUTE SO_DONTROUTE
-# define BOOST_ASIO_OS_DEF_SO_KEEPALIVE SO_KEEPALIVE
-# define BOOST_ASIO_OS_DEF_SO_LINGER SO_LINGER
-# define BOOST_ASIO_OS_DEF_SO_OOBINLINE SO_OOBINLINE
-# define BOOST_ASIO_OS_DEF_SO_SNDBUF SO_SNDBUF
-# define BOOST_ASIO_OS_DEF_SO_RCVBUF SO_RCVBUF
-# define BOOST_ASIO_OS_DEF_SO_SNDLOWAT SO_SNDLOWAT
-# define BOOST_ASIO_OS_DEF_SO_RCVLOWAT SO_RCVLOWAT
-# define BOOST_ASIO_OS_DEF_SO_REUSEADDR SO_REUSEADDR
-# define BOOST_ASIO_OS_DEF_TCP_NODELAY TCP_NODELAY
-# define BOOST_ASIO_OS_DEF_IP_MULTICAST_IF IP_MULTICAST_IF
-# define BOOST_ASIO_OS_DEF_IP_MULTICAST_TTL IP_MULTICAST_TTL
-# define BOOST_ASIO_OS_DEF_IP_MULTICAST_LOOP IP_MULTICAST_LOOP
-# define BOOST_ASIO_OS_DEF_IP_ADD_MEMBERSHIP IP_ADD_MEMBERSHIP
-# define BOOST_ASIO_OS_DEF_IP_DROP_MEMBERSHIP IP_DROP_MEMBERSHIP
-# define BOOST_ASIO_OS_DEF_IP_TTL IP_TTL
-# define BOOST_ASIO_OS_DEF_IPV6_UNICAST_HOPS IPV6_UNICAST_HOPS
-# define BOOST_ASIO_OS_DEF_IPV6_MULTICAST_IF IPV6_MULTICAST_IF
-# define BOOST_ASIO_OS_DEF_IPV6_MULTICAST_HOPS IPV6_MULTICAST_HOPS
-# define BOOST_ASIO_OS_DEF_IPV6_MULTICAST_LOOP IPV6_MULTICAST_LOOP
-# define BOOST_ASIO_OS_DEF_IPV6_JOIN_GROUP IPV6_JOIN_GROUP
-# define BOOST_ASIO_OS_DEF_IPV6_LEAVE_GROUP IPV6_LEAVE_GROUP
-# define BOOST_ASIO_OS_DEF_AI_CANONNAME AI_CANONNAME
-# define BOOST_ASIO_OS_DEF_AI_PASSIVE AI_PASSIVE
-# define BOOST_ASIO_OS_DEF_AI_NUMERICHOST AI_NUMERICHOST
-# if defined(AI_NUMERICSERV)
-# define BOOST_ASIO_OS_DEF_AI_NUMERICSERV AI_NUMERICSERV
-# else
-# define BOOST_ASIO_OS_DEF_AI_NUMERICSERV 0
-# endif
-// Note: QNX Neutrino 6.3 defines AI_V4MAPPED, AI_ALL and AI_ADDRCONFIG but
-// does not implement them. Therefore they are specifically excluded here.
-# if defined(AI_V4MAPPED) && !defined(__QNXNTO__)
-# define BOOST_ASIO_OS_DEF_AI_V4MAPPED AI_V4MAPPED
-# else
-# define BOOST_ASIO_OS_DEF_AI_V4MAPPED 0
-# endif
-# if defined(AI_ALL) && !defined(__QNXNTO__)
-# define BOOST_ASIO_OS_DEF_AI_ALL AI_ALL
-# else
-# define BOOST_ASIO_OS_DEF_AI_ALL 0
-# endif
-# if defined(AI_ADDRCONFIG) && !defined(__QNXNTO__)
-# define BOOST_ASIO_OS_DEF_AI_ADDRCONFIG AI_ADDRCONFIG
-# else
-# define BOOST_ASIO_OS_DEF_AI_ADDRCONFIG 0
-# endif
-# if defined(IOV_MAX)
-const int max_iov_len = IOV_MAX;
-# else
-// POSIX platforms are not required to define IOV_MAX.
-const int max_iov_len = 16;
-# endif
-#endif
-const int custom_socket_option_level = 0xA5100000;
-const int enable_connection_aborted_option = 1;
-const int always_fail_option = 2;
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_SOCKET_TYPES_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp
deleted file mode 100644
index 07cbd0dfa0..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/solaris_fenced_block.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-// detail/solaris_fenced_block.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_SOLARIS_FENCED_BLOCK_HPP
-#define BOOST_ASIO_DETAIL_SOLARIS_FENCED_BLOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(__sun)
-
-#error #include <atomic.h>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class solaris_fenced_block
- : private noncopyable
-{
-public:
- enum half_t { half };
- enum full_t { full };
-
- // Constructor for a half fenced block.
- explicit solaris_fenced_block(half_t)
- {
- }
-
- // Constructor for a full fenced block.
- explicit solaris_fenced_block(full_t)
- {
- membar_consumer();
- }
-
- // Destructor.
- ~solaris_fenced_block()
- {
- membar_producer();
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(__sun)
-
-#endif // BOOST_ASIO_DETAIL_SOLARIS_FENCED_BLOCK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp
deleted file mode 100644
index 1bc5c2c813..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/static_mutex.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// detail/static_mutex.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_STATIC_MUTEX_HPP
-#define BOOST_ASIO_DETAIL_STATIC_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-# include <boost/asio/detail/null_static_mutex.hpp>
-#elif defined(BOOST_ASIO_WINDOWS)
-# include <boost/asio/detail/win_static_mutex.hpp>
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-# include <boost/asio/detail/posix_static_mutex.hpp>
-#elif defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-# include <boost/asio/detail/std_static_mutex.hpp>
-#else
-# error Only Windows and POSIX are supported!
-#endif
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-typedef null_static_mutex static_mutex;
-# define BOOST_ASIO_STATIC_MUTEX_INIT BOOST_ASIO_NULL_STATIC_MUTEX_INIT
-#elif defined(BOOST_ASIO_WINDOWS)
-typedef win_static_mutex static_mutex;
-# define BOOST_ASIO_STATIC_MUTEX_INIT BOOST_ASIO_WIN_STATIC_MUTEX_INIT
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-typedef posix_static_mutex static_mutex;
-# define BOOST_ASIO_STATIC_MUTEX_INIT BOOST_ASIO_POSIX_STATIC_MUTEX_INIT
-#elif defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-typedef std_static_mutex static_mutex;
-# define BOOST_ASIO_STATIC_MUTEX_INIT BOOST_ASIO_STD_STATIC_MUTEX_INIT
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_STATIC_MUTEX_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp
deleted file mode 100644
index d32bff422e..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_event.hpp
+++ /dev/null
@@ -1,178 +0,0 @@
-//
-// detail/std_event.hpp
-// ~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_STD_EVENT_HPP
-#define BOOST_ASIO_DETAIL_STD_EVENT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-
-#include <chrono>
-#include <condition_variable>
-#include <boost/asio/detail/assert.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class std_event
- : private noncopyable
-{
-public:
- // Constructor.
- std_event()
- : state_(0)
- {
- }
-
- // Destructor.
- ~std_event()
- {
- }
-
- // Signal the event. (Retained for backward compatibility.)
- template <typename Lock>
- void signal(Lock& lock)
- {
- this->signal_all(lock);
- }
-
- // Signal all waiters.
- template <typename Lock>
- void signal_all(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- (void)lock;
- state_ |= 1;
- cond_.notify_all();
- }
-
- // Unlock the mutex and signal one waiter.
- template <typename Lock>
- void unlock_and_signal_one(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- state_ |= 1;
- bool have_waiters = (state_ > 1);
- lock.unlock();
- if (have_waiters)
- cond_.notify_one();
- }
-
- // If there's a waiter, unlock the mutex and signal it.
- template <typename Lock>
- bool maybe_unlock_and_signal_one(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- state_ |= 1;
- if (state_ > 1)
- {
- lock.unlock();
- cond_.notify_one();
- return true;
- }
- return false;
- }
-
- // Reset the event.
- template <typename Lock>
- void clear(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- (void)lock;
- state_ &= ~std::size_t(1);
- }
-
- // Wait for the event to become signalled.
- template <typename Lock>
- void wait(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- unique_lock_adapter u_lock(lock);
- while ((state_ & 1) == 0)
- {
- waiter w(state_);
- cond_.wait(u_lock.unique_lock_);
- }
- }
-
- // Timed wait for the event to become signalled.
- template <typename Lock>
- bool wait_for_usec(Lock& lock, long usec)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- unique_lock_adapter u_lock(lock);
- if ((state_ & 1) == 0)
- {
- waiter w(state_);
- cond_.wait_for(u_lock.unique_lock_, std::chrono::microseconds(usec));
- }
- return (state_ & 1) != 0;
- }
-
-private:
- // Helper class to temporarily adapt a scoped_lock into a unique_lock so that
- // it can be passed to std::condition_variable::wait().
- struct unique_lock_adapter
- {
- template <typename Lock>
- explicit unique_lock_adapter(Lock& lock)
- : unique_lock_(lock.mutex().mutex_, std::adopt_lock)
- {
- }
-
- ~unique_lock_adapter()
- {
- unique_lock_.release();
- }
-
- std::unique_lock<std::mutex> unique_lock_;
- };
-
- // Helper to increment and decrement the state to track outstanding waiters.
- class waiter
- {
- public:
- explicit waiter(std::size_t& state)
- : state_(state)
- {
- state_ += 2;
- }
-
- ~waiter()
- {
- state_ -= 2;
- }
-
- private:
- std::size_t& state_;
- };
-
- std::condition_variable cond_;
- std::size_t state_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-
-#endif // BOOST_ASIO_DETAIL_STD_EVENT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp
deleted file mode 100644
index 3993199145..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_fenced_block.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-// detail/std_fenced_block.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_STD_FENCED_BLOCK_HPP
-#define BOOST_ASIO_DETAIL_STD_FENCED_BLOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_STD_ATOMIC)
-
-#include <atomic>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class std_fenced_block
- : private noncopyable
-{
-public:
- enum half_t { half };
- enum full_t { full };
-
- // Constructor for a half fenced block.
- explicit std_fenced_block(half_t)
- {
- }
-
- // Constructor for a full fenced block.
- explicit std_fenced_block(full_t)
- {
- std::atomic_thread_fence(std::memory_order_acquire);
- }
-
- // Destructor.
- ~std_fenced_block()
- {
- std::atomic_thread_fence(std::memory_order_release);
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_STD_ATOMIC)
-
-#endif // BOOST_ASIO_DETAIL_STD_FENCED_BLOCK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp
deleted file mode 100644
index f9df646bc6..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_global.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//
-// detail/std_global.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_STD_GLOBAL_HPP
-#define BOOST_ASIO_DETAIL_STD_GLOBAL_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_STD_CALL_ONCE)
-
-#include <exception>
-#include <mutex>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename T>
-struct std_global_impl
-{
- // Helper function to perform initialisation.
- static void do_init()
- {
- instance_.ptr_ = new T;
- }
-
- // Destructor automatically cleans up the global.
- ~std_global_impl()
- {
- delete ptr_;
- }
-
- static std::once_flag init_once_;
- static std_global_impl instance_;
- T* ptr_;
-};
-
-template <typename T>
-std::once_flag std_global_impl<T>::init_once_;
-
-template <typename T>
-std_global_impl<T> std_global_impl<T>::instance_;
-
-template <typename T>
-T& std_global()
-{
- std::call_once(std_global_impl<T>::init_once_, &std_global_impl<T>::do_init);
- return *std_global_impl<T>::instance_.ptr_;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_STD_CALL_ONCE)
-
-#endif // BOOST_ASIO_DETAIL_STD_GLOBAL_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp
deleted file mode 100644
index 463735b92a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_mutex.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// detail/std_mutex.hpp
-// ~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_STD_MUTEX_HPP
-#define BOOST_ASIO_DETAIL_STD_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-
-#include <mutex>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/scoped_lock.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class std_event;
-
-class std_mutex
- : private noncopyable
-{
-public:
- typedef boost::asio::detail::scoped_lock<std_mutex> scoped_lock;
-
- // Constructor.
- std_mutex()
- {
- }
-
- // Destructor.
- ~std_mutex()
- {
- }
-
- // Lock the mutex.
- void lock()
- {
- mutex_.lock();
- }
-
- // Unlock the mutex.
- void unlock()
- {
- mutex_.unlock();
- }
-
-private:
- friend class std_event;
- std::mutex mutex_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-
-#endif // BOOST_ASIO_DETAIL_STD_MUTEX_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp
deleted file mode 100644
index 16104bcfa6..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_static_mutex.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// detail/std_static_mutex.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_STD_STATIC_MUTEX_HPP
-#define BOOST_ASIO_DETAIL_STD_STATIC_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-
-#include <mutex>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/scoped_lock.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class std_event;
-
-class std_static_mutex
- : private noncopyable
-{
-public:
- typedef boost::asio::detail::scoped_lock<std_static_mutex> scoped_lock;
-
- // Constructor.
- std_static_mutex(int)
- {
- }
-
- // Destructor.
- ~std_static_mutex()
- {
- }
-
- // Initialise the mutex.
- void init()
- {
- // Nothing to do.
- }
-
- // Lock the mutex.
- void lock()
- {
- mutex_.lock();
- }
-
- // Unlock the mutex.
- void unlock()
- {
- mutex_.unlock();
- }
-
-private:
- friend class std_event;
- std::mutex mutex_;
-};
-
-#define BOOST_ASIO_STD_STATIC_MUTEX_INIT 0
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)
-
-#endif // BOOST_ASIO_DETAIL_STD_STATIC_MUTEX_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp
deleted file mode 100644
index af507ed32f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/std_thread.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// detail/std_thread.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_STD_THREAD_HPP
-#define BOOST_ASIO_DETAIL_STD_THREAD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_STD_THREAD)
-
-#include <thread>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class std_thread
- : private noncopyable
-{
-public:
- // Constructor.
- template <typename Function>
- std_thread(Function f, unsigned int = 0)
- : thread_(f)
- {
- }
-
- // Destructor.
- ~std_thread()
- {
- join();
- }
-
- // Wait for the thread to exit.
- void join()
- {
- if (thread_.joinable())
- thread_.join();
- }
-
- // Get number of CPUs.
- static std::size_t hardware_concurrency()
- {
- return std::thread::hardware_concurrency();
- }
-
-private:
- std::thread thread_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_STD_THREAD)
-
-#endif // BOOST_ASIO_DETAIL_STD_THREAD_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp
deleted file mode 100644
index f036264b95..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/strand_service.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-//
-// detail/strand_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_STRAND_SERVICE_HPP
-#define BOOST_ASIO_DETAIL_STRAND_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/detail/mutex.hpp>
-#include <boost/asio/detail/op_queue.hpp>
-#include <boost/asio/detail/operation.hpp>
-#include <boost/asio/detail/scoped_ptr.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Default service implementation for a strand.
-class strand_service
- : public boost::asio::detail::service_base<strand_service>
-{
-private:
- // Helper class to re-post the strand on exit.
- struct on_do_complete_exit;
-
- // Helper class to re-post the strand on exit.
- struct on_dispatch_exit;
-
-public:
-
- // The underlying implementation of a strand.
- class strand_impl
- : public operation
- {
- public:
- strand_impl();
-
- private:
- // Only this service will have access to the internal values.
- friend class strand_service;
- friend struct on_do_complete_exit;
- friend struct on_dispatch_exit;
-
- // Mutex to protect access to internal data.
- boost::asio::detail::mutex mutex_;
-
- // Indicates whether the strand is currently "locked" by a handler. This
- // means that there is a handler upcall in progress, or that the strand
- // itself has been scheduled in order to invoke some pending handlers.
- bool locked_;
-
- // The handlers that are waiting on the strand but should not be run until
- // after the next time the strand is scheduled. This queue must only be
- // modified while the mutex is locked.
- op_queue<operation> waiting_queue_;
-
- // The handlers that are ready to be run. Logically speaking, these are the
- // handlers that hold the strand's lock. The ready queue is only modified
- // from within the strand and so may be accessed without locking the mutex.
- op_queue<operation> ready_queue_;
- };
-
- typedef strand_impl* implementation_type;
-
- // Construct a new strand service for the specified io_context.
- BOOST_ASIO_DECL explicit strand_service(boost::asio::io_context& io_context);
-
- // Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL void shutdown();
-
- // Construct a new strand implementation.
- BOOST_ASIO_DECL void construct(implementation_type& impl);
-
- // Request the io_context to invoke the given handler.
- template <typename Handler>
- void dispatch(implementation_type& impl, Handler& handler);
-
- // Request the io_context to invoke the given handler and return immediately.
- template <typename Handler>
- void post(implementation_type& impl, Handler& handler);
-
- // Determine whether the strand is running in the current thread.
- BOOST_ASIO_DECL bool running_in_this_thread(
- const implementation_type& impl) const;
-
-private:
- // Helper function to dispatch a handler. Returns true if the handler should
- // be dispatched immediately.
- BOOST_ASIO_DECL bool do_dispatch(implementation_type& impl, operation* op);
-
- // Helper fiunction to post a handler.
- BOOST_ASIO_DECL void do_post(implementation_type& impl,
- operation* op, bool is_continuation);
-
- BOOST_ASIO_DECL static void do_complete(void* owner,
- operation* base, const boost::system::error_code& ec,
- std::size_t bytes_transferred);
-
- // The io_context implementation used to post completions.
- io_context_impl& io_context_;
-
- // Mutex to protect access to the array of implementations.
- boost::asio::detail::mutex mutex_;
-
- // Number of implementations shared between all strand objects.
-#if defined(BOOST_ASIO_STRAND_IMPLEMENTATIONS)
- enum { num_implementations = BOOST_ASIO_STRAND_IMPLEMENTATIONS };
-#else // defined(BOOST_ASIO_STRAND_IMPLEMENTATIONS)
- enum { num_implementations = 193 };
-#endif // defined(BOOST_ASIO_STRAND_IMPLEMENTATIONS)
-
- // Pool of implementations.
- scoped_ptr<strand_impl> implementations_[num_implementations];
-
- // Extra value used when hashing to prevent recycled memory locations from
- // getting the same strand implementation.
- std::size_t salt_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/detail/impl/strand_service.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/strand_service.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_DETAIL_STRAND_SERVICE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp
deleted file mode 100644
index 41810c6477..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// detail/thread.hpp
-// ~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_THREAD_HPP
-#define BOOST_ASIO_DETAIL_THREAD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-# include <boost/asio/detail/null_thread.hpp>
-#elif defined(BOOST_ASIO_WINDOWS)
-# if defined(UNDER_CE)
-# include <boost/asio/detail/wince_thread.hpp>
-# elif defined(BOOST_ASIO_WINDOWS_APP)
-# include <boost/asio/detail/winapp_thread.hpp>
-# else
-# include <boost/asio/detail/win_thread.hpp>
-# endif
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-# include <boost/asio/detail/posix_thread.hpp>
-#elif defined(BOOST_ASIO_HAS_STD_THREAD)
-# include <boost/asio/detail/std_thread.hpp>
-#else
-# error Only Windows, POSIX and std::thread are supported!
-#endif
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-typedef null_thread thread;
-#elif defined(BOOST_ASIO_WINDOWS)
-# if defined(UNDER_CE)
-typedef wince_thread thread;
-# elif defined(BOOST_ASIO_WINDOWS_APP)
-typedef winapp_thread thread;
-# else
-typedef win_thread thread;
-# endif
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-typedef posix_thread thread;
-#elif defined(BOOST_ASIO_HAS_STD_THREAD)
-typedef std_thread thread;
-#endif
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_THREAD_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp
deleted file mode 100644
index b4a2435f0f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_context.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// detail/thread_context.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_THREAD_CONTEXT_HPP
-#define BOOST_ASIO_DETAIL_THREAD_CONTEXT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <climits>
-#include <cstddef>
-#include <boost/asio/detail/call_stack.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class thread_info_base;
-
-// Base class for things that manage threads (scheduler, win_iocp_io_context).
-class thread_context
-{
-public:
- // Per-thread call stack to track the state of each thread in the context.
- typedef call_stack<thread_context, thread_info_base> thread_call_stack;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_THREAD_CONTEXT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp
deleted file mode 100644
index c9c194142f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_group.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-// detail/thread_group.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_THREAD_GROUP_HPP
-#define BOOST_ASIO_DETAIL_THREAD_GROUP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/scoped_ptr.hpp>
-#include <boost/asio/detail/thread.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class thread_group
-{
-public:
- // Constructor initialises an empty thread group.
- thread_group()
- : first_(0)
- {
- }
-
- // Destructor joins any remaining threads in the group.
- ~thread_group()
- {
- join();
- }
-
- // Create a new thread in the group.
- template <typename Function>
- void create_thread(Function f)
- {
- first_ = new item(f, first_);
- }
-
- // Create new threads in the group.
- template <typename Function>
- void create_threads(Function f, std::size_t num_threads)
- {
- for (std::size_t i = 0; i < num_threads; ++i)
- create_thread(f);
- }
-
- // Wait for all threads in the group to exit.
- void join()
- {
- while (first_)
- {
- first_->thread_.join();
- item* tmp = first_;
- first_ = first_->next_;
- delete tmp;
- }
- }
-
-private:
- // Structure used to track a single thread in the group.
- struct item
- {
- template <typename Function>
- explicit item(Function f, item* next)
- : thread_(f),
- next_(next)
- {
- }
-
- boost::asio::detail::thread thread_;
- item* next_;
- };
-
- // The first thread in the group.
- item* first_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#endif // BOOST_ASIO_DETAIL_THREAD_GROUP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp
deleted file mode 100644
index 16bb1787f3..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/thread_info_base.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-//
-// detail/thread_info_base.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_THREAD_INFO_BASE_HPP
-#define BOOST_ASIO_DETAIL_THREAD_INFO_BASE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <climits>
-#include <cstddef>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class thread_info_base
- : private noncopyable
-{
-public:
- struct default_tag
- {
- enum { mem_index = 0 };
- };
-
- struct awaitee_tag
- {
- enum { mem_index = 1 };
- };
-
- thread_info_base()
- {
- for (int i = 0; i < max_mem_index; ++i)
- reusable_memory_[i] = 0;
- }
-
- ~thread_info_base()
- {
- for (int i = 0; i < max_mem_index; ++i)
- if (reusable_memory_[i])
- ::operator delete(reusable_memory_[i]);
- }
-
- static void* allocate(thread_info_base* this_thread, std::size_t size)
- {
- return allocate(default_tag(), this_thread, size);
- }
-
- static void deallocate(thread_info_base* this_thread,
- void* pointer, std::size_t size)
- {
- deallocate(default_tag(), this_thread, pointer, size);
- }
-
- template <typename Purpose>
- static void* allocate(Purpose, thread_info_base* this_thread,
- std::size_t size)
- {
- std::size_t chunks = (size + chunk_size - 1) / chunk_size;
-
- if (this_thread && this_thread->reusable_memory_[Purpose::mem_index])
- {
- void* const pointer = this_thread->reusable_memory_[Purpose::mem_index];
- this_thread->reusable_memory_[Purpose::mem_index] = 0;
-
- unsigned char* const mem = static_cast<unsigned char*>(pointer);
- if (static_cast<std::size_t>(mem[0]) >= chunks)
- {
- mem[size] = mem[0];
- return pointer;
- }
-
- ::operator delete(pointer);
- }
-
- void* const pointer = ::operator new(chunks * chunk_size + 1);
- unsigned char* const mem = static_cast<unsigned char*>(pointer);
- mem[size] = (chunks <= UCHAR_MAX) ? static_cast<unsigned char>(chunks) : 0;
- return pointer;
- }
-
- template <typename Purpose>
- static void deallocate(Purpose, thread_info_base* this_thread,
- void* pointer, std::size_t size)
- {
- if (size <= chunk_size * UCHAR_MAX)
- {
- if (this_thread && this_thread->reusable_memory_[Purpose::mem_index] == 0)
- {
- unsigned char* const mem = static_cast<unsigned char*>(pointer);
- mem[0] = mem[size];
- this_thread->reusable_memory_[Purpose::mem_index] = pointer;
- return;
- }
- }
-
- ::operator delete(pointer);
- }
-
-private:
- enum { chunk_size = 4 };
- enum { max_mem_index = 2 };
- void* reusable_memory_[max_mem_index];
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_THREAD_INFO_BASE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp
deleted file mode 100644
index c1775b2536..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/throw_error.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// detail/throw_error.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_THROW_ERROR_HPP
-#define BOOST_ASIO_DETAIL_THROW_ERROR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/system/error_code.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-BOOST_ASIO_DECL void do_throw_error(const boost::system::error_code& err);
-
-BOOST_ASIO_DECL void do_throw_error(const boost::system::error_code& err,
- const char* location);
-
-inline void throw_error(const boost::system::error_code& err)
-{
- if (err)
- do_throw_error(err);
-}
-
-inline void throw_error(const boost::system::error_code& err,
- const char* location)
-{
- if (err)
- do_throw_error(err, location);
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/throw_error.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_DETAIL_THROW_ERROR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp
deleted file mode 100644
index f3a14238aa..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_base.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// detail/timer_queue_base.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_TIMER_QUEUE_BASE_HPP
-#define BOOST_ASIO_DETAIL_TIMER_QUEUE_BASE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/op_queue.hpp>
-#include <boost/asio/detail/operation.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class timer_queue_base
- : private noncopyable
-{
-public:
- // Constructor.
- timer_queue_base() : next_(0) {}
-
- // Destructor.
- virtual ~timer_queue_base() {}
-
- // Whether there are no timers in the queue.
- virtual bool empty() const = 0;
-
- // Get the time to wait until the next timer.
- virtual long wait_duration_msec(long max_duration) const = 0;
-
- // Get the time to wait until the next timer.
- virtual long wait_duration_usec(long max_duration) const = 0;
-
- // Dequeue all ready timers.
- virtual void get_ready_timers(op_queue<operation>& ops) = 0;
-
- // Dequeue all timers.
- virtual void get_all_timers(op_queue<operation>& ops) = 0;
-
-private:
- friend class timer_queue_set;
-
- // Next timer queue in the set.
- timer_queue_base* next_;
-};
-
-template <typename Time_Traits>
-class timer_queue;
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_TIMER_QUEUE_BASE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp
deleted file mode 100644
index 2bed122fc2..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/timer_queue_set.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//
-// detail/timer_queue_set.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_TIMER_QUEUE_SET_HPP
-#define BOOST_ASIO_DETAIL_TIMER_QUEUE_SET_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/timer_queue_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class timer_queue_set
-{
-public:
- // Constructor.
- BOOST_ASIO_DECL timer_queue_set();
-
- // Add a timer queue to the set.
- BOOST_ASIO_DECL void insert(timer_queue_base* q);
-
- // Remove a timer queue from the set.
- BOOST_ASIO_DECL void erase(timer_queue_base* q);
-
- // Determine whether all queues are empty.
- BOOST_ASIO_DECL bool all_empty() const;
-
- // Get the wait duration in milliseconds.
- BOOST_ASIO_DECL long wait_duration_msec(long max_duration) const;
-
- // Get the wait duration in microseconds.
- BOOST_ASIO_DECL long wait_duration_usec(long max_duration) const;
-
- // Dequeue all ready timers.
- BOOST_ASIO_DECL void get_ready_timers(op_queue<operation>& ops);
-
- // Dequeue all timers.
- BOOST_ASIO_DECL void get_all_timers(op_queue<operation>& ops);
-
-private:
- timer_queue_base* first_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/timer_queue_set.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_DETAIL_TIMER_QUEUE_SET_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp
deleted file mode 100644
index 7850718a3c..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/tss_ptr.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-// detail/tss_ptr.hpp
-// ~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_TSS_PTR_HPP
-#define BOOST_ASIO_DETAIL_TSS_PTR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_THREADS)
-# include <boost/asio/detail/null_tss_ptr.hpp>
-#elif defined(BOOST_ASIO_HAS_THREAD_KEYWORD_EXTENSION)
-# include <boost/asio/detail/keyword_tss_ptr.hpp>
-#elif defined(BOOST_ASIO_WINDOWS)
-# include <boost/asio/detail/win_tss_ptr.hpp>
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
-# include <boost/asio/detail/posix_tss_ptr.hpp>
-#else
-# error Only Windows and POSIX are supported!
-#endif
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename T>
-class tss_ptr
-#if !defined(BOOST_ASIO_HAS_THREADS)
- : public null_tss_ptr<T>
-#elif defined(BOOST_ASIO_HAS_THREAD_KEYWORD_EXTENSION)
- : public keyword_tss_ptr<T>
-#elif defined(BOOST_ASIO_WINDOWS)
- : public win_tss_ptr<T>
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
- : public posix_tss_ptr<T>
-#endif
-{
-public:
- void operator=(T* value)
- {
-#if !defined(BOOST_ASIO_HAS_THREADS)
- null_tss_ptr<T>::operator=(value);
-#elif defined(BOOST_ASIO_HAS_THREAD_KEYWORD_EXTENSION)
- keyword_tss_ptr<T>::operator=(value);
-#elif defined(BOOST_ASIO_WINDOWS)
- win_tss_ptr<T>::operator=(value);
-#elif defined(BOOST_ASIO_HAS_PTHREADS)
- posix_tss_ptr<T>::operator=(value);
-#endif
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_TSS_PTR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp
deleted file mode 100644
index c358feec18..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/variadic_templates.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-//
-// detail/variadic_templates.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_VARIADIC_TEMPLATES_HPP
-#define BOOST_ASIO_DETAIL_VARIADIC_TEMPLATES_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
-
-# define BOOST_ASIO_VARIADIC_TPARAMS(n) BOOST_ASIO_VARIADIC_TPARAMS_##n
-
-# define BOOST_ASIO_VARIADIC_TPARAMS_1 \
- typename T1
-# define BOOST_ASIO_VARIADIC_TPARAMS_2 \
- typename T1, typename T2
-# define BOOST_ASIO_VARIADIC_TPARAMS_3 \
- typename T1, typename T2, typename T3
-# define BOOST_ASIO_VARIADIC_TPARAMS_4 \
- typename T1, typename T2, typename T3, typename T4
-# define BOOST_ASIO_VARIADIC_TPARAMS_5 \
- typename T1, typename T2, typename T3, typename T4, typename T5
-
-# define BOOST_ASIO_VARIADIC_TARGS(n) BOOST_ASIO_VARIADIC_TARGS_##n
-
-# define BOOST_ASIO_VARIADIC_TARGS_1 T1
-# define BOOST_ASIO_VARIADIC_TARGS_2 T1, T2
-# define BOOST_ASIO_VARIADIC_TARGS_3 T1, T2, T3
-# define BOOST_ASIO_VARIADIC_TARGS_4 T1, T2, T3, T4
-# define BOOST_ASIO_VARIADIC_TARGS_5 T1, T2, T3, T4, T5
-
-# define BOOST_ASIO_VARIADIC_BYVAL_PARAMS(n) \
- BOOST_ASIO_VARIADIC_BYVAL_PARAMS_##n
-
-# define BOOST_ASIO_VARIADIC_BYVAL_PARAMS_1 T1 x1
-# define BOOST_ASIO_VARIADIC_BYVAL_PARAMS_2 T1 x1, T2 x2
-# define BOOST_ASIO_VARIADIC_BYVAL_PARAMS_3 T1 x1, T2 x2, T3 x3
-# define BOOST_ASIO_VARIADIC_BYVAL_PARAMS_4 T1 x1, T2 x2, T3 x3, T4 x4
-# define BOOST_ASIO_VARIADIC_BYVAL_PARAMS_5 T1 x1, T2 x2, T3 x3, T4 x4, T5 x5
-
-# define BOOST_ASIO_VARIADIC_BYVAL_ARGS(n) \
- BOOST_ASIO_VARIADIC_BYVAL_ARGS_##n
-
-# define BOOST_ASIO_VARIADIC_BYVAL_ARGS_1 x1
-# define BOOST_ASIO_VARIADIC_BYVAL_ARGS_2 x1, x2
-# define BOOST_ASIO_VARIADIC_BYVAL_ARGS_3 x1, x2, x3
-# define BOOST_ASIO_VARIADIC_BYVAL_ARGS_4 x1, x2, x3, x4
-# define BOOST_ASIO_VARIADIC_BYVAL_ARGS_5 x1, x2, x3, x4, x5
-
-# define BOOST_ASIO_VARIADIC_MOVE_PARAMS(n) \
- BOOST_ASIO_VARIADIC_MOVE_PARAMS_##n
-
-# define BOOST_ASIO_VARIADIC_MOVE_PARAMS_1 \
- BOOST_ASIO_MOVE_ARG(T1) x1
-# define BOOST_ASIO_VARIADIC_MOVE_PARAMS_2 \
- BOOST_ASIO_MOVE_ARG(T1) x1, BOOST_ASIO_MOVE_ARG(T2) x2
-# define BOOST_ASIO_VARIADIC_MOVE_PARAMS_3 \
- BOOST_ASIO_MOVE_ARG(T1) x1, BOOST_ASIO_MOVE_ARG(T2) x2, \
- BOOST_ASIO_MOVE_ARG(T3) x3
-# define BOOST_ASIO_VARIADIC_MOVE_PARAMS_4 \
- BOOST_ASIO_MOVE_ARG(T1) x1, BOOST_ASIO_MOVE_ARG(T2) x2, \
- BOOST_ASIO_MOVE_ARG(T3) x3, BOOST_ASIO_MOVE_ARG(T4) x4
-# define BOOST_ASIO_VARIADIC_MOVE_PARAMS_5 \
- BOOST_ASIO_MOVE_ARG(T1) x1, BOOST_ASIO_MOVE_ARG(T2) x2, \
- BOOST_ASIO_MOVE_ARG(T3) x3, BOOST_ASIO_MOVE_ARG(T4) x4, \
- BOOST_ASIO_MOVE_ARG(T5) x5
-
-# define BOOST_ASIO_VARIADIC_MOVE_ARGS(n) \
- BOOST_ASIO_VARIADIC_MOVE_ARGS_##n
-
-# define BOOST_ASIO_VARIADIC_MOVE_ARGS_1 \
- BOOST_ASIO_MOVE_CAST(T1)(x1)
-# define BOOST_ASIO_VARIADIC_MOVE_ARGS_2 \
- BOOST_ASIO_MOVE_CAST(T1)(x1), BOOST_ASIO_MOVE_CAST(T2)(x2)
-# define BOOST_ASIO_VARIADIC_MOVE_ARGS_3 \
- BOOST_ASIO_MOVE_CAST(T1)(x1), BOOST_ASIO_MOVE_CAST(T2)(x2), \
- BOOST_ASIO_MOVE_CAST(T3)(x3)
-# define BOOST_ASIO_VARIADIC_MOVE_ARGS_4 \
- BOOST_ASIO_MOVE_CAST(T1)(x1), BOOST_ASIO_MOVE_CAST(T2)(x2), \
- BOOST_ASIO_MOVE_CAST(T3)(x3), BOOST_ASIO_MOVE_CAST(T4)(x4)
-# define BOOST_ASIO_VARIADIC_MOVE_ARGS_5 \
- BOOST_ASIO_MOVE_CAST(T1)(x1), BOOST_ASIO_MOVE_CAST(T2)(x2), \
- BOOST_ASIO_MOVE_CAST(T3)(x3), BOOST_ASIO_MOVE_CAST(T4)(x4), \
- BOOST_ASIO_MOVE_CAST(T5)(x5)
-
-# define BOOST_ASIO_VARIADIC_DECAY(n) \
- BOOST_ASIO_VARIADIC_DECAY_##n
-
-# define BOOST_ASIO_VARIADIC_DECAY_1 \
- typename decay<T1>::type
-# define BOOST_ASIO_VARIADIC_DECAY_2 \
- typename decay<T1>::type, typename decay<T2>::type
-# define BOOST_ASIO_VARIADIC_DECAY_3 \
- typename decay<T1>::type, typename decay<T2>::type, \
- typename decay<T3>::type
-# define BOOST_ASIO_VARIADIC_DECAY_4 \
- typename decay<T1>::type, typename decay<T2>::type, \
- typename decay<T3>::type, typename decay<T4>::type
-# define BOOST_ASIO_VARIADIC_DECAY_5 \
- typename decay<T1>::type, typename decay<T2>::type, \
- typename decay<T3>::type, typename decay<T4>::type, \
- typename decay<T5>::type
-
-# define BOOST_ASIO_VARIADIC_GENERATE(m) m(1) m(2) m(3) m(4) m(5)
-
-#endif // !defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
-
-#endif // BOOST_ASIO_DETAIL_VARIADIC_TEMPLATES_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp
deleted file mode 100644
index 3a95a37580..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/wait_op.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// detail/wait_op.hpp
-// ~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WAIT_OP_HPP
-#define BOOST_ASIO_DETAIL_WAIT_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/operation.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class wait_op
- : public operation
-{
-public:
- // The error code to be passed to the completion handler.
- boost::system::error_code ec_;
-
-protected:
- wait_op(func_type func)
- : operation(func)
- {
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_WAIT_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp
deleted file mode 100644
index 67edbcfb89..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_event.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-//
-// detail/win_event.hpp
-// ~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_EVENT_HPP
-#define BOOST_ASIO_DETAIL_WIN_EVENT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS)
-
-#include <boost/asio/detail/assert.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class win_event
- : private noncopyable
-{
-public:
- // Constructor.
- BOOST_ASIO_DECL win_event();
-
- // Destructor.
- BOOST_ASIO_DECL ~win_event();
-
- // Signal the event. (Retained for backward compatibility.)
- template <typename Lock>
- void signal(Lock& lock)
- {
- this->signal_all(lock);
- }
-
- // Signal all waiters.
- template <typename Lock>
- void signal_all(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- (void)lock;
- state_ |= 1;
- ::SetEvent(events_[0]);
- }
-
- // Unlock the mutex and signal one waiter.
- template <typename Lock>
- void unlock_and_signal_one(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- state_ |= 1;
- bool have_waiters = (state_ > 1);
- lock.unlock();
- if (have_waiters)
- ::SetEvent(events_[1]);
- }
-
- // If there's a waiter, unlock the mutex and signal it.
- template <typename Lock>
- bool maybe_unlock_and_signal_one(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- state_ |= 1;
- if (state_ > 1)
- {
- lock.unlock();
- ::SetEvent(events_[1]);
- return true;
- }
- return false;
- }
-
- // Reset the event.
- template <typename Lock>
- void clear(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- (void)lock;
- ::ResetEvent(events_[0]);
- state_ &= ~std::size_t(1);
- }
-
- // Wait for the event to become signalled.
- template <typename Lock>
- void wait(Lock& lock)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- while ((state_ & 1) == 0)
- {
- state_ += 2;
- lock.unlock();
-#if defined(BOOST_ASIO_WINDOWS_APP)
- ::WaitForMultipleObjectsEx(2, events_, false, INFINITE, false);
-#else // defined(BOOST_ASIO_WINDOWS_APP)
- ::WaitForMultipleObjects(2, events_, false, INFINITE);
-#endif // defined(BOOST_ASIO_WINDOWS_APP)
- lock.lock();
- state_ -= 2;
- }
- }
-
- // Timed wait for the event to become signalled.
- template <typename Lock>
- bool wait_for_usec(Lock& lock, long usec)
- {
- BOOST_ASIO_ASSERT(lock.locked());
- if ((state_ & 1) == 0)
- {
- state_ += 2;
- lock.unlock();
- DWORD msec = usec > 0 ? (usec < 1000 ? 1 : usec / 1000) : 0;
-#if defined(BOOST_ASIO_WINDOWS_APP)
- ::WaitForMultipleObjectsEx(2, events_, false, msec, false);
-#else // defined(BOOST_ASIO_WINDOWS_APP)
- ::WaitForMultipleObjects(2, events_, false, msec);
-#endif // defined(BOOST_ASIO_WINDOWS_APP)
- lock.lock();
- state_ -= 2;
- }
- return (state_ & 1) != 0;
- }
-
-private:
- HANDLE events_[2];
- std::size_t state_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/win_event.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_WINDOWS)
-
-#endif // BOOST_ASIO_DETAIL_WIN_EVENT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp
deleted file mode 100644
index bdddb32a9d..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fd_set_adapter.hpp
+++ /dev/null
@@ -1,151 +0,0 @@
-//
-// detail/win_fd_set_adapter.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_FD_SET_ADAPTER_HPP
-#define BOOST_ASIO_DETAIL_WIN_FD_SET_ADAPTER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/reactor_op_queue.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Adapts the FD_SET type to meet the Descriptor_Set concept's requirements.
-class win_fd_set_adapter : noncopyable
-{
-public:
- enum { default_fd_set_size = 1024 };
-
- win_fd_set_adapter()
- : capacity_(default_fd_set_size),
- max_descriptor_(invalid_socket)
- {
- fd_set_ = static_cast<win_fd_set*>(::operator new(
- sizeof(win_fd_set) - sizeof(SOCKET)
- + sizeof(SOCKET) * (capacity_)));
- fd_set_->fd_count = 0;
- }
-
- ~win_fd_set_adapter()
- {
- ::operator delete(fd_set_);
- }
-
- void reset()
- {
- fd_set_->fd_count = 0;
- max_descriptor_ = invalid_socket;
- }
-
- bool set(socket_type descriptor)
- {
- for (u_int i = 0; i < fd_set_->fd_count; ++i)
- if (fd_set_->fd_array[i] == descriptor)
- return true;
-
- reserve(fd_set_->fd_count + 1);
- fd_set_->fd_array[fd_set_->fd_count++] = descriptor;
- return true;
- }
-
- void set(reactor_op_queue<socket_type>& operations, op_queue<operation>&)
- {
- reactor_op_queue<socket_type>::iterator i = operations.begin();
- while (i != operations.end())
- {
- reactor_op_queue<socket_type>::iterator op_iter = i++;
- reserve(fd_set_->fd_count + 1);
- fd_set_->fd_array[fd_set_->fd_count++] = op_iter->first;
- }
- }
-
- bool is_set(socket_type descriptor) const
- {
- return !!__WSAFDIsSet(descriptor,
- const_cast<fd_set*>(reinterpret_cast<const fd_set*>(fd_set_)));
- }
-
- operator fd_set*()
- {
- return reinterpret_cast<fd_set*>(fd_set_);
- }
-
- socket_type max_descriptor() const
- {
- return max_descriptor_;
- }
-
- void perform(reactor_op_queue<socket_type>& operations,
- op_queue<operation>& ops) const
- {
- for (u_int i = 0; i < fd_set_->fd_count; ++i)
- operations.perform_operations(fd_set_->fd_array[i], ops);
- }
-
-private:
- // This structure is defined to be compatible with the Windows API fd_set
- // structure, but without being dependent on the value of FD_SETSIZE. We use
- // the "struct hack" to allow the number of descriptors to be varied at
- // runtime.
- struct win_fd_set
- {
- u_int fd_count;
- SOCKET fd_array[1];
- };
-
- // Increase the fd_set_ capacity to at least the specified number of elements.
- void reserve(u_int n)
- {
- if (n <= capacity_)
- return;
-
- u_int new_capacity = capacity_ + capacity_ / 2;
- if (new_capacity < n)
- new_capacity = n;
-
- win_fd_set* new_fd_set = static_cast<win_fd_set*>(::operator new(
- sizeof(win_fd_set) - sizeof(SOCKET)
- + sizeof(SOCKET) * (new_capacity)));
-
- new_fd_set->fd_count = fd_set_->fd_count;
- for (u_int i = 0; i < fd_set_->fd_count; ++i)
- new_fd_set->fd_array[i] = fd_set_->fd_array[i];
-
- ::operator delete(fd_set_);
- fd_set_ = new_fd_set;
- capacity_ = new_capacity;
- }
-
- win_fd_set* fd_set_;
- u_int capacity_;
- socket_type max_descriptor_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-#endif // BOOST_ASIO_DETAIL_WIN_FD_SET_ADAPTER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp
deleted file mode 100644
index c595eaa00f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_fenced_block.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-//
-// detail/win_fenced_block.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_FENCED_BLOCK_HPP
-#define BOOST_ASIO_DETAIL_WIN_FENCED_BLOCK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS) && !defined(UNDER_CE)
-
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class win_fenced_block
- : private noncopyable
-{
-public:
- enum half_t { half };
- enum full_t { full };
-
- // Constructor for a half fenced block.
- explicit win_fenced_block(half_t)
- {
- }
-
- // Constructor for a full fenced block.
- explicit win_fenced_block(full_t)
- {
-#if defined(__BORLANDC__)
- LONG barrier = 0;
- ::InterlockedExchange(&barrier, 1);
-#elif defined(BOOST_ASIO_MSVC) \
- && ((BOOST_ASIO_MSVC < 1400) || !defined(MemoryBarrier))
-# if defined(_M_IX86)
-# pragma warning(push)
-# pragma warning(disable:4793)
- LONG barrier;
- __asm { xchg barrier, eax }
-# pragma warning(pop)
-# endif // defined(_M_IX86)
-#else
- MemoryBarrier();
-#endif
- }
-
- // Destructor.
- ~win_fenced_block()
- {
-#if defined(__BORLANDC__)
- LONG barrier = 0;
- ::InterlockedExchange(&barrier, 1);
-#elif defined(BOOST_ASIO_MSVC) \
- && ((BOOST_ASIO_MSVC < 1400) || !defined(MemoryBarrier))
-# if defined(_M_IX86)
-# pragma warning(push)
-# pragma warning(disable:4793)
- LONG barrier;
- __asm { xchg barrier, eax }
-# pragma warning(pop)
-# endif // defined(_M_IX86)
-#else
- MemoryBarrier();
-#endif
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS) && !defined(UNDER_CE)
-
-#endif // BOOST_ASIO_DETAIL_WIN_FENCED_BLOCK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp
deleted file mode 100644
index 4234a6d4e0..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_global.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// detail/win_global.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_GLOBAL_HPP
-#define BOOST_ASIO_DETAIL_WIN_GLOBAL_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/static_mutex.hpp>
-#include <boost/asio/detail/tss_ptr.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename T>
-struct win_global_impl
-{
- // Destructor automatically cleans up the global.
- ~win_global_impl()
- {
- delete ptr_;
- }
-
- static win_global_impl instance_;
- static static_mutex mutex_;
- static T* ptr_;
- static tss_ptr<T> tss_ptr_;
-};
-
-template <typename T>
-win_global_impl<T> win_global_impl<T>::instance_ = { 0 };
-
-template <typename T>
-static_mutex win_global_impl<T>::mutex_ = BOOST_ASIO_STATIC_MUTEX_INIT;
-
-template <typename T>
-T* win_global_impl<T>::ptr_ = 0;
-
-template <typename T>
-tss_ptr<T> win_global_impl<T>::tss_ptr_;
-
-template <typename T>
-T& win_global()
-{
- if (static_cast<T*>(win_global_impl<T>::tss_ptr_) == 0)
- {
- win_global_impl<T>::mutex_.init();
- static_mutex::scoped_lock lock(win_global_impl<T>::mutex_);
- win_global_impl<T>::ptr_ = new T;
- win_global_impl<T>::tss_ptr_ = win_global_impl<T>::ptr_;
- }
-
- return *win_global_impl<T>::tss_ptr_;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_WIN_GLOBAL_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp
deleted file mode 100644
index 1ccdf35f65..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_io_context.hpp
+++ /dev/null
@@ -1,330 +0,0 @@
-//
-// detail/win_iocp_io_context.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_IO_CONTEXT_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_IO_CONTEXT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/limits.hpp>
-#include <boost/asio/detail/mutex.hpp>
-#include <boost/asio/detail/op_queue.hpp>
-#include <boost/asio/detail/scoped_ptr.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/thread.hpp>
-#include <boost/asio/detail/thread_context.hpp>
-#include <boost/asio/detail/timer_queue_base.hpp>
-#include <boost/asio/detail/timer_queue_set.hpp>
-#include <boost/asio/detail/wait_op.hpp>
-#include <boost/asio/detail/win_iocp_operation.hpp>
-#include <boost/asio/detail/win_iocp_thread_info.hpp>
-#include <boost/asio/execution_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class wait_op;
-
-class win_iocp_io_context
- : public execution_context_service_base<win_iocp_io_context>,
- public thread_context
-{
-public:
- // Constructor. Specifies a concurrency hint that is passed through to the
- // underlying I/O completion port.
- BOOST_ASIO_DECL win_iocp_io_context(boost::asio::execution_context& ctx,
- int concurrency_hint = -1);
-
- // Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL void shutdown();
-
- // Initialise the task. Nothing to do here.
- void init_task()
- {
- }
-
- // Register a handle with the IO completion port.
- BOOST_ASIO_DECL boost::system::error_code register_handle(
- HANDLE handle, boost::system::error_code& ec);
-
- // Run the event loop until stopped or no more work.
- BOOST_ASIO_DECL size_t run(boost::system::error_code& ec);
-
- // Run until stopped or one operation is performed.
- BOOST_ASIO_DECL size_t run_one(boost::system::error_code& ec);
-
- // Run until timeout, interrupted, or one operation is performed.
- BOOST_ASIO_DECL size_t wait_one(long usec, boost::system::error_code& ec);
-
- // Poll for operations without blocking.
- BOOST_ASIO_DECL size_t poll(boost::system::error_code& ec);
-
- // Poll for one operation without blocking.
- BOOST_ASIO_DECL size_t poll_one(boost::system::error_code& ec);
-
- // Stop the event processing loop.
- BOOST_ASIO_DECL void stop();
-
- // Determine whether the io_context is stopped.
- bool stopped() const
- {
- return ::InterlockedExchangeAdd(&stopped_, 0) != 0;
- }
-
- // Restart in preparation for a subsequent run invocation.
- void restart()
- {
- ::InterlockedExchange(&stopped_, 0);
- }
-
- // Notify that some work has started.
- void work_started()
- {
- ::InterlockedIncrement(&outstanding_work_);
- }
-
- // Notify that some work has finished.
- void work_finished()
- {
- if (::InterlockedDecrement(&outstanding_work_) == 0)
- stop();
- }
-
- // Return whether a handler can be dispatched immediately.
- bool can_dispatch()
- {
- return thread_call_stack::contains(this) != 0;
- }
-
- // Request invocation of the given operation and return immediately. Assumes
- // that work_started() has not yet been called for the operation.
- void post_immediate_completion(win_iocp_operation* op, bool)
- {
- work_started();
- post_deferred_completion(op);
- }
-
- // Request invocation of the given operation and return immediately. Assumes
- // that work_started() was previously called for the operation.
- BOOST_ASIO_DECL void post_deferred_completion(win_iocp_operation* op);
-
- // Request invocation of the given operation and return immediately. Assumes
- // that work_started() was previously called for the operations.
- BOOST_ASIO_DECL void post_deferred_completions(
- op_queue<win_iocp_operation>& ops);
-
- // Request invocation of the given operation using the thread-private queue
- // and return immediately. Assumes that work_started() has not yet been
- // called for the operation.
- void post_private_immediate_completion(win_iocp_operation* op)
- {
- post_immediate_completion(op, false);
- }
-
- // Request invocation of the given operation using the thread-private queue
- // and return immediately. Assumes that work_started() was previously called
- // for the operation.
- void post_private_deferred_completion(win_iocp_operation* op)
- {
- post_deferred_completion(op);
- }
-
- // Enqueue the given operation following a failed attempt to dispatch the
- // operation for immediate invocation.
- void do_dispatch(operation* op)
- {
- post_immediate_completion(op, false);
- }
-
- // Process unfinished operations as part of a shutdown operation. Assumes
- // that work_started() was previously called for the operations.
- BOOST_ASIO_DECL void abandon_operations(op_queue<operation>& ops);
-
- // Called after starting an overlapped I/O operation that did not complete
- // immediately. The caller must have already called work_started() prior to
- // starting the operation.
- BOOST_ASIO_DECL void on_pending(win_iocp_operation* op);
-
- // Called after starting an overlapped I/O operation that completed
- // immediately. The caller must have already called work_started() prior to
- // starting the operation.
- BOOST_ASIO_DECL void on_completion(win_iocp_operation* op,
- DWORD last_error = 0, DWORD bytes_transferred = 0);
-
- // Called after starting an overlapped I/O operation that completed
- // immediately. The caller must have already called work_started() prior to
- // starting the operation.
- BOOST_ASIO_DECL void on_completion(win_iocp_operation* op,
- const boost::system::error_code& ec, DWORD bytes_transferred = 0);
-
- // Add a new timer queue to the service.
- template <typename Time_Traits>
- void add_timer_queue(timer_queue<Time_Traits>& timer_queue);
-
- // Remove a timer queue from the service.
- template <typename Time_Traits>
- void remove_timer_queue(timer_queue<Time_Traits>& timer_queue);
-
- // Schedule a new operation in the given timer queue to expire at the
- // specified absolute time.
- template <typename Time_Traits>
- void schedule_timer(timer_queue<Time_Traits>& queue,
- const typename Time_Traits::time_type& time,
- typename timer_queue<Time_Traits>::per_timer_data& timer, wait_op* op);
-
- // Cancel the timer associated with the given token. Returns the number of
- // handlers that have been posted or dispatched.
- template <typename Time_Traits>
- std::size_t cancel_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& timer,
- std::size_t max_cancelled = (std::numeric_limits<std::size_t>::max)());
-
- // Move the timer operations associated with the given timer.
- template <typename Time_Traits>
- void move_timer(timer_queue<Time_Traits>& queue,
- typename timer_queue<Time_Traits>::per_timer_data& to,
- typename timer_queue<Time_Traits>::per_timer_data& from);
-
- // Get the concurrency hint that was used to initialise the io_context.
- int concurrency_hint() const
- {
- return concurrency_hint_;
- }
-
-private:
-#if defined(WINVER) && (WINVER < 0x0500)
- typedef DWORD dword_ptr_t;
- typedef ULONG ulong_ptr_t;
-#else // defined(WINVER) && (WINVER < 0x0500)
- typedef DWORD_PTR dword_ptr_t;
- typedef ULONG_PTR ulong_ptr_t;
-#endif // defined(WINVER) && (WINVER < 0x0500)
-
- // Dequeues at most one operation from the I/O completion port, and then
- // executes it. Returns the number of operations that were dequeued (i.e.
- // either 0 or 1).
- BOOST_ASIO_DECL size_t do_one(DWORD msec, boost::system::error_code& ec);
-
- // Helper to calculate the GetQueuedCompletionStatus timeout.
- BOOST_ASIO_DECL static DWORD get_gqcs_timeout();
-
- // Helper function to add a new timer queue.
- BOOST_ASIO_DECL void do_add_timer_queue(timer_queue_base& queue);
-
- // Helper function to remove a timer queue.
- BOOST_ASIO_DECL void do_remove_timer_queue(timer_queue_base& queue);
-
- // Called to recalculate and update the timeout.
- BOOST_ASIO_DECL void update_timeout();
-
- // Helper class to call work_finished() on block exit.
- struct work_finished_on_block_exit;
-
- // Helper class for managing a HANDLE.
- struct auto_handle
- {
- HANDLE handle;
- auto_handle() : handle(0) {}
- ~auto_handle() { if (handle) ::CloseHandle(handle); }
- };
-
- // The IO completion port used for queueing operations.
- auto_handle iocp_;
-
- // The count of unfinished work.
- long outstanding_work_;
-
- // Flag to indicate whether the event loop has been stopped.
- mutable long stopped_;
-
- // Flag to indicate whether there is an in-flight stop event. Every event
- // posted using PostQueuedCompletionStatus consumes non-paged pool, so to
- // avoid exhausting this resouce we limit the number of outstanding events.
- long stop_event_posted_;
-
- // Flag to indicate whether the service has been shut down.
- long shutdown_;
-
- enum
- {
- // Timeout to use with GetQueuedCompletionStatus on older versions of
- // Windows. Some versions of windows have a "bug" where a call to
- // GetQueuedCompletionStatus can appear stuck even though there are events
- // waiting on the queue. Using a timeout helps to work around the issue.
- default_gqcs_timeout = 500,
-
- // Maximum waitable timer timeout, in milliseconds.
- max_timeout_msec = 5 * 60 * 1000,
-
- // Maximum waitable timer timeout, in microseconds.
- max_timeout_usec = max_timeout_msec * 1000,
-
- // Completion key value used to wake up a thread to dispatch timers or
- // completed operations.
- wake_for_dispatch = 1,
-
- // Completion key value to indicate that an operation has posted with the
- // original last_error and bytes_transferred values stored in the fields of
- // the OVERLAPPED structure.
- overlapped_contains_result = 2
- };
-
- // Timeout to use with GetQueuedCompletionStatus.
- const DWORD gqcs_timeout_;
-
- // Function object for processing timeouts in a background thread.
- struct timer_thread_function;
- friend struct timer_thread_function;
-
- // Background thread used for processing timeouts.
- scoped_ptr<thread> timer_thread_;
-
- // A waitable timer object used for waiting for timeouts.
- auto_handle waitable_timer_;
-
- // Non-zero if timers or completed operations need to be dispatched.
- long dispatch_required_;
-
- // Mutex for protecting access to the timer queues and completed operations.
- mutex dispatch_mutex_;
-
- // The timer queues.
- timer_queue_set timer_queues_;
-
- // The operations that are ready to dispatch.
- op_queue<win_iocp_operation> completed_ops_;
-
- // The concurrency hint used to initialise the io_context.
- const int concurrency_hint_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/detail/impl/win_iocp_io_context.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/win_iocp_io_context.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_IO_CONTEXT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp
deleted file mode 100644
index 106bedeba0..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_null_buffers_op.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-//
-// detail/win_iocp_null_buffers_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_NULL_BUFFERS_OP_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_NULL_BUFFERS_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Handler>
-class win_iocp_null_buffers_op : public reactor_op
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(win_iocp_null_buffers_op);
-
- win_iocp_null_buffers_op(socket_ops::weak_cancel_token_type cancel_token,
- Handler& handler)
- : reactor_op(&win_iocp_null_buffers_op::do_perform,
- &win_iocp_null_buffers_op::do_complete),
- cancel_token_(cancel_token),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static status do_perform(reactor_op*)
- {
- return done;
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& result_ec,
- std::size_t bytes_transferred)
- {
- boost::system::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_null_buffers_op* o(static_cast<win_iocp_null_buffers_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // The reactor may have stored a result in the operation object.
- if (o->ec_)
- ec = o->ec_;
-
- // Map non-portable errors to their portable counterparts.
- if (ec.value() == ERROR_NETNAME_DELETED)
- {
- if (o->cancel_token_.expired())
- ec = boost::asio::error::operation_aborted;
- else
- ec = boost::asio::error::connection_reset;
- }
- else if (ec.value() == ERROR_PORT_UNREACHABLE)
- {
- ec = boost::asio::error::connection_refused;
- }
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, ec, bytes_transferred);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- socket_ops::weak_cancel_token_type cancel_token_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_NULL_BUFFERS_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp
deleted file mode 100644
index 11111f3150..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_operation.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-//
-// detail/win_iocp_operation.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_OPERATION_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_OPERATION_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/handler_tracking.hpp>
-#include <boost/asio/detail/op_queue.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/system/error_code.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class win_iocp_io_context;
-
-// Base class for all operations. A function pointer is used instead of virtual
-// functions to avoid the associated overhead.
-class win_iocp_operation
- : public OVERLAPPED
- BOOST_ASIO_ALSO_INHERIT_TRACKED_HANDLER
-{
-public:
- typedef win_iocp_operation operation_type;
-
- void complete(void* owner, const boost::system::error_code& ec,
- std::size_t bytes_transferred)
- {
- func_(owner, this, ec, bytes_transferred);
- }
-
- void destroy()
- {
- func_(0, this, boost::system::error_code(), 0);
- }
-
-protected:
- typedef void (*func_type)(
- void*, win_iocp_operation*,
- const boost::system::error_code&, std::size_t);
-
- win_iocp_operation(func_type func)
- : next_(0),
- func_(func)
- {
- reset();
- }
-
- // Prevents deletion through this type.
- ~win_iocp_operation()
- {
- }
-
- void reset()
- {
- Internal = 0;
- InternalHigh = 0;
- Offset = 0;
- OffsetHigh = 0;
- hEvent = 0;
- ready_ = 0;
- }
-
-private:
- friend class op_queue_access;
- friend class win_iocp_io_context;
- win_iocp_operation* next_;
- func_type func_;
- long ready_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_OPERATION_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp
deleted file mode 100644
index 8e1b7fc93a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_accept_op.hpp
+++ /dev/null
@@ -1,299 +0,0 @@
-//
-// detail/win_iocp_socket_accept_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_ACCEPT_OP_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_ACCEPT_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/operation.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/win_iocp_socket_service_base.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Socket, typename Protocol, typename Handler>
-class win_iocp_socket_accept_op : public operation
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_accept_op);
-
- win_iocp_socket_accept_op(win_iocp_socket_service_base& socket_service,
- socket_type socket, Socket& peer, const Protocol& protocol,
- typename Protocol::endpoint* peer_endpoint,
- bool enable_connection_aborted, Handler& handler)
- : operation(&win_iocp_socket_accept_op::do_complete),
- socket_service_(socket_service),
- socket_(socket),
- peer_(peer),
- protocol_(protocol),
- peer_endpoint_(peer_endpoint),
- enable_connection_aborted_(enable_connection_aborted),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- socket_holder& new_socket()
- {
- return new_socket_;
- }
-
- void* output_buffer()
- {
- return output_buffer_;
- }
-
- DWORD address_length()
- {
- return sizeof(sockaddr_storage_type) + 16;
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& result_ec,
- std::size_t /*bytes_transferred*/)
- {
- boost::system::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_accept_op* o(static_cast<win_iocp_socket_accept_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- if (owner)
- {
- typename Protocol::endpoint peer_endpoint;
- std::size_t addr_len = peer_endpoint.capacity();
- socket_ops::complete_iocp_accept(o->socket_,
- o->output_buffer(), o->address_length(),
- peer_endpoint.data(), &addr_len,
- o->new_socket_.get(), ec);
-
- // Restart the accept operation if we got the connection_aborted error
- // and the enable_connection_aborted socket option is not set.
- if (ec == boost::asio::error::connection_aborted
- && !o->enable_connection_aborted_)
- {
- o->reset();
- o->socket_service_.restart_accept_op(o->socket_,
- o->new_socket_, o->protocol_.family(),
- o->protocol_.type(), o->protocol_.protocol(),
- o->output_buffer(), o->address_length(), o);
- p.v = p.p = 0;
- return;
- }
-
- // If the socket was successfully accepted, transfer ownership of the
- // socket to the peer object.
- if (!ec)
- {
- o->peer_.assign(o->protocol_,
- typename Socket::native_handle_type(
- o->new_socket_.get(), peer_endpoint), ec);
- if (!ec)
- o->new_socket_.release();
- }
-
- // Pass endpoint back to caller.
- if (o->peer_endpoint_)
- *o->peer_endpoint_ = peer_endpoint;
- }
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder1<Handler, boost::system::error_code>
- handler(o->handler_, ec);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- win_iocp_socket_service_base& socket_service_;
- socket_type socket_;
- socket_holder new_socket_;
- Socket& peer_;
- Protocol protocol_;
- typename Protocol::endpoint* peer_endpoint_;
- unsigned char output_buffer_[(sizeof(sockaddr_storage_type) + 16) * 2];
- bool enable_connection_aborted_;
- Handler handler_;
-};
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-
-template <typename Protocol, typename Handler>
-class win_iocp_socket_move_accept_op : public operation
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_move_accept_op);
-
- win_iocp_socket_move_accept_op(
- win_iocp_socket_service_base& socket_service, socket_type socket,
- const Protocol& protocol, boost::asio::io_context& peer_io_context,
- typename Protocol::endpoint* peer_endpoint,
- bool enable_connection_aborted, Handler& handler)
- : operation(&win_iocp_socket_move_accept_op::do_complete),
- socket_service_(socket_service),
- socket_(socket),
- peer_(peer_io_context),
- protocol_(protocol),
- peer_endpoint_(peer_endpoint),
- enable_connection_aborted_(enable_connection_aborted),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- socket_holder& new_socket()
- {
- return new_socket_;
- }
-
- void* output_buffer()
- {
- return output_buffer_;
- }
-
- DWORD address_length()
- {
- return sizeof(sockaddr_storage_type) + 16;
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& result_ec,
- std::size_t /*bytes_transferred*/)
- {
- boost::system::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_move_accept_op* o(
- static_cast<win_iocp_socket_move_accept_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- if (owner)
- {
- typename Protocol::endpoint peer_endpoint;
- std::size_t addr_len = peer_endpoint.capacity();
- socket_ops::complete_iocp_accept(o->socket_,
- o->output_buffer(), o->address_length(),
- peer_endpoint.data(), &addr_len,
- o->new_socket_.get(), ec);
-
- // Restart the accept operation if we got the connection_aborted error
- // and the enable_connection_aborted socket option is not set.
- if (ec == boost::asio::error::connection_aborted
- && !o->enable_connection_aborted_)
- {
- o->reset();
- o->socket_service_.restart_accept_op(o->socket_,
- o->new_socket_, o->protocol_.family(),
- o->protocol_.type(), o->protocol_.protocol(),
- o->output_buffer(), o->address_length(), o);
- p.v = p.p = 0;
- return;
- }
-
- // If the socket was successfully accepted, transfer ownership of the
- // socket to the peer object.
- if (!ec)
- {
- o->peer_.assign(o->protocol_,
- typename Protocol::socket::native_handle_type(
- o->new_socket_.get(), peer_endpoint), ec);
- if (!ec)
- o->new_socket_.release();
- }
-
- // Pass endpoint back to caller.
- if (o->peer_endpoint_)
- *o->peer_endpoint_ = peer_endpoint;
- }
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::move_binder2<Handler,
- boost::system::error_code, typename Protocol::socket>
- handler(0, BOOST_ASIO_MOVE_CAST(Handler)(o->handler_), ec,
- BOOST_ASIO_MOVE_CAST(typename Protocol::socket)(o->peer_));
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, "..."));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- win_iocp_socket_service_base& socket_service_;
- socket_type socket_;
- socket_holder new_socket_;
- typename Protocol::socket peer_;
- Protocol protocol_;
- typename Protocol::endpoint* peer_endpoint_;
- unsigned char output_buffer_[(sizeof(sockaddr_storage_type) + 16) * 2];
- bool enable_connection_aborted_;
- Handler handler_;
-};
-
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_ACCEPT_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp
deleted file mode 100644
index 916d22ee49..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_connect_op.hpp
+++ /dev/null
@@ -1,129 +0,0 @@
-//
-// detail/win_iocp_socket_connect_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_CONNECT_OP_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_CONNECT_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class win_iocp_socket_connect_op_base : public reactor_op
-{
-public:
- win_iocp_socket_connect_op_base(socket_type socket, func_type complete_func)
- : reactor_op(&win_iocp_socket_connect_op_base::do_perform, complete_func),
- socket_(socket),
- connect_ex_(false)
- {
- }
-
- static status do_perform(reactor_op* base)
- {
- win_iocp_socket_connect_op_base* o(
- static_cast<win_iocp_socket_connect_op_base*>(base));
-
- return socket_ops::non_blocking_connect(
- o->socket_, o->ec_) ? done : not_done;
- }
-
- socket_type socket_;
- bool connect_ex_;
-};
-
-template <typename Handler>
-class win_iocp_socket_connect_op : public win_iocp_socket_connect_op_base
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_connect_op);
-
- win_iocp_socket_connect_op(socket_type socket, Handler& handler)
- : win_iocp_socket_connect_op_base(socket,
- &win_iocp_socket_connect_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& result_ec,
- std::size_t /*bytes_transferred*/)
- {
- boost::system::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_connect_op* o(
- static_cast<win_iocp_socket_connect_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- if (owner)
- {
- if (o->connect_ex_)
- socket_ops::complete_iocp_connect(o->socket_, ec);
- else
- ec = o->ec_;
- }
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder1<Handler, boost::system::error_code>
- handler(o->handler_, ec);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_CONNECT_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp
deleted file mode 100644
index b052ec236e..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recv_op.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-//
-// detail/win_iocp_socket_recv_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_RECV_OP_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_RECV_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/operation.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename MutableBufferSequence, typename Handler>
-class win_iocp_socket_recv_op : public operation
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_recv_op);
-
- win_iocp_socket_recv_op(socket_ops::state_type state,
- socket_ops::weak_cancel_token_type cancel_token,
- const MutableBufferSequence& buffers, Handler& handler)
- : operation(&win_iocp_socket_recv_op::do_complete),
- state_(state),
- cancel_token_(cancel_token),
- buffers_(buffers),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& result_ec,
- std::size_t bytes_transferred)
- {
- boost::system::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_recv_op* o(static_cast<win_iocp_socket_recv_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
-#if defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
- // Check whether buffers are still valid.
- if (owner)
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence>::validate(o->buffers_);
- }
-#endif // defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
-
- socket_ops::complete_iocp_recv(o->state_, o->cancel_token_,
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence>::all_empty(o->buffers_),
- ec, bytes_transferred);
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, ec, bytes_transferred);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- socket_ops::state_type state_;
- socket_ops::weak_cancel_token_type cancel_token_;
- MutableBufferSequence buffers_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_RECV_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp
deleted file mode 100644
index a7338c8877..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-//
-// detail/win_iocp_socket_recvfrom_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_RECVFROM_OP_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_RECVFROM_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/operation.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename MutableBufferSequence, typename Endpoint, typename Handler>
-class win_iocp_socket_recvfrom_op : public operation
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_recvfrom_op);
-
- win_iocp_socket_recvfrom_op(Endpoint& endpoint,
- socket_ops::weak_cancel_token_type cancel_token,
- const MutableBufferSequence& buffers, Handler& handler)
- : operation(&win_iocp_socket_recvfrom_op::do_complete),
- endpoint_(endpoint),
- endpoint_size_(static_cast<int>(endpoint.capacity())),
- cancel_token_(cancel_token),
- buffers_(buffers),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- int& endpoint_size()
- {
- return endpoint_size_;
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& result_ec,
- std::size_t bytes_transferred)
- {
- boost::system::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_recvfrom_op* o(
- static_cast<win_iocp_socket_recvfrom_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
-#if defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
- // Check whether buffers are still valid.
- if (owner)
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence>::validate(o->buffers_);
- }
-#endif // defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
-
- socket_ops::complete_iocp_recvfrom(o->cancel_token_, ec);
-
- // Record the size of the endpoint returned by the operation.
- o->endpoint_.resize(o->endpoint_size_);
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, ec, bytes_transferred);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Endpoint& endpoint_;
- int endpoint_size_;
- socket_ops::weak_cancel_token_type cancel_token_;
- MutableBufferSequence buffers_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_RECVFROM_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp
deleted file mode 100644
index 4a8313225d..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-//
-// detail/win_iocp_socket_recvmsg_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_RECVMSG_OP_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_RECVMSG_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/operation.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/socket_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename MutableBufferSequence, typename Handler>
-class win_iocp_socket_recvmsg_op : public operation
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_recvmsg_op);
-
- win_iocp_socket_recvmsg_op(
- socket_ops::weak_cancel_token_type cancel_token,
- const MutableBufferSequence& buffers,
- socket_base::message_flags& out_flags, Handler& handler)
- : operation(&win_iocp_socket_recvmsg_op::do_complete),
- cancel_token_(cancel_token),
- buffers_(buffers),
- out_flags_(out_flags),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& result_ec,
- std::size_t bytes_transferred)
- {
- boost::system::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_recvmsg_op* o(
- static_cast<win_iocp_socket_recvmsg_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
-#if defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
- // Check whether buffers are still valid.
- if (owner)
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence>::validate(o->buffers_);
- }
-#endif // defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
-
- socket_ops::complete_iocp_recvmsg(o->cancel_token_, ec);
- o->out_flags_ = 0;
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, ec, bytes_transferred);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- socket_ops::weak_cancel_token_type cancel_token_;
- MutableBufferSequence buffers_;
- socket_base::message_flags& out_flags_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_RECVMSG_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp
deleted file mode 100644
index 7dc9ab3175..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_send_op.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//
-// detail/win_iocp_socket_send_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_SEND_OP_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_SEND_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/operation.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename ConstBufferSequence, typename Handler>
-class win_iocp_socket_send_op : public operation
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(win_iocp_socket_send_op);
-
- win_iocp_socket_send_op(socket_ops::weak_cancel_token_type cancel_token,
- const ConstBufferSequence& buffers, Handler& handler)
- : operation(&win_iocp_socket_send_op::do_complete),
- cancel_token_(cancel_token),
- buffers_(buffers),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& result_ec,
- std::size_t bytes_transferred)
- {
- boost::system::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_socket_send_op* o(static_cast<win_iocp_socket_send_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
-#if defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
- // Check whether buffers are still valid.
- if (owner)
- {
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence>::validate(o->buffers_);
- }
-#endif // defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
-
- socket_ops::complete_iocp_send(o->cancel_token_, ec);
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, ec, bytes_transferred);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- socket_ops::weak_cancel_token_type cancel_token_;
- ConstBufferSequence buffers_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_SEND_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp
deleted file mode 100644
index d71c6ee046..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service.hpp
+++ /dev/null
@@ -1,601 +0,0 @@
-//
-// detail/win_iocp_socket_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <cstring>
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/socket_base.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/mutex.hpp>
-#include <boost/asio/detail/operation.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/select_reactor.hpp>
-#include <boost/asio/detail/socket_holder.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/win_iocp_io_context.hpp>
-#include <boost/asio/detail/win_iocp_null_buffers_op.hpp>
-#include <boost/asio/detail/win_iocp_socket_accept_op.hpp>
-#include <boost/asio/detail/win_iocp_socket_connect_op.hpp>
-#include <boost/asio/detail/win_iocp_socket_recvfrom_op.hpp>
-#include <boost/asio/detail/win_iocp_socket_send_op.hpp>
-#include <boost/asio/detail/win_iocp_socket_service_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Protocol>
-class win_iocp_socket_service :
- public service_base<win_iocp_socket_service<Protocol> >,
- public win_iocp_socket_service_base
-{
-public:
- // The protocol type.
- typedef Protocol protocol_type;
-
- // The endpoint type.
- typedef typename Protocol::endpoint endpoint_type;
-
- // The native type of a socket.
- class native_handle_type
- {
- public:
- native_handle_type(socket_type s)
- : socket_(s),
- have_remote_endpoint_(false)
- {
- }
-
- native_handle_type(socket_type s, const endpoint_type& ep)
- : socket_(s),
- have_remote_endpoint_(true),
- remote_endpoint_(ep)
- {
- }
-
- void operator=(socket_type s)
- {
- socket_ = s;
- have_remote_endpoint_ = false;
- remote_endpoint_ = endpoint_type();
- }
-
- operator socket_type() const
- {
- return socket_;
- }
-
- bool have_remote_endpoint() const
- {
- return have_remote_endpoint_;
- }
-
- endpoint_type remote_endpoint() const
- {
- return remote_endpoint_;
- }
-
- private:
- socket_type socket_;
- bool have_remote_endpoint_;
- endpoint_type remote_endpoint_;
- };
-
- // The implementation type of the socket.
- struct implementation_type :
- win_iocp_socket_service_base::base_implementation_type
- {
- // Default constructor.
- implementation_type()
- : protocol_(endpoint_type().protocol()),
- have_remote_endpoint_(false),
- remote_endpoint_()
- {
- }
-
- // The protocol associated with the socket.
- protocol_type protocol_;
-
- // Whether we have a cached remote endpoint.
- bool have_remote_endpoint_;
-
- // A cached remote endpoint.
- endpoint_type remote_endpoint_;
- };
-
- // Constructor.
- win_iocp_socket_service(boost::asio::io_context& io_context)
- : service_base<win_iocp_socket_service<Protocol> >(io_context),
- win_iocp_socket_service_base(io_context)
- {
- }
-
- // Destroy all user-defined handler objects owned by the service.
- void shutdown()
- {
- this->base_shutdown();
- }
-
- // Move-construct a new socket implementation.
- void move_construct(implementation_type& impl,
- implementation_type& other_impl)
- {
- this->base_move_construct(impl, other_impl);
-
- impl.protocol_ = other_impl.protocol_;
- other_impl.protocol_ = endpoint_type().protocol();
-
- impl.have_remote_endpoint_ = other_impl.have_remote_endpoint_;
- other_impl.have_remote_endpoint_ = false;
-
- impl.remote_endpoint_ = other_impl.remote_endpoint_;
- other_impl.remote_endpoint_ = endpoint_type();
- }
-
- // Move-assign from another socket implementation.
- void move_assign(implementation_type& impl,
- win_iocp_socket_service_base& other_service,
- implementation_type& other_impl)
- {
- this->base_move_assign(impl, other_service, other_impl);
-
- impl.protocol_ = other_impl.protocol_;
- other_impl.protocol_ = endpoint_type().protocol();
-
- impl.have_remote_endpoint_ = other_impl.have_remote_endpoint_;
- other_impl.have_remote_endpoint_ = false;
-
- impl.remote_endpoint_ = other_impl.remote_endpoint_;
- other_impl.remote_endpoint_ = endpoint_type();
- }
-
- // Move-construct a new socket implementation from another protocol type.
- template <typename Protocol1>
- void converting_move_construct(implementation_type& impl,
- win_iocp_socket_service<Protocol1>&,
- typename win_iocp_socket_service<
- Protocol1>::implementation_type& other_impl)
- {
- this->base_move_construct(impl, other_impl);
-
- impl.protocol_ = protocol_type(other_impl.protocol_);
- other_impl.protocol_ = typename Protocol1::endpoint().protocol();
-
- impl.have_remote_endpoint_ = other_impl.have_remote_endpoint_;
- other_impl.have_remote_endpoint_ = false;
-
- impl.remote_endpoint_ = other_impl.remote_endpoint_;
- other_impl.remote_endpoint_ = typename Protocol1::endpoint();
- }
-
- // Open a new socket implementation.
- boost::system::error_code open(implementation_type& impl,
- const protocol_type& protocol, boost::system::error_code& ec)
- {
- if (!do_open(impl, protocol.family(),
- protocol.type(), protocol.protocol(), ec))
- {
- impl.protocol_ = protocol;
- impl.have_remote_endpoint_ = false;
- impl.remote_endpoint_ = endpoint_type();
- }
- return ec;
- }
-
- // Assign a native socket to a socket implementation.
- boost::system::error_code assign(implementation_type& impl,
- const protocol_type& protocol, const native_handle_type& native_socket,
- boost::system::error_code& ec)
- {
- if (!do_assign(impl, protocol.type(), native_socket, ec))
- {
- impl.protocol_ = protocol;
- impl.have_remote_endpoint_ = native_socket.have_remote_endpoint();
- impl.remote_endpoint_ = native_socket.remote_endpoint();
- }
- return ec;
- }
-
- // Get the native socket representation.
- native_handle_type native_handle(implementation_type& impl)
- {
- if (impl.have_remote_endpoint_)
- return native_handle_type(impl.socket_, impl.remote_endpoint_);
- return native_handle_type(impl.socket_);
- }
-
- // Bind the socket to the specified local endpoint.
- boost::system::error_code bind(implementation_type& impl,
- const endpoint_type& endpoint, boost::system::error_code& ec)
- {
- socket_ops::bind(impl.socket_, endpoint.data(), endpoint.size(), ec);
- return ec;
- }
-
- // Set a socket option.
- template <typename Option>
- boost::system::error_code set_option(implementation_type& impl,
- const Option& option, boost::system::error_code& ec)
- {
- socket_ops::setsockopt(impl.socket_, impl.state_,
- option.level(impl.protocol_), option.name(impl.protocol_),
- option.data(impl.protocol_), option.size(impl.protocol_), ec);
- return ec;
- }
-
- // Set a socket option.
- template <typename Option>
- boost::system::error_code get_option(const implementation_type& impl,
- Option& option, boost::system::error_code& ec) const
- {
- std::size_t size = option.size(impl.protocol_);
- socket_ops::getsockopt(impl.socket_, impl.state_,
- option.level(impl.protocol_), option.name(impl.protocol_),
- option.data(impl.protocol_), &size, ec);
- if (!ec)
- option.resize(impl.protocol_, size);
- return ec;
- }
-
- // Get the local endpoint.
- endpoint_type local_endpoint(const implementation_type& impl,
- boost::system::error_code& ec) const
- {
- endpoint_type endpoint;
- std::size_t addr_len = endpoint.capacity();
- if (socket_ops::getsockname(impl.socket_, endpoint.data(), &addr_len, ec))
- return endpoint_type();
- endpoint.resize(addr_len);
- return endpoint;
- }
-
- // Get the remote endpoint.
- endpoint_type remote_endpoint(const implementation_type& impl,
- boost::system::error_code& ec) const
- {
- endpoint_type endpoint = impl.remote_endpoint_;
- std::size_t addr_len = endpoint.capacity();
- if (socket_ops::getpeername(impl.socket_, endpoint.data(),
- &addr_len, impl.have_remote_endpoint_, ec))
- return endpoint_type();
- endpoint.resize(addr_len);
- return endpoint;
- }
-
- // Disable sends or receives on the socket.
- boost::system::error_code shutdown(base_implementation_type& impl,
- socket_base::shutdown_type what, boost::system::error_code& ec)
- {
- socket_ops::shutdown(impl.socket_, what, ec);
- return ec;
- }
-
- // Send a datagram to the specified endpoint. Returns the number of bytes
- // sent.
- template <typename ConstBufferSequence>
- size_t send_to(implementation_type& impl, const ConstBufferSequence& buffers,
- const endpoint_type& destination, socket_base::message_flags flags,
- boost::system::error_code& ec)
- {
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence> bufs(buffers);
-
- return socket_ops::sync_sendto(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), flags,
- destination.data(), destination.size(), ec);
- }
-
- // Wait until data can be sent without blocking.
- size_t send_to(implementation_type& impl, const null_buffers&,
- const endpoint_type&, socket_base::message_flags,
- boost::system::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_write(impl.socket_, impl.state_, -1, ec);
-
- return 0;
- }
-
- // Start an asynchronous send. The data being sent must be valid for the
- // lifetime of the asynchronous operation.
- template <typename ConstBufferSequence, typename Handler>
- void async_send_to(implementation_type& impl,
- const ConstBufferSequence& buffers, const endpoint_type& destination,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_send_op<ConstBufferSequence, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, buffers, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_send_to"));
-
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence> bufs(buffers);
-
- start_send_to_op(impl, bufs.buffers(), bufs.count(),
- destination.data(), static_cast<int>(destination.size()),
- flags, p.p);
- p.v = p.p = 0;
- }
-
- // Start an asynchronous wait until data can be sent without blocking.
- template <typename Handler>
- void async_send_to(implementation_type& impl, const null_buffers&,
- const endpoint_type&, socket_base::message_flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_null_buffers_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_send_to(null_buffers)"));
-
- start_reactor_op(impl, select_reactor::write_op, p.p);
- p.v = p.p = 0;
- }
-
- // Receive a datagram with the endpoint of the sender. Returns the number of
- // bytes received.
- template <typename MutableBufferSequence>
- size_t receive_from(implementation_type& impl,
- const MutableBufferSequence& buffers,
- endpoint_type& sender_endpoint, socket_base::message_flags flags,
- boost::system::error_code& ec)
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- std::size_t addr_len = sender_endpoint.capacity();
- std::size_t bytes_recvd = socket_ops::sync_recvfrom(
- impl.socket_, impl.state_, bufs.buffers(), bufs.count(),
- flags, sender_endpoint.data(), &addr_len, ec);
-
- if (!ec)
- sender_endpoint.resize(addr_len);
-
- return bytes_recvd;
- }
-
- // Wait until data can be received without blocking.
- size_t receive_from(implementation_type& impl,
- const null_buffers&, endpoint_type& sender_endpoint,
- socket_base::message_flags, boost::system::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_read(impl.socket_, impl.state_, -1, ec);
-
- // Reset endpoint since it can be given no sensible value at this time.
- sender_endpoint = endpoint_type();
-
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received and
- // the sender_endpoint object must both be valid for the lifetime of the
- // asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive_from(implementation_type& impl,
- const MutableBufferSequence& buffers, endpoint_type& sender_endp,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_recvfrom_op<
- MutableBufferSequence, endpoint_type, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(sender_endp, impl.cancel_token_, buffers, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_receive_from"));
-
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- start_receive_from_op(impl, bufs.buffers(), bufs.count(),
- sender_endp.data(), flags, &p.p->endpoint_size(), p.p);
- p.v = p.p = 0;
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive_from(implementation_type& impl,
- const null_buffers&, endpoint_type& sender_endpoint,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_null_buffers_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_receive_from(null_buffers)"));
-
- // Reset endpoint since it can be given no sensible value at this time.
- sender_endpoint = endpoint_type();
-
- start_null_buffers_receive_op(impl, flags, p.p);
- p.v = p.p = 0;
- }
-
- // Accept a new connection.
- template <typename Socket>
- boost::system::error_code accept(implementation_type& impl, Socket& peer,
- endpoint_type* peer_endpoint, boost::system::error_code& ec)
- {
- // We cannot accept a socket that is already open.
- if (peer.is_open())
- {
- ec = boost::asio::error::already_open;
- return ec;
- }
-
- std::size_t addr_len = peer_endpoint ? peer_endpoint->capacity() : 0;
- socket_holder new_socket(socket_ops::sync_accept(impl.socket_,
- impl.state_, peer_endpoint ? peer_endpoint->data() : 0,
- peer_endpoint ? &addr_len : 0, ec));
-
- // On success, assign new connection to peer socket object.
- if (new_socket.get() != invalid_socket)
- {
- if (peer_endpoint)
- peer_endpoint->resize(addr_len);
- peer.assign(impl.protocol_, new_socket.get(), ec);
- if (!ec)
- new_socket.release();
- }
-
- return ec;
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- // Accept a new connection.
- typename Protocol::socket accept(implementation_type& impl,
- io_context* peer_io_context, endpoint_type* peer_endpoint,
- boost::system::error_code& ec)
- {
- typename Protocol::socket peer(
- peer_io_context ? *peer_io_context : io_context_);
-
- std::size_t addr_len = peer_endpoint ? peer_endpoint->capacity() : 0;
- socket_holder new_socket(socket_ops::sync_accept(impl.socket_,
- impl.state_, peer_endpoint ? peer_endpoint->data() : 0,
- peer_endpoint ? &addr_len : 0, ec));
-
- // On success, assign new connection to peer socket object.
- if (new_socket.get() != invalid_socket)
- {
- if (peer_endpoint)
- peer_endpoint->resize(addr_len);
- peer.assign(impl.protocol_, new_socket.get(), ec);
- if (!ec)
- new_socket.release();
- }
-
- return peer;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- // Start an asynchronous accept. The peer and peer_endpoint objects
- // must be valid until the accept's handler is invoked.
- template <typename Socket, typename Handler>
- void async_accept(implementation_type& impl, Socket& peer,
- endpoint_type* peer_endpoint, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_accept_op<Socket, protocol_type, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- bool enable_connection_aborted =
- (impl.state_ & socket_ops::enable_connection_aborted) != 0;
- p.p = new (p.v) op(*this, impl.socket_, peer, impl.protocol_,
- peer_endpoint, enable_connection_aborted, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_accept"));
-
- start_accept_op(impl, peer.is_open(), p.p->new_socket(),
- impl.protocol_.family(), impl.protocol_.type(),
- impl.protocol_.protocol(), p.p->output_buffer(),
- p.p->address_length(), p.p);
- p.v = p.p = 0;
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- // Start an asynchronous accept. The peer and peer_endpoint objects
- // must be valid until the accept's handler is invoked.
- template <typename Handler>
- void async_accept(implementation_type& impl,
- boost::asio::io_context* peer_io_context,
- endpoint_type* peer_endpoint, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_move_accept_op<protocol_type, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- bool enable_connection_aborted =
- (impl.state_ & socket_ops::enable_connection_aborted) != 0;
- p.p = new (p.v) op(*this, impl.socket_, impl.protocol_,
- peer_io_context ? *peer_io_context : io_context_,
- peer_endpoint, enable_connection_aborted, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_accept"));
-
- start_accept_op(impl, false, p.p->new_socket(),
- impl.protocol_.family(), impl.protocol_.type(),
- impl.protocol_.protocol(), p.p->output_buffer(),
- p.p->address_length(), p.p);
- p.v = p.p = 0;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- // Connect the socket to the specified endpoint.
- boost::system::error_code connect(implementation_type& impl,
- const endpoint_type& peer_endpoint, boost::system::error_code& ec)
- {
- socket_ops::sync_connect(impl.socket_,
- peer_endpoint.data(), peer_endpoint.size(), ec);
- return ec;
- }
-
- // Start an asynchronous connect.
- template <typename Handler>
- void async_connect(implementation_type& impl,
- const endpoint_type& peer_endpoint, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_connect_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.socket_, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_connect"));
-
- start_connect_op(impl, impl.protocol_.family(), impl.protocol_.type(),
- peer_endpoint.data(), static_cast<int>(peer_endpoint.size()), p.p);
- p.v = p.p = 0;
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp
deleted file mode 100644
index dd2bf9f6a9..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_socket_service_base.hpp
+++ /dev/null
@@ -1,593 +0,0 @@
-//
-// detail/win_iocp_socket_service_base.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_BASE_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_BASE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/socket_base.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/mutex.hpp>
-#include <boost/asio/detail/operation.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/select_reactor.hpp>
-#include <boost/asio/detail/socket_holder.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/win_iocp_io_context.hpp>
-#include <boost/asio/detail/win_iocp_null_buffers_op.hpp>
-#include <boost/asio/detail/win_iocp_socket_connect_op.hpp>
-#include <boost/asio/detail/win_iocp_socket_send_op.hpp>
-#include <boost/asio/detail/win_iocp_socket_recv_op.hpp>
-#include <boost/asio/detail/win_iocp_socket_recvmsg_op.hpp>
-#include <boost/asio/detail/win_iocp_wait_op.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class win_iocp_socket_service_base
-{
-public:
- // The implementation type of the socket.
- struct base_implementation_type
- {
- // The native socket representation.
- socket_type socket_;
-
- // The current state of the socket.
- socket_ops::state_type state_;
-
- // We use a shared pointer as a cancellation token here to work around the
- // broken Windows support for cancellation. MSDN says that when you call
- // closesocket any outstanding WSARecv or WSASend operations will complete
- // with the error ERROR_OPERATION_ABORTED. In practice they complete with
- // ERROR_NETNAME_DELETED, which means you can't tell the difference between
- // a local cancellation and the socket being hard-closed by the peer.
- socket_ops::shared_cancel_token_type cancel_token_;
-
- // Per-descriptor data used by the reactor.
- select_reactor::per_descriptor_data reactor_data_;
-
-#if defined(BOOST_ASIO_ENABLE_CANCELIO)
- // The ID of the thread from which it is safe to cancel asynchronous
- // operations. 0 means no asynchronous operations have been started yet.
- // ~0 means asynchronous operations have been started from more than one
- // thread, and cancellation is not supported for the socket.
- DWORD safe_cancellation_thread_id_;
-#endif // defined(BOOST_ASIO_ENABLE_CANCELIO)
-
- // Pointers to adjacent socket implementations in linked list.
- base_implementation_type* next_;
- base_implementation_type* prev_;
- };
-
- // Constructor.
- BOOST_ASIO_DECL win_iocp_socket_service_base(
- boost::asio::io_context& io_context);
-
- // Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL void base_shutdown();
-
- // Construct a new socket implementation.
- BOOST_ASIO_DECL void construct(base_implementation_type& impl);
-
- // Move-construct a new socket implementation.
- BOOST_ASIO_DECL void base_move_construct(base_implementation_type& impl,
- base_implementation_type& other_impl);
-
- // Move-assign from another socket implementation.
- BOOST_ASIO_DECL void base_move_assign(base_implementation_type& impl,
- win_iocp_socket_service_base& other_service,
- base_implementation_type& other_impl);
-
- // Destroy a socket implementation.
- BOOST_ASIO_DECL void destroy(base_implementation_type& impl);
-
- // Determine whether the socket is open.
- bool is_open(const base_implementation_type& impl) const
- {
- return impl.socket_ != invalid_socket;
- }
-
- // Destroy a socket implementation.
- BOOST_ASIO_DECL boost::system::error_code close(
- base_implementation_type& impl, boost::system::error_code& ec);
-
- // Release ownership of the socket.
- BOOST_ASIO_DECL socket_type release(
- base_implementation_type& impl, boost::system::error_code& ec);
-
- // Cancel all operations associated with the socket.
- BOOST_ASIO_DECL boost::system::error_code cancel(
- base_implementation_type& impl, boost::system::error_code& ec);
-
- // Determine whether the socket is at the out-of-band data mark.
- bool at_mark(const base_implementation_type& impl,
- boost::system::error_code& ec) const
- {
- return socket_ops::sockatmark(impl.socket_, ec);
- }
-
- // Determine the number of bytes available for reading.
- std::size_t available(const base_implementation_type& impl,
- boost::system::error_code& ec) const
- {
- return socket_ops::available(impl.socket_, ec);
- }
-
- // Place the socket into the state where it will listen for new connections.
- boost::system::error_code listen(base_implementation_type& impl,
- int backlog, boost::system::error_code& ec)
- {
- socket_ops::listen(impl.socket_, backlog, ec);
- return ec;
- }
-
- // Perform an IO control command on the socket.
- template <typename IO_Control_Command>
- boost::system::error_code io_control(base_implementation_type& impl,
- IO_Control_Command& command, boost::system::error_code& ec)
- {
- socket_ops::ioctl(impl.socket_, impl.state_, command.name(),
- static_cast<ioctl_arg_type*>(command.data()), ec);
- return ec;
- }
-
- // Gets the non-blocking mode of the socket.
- bool non_blocking(const base_implementation_type& impl) const
- {
- return (impl.state_ & socket_ops::user_set_non_blocking) != 0;
- }
-
- // Sets the non-blocking mode of the socket.
- boost::system::error_code non_blocking(base_implementation_type& impl,
- bool mode, boost::system::error_code& ec)
- {
- socket_ops::set_user_non_blocking(impl.socket_, impl.state_, mode, ec);
- return ec;
- }
-
- // Gets the non-blocking mode of the native socket implementation.
- bool native_non_blocking(const base_implementation_type& impl) const
- {
- return (impl.state_ & socket_ops::internal_non_blocking) != 0;
- }
-
- // Sets the non-blocking mode of the native socket implementation.
- boost::system::error_code native_non_blocking(base_implementation_type& impl,
- bool mode, boost::system::error_code& ec)
- {
- socket_ops::set_internal_non_blocking(impl.socket_, impl.state_, mode, ec);
- return ec;
- }
-
- // Wait for the socket to become ready to read, ready to write, or to have
- // pending error conditions.
- boost::system::error_code wait(base_implementation_type& impl,
- socket_base::wait_type w, boost::system::error_code& ec)
- {
- switch (w)
- {
- case socket_base::wait_read:
- socket_ops::poll_read(impl.socket_, impl.state_, -1, ec);
- break;
- case socket_base::wait_write:
- socket_ops::poll_write(impl.socket_, impl.state_, -1, ec);
- break;
- case socket_base::wait_error:
- socket_ops::poll_error(impl.socket_, impl.state_, -1, ec);
- break;
- default:
- ec = boost::asio::error::invalid_argument;
- break;
- }
-
- return ec;
- }
-
- // Asynchronously wait for the socket to become ready to read, ready to
- // write, or to have pending error conditions.
- template <typename Handler>
- void async_wait(base_implementation_type& impl,
- socket_base::wait_type w, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_wait_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_wait"));
-
- switch (w)
- {
- case socket_base::wait_read:
- start_null_buffers_receive_op(impl, 0, p.p);
- break;
- case socket_base::wait_write:
- start_reactor_op(impl, select_reactor::write_op, p.p);
- break;
- case socket_base::wait_error:
- start_reactor_op(impl, select_reactor::except_op, p.p);
- break;
- default:
- p.p->ec_ = boost::asio::error::invalid_argument;
- iocp_service_.post_immediate_completion(p.p, is_continuation);
- break;
- }
-
- p.v = p.p = 0;
- }
-
- // Send the given data to the peer. Returns the number of bytes sent.
- template <typename ConstBufferSequence>
- size_t send(base_implementation_type& impl,
- const ConstBufferSequence& buffers,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence> bufs(buffers);
-
- return socket_ops::sync_send(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), flags, bufs.all_empty(), ec);
- }
-
- // Wait until data can be sent without blocking.
- size_t send(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags, boost::system::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_write(impl.socket_, impl.state_, -1, ec);
-
- return 0;
- }
-
- // Start an asynchronous send. The data being sent must be valid for the
- // lifetime of the asynchronous operation.
- template <typename ConstBufferSequence, typename Handler>
- void async_send(base_implementation_type& impl,
- const ConstBufferSequence& buffers,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_send_op<ConstBufferSequence, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, buffers, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_send"));
-
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence> bufs(buffers);
-
- start_send_op(impl, bufs.buffers(), bufs.count(), flags,
- (impl.state_ & socket_ops::stream_oriented) != 0 && bufs.all_empty(),
- p.p);
- p.v = p.p = 0;
- }
-
- // Start an asynchronous wait until data can be sent without blocking.
- template <typename Handler>
- void async_send(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_null_buffers_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_send(null_buffers)"));
-
- start_reactor_op(impl, select_reactor::write_op, p.p);
- p.v = p.p = 0;
- }
-
- // Receive some data from the peer. Returns the number of bytes received.
- template <typename MutableBufferSequence>
- size_t receive(base_implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- return socket_ops::sync_recv(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), flags, bufs.all_empty(), ec);
- }
-
- // Wait until data can be received without blocking.
- size_t receive(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags, boost::system::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_read(impl.socket_, impl.state_, -1, ec);
-
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received
- // must be valid for the lifetime of the asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive(base_implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_recv_op<MutableBufferSequence, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.state_, impl.cancel_token_, buffers, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_receive"));
-
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- start_receive_op(impl, bufs.buffers(), bufs.count(), flags,
- (impl.state_ & socket_ops::stream_oriented) != 0 && bufs.all_empty(),
- p.p);
- p.v = p.p = 0;
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive(base_implementation_type& impl, const null_buffers&,
- socket_base::message_flags flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_null_buffers_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_receive(null_buffers)"));
-
- start_null_buffers_receive_op(impl, flags, p.p);
- p.v = p.p = 0;
- }
-
- // Receive some data with associated flags. Returns the number of bytes
- // received.
- template <typename MutableBufferSequence>
- size_t receive_with_flags(base_implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags in_flags,
- socket_base::message_flags& out_flags, boost::system::error_code& ec)
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- return socket_ops::sync_recvmsg(impl.socket_, impl.state_,
- bufs.buffers(), bufs.count(), in_flags, out_flags, ec);
- }
-
- // Wait until data can be received without blocking.
- size_t receive_with_flags(base_implementation_type& impl,
- const null_buffers&, socket_base::message_flags,
- socket_base::message_flags& out_flags, boost::system::error_code& ec)
- {
- // Wait for socket to become ready.
- socket_ops::poll_read(impl.socket_, impl.state_, -1, ec);
-
- // Clear out_flags, since we cannot give it any other sensible value when
- // performing a null_buffers operation.
- out_flags = 0;
-
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received
- // must be valid for the lifetime of the asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive_with_flags(base_implementation_type& impl,
- const MutableBufferSequence& buffers, socket_base::message_flags in_flags,
- socket_base::message_flags& out_flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_socket_recvmsg_op<MutableBufferSequence, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, buffers, out_flags, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_receive_with_flags"));
-
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence> bufs(buffers);
-
- start_receive_op(impl, bufs.buffers(), bufs.count(), in_flags, false, p.p);
- p.v = p.p = 0;
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive_with_flags(base_implementation_type& impl,
- const null_buffers&, socket_base::message_flags in_flags,
- socket_base::message_flags& out_flags, Handler& handler)
- {
- // Allocate and construct an operation to wrap the handler.
- typedef win_iocp_null_buffers_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(impl.cancel_token_, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_, *p.p, "socket",
- &impl, impl.socket_, "async_receive_with_flags(null_buffers)"));
-
- // Reset out_flags since it can be given no sensible value at this time.
- out_flags = 0;
-
- start_null_buffers_receive_op(impl, in_flags, p.p);
- p.v = p.p = 0;
- }
-
- // Helper function to restart an asynchronous accept operation.
- BOOST_ASIO_DECL void restart_accept_op(socket_type s,
- socket_holder& new_socket, int family, int type, int protocol,
- void* output_buffer, DWORD address_length, operation* op);
-
-protected:
- // Open a new socket implementation.
- BOOST_ASIO_DECL boost::system::error_code do_open(
- base_implementation_type& impl, int family, int type,
- int protocol, boost::system::error_code& ec);
-
- // Assign a native socket to a socket implementation.
- BOOST_ASIO_DECL boost::system::error_code do_assign(
- base_implementation_type& impl, int type,
- socket_type native_socket, boost::system::error_code& ec);
-
- // Helper function to start an asynchronous send operation.
- BOOST_ASIO_DECL void start_send_op(base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count,
- socket_base::message_flags flags, bool noop, operation* op);
-
- // Helper function to start an asynchronous send_to operation.
- BOOST_ASIO_DECL void start_send_to_op(base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count,
- const socket_addr_type* addr, int addrlen,
- socket_base::message_flags flags, operation* op);
-
- // Helper function to start an asynchronous receive operation.
- BOOST_ASIO_DECL void start_receive_op(base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count,
- socket_base::message_flags flags, bool noop, operation* op);
-
- // Helper function to start an asynchronous null_buffers receive operation.
- BOOST_ASIO_DECL void start_null_buffers_receive_op(
- base_implementation_type& impl,
- socket_base::message_flags flags, reactor_op* op);
-
- // Helper function to start an asynchronous receive_from operation.
- BOOST_ASIO_DECL void start_receive_from_op(base_implementation_type& impl,
- WSABUF* buffers, std::size_t buffer_count, socket_addr_type* addr,
- socket_base::message_flags flags, int* addrlen, operation* op);
-
- // Helper function to start an asynchronous accept operation.
- BOOST_ASIO_DECL void start_accept_op(base_implementation_type& impl,
- bool peer_is_open, socket_holder& new_socket, int family, int type,
- int protocol, void* output_buffer, DWORD address_length, operation* op);
-
- // Start an asynchronous read or write operation using the reactor.
- BOOST_ASIO_DECL void start_reactor_op(base_implementation_type& impl,
- int op_type, reactor_op* op);
-
- // Start the asynchronous connect operation using the reactor.
- BOOST_ASIO_DECL void start_connect_op(base_implementation_type& impl,
- int family, int type, const socket_addr_type* remote_addr,
- std::size_t remote_addrlen, win_iocp_socket_connect_op_base* op);
-
- // Helper function to close a socket when the associated object is being
- // destroyed.
- BOOST_ASIO_DECL void close_for_destruction(base_implementation_type& impl);
-
- // Update the ID of the thread from which cancellation is safe.
- BOOST_ASIO_DECL void update_cancellation_thread_id(
- base_implementation_type& impl);
-
- // Helper function to get the reactor. If no reactor has been created yet, a
- // new one is obtained from the io_context and a pointer to it is cached in
- // this service.
- BOOST_ASIO_DECL select_reactor& get_reactor();
-
- // The type of a ConnectEx function pointer, as old SDKs may not provide it.
- typedef BOOL (PASCAL *connect_ex_fn)(SOCKET,
- const socket_addr_type*, int, void*, DWORD, DWORD*, OVERLAPPED*);
-
- // Helper function to get the ConnectEx pointer. If no ConnectEx pointer has
- // been obtained yet, one is obtained using WSAIoctl and the pointer is
- // cached. Returns a null pointer if ConnectEx is not available.
- BOOST_ASIO_DECL connect_ex_fn get_connect_ex(
- base_implementation_type& impl, int type);
-
- // The type of a NtSetInformationFile function pointer.
- typedef LONG (NTAPI *nt_set_info_fn)(HANDLE, ULONG_PTR*, void*, ULONG, ULONG);
-
- // Helper function to get the NtSetInformationFile function pointer. If no
- // NtSetInformationFile pointer has been obtained yet, one is obtained using
- // GetProcAddress and the pointer is cached. Returns a null pointer if
- // NtSetInformationFile is not available.
- BOOST_ASIO_DECL nt_set_info_fn get_nt_set_info();
-
- // Helper function to emulate InterlockedCompareExchangePointer functionality
- // for:
- // - very old Platform SDKs; and
- // - platform SDKs where MSVC's /Wp64 option causes spurious warnings.
- BOOST_ASIO_DECL void* interlocked_compare_exchange_pointer(
- void** dest, void* exch, void* cmp);
-
- // Helper function to emulate InterlockedExchangePointer functionality for:
- // - very old Platform SDKs; and
- // - platform SDKs where MSVC's /Wp64 option causes spurious warnings.
- BOOST_ASIO_DECL void* interlocked_exchange_pointer(void** dest, void* val);
-
- // The io_context used to obtain the reactor, if required.
- boost::asio::io_context& io_context_;
-
- // The IOCP service used for running asynchronous operations and dispatching
- // handlers.
- win_iocp_io_context& iocp_service_;
-
- // The reactor used for performing connect operations. This object is created
- // only if needed.
- select_reactor* reactor_;
-
- // Pointer to ConnectEx implementation.
- void* connect_ex_;
-
- // Pointer to NtSetInformationFile implementation.
- void* nt_set_info_;
-
- // Mutex to protect access to the linked list of implementations.
- boost::asio::detail::mutex mutex_;
-
- // The head of a linked list of all implementations.
- base_implementation_type* impl_list_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/win_iocp_socket_service_base.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_SOCKET_SERVICE_BASE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp
deleted file mode 100644
index 53f853e104..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_thread_info.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// detail/win_iocp_thread_info.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_THREAD_INFO_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_THREAD_INFO_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/thread_info_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-struct win_iocp_thread_info : public thread_info_base
-{
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_THREAD_INFO_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp
deleted file mode 100644
index b067da3e3d..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_iocp_wait_op.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-//
-// detail/win_iocp_wait_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_IOCP_WAIT_OP_HPP
-#define BOOST_ASIO_DETAIL_WIN_IOCP_WAIT_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/reactor_op.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Handler>
-class win_iocp_wait_op : public reactor_op
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(win_iocp_wait_op);
-
- win_iocp_wait_op(socket_ops::weak_cancel_token_type cancel_token,
- Handler& handler)
- : reactor_op(&win_iocp_wait_op::do_perform,
- &win_iocp_wait_op::do_complete),
- cancel_token_(cancel_token),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static status do_perform(reactor_op*)
- {
- return done;
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code& result_ec,
- std::size_t /*bytes_transferred*/)
- {
- boost::system::error_code ec(result_ec);
-
- // Take ownership of the operation object.
- win_iocp_wait_op* o(static_cast<win_iocp_wait_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // The reactor may have stored a result in the operation object.
- if (o->ec_)
- ec = o->ec_;
-
- // Map non-portable errors to their portable counterparts.
- if (ec.value() == ERROR_NETNAME_DELETED)
- {
- if (o->cancel_token_.expired())
- ec = boost::asio::error::operation_aborted;
- else
- ec = boost::asio::error::connection_reset;
- }
- else if (ec.value() == ERROR_PORT_UNREACHABLE)
- {
- ec = boost::asio::error::connection_refused;
- }
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder1<Handler, boost::system::error_code>
- handler(o->handler_, ec);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- socket_ops::weak_cancel_token_type cancel_token_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_IOCP)
-
-#endif // BOOST_ASIO_DETAIL_WIN_IOCP_WAIT_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp
deleted file mode 100644
index 45d87c63bb..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_mutex.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// detail/win_mutex.hpp
-// ~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_MUTEX_HPP
-#define BOOST_ASIO_DETAIL_WIN_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS)
-
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/scoped_lock.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class win_mutex
- : private noncopyable
-{
-public:
- typedef boost::asio::detail::scoped_lock<win_mutex> scoped_lock;
-
- // Constructor.
- BOOST_ASIO_DECL win_mutex();
-
- // Destructor.
- ~win_mutex()
- {
- ::DeleteCriticalSection(&crit_section_);
- }
-
- // Lock the mutex.
- void lock()
- {
- ::EnterCriticalSection(&crit_section_);
- }
-
- // Unlock the mutex.
- void unlock()
- {
- ::LeaveCriticalSection(&crit_section_);
- }
-
-private:
- // Initialisation must be performed in a separate function to the constructor
- // since the compiler does not support the use of structured exceptions and
- // C++ exceptions in the same function.
- BOOST_ASIO_DECL int do_init();
-
- ::CRITICAL_SECTION crit_section_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/win_mutex.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_WINDOWS)
-
-#endif // BOOST_ASIO_DETAIL_WIN_MUTEX_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp
deleted file mode 100644
index 78d3a2eb7f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_static_mutex.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-//
-// detail/win_static_mutex.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_STATIC_MUTEX_HPP
-#define BOOST_ASIO_DETAIL_WIN_STATIC_MUTEX_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS)
-
-#include <boost/asio/detail/scoped_lock.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-struct win_static_mutex
-{
- typedef boost::asio::detail::scoped_lock<win_static_mutex> scoped_lock;
-
- // Initialise the mutex.
- BOOST_ASIO_DECL void init();
-
- // Initialisation must be performed in a separate function to the "public"
- // init() function since the compiler does not support the use of structured
- // exceptions and C++ exceptions in the same function.
- BOOST_ASIO_DECL int do_init();
-
- // Lock the mutex.
- void lock()
- {
- ::EnterCriticalSection(&crit_section_);
- }
-
- // Unlock the mutex.
- void unlock()
- {
- ::LeaveCriticalSection(&crit_section_);
- }
-
- bool initialised_;
- ::CRITICAL_SECTION crit_section_;
-};
-
-#if defined(UNDER_CE)
-# define BOOST_ASIO_WIN_STATIC_MUTEX_INIT { false, { 0, 0, 0, 0, 0 } }
-#else // defined(UNDER_CE)
-# define BOOST_ASIO_WIN_STATIC_MUTEX_INIT { false, { 0, 0, 0, 0, 0, 0 } }
-#endif // defined(UNDER_CE)
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/win_static_mutex.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_WINDOWS)
-
-#endif // BOOST_ASIO_DETAIL_WIN_STATIC_MUTEX_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp
deleted file mode 100644
index 377c3e3f93..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_thread.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-//
-// detail/win_thread.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_THREAD_HPP
-#define BOOST_ASIO_DETAIL_WIN_THREAD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS) \
- && !defined(BOOST_ASIO_WINDOWS_APP) \
- && !defined(UNDER_CE)
-
-#include <cstddef>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-BOOST_ASIO_DECL unsigned int __stdcall win_thread_function(void* arg);
-
-#if defined(WINVER) && (WINVER < 0x0500)
-BOOST_ASIO_DECL void __stdcall apc_function(ULONG data);
-#else
-BOOST_ASIO_DECL void __stdcall apc_function(ULONG_PTR data);
-#endif
-
-template <typename T>
-class win_thread_base
-{
-public:
- static bool terminate_threads()
- {
- return ::InterlockedExchangeAdd(&terminate_threads_, 0) != 0;
- }
-
- static void set_terminate_threads(bool b)
- {
- ::InterlockedExchange(&terminate_threads_, b ? 1 : 0);
- }
-
-private:
- static long terminate_threads_;
-};
-
-template <typename T>
-long win_thread_base<T>::terminate_threads_ = 0;
-
-class win_thread
- : private noncopyable,
- public win_thread_base<win_thread>
-{
-public:
- // Constructor.
- template <typename Function>
- win_thread(Function f, unsigned int stack_size = 0)
- : thread_(0),
- exit_event_(0)
- {
- start_thread(new func<Function>(f), stack_size);
- }
-
- // Destructor.
- BOOST_ASIO_DECL ~win_thread();
-
- // Wait for the thread to exit.
- BOOST_ASIO_DECL void join();
-
- // Get number of CPUs.
- BOOST_ASIO_DECL static std::size_t hardware_concurrency();
-
-private:
- friend BOOST_ASIO_DECL unsigned int __stdcall win_thread_function(void* arg);
-
-#if defined(WINVER) && (WINVER < 0x0500)
- friend BOOST_ASIO_DECL void __stdcall apc_function(ULONG);
-#else
- friend BOOST_ASIO_DECL void __stdcall apc_function(ULONG_PTR);
-#endif
-
- class func_base
- {
- public:
- virtual ~func_base() {}
- virtual void run() = 0;
- ::HANDLE entry_event_;
- ::HANDLE exit_event_;
- };
-
- struct auto_func_base_ptr
- {
- func_base* ptr;
- ~auto_func_base_ptr() { delete ptr; }
- };
-
- template <typename Function>
- class func
- : public func_base
- {
- public:
- func(Function f)
- : f_(f)
- {
- }
-
- virtual void run()
- {
- f_();
- }
-
- private:
- Function f_;
- };
-
- BOOST_ASIO_DECL void start_thread(func_base* arg, unsigned int stack_size);
-
- ::HANDLE thread_;
- ::HANDLE exit_event_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/win_thread.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_WINDOWS)
- // && !defined(BOOST_ASIO_WINDOWS_APP)
- // && !defined(UNDER_CE)
-
-#endif // BOOST_ASIO_DETAIL_WIN_THREAD_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp
deleted file mode 100644
index e1761c2e27..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/win_tss_ptr.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-//
-// detail/win_tss_ptr.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WIN_TSS_PTR_HPP
-#define BOOST_ASIO_DETAIL_WIN_TSS_PTR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS)
-
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-// Helper function to create thread-specific storage.
-BOOST_ASIO_DECL DWORD win_tss_ptr_create();
-
-template <typename T>
-class win_tss_ptr
- : private noncopyable
-{
-public:
- // Constructor.
- win_tss_ptr()
- : tss_key_(win_tss_ptr_create())
- {
- }
-
- // Destructor.
- ~win_tss_ptr()
- {
- ::TlsFree(tss_key_);
- }
-
- // Get the value.
- operator T*() const
- {
- return static_cast<T*>(::TlsGetValue(tss_key_));
- }
-
- // Set the value.
- void operator=(T* value)
- {
- ::TlsSetValue(tss_key_, value);
- }
-
-private:
- // Thread-specific storage to allow unlocked access to determine whether a
- // thread is a member of the pool.
- DWORD tss_key_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/win_tss_ptr.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_WINDOWS)
-
-#endif // BOOST_ASIO_DETAIL_WIN_TSS_PTR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp
deleted file mode 100644
index 775f663d84..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winapp_thread.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-//
-// detail/winapp_thread.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINAPP_THREAD_HPP
-#define BOOST_ASIO_DETAIL_WINAPP_THREAD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS) && defined(BOOST_ASIO_WINDOWS_APP)
-
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/scoped_ptr.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-DWORD WINAPI winapp_thread_function(LPVOID arg);
-
-class winapp_thread
- : private noncopyable
-{
-public:
- // Constructor.
- template <typename Function>
- winapp_thread(Function f, unsigned int = 0)
- {
- scoped_ptr<func_base> arg(new func<Function>(f));
- DWORD thread_id = 0;
- thread_ = ::CreateThread(0, 0, winapp_thread_function,
- arg.get(), 0, &thread_id);
- if (!thread_)
- {
- DWORD last_error = ::GetLastError();
- boost::system::error_code ec(last_error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "thread");
- }
- arg.release();
- }
-
- // Destructor.
- ~winapp_thread()
- {
- ::CloseHandle(thread_);
- }
-
- // Wait for the thread to exit.
- void join()
- {
- ::WaitForSingleObjectEx(thread_, INFINITE, false);
- }
-
- // Get number of CPUs.
- static std::size_t hardware_concurrency()
- {
- SYSTEM_INFO system_info;
- ::GetNativeSystemInfo(&system_info);
- return system_info.dwNumberOfProcessors;
- }
-
-private:
- friend DWORD WINAPI winapp_thread_function(LPVOID arg);
-
- class func_base
- {
- public:
- virtual ~func_base() {}
- virtual void run() = 0;
- };
-
- template <typename Function>
- class func
- : public func_base
- {
- public:
- func(Function f)
- : f_(f)
- {
- }
-
- virtual void run()
- {
- f_();
- }
-
- private:
- Function f_;
- };
-
- ::HANDLE thread_;
-};
-
-inline DWORD WINAPI winapp_thread_function(LPVOID arg)
-{
- scoped_ptr<winapp_thread::func_base> func(
- static_cast<winapp_thread::func_base*>(arg));
- func->run();
- return 0;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS) && defined(BOOST_ASIO_WINDOWS_APP)
-
-#endif // BOOST_ASIO_DETAIL_WINAPP_THREAD_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp
deleted file mode 100644
index 77ec7c8265..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/wince_thread.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-//
-// detail/wince_thread.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINCE_THREAD_HPP
-#define BOOST_ASIO_DETAIL_WINCE_THREAD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS) && defined(UNDER_CE)
-
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/scoped_ptr.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-DWORD WINAPI wince_thread_function(LPVOID arg);
-
-class wince_thread
- : private noncopyable
-{
-public:
- // Constructor.
- template <typename Function>
- wince_thread(Function f, unsigned int = 0)
- {
- scoped_ptr<func_base> arg(new func<Function>(f));
- DWORD thread_id = 0;
- thread_ = ::CreateThread(0, 0, wince_thread_function,
- arg.get(), 0, &thread_id);
- if (!thread_)
- {
- DWORD last_error = ::GetLastError();
- boost::system::error_code ec(last_error,
- boost::asio::error::get_system_category());
- boost::asio::detail::throw_error(ec, "thread");
- }
- arg.release();
- }
-
- // Destructor.
- ~wince_thread()
- {
- ::CloseHandle(thread_);
- }
-
- // Wait for the thread to exit.
- void join()
- {
- ::WaitForSingleObject(thread_, INFINITE);
- }
-
- // Get number of CPUs.
- static std::size_t hardware_concurrency()
- {
- SYSTEM_INFO system_info;
- ::GetSystemInfo(&system_info);
- return system_info.dwNumberOfProcessors;
- }
-
-private:
- friend DWORD WINAPI wince_thread_function(LPVOID arg);
-
- class func_base
- {
- public:
- virtual ~func_base() {}
- virtual void run() = 0;
- };
-
- template <typename Function>
- class func
- : public func_base
- {
- public:
- func(Function f)
- : f_(f)
- {
- }
-
- virtual void run()
- {
- f_();
- }
-
- private:
- Function f_;
- };
-
- ::HANDLE thread_;
-};
-
-inline DWORD WINAPI wince_thread_function(LPVOID arg)
-{
- scoped_ptr<wince_thread::func_base> func(
- static_cast<wince_thread::func_base*>(arg));
- func->run();
- return 0;
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS) && defined(UNDER_CE)
-
-#endif // BOOST_ASIO_DETAIL_WINCE_THREAD_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp
deleted file mode 100644
index 57d6a1c218..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_manager.hpp
+++ /dev/null
@@ -1,296 +0,0 @@
-//
-// detail/winrt_async_manager.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINRT_ASYNC_MANAGER_HPP
-#define BOOST_ASIO_DETAIL_WINRT_ASYNC_MANAGER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <future>
-#include <boost/asio/detail/atomic_count.hpp>
-#include <boost/asio/detail/winrt_async_op.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class winrt_async_manager
- : public boost::asio::detail::service_base<winrt_async_manager>
-{
-public:
- // Constructor.
- winrt_async_manager(boost::asio::io_context& io_context)
- : boost::asio::detail::service_base<winrt_async_manager>(io_context),
- io_context_(use_service<io_context_impl>(io_context)),
- outstanding_ops_(1)
- {
- }
-
- // Destructor.
- ~winrt_async_manager()
- {
- }
-
- // Destroy all user-defined handler objects owned by the service.
- void shutdown()
- {
- if (--outstanding_ops_ > 0)
- {
- // Block until last operation is complete.
- std::future<void> f = promise_.get_future();
- f.wait();
- }
- }
-
- void sync(Windows::Foundation::IAsyncAction^ action,
- boost::system::error_code& ec)
- {
- using namespace Windows::Foundation;
- using Windows::Foundation::AsyncStatus;
-
- auto promise = std::make_shared<std::promise<boost::system::error_code>>();
- auto future = promise->get_future();
-
- action->Completed = ref new AsyncActionCompletedHandler(
- [promise](IAsyncAction^ action, AsyncStatus status)
- {
- switch (status)
- {
- case AsyncStatus::Canceled:
- promise->set_value(boost::asio::error::operation_aborted);
- break;
- case AsyncStatus::Error:
- case AsyncStatus::Completed:
- default:
- boost::system::error_code ec(
- action->ErrorCode.Value,
- boost::system::system_category());
- promise->set_value(ec);
- break;
- }
- });
-
- ec = future.get();
- }
-
- template <typename TResult>
- TResult sync(Windows::Foundation::IAsyncOperation<TResult>^ operation,
- boost::system::error_code& ec)
- {
- using namespace Windows::Foundation;
- using Windows::Foundation::AsyncStatus;
-
- auto promise = std::make_shared<std::promise<boost::system::error_code>>();
- auto future = promise->get_future();
-
- operation->Completed = ref new AsyncOperationCompletedHandler<TResult>(
- [promise](IAsyncOperation<TResult>^ operation, AsyncStatus status)
- {
- switch (status)
- {
- case AsyncStatus::Canceled:
- promise->set_value(boost::asio::error::operation_aborted);
- break;
- case AsyncStatus::Error:
- case AsyncStatus::Completed:
- default:
- boost::system::error_code ec(
- operation->ErrorCode.Value,
- boost::system::system_category());
- promise->set_value(ec);
- break;
- }
- });
-
- ec = future.get();
- return operation->GetResults();
- }
-
- template <typename TResult, typename TProgress>
- TResult sync(
- Windows::Foundation::IAsyncOperationWithProgress<
- TResult, TProgress>^ operation,
- boost::system::error_code& ec)
- {
- using namespace Windows::Foundation;
- using Windows::Foundation::AsyncStatus;
-
- auto promise = std::make_shared<std::promise<boost::system::error_code>>();
- auto future = promise->get_future();
-
- operation->Completed
- = ref new AsyncOperationWithProgressCompletedHandler<TResult, TProgress>(
- [promise](IAsyncOperationWithProgress<TResult, TProgress>^ operation,
- AsyncStatus status)
- {
- switch (status)
- {
- case AsyncStatus::Canceled:
- promise->set_value(boost::asio::error::operation_aborted);
- break;
- case AsyncStatus::Started:
- break;
- case AsyncStatus::Error:
- case AsyncStatus::Completed:
- default:
- boost::system::error_code ec(
- operation->ErrorCode.Value,
- boost::system::system_category());
- promise->set_value(ec);
- break;
- }
- });
-
- ec = future.get();
- return operation->GetResults();
- }
-
- void async(Windows::Foundation::IAsyncAction^ action,
- winrt_async_op<void>* handler)
- {
- using namespace Windows::Foundation;
- using Windows::Foundation::AsyncStatus;
-
- auto on_completed = ref new AsyncActionCompletedHandler(
- [this, handler](IAsyncAction^ action, AsyncStatus status)
- {
- switch (status)
- {
- case AsyncStatus::Canceled:
- handler->ec_ = boost::asio::error::operation_aborted;
- break;
- case AsyncStatus::Started:
- return;
- case AsyncStatus::Completed:
- case AsyncStatus::Error:
- default:
- handler->ec_ = boost::system::error_code(
- action->ErrorCode.Value,
- boost::system::system_category());
- break;
- }
- io_context_.post_deferred_completion(handler);
- if (--outstanding_ops_ == 0)
- promise_.set_value();
- });
-
- io_context_.work_started();
- ++outstanding_ops_;
- action->Completed = on_completed;
- }
-
- template <typename TResult>
- void async(Windows::Foundation::IAsyncOperation<TResult>^ operation,
- winrt_async_op<TResult>* handler)
- {
- using namespace Windows::Foundation;
- using Windows::Foundation::AsyncStatus;
-
- auto on_completed = ref new AsyncOperationCompletedHandler<TResult>(
- [this, handler](IAsyncOperation<TResult>^ operation, AsyncStatus status)
- {
- switch (status)
- {
- case AsyncStatus::Canceled:
- handler->ec_ = boost::asio::error::operation_aborted;
- break;
- case AsyncStatus::Started:
- return;
- case AsyncStatus::Completed:
- handler->result_ = operation->GetResults();
- // Fall through.
- case AsyncStatus::Error:
- default:
- handler->ec_ = boost::system::error_code(
- operation->ErrorCode.Value,
- boost::system::system_category());
- break;
- }
- io_context_.post_deferred_completion(handler);
- if (--outstanding_ops_ == 0)
- promise_.set_value();
- });
-
- io_context_.work_started();
- ++outstanding_ops_;
- operation->Completed = on_completed;
- }
-
- template <typename TResult, typename TProgress>
- void async(
- Windows::Foundation::IAsyncOperationWithProgress<
- TResult, TProgress>^ operation,
- winrt_async_op<TResult>* handler)
- {
- using namespace Windows::Foundation;
- using Windows::Foundation::AsyncStatus;
-
- auto on_completed
- = ref new AsyncOperationWithProgressCompletedHandler<TResult, TProgress>(
- [this, handler](IAsyncOperationWithProgress<
- TResult, TProgress>^ operation, AsyncStatus status)
- {
- switch (status)
- {
- case AsyncStatus::Canceled:
- handler->ec_ = boost::asio::error::operation_aborted;
- break;
- case AsyncStatus::Started:
- return;
- case AsyncStatus::Completed:
- handler->result_ = operation->GetResults();
- // Fall through.
- case AsyncStatus::Error:
- default:
- handler->ec_ = boost::system::error_code(
- operation->ErrorCode.Value,
- boost::system::system_category());
- break;
- }
- io_context_.post_deferred_completion(handler);
- if (--outstanding_ops_ == 0)
- promise_.set_value();
- });
-
- io_context_.work_started();
- ++outstanding_ops_;
- operation->Completed = on_completed;
- }
-
-private:
- // The io_context implementation used to post completed handlers.
- io_context_impl& io_context_;
-
- // Count of outstanding operations.
- atomic_count outstanding_ops_;
-
- // Used to keep wait for outstanding operations to complete.
- std::promise<void> promise_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_WINRT_ASYNC_MANAGER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp
deleted file mode 100644
index c3203ff88a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_async_op.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//
-// detail/winrt_async_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINRT_ASYNC_OP_HPP
-#define BOOST_ASIO_DETAIL_WINRT_ASYNC_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/operation.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename TResult>
-class winrt_async_op
- : public operation
-{
-public:
- // The error code to be passed to the completion handler.
- boost::system::error_code ec_;
-
- // The result of the operation, to be passed to the completion handler.
- TResult result_;
-
-protected:
- winrt_async_op(func_type complete_func)
- : operation(complete_func),
- result_()
- {
- }
-};
-
-template <>
-class winrt_async_op<void>
- : public operation
-{
-public:
- // The error code to be passed to the completion handler.
- boost::system::error_code ec_;
-
-protected:
- winrt_async_op(func_type complete_func)
- : operation(complete_func)
- {
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_WINRT_ASYNC_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp
deleted file mode 100644
index 80f102f4c8..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolve_op.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-//
-// detail/winrt_resolve_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINRT_RESOLVE_OP_HPP
-#define BOOST_ASIO_DETAIL_WINRT_RESOLVE_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/winrt_async_op.hpp>
-#include <boost/asio/ip/basic_resolver_results.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Protocol, typename Handler>
-class winrt_resolve_op :
- public winrt_async_op<
- Windows::Foundation::Collections::IVectorView<
- Windows::Networking::EndpointPair^>^>
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(winrt_resolve_op);
-
- typedef typename Protocol::endpoint endpoint_type;
- typedef boost::asio::ip::basic_resolver_query<Protocol> query_type;
- typedef boost::asio::ip::basic_resolver_results<Protocol> results_type;
-
- winrt_resolve_op(const query_type& query, Handler& handler)
- : winrt_async_op<
- Windows::Foundation::Collections::IVectorView<
- Windows::Networking::EndpointPair^>^>(
- &winrt_resolve_op::do_complete),
- query_(query),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code&, std::size_t)
- {
- // Take ownership of the operation object.
- winrt_resolve_op* o(static_cast<winrt_resolve_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- results_type results = results_type();
- if (!o->ec_)
- {
- try
- {
- results = results_type::create(o->result_, o->query_.hints(),
- o->query_.host_name(), o->query_.service_name());
- }
- catch (Platform::Exception^ e)
- {
- o->ec_ = boost::system::error_code(e->HResult,
- boost::system::system_category());
- }
- }
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, results_type>
- handler(o->handler_, o->ec_, results);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, "..."));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- query_type query_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_WINRT_RESOLVE_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp
deleted file mode 100644
index 463dbde11f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_resolver_service.hpp
+++ /dev/null
@@ -1,200 +0,0 @@
-//
-// detail/winrt_resolver_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINRT_RESOLVER_SERVICE_HPP
-#define BOOST_ASIO_DETAIL_WINRT_RESOLVER_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/ip/basic_resolver_query.hpp>
-#include <boost/asio/ip/basic_resolver_results.hpp>
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/winrt_async_manager.hpp>
-#include <boost/asio/detail/winrt_resolve_op.hpp>
-#include <boost/asio/detail/winrt_utils.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Protocol>
-class winrt_resolver_service :
- public service_base<winrt_resolver_service<Protocol> >
-{
-public:
- // The implementation type of the resolver. A cancellation token is used to
- // indicate to the asynchronous operation that the operation has been
- // cancelled.
- typedef socket_ops::shared_cancel_token_type implementation_type;
-
- // The endpoint type.
- typedef typename Protocol::endpoint endpoint_type;
-
- // The query type.
- typedef boost::asio::ip::basic_resolver_query<Protocol> query_type;
-
- // The results type.
- typedef boost::asio::ip::basic_resolver_results<Protocol> results_type;
-
- // Constructor.
- winrt_resolver_service(boost::asio::io_context& io_context)
- : service_base<winrt_resolver_service<Protocol> >(io_context),
- io_context_(use_service<io_context_impl>(io_context)),
- async_manager_(use_service<winrt_async_manager>(io_context))
- {
- }
-
- // Destructor.
- ~winrt_resolver_service()
- {
- }
-
- // Destroy all user-defined handler objects owned by the service.
- void shutdown()
- {
- }
-
- // Perform any fork-related housekeeping.
- void notify_fork(boost::asio::io_context::fork_event)
- {
- }
-
- // Construct a new resolver implementation.
- void construct(implementation_type&)
- {
- }
-
- // Move-construct a new resolver implementation.
- void move_construct(implementation_type&,
- implementation_type&)
- {
- }
-
- // Move-assign from another resolver implementation.
- void move_assign(implementation_type&,
- winrt_resolver_service&, implementation_type&)
- {
- }
-
- // Destroy a resolver implementation.
- void destroy(implementation_type&)
- {
- }
-
- // Cancel pending asynchronous operations.
- void cancel(implementation_type&)
- {
- }
-
- // Resolve a query to a list of entries.
- results_type resolve(implementation_type&,
- const query_type& query, boost::system::error_code& ec)
- {
- try
- {
- using namespace Windows::Networking::Sockets;
- auto endpoint_pairs = async_manager_.sync(
- DatagramSocket::GetEndpointPairsAsync(
- winrt_utils::host_name(query.host_name()),
- winrt_utils::string(query.service_name())), ec);
-
- if (ec)
- return results_type();
-
- return results_type::create(
- endpoint_pairs, query.hints(),
- query.host_name(), query.service_name());
- }
- catch (Platform::Exception^ e)
- {
- ec = boost::system::error_code(e->HResult,
- boost::system::system_category());
- return results_type();
- }
- }
-
- // Asynchronously resolve a query to a list of entries.
- template <typename Handler>
- void async_resolve(implementation_type& impl,
- const query_type& query, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef winrt_resolve_op<Protocol, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(query, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_.context(),
- *p.p, "resolver", &impl, 0, "async_resolve"));
- (void)impl;
-
- try
- {
- using namespace Windows::Networking::Sockets;
- async_manager_.async(DatagramSocket::GetEndpointPairsAsync(
- winrt_utils::host_name(query.host_name()),
- winrt_utils::string(query.service_name())), p.p);
- p.v = p.p = 0;
- }
- catch (Platform::Exception^ e)
- {
- p.p->ec_ = boost::system::error_code(
- e->HResult, boost::system::system_category());
- io_context_.post_immediate_completion(p.p, is_continuation);
- p.v = p.p = 0;
- }
- }
-
- // Resolve an endpoint to a list of entries.
- results_type resolve(implementation_type&,
- const endpoint_type&, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return results_type();
- }
-
- // Asynchronously resolve an endpoint to a list of entries.
- template <typename Handler>
- void async_resolve(implementation_type&,
- const endpoint_type&, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const results_type results;
- io_context_.get_io_context().post(
- detail::bind_handler(handler, ec, results));
- }
-
-private:
- io_context_impl& io_context_;
- winrt_async_manager& async_manager_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_WINRT_RESOLVER_SERVICE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp
deleted file mode 100644
index 9926da97d9..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_connect_op.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-//
-// detail/winrt_socket_connect_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINRT_SOCKET_CONNECT_OP_HPP
-#define BOOST_ASIO_DETAIL_WINRT_SOCKET_CONNECT_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/winrt_async_op.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Handler>
-class winrt_socket_connect_op :
- public winrt_async_op<void>
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(winrt_socket_connect_op);
-
- winrt_socket_connect_op(Handler& handler)
- : winrt_async_op<void>(&winrt_socket_connect_op::do_complete),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code&, std::size_t)
- {
- // Take ownership of the operation object.
- winrt_socket_connect_op* o(static_cast<winrt_socket_connect_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder1<Handler, boost::system::error_code>
- handler(o->handler_, o->ec_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_WINRT_SOCKET_CONNECT_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp
deleted file mode 100644
index 0701208da4..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_recv_op.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-//
-// detail/winrt_socket_recv_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINRT_SOCKET_RECV_OP_HPP
-#define BOOST_ASIO_DETAIL_WINRT_SOCKET_RECV_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/winrt_async_op.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename MutableBufferSequence, typename Handler>
-class winrt_socket_recv_op :
- public winrt_async_op<Windows::Storage::Streams::IBuffer^>
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(winrt_socket_recv_op);
-
- winrt_socket_recv_op(const MutableBufferSequence& buffers, Handler& handler)
- : winrt_async_op<Windows::Storage::Streams::IBuffer^>(
- &winrt_socket_recv_op::do_complete),
- buffers_(buffers),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code&, std::size_t)
- {
- // Take ownership of the operation object.
- winrt_socket_recv_op* o(static_cast<winrt_socket_recv_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
-#if defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
- // Check whether buffers are still valid.
- if (owner)
- {
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence>::validate(o->buffers_);
- }
-#endif // defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
-
- std::size_t bytes_transferred = o->result_ ? o->result_->Length : 0;
- if (bytes_transferred == 0 && !o->ec_ &&
- !buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence>::all_empty(o->buffers_))
- {
- o->ec_ = boost::asio::error::eof;
- }
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, o->ec_, bytes_transferred);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- MutableBufferSequence buffers_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_WINRT_SOCKET_RECV_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp
deleted file mode 100644
index 4e62056c4f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_socket_send_op.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-//
-// detail/winrt_socket_send_op.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINRT_SOCKET_SEND_OP_HPP
-#define BOOST_ASIO_DETAIL_WINRT_SOCKET_SEND_OP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/winrt_async_op.hpp>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename ConstBufferSequence, typename Handler>
-class winrt_socket_send_op :
- public winrt_async_op<unsigned int>
-{
-public:
- BOOST_ASIO_DEFINE_HANDLER_PTR(winrt_socket_send_op);
-
- winrt_socket_send_op(const ConstBufferSequence& buffers, Handler& handler)
- : winrt_async_op<unsigned int>(&winrt_socket_send_op::do_complete),
- buffers_(buffers),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- handler_work<Handler>::start(handler_);
- }
-
- static void do_complete(void* owner, operation* base,
- const boost::system::error_code&, std::size_t)
- {
- // Take ownership of the operation object.
- winrt_socket_send_op* o(static_cast<winrt_socket_send_op*>(base));
- ptr p = { boost::asio::detail::addressof(o->handler_), o, o };
- handler_work<Handler> w(o->handler_);
-
- BOOST_ASIO_HANDLER_COMPLETION((*o));
-
-#if defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
- // Check whether buffers are still valid.
- if (owner)
- {
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence>::validate(o->buffers_);
- }
-#endif // defined(BOOST_ASIO_ENABLE_BUFFER_DEBUGGING)
-
- // Make a copy of the handler so that the memory can be deallocated before
- // the upcall is made. Even if we're not about to make an upcall, a
- // sub-object of the handler may be the true owner of the memory associated
- // with the handler. Consequently, a local copy of the handler is required
- // to ensure that any owning sub-object remains valid until after we have
- // deallocated the memory here.
- detail::binder2<Handler, boost::system::error_code, std::size_t>
- handler(o->handler_, o->ec_, o->result_);
- p.h = boost::asio::detail::addressof(handler.handler_);
- p.reset();
-
- // Make the upcall if required.
- if (owner)
- {
- fenced_block b(fenced_block::half);
- BOOST_ASIO_HANDLER_INVOCATION_BEGIN((handler.arg1_, handler.arg2_));
- w.complete(handler, handler.handler_);
- BOOST_ASIO_HANDLER_INVOCATION_END;
- }
- }
-
-private:
- ConstBufferSequence buffers_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_WINRT_SOCKET_SEND_OP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp
deleted file mode 100644
index c874f2520d..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service.hpp
+++ /dev/null
@@ -1,243 +0,0 @@
-//
-// detail/winrt_ssocket_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINRT_SSOCKET_SERVICE_HPP
-#define BOOST_ASIO_DETAIL_WINRT_SSOCKET_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/winrt_socket_connect_op.hpp>
-#include <boost/asio/detail/winrt_ssocket_service_base.hpp>
-#include <boost/asio/detail/winrt_utils.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Protocol>
-class winrt_ssocket_service :
- public service_base<winrt_ssocket_service<Protocol> >,
- public winrt_ssocket_service_base
-{
-public:
- // The protocol type.
- typedef Protocol protocol_type;
-
- // The endpoint type.
- typedef typename Protocol::endpoint endpoint_type;
-
- // The native type of a socket.
- typedef Windows::Networking::Sockets::StreamSocket^ native_handle_type;
-
- // The implementation type of the socket.
- struct implementation_type : base_implementation_type
- {
- // Default constructor.
- implementation_type()
- : base_implementation_type(),
- protocol_(endpoint_type().protocol())
- {
- }
-
- // The protocol associated with the socket.
- protocol_type protocol_;
- };
-
- // Constructor.
- winrt_ssocket_service(boost::asio::io_context& io_context)
- : service_base<winrt_ssocket_service<Protocol> >(io_context),
- winrt_ssocket_service_base(io_context)
- {
- }
-
- // Destroy all user-defined handler objects owned by the service.
- void shutdown()
- {
- this->base_shutdown();
- }
-
- // Move-construct a new socket implementation.
- void move_construct(implementation_type& impl,
- implementation_type& other_impl)
- {
- this->base_move_construct(impl, other_impl);
-
- impl.protocol_ = other_impl.protocol_;
- other_impl.protocol_ = endpoint_type().protocol();
- }
-
- // Move-assign from another socket implementation.
- void move_assign(implementation_type& impl,
- winrt_ssocket_service& other_service,
- implementation_type& other_impl)
- {
- this->base_move_assign(impl, other_service, other_impl);
-
- impl.protocol_ = other_impl.protocol_;
- other_impl.protocol_ = endpoint_type().protocol();
- }
-
- // Move-construct a new socket implementation from another protocol type.
- template <typename Protocol1>
- void converting_move_construct(implementation_type& impl,
- winrt_ssocket_service<Protocol1>&,
- typename winrt_ssocket_service<
- Protocol1>::implementation_type& other_impl)
- {
- this->base_move_construct(impl, other_impl);
-
- impl.protocol_ = protocol_type(other_impl.protocol_);
- other_impl.protocol_ = typename Protocol1::endpoint().protocol();
- }
-
- // Open a new socket implementation.
- boost::system::error_code open(implementation_type& impl,
- const protocol_type& protocol, boost::system::error_code& ec)
- {
- if (is_open(impl))
- {
- ec = boost::asio::error::already_open;
- return ec;
- }
-
- try
- {
- impl.socket_ = ref new Windows::Networking::Sockets::StreamSocket;
- impl.protocol_ = protocol;
- ec = boost::system::error_code();
- }
- catch (Platform::Exception^ e)
- {
- ec = boost::system::error_code(e->HResult,
- boost::system::system_category());
- }
-
- return ec;
- }
-
- // Assign a native socket to a socket implementation.
- boost::system::error_code assign(implementation_type& impl,
- const protocol_type& protocol, const native_handle_type& native_socket,
- boost::system::error_code& ec)
- {
- if (is_open(impl))
- {
- ec = boost::asio::error::already_open;
- return ec;
- }
-
- impl.socket_ = native_socket;
- impl.protocol_ = protocol;
- ec = boost::system::error_code();
-
- return ec;
- }
-
- // Bind the socket to the specified local endpoint.
- boost::system::error_code bind(implementation_type&,
- const endpoint_type&, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Get the local endpoint.
- endpoint_type local_endpoint(const implementation_type& impl,
- boost::system::error_code& ec) const
- {
- endpoint_type endpoint;
- endpoint.resize(do_get_endpoint(impl, true,
- endpoint.data(), endpoint.size(), ec));
- return endpoint;
- }
-
- // Get the remote endpoint.
- endpoint_type remote_endpoint(const implementation_type& impl,
- boost::system::error_code& ec) const
- {
- endpoint_type endpoint;
- endpoint.resize(do_get_endpoint(impl, false,
- endpoint.data(), endpoint.size(), ec));
- return endpoint;
- }
-
- // Set a socket option.
- template <typename Option>
- boost::system::error_code set_option(implementation_type& impl,
- const Option& option, boost::system::error_code& ec)
- {
- return do_set_option(impl, option.level(impl.protocol_),
- option.name(impl.protocol_), option.data(impl.protocol_),
- option.size(impl.protocol_), ec);
- }
-
- // Get a socket option.
- template <typename Option>
- boost::system::error_code get_option(const implementation_type& impl,
- Option& option, boost::system::error_code& ec) const
- {
- std::size_t size = option.size(impl.protocol_);
- do_get_option(impl, option.level(impl.protocol_),
- option.name(impl.protocol_),
- option.data(impl.protocol_), &size, ec);
- if (!ec)
- option.resize(impl.protocol_, size);
- return ec;
- }
-
- // Connect the socket to the specified endpoint.
- boost::system::error_code connect(implementation_type& impl,
- const endpoint_type& peer_endpoint, boost::system::error_code& ec)
- {
- return do_connect(impl, peer_endpoint.data(), ec);
- }
-
- // Start an asynchronous connect.
- template <typename Handler>
- void async_connect(implementation_type& impl,
- const endpoint_type& peer_endpoint, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef winrt_socket_connect_op<Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_.context(),
- *p.p, "socket", &impl, 0, "async_connect"));
-
- start_connect_op(impl, peer_endpoint.data(), p.p, is_continuation);
- p.v = p.p = 0;
- }
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_WINRT_SSOCKET_SERVICE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp
deleted file mode 100644
index dcb5aa1c40..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_ssocket_service_base.hpp
+++ /dev/null
@@ -1,361 +0,0 @@
-//
-// detail/winrt_ssocket_service_base.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINRT_SSOCKET_SERVICE_BASE_HPP
-#define BOOST_ASIO_DETAIL_WINRT_SSOCKET_SERVICE_BASE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/buffer.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/socket_base.hpp>
-#include <boost/asio/detail/buffer_sequence_adapter.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/winrt_async_manager.hpp>
-#include <boost/asio/detail/winrt_socket_recv_op.hpp>
-#include <boost/asio/detail/winrt_socket_send_op.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class winrt_ssocket_service_base
-{
-public:
- // The native type of a socket.
- typedef Windows::Networking::Sockets::StreamSocket^ native_handle_type;
-
- // The implementation type of the socket.
- struct base_implementation_type
- {
- // Default constructor.
- base_implementation_type()
- : socket_(nullptr),
- next_(0),
- prev_(0)
- {
- }
-
- // The underlying native socket.
- native_handle_type socket_;
-
- // Pointers to adjacent socket implementations in linked list.
- base_implementation_type* next_;
- base_implementation_type* prev_;
- };
-
- // Constructor.
- BOOST_ASIO_DECL winrt_ssocket_service_base(
- boost::asio::io_context& io_context);
-
- // Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL void base_shutdown();
-
- // Construct a new socket implementation.
- BOOST_ASIO_DECL void construct(base_implementation_type&);
-
- // Move-construct a new socket implementation.
- BOOST_ASIO_DECL void base_move_construct(base_implementation_type& impl,
- base_implementation_type& other_impl);
-
- // Move-assign from another socket implementation.
- BOOST_ASIO_DECL void base_move_assign(base_implementation_type& impl,
- winrt_ssocket_service_base& other_service,
- base_implementation_type& other_impl);
-
- // Destroy a socket implementation.
- BOOST_ASIO_DECL void destroy(base_implementation_type& impl);
-
- // Determine whether the socket is open.
- bool is_open(const base_implementation_type& impl) const
- {
- return impl.socket_ != nullptr;
- }
-
- // Destroy a socket implementation.
- BOOST_ASIO_DECL boost::system::error_code close(
- base_implementation_type& impl, boost::system::error_code& ec);
-
- // Release ownership of the socket.
- BOOST_ASIO_DECL native_handle_type release(
- base_implementation_type& impl, boost::system::error_code& ec);
-
- // Get the native socket representation.
- native_handle_type native_handle(base_implementation_type& impl)
- {
- return impl.socket_;
- }
-
- // Cancel all operations associated with the socket.
- boost::system::error_code cancel(base_implementation_type&,
- boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Determine whether the socket is at the out-of-band data mark.
- bool at_mark(const base_implementation_type&,
- boost::system::error_code& ec) const
- {
- ec = boost::asio::error::operation_not_supported;
- return false;
- }
-
- // Determine the number of bytes available for reading.
- std::size_t available(const base_implementation_type&,
- boost::system::error_code& ec) const
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Perform an IO control command on the socket.
- template <typename IO_Control_Command>
- boost::system::error_code io_control(base_implementation_type&,
- IO_Control_Command&, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Gets the non-blocking mode of the socket.
- bool non_blocking(const base_implementation_type&) const
- {
- return false;
- }
-
- // Sets the non-blocking mode of the socket.
- boost::system::error_code non_blocking(base_implementation_type&,
- bool, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Gets the non-blocking mode of the native socket implementation.
- bool native_non_blocking(const base_implementation_type&) const
- {
- return false;
- }
-
- // Sets the non-blocking mode of the native socket implementation.
- boost::system::error_code native_non_blocking(base_implementation_type&,
- bool, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Disable sends or receives on the socket.
- boost::system::error_code shutdown(base_implementation_type&,
- socket_base::shutdown_type, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return ec;
- }
-
- // Send the given data to the peer.
- template <typename ConstBufferSequence>
- std::size_t send(base_implementation_type& impl,
- const ConstBufferSequence& buffers,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- return do_send(impl,
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence>::first(buffers), flags, ec);
- }
-
- // Wait until data can be sent without blocking.
- std::size_t send(base_implementation_type&, const null_buffers&,
- socket_base::message_flags, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Start an asynchronous send. The data being sent must be valid for the
- // lifetime of the asynchronous operation.
- template <typename ConstBufferSequence, typename Handler>
- void async_send(base_implementation_type& impl,
- const ConstBufferSequence& buffers,
- socket_base::message_flags flags, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef winrt_socket_send_op<ConstBufferSequence, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(buffers, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_.context(),
- *p.p, "socket", &impl, 0, "async_send"));
-
- start_send_op(impl,
- buffer_sequence_adapter<boost::asio::const_buffer,
- ConstBufferSequence>::first(buffers),
- flags, p.p, is_continuation);
- p.v = p.p = 0;
- }
-
- // Start an asynchronous wait until data can be sent without blocking.
- template <typename Handler>
- void async_send(base_implementation_type&, const null_buffers&,
- socket_base::message_flags, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.get_io_context().post(
- detail::bind_handler(handler, ec, bytes_transferred));
- }
-
- // Receive some data from the peer. Returns the number of bytes received.
- template <typename MutableBufferSequence>
- std::size_t receive(base_implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags flags, boost::system::error_code& ec)
- {
- return do_receive(impl,
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence>::first(buffers), flags, ec);
- }
-
- // Wait until data can be received without blocking.
- std::size_t receive(base_implementation_type&, const null_buffers&,
- socket_base::message_flags, boost::system::error_code& ec)
- {
- ec = boost::asio::error::operation_not_supported;
- return 0;
- }
-
- // Start an asynchronous receive. The buffer for the data being received
- // must be valid for the lifetime of the asynchronous operation.
- template <typename MutableBufferSequence, typename Handler>
- void async_receive(base_implementation_type& impl,
- const MutableBufferSequence& buffers,
- socket_base::message_flags flags, Handler& handler)
- {
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef winrt_socket_recv_op<MutableBufferSequence, Handler> op;
- typename op::ptr p = { boost::asio::detail::addressof(handler),
- op::ptr::allocate(handler), 0 };
- p.p = new (p.v) op(buffers, handler);
-
- BOOST_ASIO_HANDLER_CREATION((io_context_.context(),
- *p.p, "socket", &impl, 0, "async_receive"));
-
- start_receive_op(impl,
- buffer_sequence_adapter<boost::asio::mutable_buffer,
- MutableBufferSequence>::first(buffers),
- flags, p.p, is_continuation);
- p.v = p.p = 0;
- }
-
- // Wait until data can be received without blocking.
- template <typename Handler>
- void async_receive(base_implementation_type&, const null_buffers&,
- socket_base::message_flags, Handler& handler)
- {
- boost::system::error_code ec = boost::asio::error::operation_not_supported;
- const std::size_t bytes_transferred = 0;
- io_context_.get_io_context().post(
- detail::bind_handler(handler, ec, bytes_transferred));
- }
-
-protected:
- // Helper function to obtain endpoints associated with the connection.
- BOOST_ASIO_DECL std::size_t do_get_endpoint(
- const base_implementation_type& impl, bool local,
- void* addr, std::size_t addr_len, boost::system::error_code& ec) const;
-
- // Helper function to set a socket option.
- BOOST_ASIO_DECL boost::system::error_code do_set_option(
- base_implementation_type& impl,
- int level, int optname, const void* optval,
- std::size_t optlen, boost::system::error_code& ec);
-
- // Helper function to get a socket option.
- BOOST_ASIO_DECL void do_get_option(
- const base_implementation_type& impl,
- int level, int optname, void* optval,
- std::size_t* optlen, boost::system::error_code& ec) const;
-
- // Helper function to perform a synchronous connect.
- BOOST_ASIO_DECL boost::system::error_code do_connect(
- base_implementation_type& impl,
- const void* addr, boost::system::error_code& ec);
-
- // Helper function to start an asynchronous connect.
- BOOST_ASIO_DECL void start_connect_op(
- base_implementation_type& impl, const void* addr,
- winrt_async_op<void>* op, bool is_continuation);
-
- // Helper function to perform a synchronous send.
- BOOST_ASIO_DECL std::size_t do_send(
- base_implementation_type& impl, const boost::asio::const_buffer& data,
- socket_base::message_flags flags, boost::system::error_code& ec);
-
- // Helper function to start an asynchronous send.
- BOOST_ASIO_DECL void start_send_op(base_implementation_type& impl,
- const boost::asio::const_buffer& data, socket_base::message_flags flags,
- winrt_async_op<unsigned int>* op, bool is_continuation);
-
- // Helper function to perform a synchronous receive.
- BOOST_ASIO_DECL std::size_t do_receive(
- base_implementation_type& impl, const boost::asio::mutable_buffer& data,
- socket_base::message_flags flags, boost::system::error_code& ec);
-
- // Helper function to start an asynchronous receive.
- BOOST_ASIO_DECL void start_receive_op(base_implementation_type& impl,
- const boost::asio::mutable_buffer& data, socket_base::message_flags flags,
- winrt_async_op<Windows::Storage::Streams::IBuffer^>* op,
- bool is_continuation);
-
- // The io_context implementation used for delivering completions.
- io_context_impl& io_context_;
-
- // The manager that keeps track of outstanding operations.
- winrt_async_manager& async_manager_;
-
- // Mutex to protect access to the linked list of implementations.
- boost::asio::detail::mutex mutex_;
-
- // The head of a linked list of all implementations.
- base_implementation_type* impl_list_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/winrt_ssocket_service_base.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_WINRT_SSOCKET_SERVICE_BASE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp
deleted file mode 100644
index 765edeecb8..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winrt_utils.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-//
-// detail/winrt_utils.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINRT_UTILS_HPP
-#define BOOST_ASIO_DETAIL_WINRT_UTILS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <codecvt>
-#include <cstdlib>
-#include <future>
-#include <locale>
-#include <robuffer.h>
-#include <windows.storage.streams.h>
-#include <wrl/implements.h>
-#include <boost/asio/buffer.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-namespace winrt_utils {
-
-inline Platform::String^ string(const char* from)
-{
- std::wstring tmp(from, from + std::strlen(from));
- return ref new Platform::String(tmp.c_str());
-}
-
-inline Platform::String^ string(const std::string& from)
-{
- std::wstring tmp(from.begin(), from.end());
- return ref new Platform::String(tmp.c_str());
-}
-
-inline std::string string(Platform::String^ from)
-{
- std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
- return converter.to_bytes(from->Data());
-}
-
-inline Platform::String^ string(unsigned short from)
-{
- return string(std::to_string(from));
-}
-
-template <typename T>
-inline Platform::String^ string(const T& from)
-{
- return string(from.to_string());
-}
-
-inline int integer(Platform::String^ from)
-{
- return _wtoi(from->Data());
-}
-
-template <typename T>
-inline Windows::Networking::HostName^ host_name(const T& from)
-{
- return ref new Windows::Networking::HostName((string)(from));
-}
-
-template <typename ConstBufferSequence>
-inline Windows::Storage::Streams::IBuffer^ buffer_dup(
- const ConstBufferSequence& buffers)
-{
- using Microsoft::WRL::ComPtr;
- using boost::asio::buffer_size;
- std::size_t size = buffer_size(buffers);
- auto b = ref new Windows::Storage::Streams::Buffer(size);
- ComPtr<IInspectable> insp = reinterpret_cast<IInspectable*>(b);
- ComPtr<Windows::Storage::Streams::IBufferByteAccess> bacc;
- insp.As(&bacc);
- byte* bytes = nullptr;
- bacc->Buffer(&bytes);
- boost::asio::buffer_copy(boost::asio::buffer(bytes, size), buffers);
- b->Length = size;
- return b;
-}
-
-} // namespace winrt_utils
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#endif // BOOST_ASIO_DETAIL_WINRT_UTILS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp
deleted file mode 100644
index abf59cd1bf..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/winsock_init.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-//
-// detail/winsock_init.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WINSOCK_INIT_HPP
-#define BOOST_ASIO_DETAIL_WINSOCK_INIT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-class winsock_init_base
-{
-protected:
- // Structure to track result of initialisation and number of uses. POD is used
- // to ensure that the values are zero-initialised prior to any code being run.
- struct data
- {
- long init_count_;
- long result_;
- };
-
- BOOST_ASIO_DECL static void startup(data& d,
- unsigned char major, unsigned char minor);
-
- BOOST_ASIO_DECL static void manual_startup(data& d);
-
- BOOST_ASIO_DECL static void cleanup(data& d);
-
- BOOST_ASIO_DECL static void manual_cleanup(data& d);
-
- BOOST_ASIO_DECL static void throw_on_error(data& d);
-};
-
-template <int Major = 2, int Minor = 0>
-class winsock_init : private winsock_init_base
-{
-public:
- winsock_init(bool allow_throw = true)
- {
- startup(data_, Major, Minor);
- if (allow_throw)
- throw_on_error(data_);
- }
-
- winsock_init(const winsock_init&)
- {
- startup(data_, Major, Minor);
- throw_on_error(data_);
- }
-
- ~winsock_init()
- {
- cleanup(data_);
- }
-
- // This class may be used to indicate that user code will manage Winsock
- // initialisation and cleanup. This may be required in the case of a DLL, for
- // example, where it is not safe to initialise Winsock from global object
- // constructors.
- //
- // To prevent asio from initialising Winsock, the object must be constructed
- // before any Asio's own global objects. With MSVC, this may be accomplished
- // by adding the following code to the DLL:
- //
- // #pragma warning(push)
- // #pragma warning(disable:4073)
- // #pragma init_seg(lib)
- // boost::asio::detail::winsock_init<>::manual manual_winsock_init;
- // #pragma warning(pop)
- class manual
- {
- public:
- manual()
- {
- manual_startup(data_);
- }
-
- manual(const manual&)
- {
- manual_startup(data_);
- }
-
- ~manual()
- {
- manual_cleanup(data_);
- }
- };
-
-private:
- friend class manual;
- static data data_;
-};
-
-template <int Major, int Minor>
-winsock_init_base::data winsock_init<Major, Minor>::data_;
-
-// Static variable to ensure that winsock is initialised before main, and
-// therefore before any other threads can get started.
-static const winsock_init<>& winsock_init_instance = winsock_init<>(false);
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/detail/impl/winsock_init.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-
-#endif // BOOST_ASIO_DETAIL_WINSOCK_INIT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp
deleted file mode 100644
index 3167f244fd..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/work_dispatcher.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-//
-// detail/work_dispatcher.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WORK_DISPATCHER_HPP
-#define BOOST_ASIO_DETAIL_WORK_DISPATCHER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/associated_executor.hpp>
-#include <boost/asio/associated_allocator.hpp>
-#include <boost/asio/executor_work_guard.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-template <typename Handler>
-class work_dispatcher
-{
-public:
- work_dispatcher(Handler& handler)
- : work_((get_associated_executor)(handler)),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- work_dispatcher(const work_dispatcher& other)
- : work_(other.work_),
- handler_(other.handler_)
- {
- }
-
- work_dispatcher(work_dispatcher&& other)
- : work_(BOOST_ASIO_MOVE_CAST(executor_work_guard<
- typename associated_executor<Handler>::type>)(other.work_)),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_))
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- void operator()()
- {
- typename associated_allocator<Handler>::type alloc(
- (get_associated_allocator)(handler_));
- work_.get_executor().dispatch(
- BOOST_ASIO_MOVE_CAST(Handler)(handler_), alloc);
- work_.reset();
- }
-
-private:
- executor_work_guard<typename associated_executor<Handler>::type> work_;
- Handler handler_;
-};
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_WORK_DISPATCHER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp b/contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp
deleted file mode 100644
index 8e23d1db9e..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/detail/wrapped_handler.hpp
+++ /dev/null
@@ -1,293 +0,0 @@
-//
-// detail/wrapped_handler.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_DETAIL_WRAPPED_HANDLER_HPP
-#define BOOST_ASIO_DETAIL_WRAPPED_HANDLER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/bind_handler.hpp>
-#include <boost/asio/detail/handler_alloc_helpers.hpp>
-#include <boost/asio/detail/handler_cont_helpers.hpp>
-#include <boost/asio/detail/handler_invoke_helpers.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace detail {
-
-struct is_continuation_delegated
-{
- template <typename Dispatcher, typename Handler>
- bool operator()(Dispatcher&, Handler& handler) const
- {
- return boost_asio_handler_cont_helpers::is_continuation(handler);
- }
-};
-
-struct is_continuation_if_running
-{
- template <typename Dispatcher, typename Handler>
- bool operator()(Dispatcher& dispatcher, Handler&) const
- {
- return dispatcher.running_in_this_thread();
- }
-};
-
-template <typename Dispatcher, typename Handler,
- typename IsContinuation = is_continuation_delegated>
-class wrapped_handler
-{
-public:
- typedef void result_type;
-
- wrapped_handler(Dispatcher dispatcher, Handler& handler)
- : dispatcher_(dispatcher),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- wrapped_handler(const wrapped_handler& other)
- : dispatcher_(other.dispatcher_),
- handler_(other.handler_)
- {
- }
-
- wrapped_handler(wrapped_handler&& other)
- : dispatcher_(other.dispatcher_),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_))
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- void operator()()
- {
- dispatcher_.dispatch(BOOST_ASIO_MOVE_CAST(Handler)(handler_));
- }
-
- void operator()() const
- {
- dispatcher_.dispatch(handler_);
- }
-
- template <typename Arg1>
- void operator()(const Arg1& arg1)
- {
- dispatcher_.dispatch(detail::bind_handler(handler_, arg1));
- }
-
- template <typename Arg1>
- void operator()(const Arg1& arg1) const
- {
- dispatcher_.dispatch(detail::bind_handler(handler_, arg1));
- }
-
- template <typename Arg1, typename Arg2>
- void operator()(const Arg1& arg1, const Arg2& arg2)
- {
- dispatcher_.dispatch(detail::bind_handler(handler_, arg1, arg2));
- }
-
- template <typename Arg1, typename Arg2>
- void operator()(const Arg1& arg1, const Arg2& arg2) const
- {
- dispatcher_.dispatch(detail::bind_handler(handler_, arg1, arg2));
- }
-
- template <typename Arg1, typename Arg2, typename Arg3>
- void operator()(const Arg1& arg1, const Arg2& arg2, const Arg3& arg3)
- {
- dispatcher_.dispatch(detail::bind_handler(handler_, arg1, arg2, arg3));
- }
-
- template <typename Arg1, typename Arg2, typename Arg3>
- void operator()(const Arg1& arg1, const Arg2& arg2, const Arg3& arg3) const
- {
- dispatcher_.dispatch(detail::bind_handler(handler_, arg1, arg2, arg3));
- }
-
- template <typename Arg1, typename Arg2, typename Arg3, typename Arg4>
- void operator()(const Arg1& arg1, const Arg2& arg2, const Arg3& arg3,
- const Arg4& arg4)
- {
- dispatcher_.dispatch(
- detail::bind_handler(handler_, arg1, arg2, arg3, arg4));
- }
-
- template <typename Arg1, typename Arg2, typename Arg3, typename Arg4>
- void operator()(const Arg1& arg1, const Arg2& arg2, const Arg3& arg3,
- const Arg4& arg4) const
- {
- dispatcher_.dispatch(
- detail::bind_handler(handler_, arg1, arg2, arg3, arg4));
- }
-
- template <typename Arg1, typename Arg2, typename Arg3, typename Arg4,
- typename Arg5>
- void operator()(const Arg1& arg1, const Arg2& arg2, const Arg3& arg3,
- const Arg4& arg4, const Arg5& arg5)
- {
- dispatcher_.dispatch(
- detail::bind_handler(handler_, arg1, arg2, arg3, arg4, arg5));
- }
-
- template <typename Arg1, typename Arg2, typename Arg3, typename Arg4,
- typename Arg5>
- void operator()(const Arg1& arg1, const Arg2& arg2, const Arg3& arg3,
- const Arg4& arg4, const Arg5& arg5) const
- {
- dispatcher_.dispatch(
- detail::bind_handler(handler_, arg1, arg2, arg3, arg4, arg5));
- }
-
-//private:
- Dispatcher dispatcher_;
- Handler handler_;
-};
-
-template <typename Handler, typename Context>
-class rewrapped_handler
-{
-public:
- explicit rewrapped_handler(Handler& handler, const Context& context)
- : context_(context),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
- {
- }
-
- explicit rewrapped_handler(const Handler& handler, const Context& context)
- : context_(context),
- handler_(handler)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- rewrapped_handler(const rewrapped_handler& other)
- : context_(other.context_),
- handler_(other.handler_)
- {
- }
-
- rewrapped_handler(rewrapped_handler&& other)
- : context_(BOOST_ASIO_MOVE_CAST(Context)(other.context_)),
- handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_))
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- void operator()()
- {
- handler_();
- }
-
- void operator()() const
- {
- handler_();
- }
-
-//private:
- Context context_;
- Handler handler_;
-};
-
-template <typename Dispatcher, typename Handler, typename IsContinuation>
-inline void* asio_handler_allocate(std::size_t size,
- wrapped_handler<Dispatcher, Handler, IsContinuation>* this_handler)
-{
- return boost_asio_handler_alloc_helpers::allocate(
- size, this_handler->handler_);
-}
-
-template <typename Dispatcher, typename Handler, typename IsContinuation>
-inline void asio_handler_deallocate(void* pointer, std::size_t size,
- wrapped_handler<Dispatcher, Handler, IsContinuation>* this_handler)
-{
- boost_asio_handler_alloc_helpers::deallocate(
- pointer, size, this_handler->handler_);
-}
-
-template <typename Dispatcher, typename Handler, typename IsContinuation>
-inline bool asio_handler_is_continuation(
- wrapped_handler<Dispatcher, Handler, IsContinuation>* this_handler)
-{
- return IsContinuation()(this_handler->dispatcher_, this_handler->handler_);
-}
-
-template <typename Function, typename Dispatcher,
- typename Handler, typename IsContinuation>
-inline void asio_handler_invoke(Function& function,
- wrapped_handler<Dispatcher, Handler, IsContinuation>* this_handler)
-{
- this_handler->dispatcher_.dispatch(
- rewrapped_handler<Function, Handler>(
- function, this_handler->handler_));
-}
-
-template <typename Function, typename Dispatcher,
- typename Handler, typename IsContinuation>
-inline void asio_handler_invoke(const Function& function,
- wrapped_handler<Dispatcher, Handler, IsContinuation>* this_handler)
-{
- this_handler->dispatcher_.dispatch(
- rewrapped_handler<Function, Handler>(
- function, this_handler->handler_));
-}
-
-template <typename Handler, typename Context>
-inline void* asio_handler_allocate(std::size_t size,
- rewrapped_handler<Handler, Context>* this_handler)
-{
- return boost_asio_handler_alloc_helpers::allocate(
- size, this_handler->context_);
-}
-
-template <typename Handler, typename Context>
-inline void asio_handler_deallocate(void* pointer, std::size_t size,
- rewrapped_handler<Handler, Context>* this_handler)
-{
- boost_asio_handler_alloc_helpers::deallocate(
- pointer, size, this_handler->context_);
-}
-
-template <typename Dispatcher, typename Context>
-inline bool asio_handler_is_continuation(
- rewrapped_handler<Dispatcher, Context>* this_handler)
-{
- return boost_asio_handler_cont_helpers::is_continuation(
- this_handler->context_);
-}
-
-template <typename Function, typename Handler, typename Context>
-inline void asio_handler_invoke(Function& function,
- rewrapped_handler<Handler, Context>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->context_);
-}
-
-template <typename Function, typename Handler, typename Context>
-inline void asio_handler_invoke(const Function& function,
- rewrapped_handler<Handler, Context>* this_handler)
-{
- boost_asio_handler_invoke_helpers::invoke(
- function, this_handler->context_);
-}
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_DETAIL_WRAPPED_HANDLER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/error.hpp b/contrib/restricted/boost/asio/include/boost/asio/error.hpp
deleted file mode 100644
index 53810b287a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/error.hpp
+++ /dev/null
@@ -1,361 +0,0 @@
-//
-// error.hpp
-// ~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_ERROR_HPP
-#define BOOST_ASIO_ERROR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/cerrno.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/system/system_error.hpp>
-#if defined(BOOST_ASIO_WINDOWS) \
- || defined(__CYGWIN__) \
- || defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# include <winerror.h>
-#else
-# include <cerrno>
-# include <netdb.h>
-#endif
-
-#if defined(GENERATING_DOCUMENTATION)
-/// INTERNAL ONLY.
-# define BOOST_ASIO_NATIVE_ERROR(e) implementation_defined
-/// INTERNAL ONLY.
-# define BOOST_ASIO_SOCKET_ERROR(e) implementation_defined
-/// INTERNAL ONLY.
-# define BOOST_ASIO_NETDB_ERROR(e) implementation_defined
-/// INTERNAL ONLY.
-# define BOOST_ASIO_GETADDRINFO_ERROR(e) implementation_defined
-/// INTERNAL ONLY.
-# define BOOST_ASIO_WIN_OR_POSIX(e_win, e_posix) implementation_defined
-#elif defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# define BOOST_ASIO_NATIVE_ERROR(e) __HRESULT_FROM_WIN32(e)
-# define BOOST_ASIO_SOCKET_ERROR(e) __HRESULT_FROM_WIN32(WSA ## e)
-# define BOOST_ASIO_NETDB_ERROR(e) __HRESULT_FROM_WIN32(WSA ## e)
-# define BOOST_ASIO_GETADDRINFO_ERROR(e) __HRESULT_FROM_WIN32(WSA ## e)
-# define BOOST_ASIO_WIN_OR_POSIX(e_win, e_posix) e_win
-#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-# define BOOST_ASIO_NATIVE_ERROR(e) e
-# define BOOST_ASIO_SOCKET_ERROR(e) WSA ## e
-# define BOOST_ASIO_NETDB_ERROR(e) WSA ## e
-# define BOOST_ASIO_GETADDRINFO_ERROR(e) WSA ## e
-# define BOOST_ASIO_WIN_OR_POSIX(e_win, e_posix) e_win
-#else
-# define BOOST_ASIO_NATIVE_ERROR(e) e
-# define BOOST_ASIO_SOCKET_ERROR(e) e
-# define BOOST_ASIO_NETDB_ERROR(e) e
-# define BOOST_ASIO_GETADDRINFO_ERROR(e) e
-# define BOOST_ASIO_WIN_OR_POSIX(e_win, e_posix) e_posix
-#endif
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace error {
-
-enum basic_errors
-{
- /// Permission denied.
- access_denied = BOOST_ASIO_SOCKET_ERROR(EACCES),
-
- /// Address family not supported by protocol.
- address_family_not_supported = BOOST_ASIO_SOCKET_ERROR(EAFNOSUPPORT),
-
- /// Address already in use.
- address_in_use = BOOST_ASIO_SOCKET_ERROR(EADDRINUSE),
-
- /// Transport endpoint is already connected.
- already_connected = BOOST_ASIO_SOCKET_ERROR(EISCONN),
-
- /// Operation already in progress.
- already_started = BOOST_ASIO_SOCKET_ERROR(EALREADY),
-
- /// Broken pipe.
- broken_pipe = BOOST_ASIO_WIN_OR_POSIX(
- BOOST_ASIO_NATIVE_ERROR(ERROR_BROKEN_PIPE),
- BOOST_ASIO_NATIVE_ERROR(EPIPE)),
-
- /// A connection has been aborted.
- connection_aborted = BOOST_ASIO_SOCKET_ERROR(ECONNABORTED),
-
- /// Connection refused.
- connection_refused = BOOST_ASIO_SOCKET_ERROR(ECONNREFUSED),
-
- /// Connection reset by peer.
- connection_reset = BOOST_ASIO_SOCKET_ERROR(ECONNRESET),
-
- /// Bad file descriptor.
- bad_descriptor = BOOST_ASIO_SOCKET_ERROR(EBADF),
-
- /// Bad address.
- fault = BOOST_ASIO_SOCKET_ERROR(EFAULT),
-
- /// No route to host.
- host_unreachable = BOOST_ASIO_SOCKET_ERROR(EHOSTUNREACH),
-
- /// Operation now in progress.
- in_progress = BOOST_ASIO_SOCKET_ERROR(EINPROGRESS),
-
- /// Interrupted system call.
- interrupted = BOOST_ASIO_SOCKET_ERROR(EINTR),
-
- /// Invalid argument.
- invalid_argument = BOOST_ASIO_SOCKET_ERROR(EINVAL),
-
- /// Message too long.
- message_size = BOOST_ASIO_SOCKET_ERROR(EMSGSIZE),
-
- /// The name was too long.
- name_too_long = BOOST_ASIO_SOCKET_ERROR(ENAMETOOLONG),
-
- /// Network is down.
- network_down = BOOST_ASIO_SOCKET_ERROR(ENETDOWN),
-
- /// Network dropped connection on reset.
- network_reset = BOOST_ASIO_SOCKET_ERROR(ENETRESET),
-
- /// Network is unreachable.
- network_unreachable = BOOST_ASIO_SOCKET_ERROR(ENETUNREACH),
-
- /// Too many open files.
- no_descriptors = BOOST_ASIO_SOCKET_ERROR(EMFILE),
-
- /// No buffer space available.
- no_buffer_space = BOOST_ASIO_SOCKET_ERROR(ENOBUFS),
-
- /// Cannot allocate memory.
- no_memory = BOOST_ASIO_WIN_OR_POSIX(
- BOOST_ASIO_NATIVE_ERROR(ERROR_OUTOFMEMORY),
- BOOST_ASIO_NATIVE_ERROR(ENOMEM)),
-
- /// Operation not permitted.
- no_permission = BOOST_ASIO_WIN_OR_POSIX(
- BOOST_ASIO_NATIVE_ERROR(ERROR_ACCESS_DENIED),
- BOOST_ASIO_NATIVE_ERROR(EPERM)),
-
- /// 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),
-
- /// Socket operation on non-socket.
- not_socket = BOOST_ASIO_SOCKET_ERROR(ENOTSOCK),
-
- /// Operation cancelled.
- operation_aborted = BOOST_ASIO_WIN_OR_POSIX(
- BOOST_ASIO_NATIVE_ERROR(ERROR_OPERATION_ABORTED),
- BOOST_ASIO_NATIVE_ERROR(ECANCELED)),
-
- /// Operation not supported.
- operation_not_supported = BOOST_ASIO_SOCKET_ERROR(EOPNOTSUPP),
-
- /// Cannot send after transport endpoint shutdown.
- shut_down = BOOST_ASIO_SOCKET_ERROR(ESHUTDOWN),
-
- /// Connection timed out.
- timed_out = BOOST_ASIO_SOCKET_ERROR(ETIMEDOUT),
-
- /// Resource temporarily unavailable.
- try_again = BOOST_ASIO_WIN_OR_POSIX(
- BOOST_ASIO_NATIVE_ERROR(ERROR_RETRY),
- BOOST_ASIO_NATIVE_ERROR(EAGAIN)),
-
- /// The socket is marked non-blocking and the requested operation would block.
- would_block = BOOST_ASIO_SOCKET_ERROR(EWOULDBLOCK)
-};
-
-enum netdb_errors
-{
- /// Host not found (authoritative).
- host_not_found = BOOST_ASIO_NETDB_ERROR(HOST_NOT_FOUND),
-
- /// Host not found (non-authoritative).
- host_not_found_try_again = BOOST_ASIO_NETDB_ERROR(TRY_AGAIN),
-
- /// The query is valid but does not have associated address data.
- no_data = BOOST_ASIO_NETDB_ERROR(NO_DATA),
-
- /// A non-recoverable error occurred.
- no_recovery = BOOST_ASIO_NETDB_ERROR(NO_RECOVERY)
-};
-
-enum addrinfo_errors
-{
- /// The service is not supported for the given socket type.
- service_not_found = BOOST_ASIO_WIN_OR_POSIX(
- BOOST_ASIO_NATIVE_ERROR(WSATYPE_NOT_FOUND),
- BOOST_ASIO_GETADDRINFO_ERROR(EAI_SERVICE)),
-
- /// The socket type is not supported.
- socket_type_not_supported = BOOST_ASIO_WIN_OR_POSIX(
- BOOST_ASIO_NATIVE_ERROR(WSAESOCKTNOSUPPORT),
- BOOST_ASIO_GETADDRINFO_ERROR(EAI_SOCKTYPE))
-};
-
-enum misc_errors
-{
- /// Already open.
- already_open = 1,
-
- /// End of file or stream.
- eof,
-
- /// Element not found.
- not_found,
-
- /// The descriptor cannot fit into the select system call's fd_set.
- fd_set_failure
-};
-
-inline const boost::system::error_category& get_system_category()
-{
- return boost::system::system_category();
-}
-
-#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-
-extern BOOST_ASIO_DECL
-const boost::system::error_category& get_netdb_category();
-
-extern BOOST_ASIO_DECL
-const boost::system::error_category& get_addrinfo_category();
-
-#else // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-
-inline const boost::system::error_category& get_netdb_category()
-{
- return get_system_category();
-}
-
-inline const boost::system::error_category& get_addrinfo_category()
-{
- return get_system_category();
-}
-
-#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-
-extern BOOST_ASIO_DECL
-const boost::system::error_category& get_misc_category();
-
-static const boost::system::error_category&
- system_category BOOST_ASIO_UNUSED_VARIABLE
- = boost::asio::error::get_system_category();
-static const boost::system::error_category&
- netdb_category BOOST_ASIO_UNUSED_VARIABLE
- = boost::asio::error::get_netdb_category();
-static const boost::system::error_category&
- addrinfo_category BOOST_ASIO_UNUSED_VARIABLE
- = boost::asio::error::get_addrinfo_category();
-static const boost::system::error_category&
- misc_category BOOST_ASIO_UNUSED_VARIABLE
- = boost::asio::error::get_misc_category();
-
-} // namespace error
-} // namespace asio
-} // namespace boost
-
-namespace boost {
-namespace system {
-
-template<> struct is_error_code_enum<boost::asio::error::basic_errors>
-{
- static const bool value = true;
-};
-
-template<> struct is_error_code_enum<boost::asio::error::netdb_errors>
-{
- static const bool value = true;
-};
-
-template<> struct is_error_code_enum<boost::asio::error::addrinfo_errors>
-{
- static const bool value = true;
-};
-
-template<> struct is_error_code_enum<boost::asio::error::misc_errors>
-{
- static const bool value = true;
-};
-
-} // namespace system
-} // namespace boost
-
-namespace boost {
-namespace asio {
-namespace error {
-
-inline boost::system::error_code make_error_code(basic_errors e)
-{
- return boost::system::error_code(
- static_cast<int>(e), get_system_category());
-}
-
-inline boost::system::error_code make_error_code(netdb_errors e)
-{
- return boost::system::error_code(
- static_cast<int>(e), get_netdb_category());
-}
-
-inline boost::system::error_code make_error_code(addrinfo_errors e)
-{
- return boost::system::error_code(
- static_cast<int>(e), get_addrinfo_category());
-}
-
-inline boost::system::error_code make_error_code(misc_errors e)
-{
- return boost::system::error_code(
- static_cast<int>(e), get_misc_category());
-}
-
-} // namespace error
-namespace stream_errc {
- // Simulates the proposed stream_errc scoped enum.
- using error::eof;
- using error::not_found;
-} // namespace stream_errc
-namespace socket_errc {
- // Simulates the proposed socket_errc scoped enum.
- using error::already_open;
- using error::not_found;
-} // namespace socket_errc
-namespace resolver_errc {
- // Simulates the proposed resolver_errc scoped enum.
- using error::host_not_found;
- const error::netdb_errors try_again = error::host_not_found_try_again;
- using error::service_not_found;
-} // namespace resolver_errc
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#undef BOOST_ASIO_NATIVE_ERROR
-#undef BOOST_ASIO_SOCKET_ERROR
-#undef BOOST_ASIO_NETDB_ERROR
-#undef BOOST_ASIO_GETADDRINFO_ERROR
-#undef BOOST_ASIO_WIN_OR_POSIX
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/impl/error.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_ERROR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp
deleted file mode 100644
index 4ebb607a1a..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/execution_context.hpp
+++ /dev/null
@@ -1,413 +0,0 @@
-//
-// execution_context.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_EXECUTION_CONTEXT_HPP
-#define BOOST_ASIO_EXECUTION_CONTEXT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <cstddef>
-#include <stdexcept>
-#include <typeinfo>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/variadic_templates.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-class execution_context;
-class io_context;
-
-#if !defined(GENERATING_DOCUMENTATION)
-template <typename Service> Service& use_service(execution_context&);
-template <typename Service> Service& use_service(io_context&);
-template <typename Service> void add_service(execution_context&, Service*);
-template <typename Service> bool has_service(execution_context&);
-#endif // !defined(GENERATING_DOCUMENTATION)
-
-namespace detail { class service_registry; }
-
-/// A context for function object execution.
-/**
- * An execution context represents a place where function objects will be
- * executed. An @c io_context is an example of an execution context.
- *
- * @par The execution_context class and services
- *
- * Class execution_context implements an extensible, type-safe, polymorphic set
- * of services, indexed by service type.
- *
- * Services exist to manage the resources that are shared across an execution
- * context. For example, timers may be implemented in terms of a single timer
- * queue, and this queue would be stored in a service.
- *
- * Access to the services of an execution_context is via three function
- * templates, use_service(), add_service() and has_service().
- *
- * In a call to @c use_service<Service>(), the type argument chooses a service,
- * making available all members of the named type. If @c Service is not present
- * in an execution_context, an object of type @c Service is created and added
- * to the execution_context. A C++ program can check if an execution_context
- * implements a particular service with the function template @c
- * has_service<Service>().
- *
- * Service objects may be explicitly added to an execution_context using the
- * function template @c add_service<Service>(). If the @c Service is already
- * present, the service_already_exists exception is thrown. If the owner of the
- * service is not the same object as the execution_context parameter, the
- * invalid_service_owner exception is thrown.
- *
- * Once a service reference is obtained from an execution_context object by
- * calling use_service(), that reference remains usable as long as the owning
- * execution_context object exists.
- *
- * All service implementations have execution_context::service as a public base
- * class. Custom services may be implemented by deriving from this class and
- * then added to an execution_context using the facilities described above.
- *
- * @par The execution_context as a base class
- *
- * Class execution_context may be used only as a base class for concrete
- * execution context types. The @c io_context is an example of such a derived
- * type.
- *
- * On destruction, a class that is derived from execution_context must perform
- * <tt>execution_context::shutdown()</tt> followed by
- * <tt>execution_context::destroy()</tt>.
- *
- * This destruction sequence permits programs to simplify their resource
- * management by using @c shared_ptr<>. Where an object's lifetime is tied to
- * the lifetime of a connection (or some other sequence of asynchronous
- * operations), a @c shared_ptr to the object would be bound into the handlers
- * for all asynchronous operations associated with it. This works as follows:
- *
- * @li When a single connection ends, all associated asynchronous operations
- * complete. The corresponding handler objects are destroyed, and all @c
- * shared_ptr references to the objects are destroyed.
- *
- * @li To shut down the whole program, the io_context function stop() is called
- * to terminate any run() calls as soon as possible. The io_context destructor
- * calls @c shutdown() and @c destroy() to destroy all pending handlers,
- * causing all @c shared_ptr references to all connection objects to be
- * destroyed.
- */
-class execution_context
- : private noncopyable
-{
-public:
- class id;
- class service;
-
-protected:
- /// Constructor.
- BOOST_ASIO_DECL execution_context();
-
- /// Destructor.
- BOOST_ASIO_DECL ~execution_context();
-
- /// Shuts down all services in the context.
- /**
- * This function is implemented as follows:
- *
- * @li For each service object @c svc in the execution_context set, in
- * reverse order of the beginning of service object lifetime, performs @c
- * svc->shutdown().
- */
- BOOST_ASIO_DECL void shutdown();
-
- /// Destroys all services in the context.
- /**
- * This function is implemented as follows:
- *
- * @li For each service object @c svc in the execution_context set, in
- * reverse order * of the beginning of service object lifetime, performs
- * <tt>delete static_cast<execution_context::service*>(svc)</tt>.
- */
- BOOST_ASIO_DECL void destroy();
-
-public:
- /// Fork-related event notifications.
- enum fork_event
- {
- /// Notify the context that the process is about to fork.
- fork_prepare,
-
- /// Notify the context that the process has forked and is the parent.
- fork_parent,
-
- /// Notify the context that the process has forked and is the child.
- fork_child
- };
-
- /// Notify the execution_context of a fork-related event.
- /**
- * This function is used to inform the execution_context that the process is
- * about to fork, or has just forked. This allows the execution_context, and
- * the services it contains, to perform any necessary housekeeping to ensure
- * correct operation following a fork.
- *
- * This function must not be called while any other execution_context
- * function, or any function associated with the execution_context's derived
- * class, is being called in another thread. It is, however, safe to call
- * this function from within a completion handler, provided no other thread
- * is accessing the execution_context or its derived class.
- *
- * @param event A fork-related event.
- *
- * @throws boost::system::system_error Thrown on failure. If the notification
- * fails the execution_context object should no longer be used and should be
- * destroyed.
- *
- * @par Example
- * The following code illustrates how to incorporate the notify_fork()
- * function:
- * @code my_execution_context.notify_fork(execution_context::fork_prepare);
- * if (fork() == 0)
- * {
- * // This is the child process.
- * my_execution_context.notify_fork(execution_context::fork_child);
- * }
- * else
- * {
- * // This is the parent process.
- * my_execution_context.notify_fork(execution_context::fork_parent);
- * } @endcode
- *
- * @note For each service object @c svc in the execution_context set,
- * performs <tt>svc->notify_fork();</tt>. When processing the fork_prepare
- * event, services are visited in reverse order of the beginning of service
- * object lifetime. Otherwise, services are visited in order of the beginning
- * of service object lifetime.
- */
- BOOST_ASIO_DECL void notify_fork(fork_event event);
-
- /// Obtain the service object corresponding to the given type.
- /**
- * This function is used to locate a service object that corresponds to the
- * given service type. If there is no existing implementation of the service,
- * then the execution_context will create a new instance of the service.
- *
- * @param e The execution_context object that owns the service.
- *
- * @return The service interface implementing the specified service type.
- * Ownership of the service interface is not transferred to the caller.
- */
- template <typename Service>
- friend Service& use_service(execution_context& e);
-
- /// Obtain the service object corresponding to the given type.
- /**
- * This function is used to locate a service object that corresponds to the
- * given service type. If there is no existing implementation of the service,
- * then the io_context will create a new instance of the service.
- *
- * @param ioc The io_context object that owns the service.
- *
- * @return The service interface implementing the specified service type.
- * Ownership of the service interface is not transferred to the caller.
- *
- * @note This overload is preserved for backwards compatibility with services
- * that inherit from io_context::service.
- */
- template <typename Service>
- friend Service& use_service(io_context& ioc);
-
-#if defined(GENERATING_DOCUMENTATION)
-
- /// Creates a service object and adds it to the execution_context.
- /**
- * This function is used to add a service to the execution_context.
- *
- * @param e The execution_context object that owns the service.
- *
- * @param args Zero or more arguments to be passed to the service
- * constructor.
- *
- * @throws boost::asio::service_already_exists Thrown if a service of the
- * given type is already present in the execution_context.
- */
- template <typename Service, typename... Args>
- friend Service& make_service(execution_context& e, Args&&... args);
-
-#elif defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
-
- template <typename Service, typename... Args>
- friend Service& make_service(execution_context& e,
- BOOST_ASIO_MOVE_ARG(Args)... args);
-
-#else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
-
- template <typename Service>
- friend Service& make_service(execution_context& e);
-
-#define BOOST_ASIO_PRIVATE_MAKE_SERVICE_DEF(n) \
- template <typename Service, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
- friend Service& make_service(execution_context& e, \
- BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)); \
- /**/
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_MAKE_SERVICE_DEF)
-#undef BOOST_ASIO_PRIVATE_MAKE_SERVICE_DEF
-
-#endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
-
- /// (Deprecated: Use make_service().) Add a service object to the
- /// execution_context.
- /**
- * This function is used to add a service to the execution_context.
- *
- * @param e The execution_context object that owns the service.
- *
- * @param svc The service object. On success, ownership of the service object
- * is transferred to the execution_context. When the execution_context object
- * is destroyed, it will destroy the service object by performing: @code
- * delete static_cast<execution_context::service*>(svc) @endcode
- *
- * @throws boost::asio::service_already_exists Thrown if a service of the
- * given type is already present in the execution_context.
- *
- * @throws boost::asio::invalid_service_owner Thrown if the service's owning
- * execution_context is not the execution_context object specified by the
- * @c e parameter.
- */
- template <typename Service>
- friend void add_service(execution_context& e, Service* svc);
-
- /// Determine if an execution_context contains a specified service type.
- /**
- * This function is used to determine whether the execution_context contains a
- * service object corresponding to the given service type.
- *
- * @param e The execution_context object that owns the service.
- *
- * @return A boolean indicating whether the execution_context contains the
- * service.
- */
- template <typename Service>
- friend bool has_service(execution_context& e);
-
-private:
- // The service registry.
- boost::asio::detail::service_registry* service_registry_;
-};
-
-/// Class used to uniquely identify a service.
-class execution_context::id
- : private noncopyable
-{
-public:
- /// Constructor.
- id() {}
-};
-
-/// Base class for all io_context services.
-class execution_context::service
- : private noncopyable
-{
-public:
- /// Get the context object that owns the service.
- execution_context& context();
-
-protected:
- /// Constructor.
- /**
- * @param owner The execution_context object that owns the service.
- */
- BOOST_ASIO_DECL service(execution_context& owner);
-
- /// Destructor.
- BOOST_ASIO_DECL virtual ~service();
-
-private:
- /// Destroy all user-defined handler objects owned by the service.
- virtual void shutdown() = 0;
-
- /// Handle notification of a fork-related event to perform any necessary
- /// housekeeping.
- /**
- * This function is not a pure virtual so that services only have to
- * implement it if necessary. The default implementation does nothing.
- */
- BOOST_ASIO_DECL virtual void notify_fork(
- execution_context::fork_event event);
-
- friend class boost::asio::detail::service_registry;
- struct key
- {
- key() : type_info_(0), id_(0) {}
- const std::type_info* type_info_;
- const execution_context::id* id_;
- } key_;
-
- execution_context& owner_;
- service* next_;
-};
-
-/// Exception thrown when trying to add a duplicate service to an
-/// execution_context.
-class service_already_exists
- : public std::logic_error
-{
-public:
- BOOST_ASIO_DECL service_already_exists();
-};
-
-/// Exception thrown when trying to add a service object to an
-/// execution_context where the service has a different owner.
-class invalid_service_owner
- : public std::logic_error
-{
-public:
- BOOST_ASIO_DECL invalid_service_owner();
-};
-
-namespace detail {
-
-// Special derived service id type to keep classes header-file only.
-template <typename Type>
-class service_id
- : public execution_context::id
-{
-};
-
-// Special service base class to keep classes header-file only.
-template <typename Type>
-class execution_context_service_base
- : public execution_context::service
-{
-public:
- static service_id<Type> id;
-
- // Constructor.
- execution_context_service_base(execution_context& e)
- : execution_context::service(e)
- {
- }
-};
-
-template <typename Type>
-service_id<Type> execution_context_service_base<Type>::id;
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/impl/execution_context.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/impl/execution_context.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_EXECUTION_CONTEXT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp b/contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp
deleted file mode 100644
index a9303462eb..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/executor_work_guard.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-//
-// executor_work_guard.hpp
-// ~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_EXECUTOR_WORK_GUARD_HPP
-#define BOOST_ASIO_EXECUTOR_WORK_GUARD_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/associated_executor.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-#include <boost/asio/is_executor.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// An object of type @c executor_work_guard controls ownership of executor work
-/// within a scope.
-template <typename Executor>
-class executor_work_guard
-{
-public:
- /// The underlying executor type.
- typedef Executor executor_type;
-
- /// Constructs a @c executor_work_guard object for the specified executor.
- /**
- * Stores a copy of @c e and calls <tt>on_work_started()</tt> on it.
- */
- explicit executor_work_guard(const executor_type& e) BOOST_ASIO_NOEXCEPT
- : executor_(e),
- owns_(true)
- {
- executor_.on_work_started();
- }
-
- /// Copy constructor.
- executor_work_guard(const executor_work_guard& other) BOOST_ASIO_NOEXCEPT
- : executor_(other.executor_),
- owns_(other.owns_)
- {
- if (owns_)
- executor_.on_work_started();
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move constructor.
- executor_work_guard(executor_work_guard&& other)
- : executor_(BOOST_ASIO_MOVE_CAST(Executor)(other.executor_)),
- owns_(other.owns_)
- {
- other.owns_ = false;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// Destructor.
- /**
- * Unless the object has already been reset, or is in a moved-from state,
- * calls <tt>on_work_finished()</tt> on the stored executor.
- */
- ~executor_work_guard()
- {
- if (owns_)
- executor_.on_work_finished();
- }
-
- /// Obtain the associated executor.
- executor_type get_executor() const BOOST_ASIO_NOEXCEPT
- {
- return executor_;
- }
-
- /// Whether the executor_work_guard object owns some outstanding work.
- bool owns_work() const BOOST_ASIO_NOEXCEPT
- {
- return owns_;
- }
-
- /// Indicate that the work is no longer outstanding.
- /*
- * Unless the object has already been reset, or is in a moved-from state,
- * calls <tt>on_work_finished()</tt> on the stored executor.
- */
- void reset() BOOST_ASIO_NOEXCEPT
- {
- if (owns_)
- {
- executor_.on_work_finished();
- owns_ = false;
- }
- }
-
-private:
- // Disallow assignment.
- executor_work_guard& operator=(const executor_work_guard&);
-
- executor_type executor_;
- bool owns_;
-};
-
-/// Create an @ref executor_work_guard object.
-template <typename Executor>
-inline executor_work_guard<Executor> make_work_guard(const Executor& ex,
- typename enable_if<is_executor<Executor>::value>::type* = 0)
-{
- return executor_work_guard<Executor>(ex);
-}
-
-/// Create an @ref executor_work_guard object.
-template <typename ExecutionContext>
-inline executor_work_guard<typename ExecutionContext::executor_type>
-make_work_guard(ExecutionContext& ctx,
- typename enable_if<
- is_convertible<ExecutionContext&, execution_context&>::value>::type* = 0)
-{
- return executor_work_guard<typename ExecutionContext::executor_type>(
- ctx.get_executor());
-}
-
-/// Create an @ref executor_work_guard object.
-template <typename T>
-inline executor_work_guard<typename associated_executor<T>::type>
-make_work_guard(const T& t,
- typename enable_if<!is_executor<T>::value &&
- !is_convertible<T&, execution_context&>::value>::type* = 0)
-{
- return executor_work_guard<typename associated_executor<T>::type>(
- associated_executor<T>::get(t));
-}
-
-/// Create an @ref executor_work_guard object.
-template <typename T, typename Executor>
-inline executor_work_guard<typename associated_executor<T, Executor>::type>
-make_work_guard(const T& t, const Executor& ex,
- typename enable_if<is_executor<Executor>::value>::type* = 0)
-{
- return executor_work_guard<typename associated_executor<T, Executor>::type>(
- associated_executor<T, Executor>::get(t, ex));
-}
-
-/// Create an @ref executor_work_guard object.
-template <typename T, typename ExecutionContext>
-inline executor_work_guard<typename associated_executor<T,
- typename ExecutionContext::executor_type>::type>
-make_work_guard(const T& t, ExecutionContext& ctx,
- typename enable_if<!is_executor<T>::value &&
- !is_convertible<T&, execution_context&>::value &&
- is_convertible<ExecutionContext&, execution_context&>::value>::type* = 0)
-{
- return executor_work_guard<typename associated_executor<T,
- typename ExecutionContext::executor_type>::type>(
- associated_executor<T, typename ExecutionContext::executor_type>::get(
- t, ctx.get_executor()));
-}
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_EXECUTOR_WORK_GUARD_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp b/contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp
deleted file mode 100644
index c9636b53ad..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/handler_alloc_hook.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// handler_alloc_hook.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_HANDLER_ALLOC_HOOK_HPP
-#define BOOST_ASIO_HANDLER_ALLOC_HOOK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <cstddef>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// Default allocation function for handlers.
-/**
- * Asynchronous operations may need to allocate temporary objects. Since
- * asynchronous operations have a handler function object, these temporary
- * objects can be said to be associated with the handler.
- *
- * Implement asio_handler_allocate and asio_handler_deallocate for your own
- * handlers to provide custom allocation for these temporary objects.
- *
- * The default implementation of these allocation hooks uses <tt>::operator
- * new</tt> and <tt>::operator delete</tt>.
- *
- * @note All temporary objects associated with a handler will be deallocated
- * before the upcall to the handler is performed. This allows the same memory to
- * be reused for a subsequent asynchronous operation initiated by the handler.
- *
- * @par Example
- * @code
- * class my_handler;
- *
- * void* asio_handler_allocate(std::size_t size, my_handler* context)
- * {
- * return ::operator new(size);
- * }
- *
- * void asio_handler_deallocate(void* pointer, std::size_t size,
- * my_handler* context)
- * {
- * ::operator delete(pointer);
- * }
- * @endcode
- */
-BOOST_ASIO_DECL void* asio_handler_allocate(
- std::size_t size, ...);
-
-/// Default deallocation function for handlers.
-/**
- * Implement asio_handler_allocate and asio_handler_deallocate for your own
- * handlers to provide custom allocation for the associated temporary objects.
- *
- * The default implementation of these allocation hooks uses <tt>::operator
- * new</tt> and <tt>::operator delete</tt>.
- *
- * @sa asio_handler_allocate.
- */
-BOOST_ASIO_DECL void asio_handler_deallocate(
- void* pointer, std::size_t size, ...);
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/impl/handler_alloc_hook.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_HANDLER_ALLOC_HOOK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp b/contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp
deleted file mode 100644
index 4f446b0953..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/handler_continuation_hook.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// handler_continuation_hook.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_HANDLER_CONTINUATION_HOOK_HPP
-#define BOOST_ASIO_HANDLER_CONTINUATION_HOOK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// Default continuation function for handlers.
-/**
- * Asynchronous operations may represent a continuation of the asynchronous
- * control flow associated with the current handler. The implementation can use
- * this knowledge to optimise scheduling of the handler.
- *
- * Implement asio_handler_is_continuation for your own handlers to indicate
- * when a handler represents a continuation.
- *
- * The default implementation of the continuation hook returns <tt>false</tt>.
- *
- * @par Example
- * @code
- * class my_handler;
- *
- * bool asio_handler_is_continuation(my_handler* context)
- * {
- * return true;
- * }
- * @endcode
- */
-inline bool asio_handler_is_continuation(...)
-{
- return false;
-}
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_HANDLER_CONTINUATION_HOOK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp b/contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp
deleted file mode 100644
index a853bdfadd..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/handler_invoke_hook.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//
-// handler_invoke_hook.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_HANDLER_INVOKE_HOOK_HPP
-#define BOOST_ASIO_HANDLER_INVOKE_HOOK_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/** @defgroup asio_handler_invoke boost::asio::asio_handler_invoke
- *
- * @brief Default invoke function for handlers.
- *
- * Completion handlers for asynchronous operations are invoked by the
- * io_context associated with the corresponding object (e.g. a socket or
- * deadline_timer). Certain guarantees are made on when the handler may be
- * invoked, in particular that a handler can only be invoked from a thread that
- * is currently calling @c run() on the corresponding io_context object.
- * Handlers may subsequently be invoked through other objects (such as
- * io_context::strand objects) that provide additional guarantees.
- *
- * When asynchronous operations are composed from other asynchronous
- * operations, all intermediate handlers should be invoked using the same
- * method as the final handler. This is required to ensure that user-defined
- * objects are not accessed in a way that may violate the guarantees. This
- * hooking function ensures that the invoked method used for the final handler
- * is accessible at each intermediate step.
- *
- * Implement asio_handler_invoke for your own handlers to specify a custom
- * invocation strategy.
- *
- * This default implementation invokes the function object like so:
- * @code function(); @endcode
- * If necessary, the default implementation makes a copy of the function object
- * so that the non-const operator() can be used.
- *
- * @par Example
- * @code
- * class my_handler;
- *
- * template <typename Function>
- * void asio_handler_invoke(Function function, my_handler* context)
- * {
- * context->strand_.dispatch(function);
- * }
- * @endcode
- */
-/*@{*/
-
-/// Default handler invocation hook used for non-const function objects.
-template <typename Function>
-inline void asio_handler_invoke(Function& function, ...)
-{
- function();
-}
-
-/// Default handler invocation hook used for const function objects.
-template <typename Function>
-inline void asio_handler_invoke(const Function& function, ...)
-{
- Function tmp(function);
- tmp();
-}
-
-/*@}*/
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_HANDLER_INVOKE_HOOK_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/handler_type.hpp b/contrib/restricted/boost/asio/include/boost/asio/handler_type.hpp
deleted file mode 100644
index 0c43189338..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/handler_type.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// handler_type.hpp
-// ~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_HANDLER_TYPE_HPP
-#define BOOST_ASIO_HANDLER_TYPE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// (Deprecated: Use two-parameter version of async_result.) Default handler
-/// type traits provided for all completion token types.
-/**
- * The handler_type traits class is used for determining the concrete handler
- * type to be used for an asynchronous operation. It allows the handler type to
- * be determined at the point where the specific completion handler signature
- * is known.
- *
- * This template may be specialised for user-defined completion token types.
- */
-template <typename CompletionToken, typename Signature, typename = void>
-struct handler_type
-{
- /// The handler type for the specific signature.
- typedef typename conditional<
- is_same<CompletionToken, typename decay<CompletionToken>::type>::value,
- decay<CompletionToken>,
- handler_type<typename decay<CompletionToken>::type, Signature>
- >::type::type type;
-};
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_HANDLER_TYPE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp
deleted file mode 100644
index 49a10462bd..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/error.ipp
+++ /dev/null
@@ -1,130 +0,0 @@
-//
-// impl/error.ipp
-// ~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IMPL_ERROR_IPP
-#define BOOST_ASIO_IMPL_ERROR_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <string>
-#include <boost/asio/error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace error {
-
-#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-
-namespace detail {
-
-class netdb_category : public boost::system::error_category
-{
-public:
- const char* name() const BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT
- {
- return "asio.netdb";
- }
-
- std::string message(int value) const
- {
- if (value == error::host_not_found)
- return "Host not found (authoritative)";
- if (value == error::host_not_found_try_again)
- return "Host not found (non-authoritative), try again later";
- if (value == error::no_data)
- return "The query is valid, but it does not have associated data";
- if (value == error::no_recovery)
- return "A non-recoverable error occurred during database lookup";
- return "asio.netdb error";
- }
-};
-
-} // namespace detail
-
-const boost::system::error_category& get_netdb_category()
-{
- static detail::netdb_category instance;
- return instance;
-}
-
-namespace detail {
-
-class addrinfo_category : public boost::system::error_category
-{
-public:
- const char* name() const BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT
- {
- return "asio.addrinfo";
- }
-
- std::string message(int value) const
- {
- if (value == error::service_not_found)
- return "Service not found";
- if (value == error::socket_type_not_supported)
- return "Socket type not supported";
- return "asio.addrinfo error";
- }
-};
-
-} // namespace detail
-
-const boost::system::error_category& get_addrinfo_category()
-{
- static detail::addrinfo_category instance;
- return instance;
-}
-
-#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-
-namespace detail {
-
-class misc_category : public boost::system::error_category
-{
-public:
- const char* name() const BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT
- {
- return "asio.misc";
- }
-
- std::string message(int value) const
- {
- if (value == error::already_open)
- return "Already open";
- if (value == error::eof)
- return "End of file";
- if (value == error::not_found)
- return "Element not found";
- if (value == error::fd_set_failure)
- return "The descriptor does not fit into the select call's fd_set";
- return "asio.misc error";
- }
-};
-
-} // namespace detail
-
-const boost::system::error_category& get_misc_category()
-{
- static detail::misc_category instance;
- return instance;
-}
-
-} // namespace error
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IMPL_ERROR_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp
deleted file mode 100644
index eadf36b145..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-//
-// impl/execution_context.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IMPL_EXECUTION_CONTEXT_HPP
-#define BOOST_ASIO_IMPL_EXECUTION_CONTEXT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/handler_type_requirements.hpp>
-#include <boost/asio/detail/scoped_ptr.hpp>
-#include <boost/asio/detail/service_registry.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-template <typename Service>
-inline Service& use_service(execution_context& e)
-{
- // Check that Service meets the necessary type requirements.
- (void)static_cast<execution_context::service*>(static_cast<Service*>(0));
-
- return e.service_registry_->template use_service<Service>();
-}
-
-#if !defined(GENERATING_DOCUMENTATION)
-# if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
-
-template <typename Service, typename... Args>
-Service& make_service(execution_context& e, BOOST_ASIO_MOVE_ARG(Args)... args)
-{
- detail::scoped_ptr<Service> svc(
- new Service(e, BOOST_ASIO_MOVE_CAST(Args)(args)...));
- e.service_registry_->template add_service<Service>(svc.get());
- Service& result = *svc;
- svc.release();
- return result;
-}
-
-# else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
-
-template <typename Service>
-Service& make_service(execution_context& e)
-{
- detail::scoped_ptr<Service> svc(new Service(e));
- e.service_registry_->template add_service<Service>(svc.get());
- Service& result = *svc;
- svc.release();
- return result;
-}
-
-#define BOOST_ASIO_PRIVATE_MAKE_SERVICE_DEF(n) \
- template <typename Service, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
- Service& make_service(execution_context& e, \
- BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
- { \
- detail::scoped_ptr<Service> svc( \
- new Service(e, BOOST_ASIO_VARIADIC_MOVE_ARGS(n))); \
- e.service_registry_->template add_service<Service>(svc.get()); \
- Service& result = *svc; \
- svc.release(); \
- return result; \
- } \
- /**/
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_MAKE_SERVICE_DEF)
-#undef BOOST_ASIO_PRIVATE_MAKE_SERVICE_DEF
-
-# endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
-#endif // !defined(GENERATING_DOCUMENTATION)
-
-template <typename Service>
-inline void add_service(execution_context& e, Service* svc)
-{
- // Check that Service meets the necessary type requirements.
- (void)static_cast<execution_context::service*>(static_cast<Service*>(0));
-
- e.service_registry_->template add_service<Service>(svc);
-}
-
-template <typename Service>
-inline bool has_service(execution_context& e)
-{
- // Check that Service meets the necessary type requirements.
- (void)static_cast<execution_context::service*>(static_cast<Service*>(0));
-
- return e.service_registry_->template has_service<Service>();
-}
-
-inline execution_context& execution_context::service::context()
-{
- return owner_;
-}
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IMPL_EXECUTION_CONTEXT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp
deleted file mode 100644
index 219a66113d..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/execution_context.ipp
+++ /dev/null
@@ -1,84 +0,0 @@
-//
-// impl/execution_context.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IMPL_EXECUTION_CONTEXT_IPP
-#define BOOST_ASIO_IMPL_EXECUTION_CONTEXT_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/execution_context.hpp>
-#include <boost/asio/detail/service_registry.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-execution_context::execution_context()
- : service_registry_(new boost::asio::detail::service_registry(*this))
-{
-}
-
-execution_context::~execution_context()
-{
- shutdown();
- destroy();
- delete service_registry_;
-}
-
-void execution_context::shutdown()
-{
- service_registry_->shutdown_services();
-}
-
-void execution_context::destroy()
-{
- service_registry_->destroy_services();
-}
-
-void execution_context::notify_fork(
- boost::asio::execution_context::fork_event event)
-{
- service_registry_->notify_fork(event);
-}
-
-execution_context::service::service(execution_context& owner)
- : owner_(owner),
- next_(0)
-{
-}
-
-execution_context::service::~service()
-{
-}
-
-void execution_context::service::notify_fork(execution_context::fork_event)
-{
-}
-
-service_already_exists::service_already_exists()
- : std::logic_error("Service already exists.")
-{
-}
-
-invalid_service_owner::invalid_service_owner()
- : std::logic_error("Invalid service owner.")
-{
-}
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IMPL_EXECUTION_CONTEXT_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp
deleted file mode 100644
index 2b04ec104e..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/handler_alloc_hook.ipp
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// impl/handler_alloc_hook.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IMPL_HANDLER_ALLOC_HOOK_IPP
-#define BOOST_ASIO_IMPL_HANDLER_ALLOC_HOOK_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/thread_context.hpp>
-#include <boost/asio/detail/thread_info_base.hpp>
-#include <boost/asio/handler_alloc_hook.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-void* asio_handler_allocate(std::size_t size, ...)
-{
-#if !defined(BOOST_ASIO_DISABLE_SMALL_BLOCK_RECYCLING)
- return detail::thread_info_base::allocate(
- detail::thread_context::thread_call_stack::top(), size);
-#else // !defined(BOOST_ASIO_DISABLE_SMALL_BLOCK_RECYCLING)
- return ::operator new(size);
-#endif // !defined(BOOST_ASIO_DISABLE_SMALL_BLOCK_RECYCLING)
-}
-
-void asio_handler_deallocate(void* pointer, std::size_t size, ...)
-{
-#if !defined(BOOST_ASIO_DISABLE_SMALL_BLOCK_RECYCLING)
- detail::thread_info_base::deallocate(
- detail::thread_context::thread_call_stack::top(), pointer, size);
-#else // !defined(BOOST_ASIO_DISABLE_SMALL_BLOCK_RECYCLING)
- (void)size;
- ::operator delete(pointer);
-#endif // !defined(BOOST_ASIO_DISABLE_SMALL_BLOCK_RECYCLING)
-}
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IMPL_HANDLER_ALLOC_HOOK_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp
deleted file mode 100644
index 21dd83688c..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.hpp
+++ /dev/null
@@ -1,347 +0,0 @@
-//
-// impl/io_context.hpp
-// ~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IMPL_IO_CONTEXT_HPP
-#define BOOST_ASIO_IMPL_IO_CONTEXT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/completion_handler.hpp>
-#include <boost/asio/detail/executor_op.hpp>
-#include <boost/asio/detail/fenced_block.hpp>
-#include <boost/asio/detail/handler_type_requirements.hpp>
-#include <boost/asio/detail/recycling_allocator.hpp>
-#include <boost/asio/detail/service_registry.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-template <typename Service>
-inline Service& use_service(io_context& ioc)
-{
- // Check that Service meets the necessary type requirements.
- (void)static_cast<execution_context::service*>(static_cast<Service*>(0));
- (void)static_cast<const execution_context::id*>(&Service::id);
-
- return ioc.service_registry_->template use_service<Service>(ioc);
-}
-
-template <>
-inline detail::io_context_impl& use_service<detail::io_context_impl>(
- io_context& ioc)
-{
- return ioc.impl_;
-}
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-# include <boost/asio/detail/win_iocp_io_context.hpp>
-#else
-# include <boost/asio/detail/scheduler.hpp>
-#endif
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-inline io_context::executor_type
-io_context::get_executor() BOOST_ASIO_NOEXCEPT
-{
- return executor_type(*this);
-}
-
-#if defined(BOOST_ASIO_HAS_CHRONO)
-
-template <typename Rep, typename Period>
-std::size_t io_context::run_for(
- const chrono::duration<Rep, Period>& rel_time)
-{
- return this->run_until(chrono::steady_clock::now() + rel_time);
-}
-
-template <typename Clock, typename Duration>
-std::size_t io_context::run_until(
- const chrono::time_point<Clock, Duration>& abs_time)
-{
- std::size_t n = 0;
- while (this->run_one_until(abs_time))
- if (n != (std::numeric_limits<std::size_t>::max)())
- ++n;
- return n;
-}
-
-template <typename Rep, typename Period>
-std::size_t io_context::run_one_for(
- const chrono::duration<Rep, Period>& rel_time)
-{
- return this->run_one_until(chrono::steady_clock::now() + rel_time);
-}
-
-template <typename Clock, typename Duration>
-std::size_t io_context::run_one_until(
- const chrono::time_point<Clock, Duration>& abs_time)
-{
- typename Clock::time_point now = Clock::now();
- while (now < abs_time)
- {
- typename Clock::duration rel_time = abs_time - now;
- if (rel_time > chrono::seconds(1))
- rel_time = chrono::seconds(1);
-
- boost::system::error_code ec;
- std::size_t s = impl_.wait_one(
- static_cast<long>(chrono::duration_cast<
- chrono::microseconds>(rel_time).count()), ec);
- boost::asio::detail::throw_error(ec);
-
- if (s || impl_.stopped())
- return s;
-
- now = Clock::now();
- }
-
- return 0;
-}
-
-#endif // defined(BOOST_ASIO_HAS_CHRONO)
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-
-inline void io_context::reset()
-{
- restart();
-}
-
-template <typename LegacyCompletionHandler>
-BOOST_ASIO_INITFN_RESULT_TYPE(LegacyCompletionHandler, void ())
-io_context::dispatch(BOOST_ASIO_MOVE_ARG(LegacyCompletionHandler) handler)
-{
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a LegacyCompletionHandler.
- BOOST_ASIO_LEGACY_COMPLETION_HANDLER_CHECK(
- LegacyCompletionHandler, handler) type_check;
-
- async_completion<LegacyCompletionHandler, void ()> init(handler);
-
- if (impl_.can_dispatch())
- {
- detail::fenced_block b(detail::fenced_block::full);
- boost_asio_handler_invoke_helpers::invoke(
- init.completion_handler, init.completion_handler);
- }
- else
- {
- // Allocate and construct an operation to wrap the handler.
- typedef detail::completion_handler<
- typename handler_type<LegacyCompletionHandler, void ()>::type> op;
- typename op::ptr p = { detail::addressof(init.completion_handler),
- op::ptr::allocate(init.completion_handler), 0 };
- p.p = new (p.v) op(init.completion_handler);
-
- BOOST_ASIO_HANDLER_CREATION((*this, *p.p,
- "io_context", this, 0, "dispatch"));
-
- impl_.do_dispatch(p.p);
- p.v = p.p = 0;
- }
-
- return init.result.get();
-}
-
-template <typename LegacyCompletionHandler>
-BOOST_ASIO_INITFN_RESULT_TYPE(LegacyCompletionHandler, void ())
-io_context::post(BOOST_ASIO_MOVE_ARG(LegacyCompletionHandler) handler)
-{
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a LegacyCompletionHandler.
- BOOST_ASIO_LEGACY_COMPLETION_HANDLER_CHECK(
- LegacyCompletionHandler, handler) type_check;
-
- async_completion<LegacyCompletionHandler, void ()> init(handler);
-
- bool is_continuation =
- boost_asio_handler_cont_helpers::is_continuation(init.completion_handler);
-
- // Allocate and construct an operation to wrap the handler.
- typedef detail::completion_handler<
- typename handler_type<LegacyCompletionHandler, void ()>::type> op;
- typename op::ptr p = { detail::addressof(init.completion_handler),
- op::ptr::allocate(init.completion_handler), 0 };
- p.p = new (p.v) op(init.completion_handler);
-
- BOOST_ASIO_HANDLER_CREATION((*this, *p.p,
- "io_context", this, 0, "post"));
-
- impl_.post_immediate_completion(p.p, is_continuation);
- p.v = p.p = 0;
-
- return init.result.get();
-}
-
-template <typename Handler>
-#if defined(GENERATING_DOCUMENTATION)
-unspecified
-#else
-inline detail::wrapped_handler<io_context&, Handler>
-#endif
-io_context::wrap(Handler handler)
-{
- return detail::wrapped_handler<io_context&, Handler>(*this, handler);
-}
-
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-inline io_context&
-io_context::executor_type::context() const BOOST_ASIO_NOEXCEPT
-{
- return io_context_;
-}
-
-inline void
-io_context::executor_type::on_work_started() const BOOST_ASIO_NOEXCEPT
-{
- io_context_.impl_.work_started();
-}
-
-inline void
-io_context::executor_type::on_work_finished() const BOOST_ASIO_NOEXCEPT
-{
- io_context_.impl_.work_finished();
-}
-
-template <typename Function, typename Allocator>
-void io_context::executor_type::dispatch(
- BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const
-{
- typedef typename decay<Function>::type function_type;
-
- // Invoke immediately if we are already inside the thread pool.
- if (io_context_.impl_.can_dispatch())
- {
- // Make a local, non-const copy of the function.
- function_type tmp(BOOST_ASIO_MOVE_CAST(Function)(f));
-
- detail::fenced_block b(detail::fenced_block::full);
- boost_asio_handler_invoke_helpers::invoke(tmp, tmp);
- return;
- }
-
- // Allocate and construct an operation to wrap the function.
- typedef detail::executor_op<function_type, Allocator, detail::operation> op;
- typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 };
- p.p = new (p.v) op(BOOST_ASIO_MOVE_CAST(Function)(f), a);
-
- BOOST_ASIO_HANDLER_CREATION((this->context(), *p.p,
- "io_context", &this->context(), 0, "post"));
-
- io_context_.impl_.post_immediate_completion(p.p, false);
- p.v = p.p = 0;
-}
-
-template <typename Function, typename Allocator>
-void io_context::executor_type::post(
- BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const
-{
- typedef typename decay<Function>::type function_type;
-
- // Allocate and construct an operation to wrap the function.
- typedef detail::executor_op<function_type, Allocator, detail::operation> op;
- typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 };
- p.p = new (p.v) op(BOOST_ASIO_MOVE_CAST(Function)(f), a);
-
- BOOST_ASIO_HANDLER_CREATION((this->context(), *p.p,
- "io_context", &this->context(), 0, "post"));
-
- io_context_.impl_.post_immediate_completion(p.p, false);
- p.v = p.p = 0;
-}
-
-template <typename Function, typename Allocator>
-void io_context::executor_type::defer(
- BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const
-{
- typedef typename decay<Function>::type function_type;
-
- // Allocate and construct an operation to wrap the function.
- typedef detail::executor_op<function_type, Allocator, detail::operation> op;
- typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 };
- p.p = new (p.v) op(BOOST_ASIO_MOVE_CAST(Function)(f), a);
-
- BOOST_ASIO_HANDLER_CREATION((this->context(), *p.p,
- "io_context", &this->context(), 0, "defer"));
-
- io_context_.impl_.post_immediate_completion(p.p, true);
- p.v = p.p = 0;
-}
-
-inline bool
-io_context::executor_type::running_in_this_thread() const BOOST_ASIO_NOEXCEPT
-{
- return io_context_.impl_.can_dispatch();
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-inline io_context::work::work(boost::asio::io_context& io_context)
- : io_context_impl_(io_context.impl_)
-{
- io_context_impl_.work_started();
-}
-
-inline io_context::work::work(const work& other)
- : io_context_impl_(other.io_context_impl_)
-{
- io_context_impl_.work_started();
-}
-
-inline io_context::work::~work()
-{
- io_context_impl_.work_finished();
-}
-
-inline boost::asio::io_context& io_context::work::get_io_context()
-{
- return static_cast<boost::asio::io_context&>(io_context_impl_.context());
-}
-
-inline boost::asio::io_context& io_context::work::get_io_service()
-{
- return static_cast<boost::asio::io_context&>(io_context_impl_.context());
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-inline boost::asio::io_context& io_context::service::get_io_context()
-{
- return static_cast<boost::asio::io_context&>(context());
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-inline boost::asio::io_context& io_context::service::get_io_service()
-{
- return static_cast<boost::asio::io_context&>(context());
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IMPL_IO_CONTEXT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp
deleted file mode 100644
index 96a7de7415..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/io_context.ipp
+++ /dev/null
@@ -1,176 +0,0 @@
-//
-// impl/io_context.ipp
-// ~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IMPL_IO_CONTEXT_IPP
-#define BOOST_ASIO_IMPL_IO_CONTEXT_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/detail/concurrency_hint.hpp>
-#include <boost/asio/detail/limits.hpp>
-#include <boost/asio/detail/scoped_ptr.hpp>
-#include <boost/asio/detail/service_registry.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-
-#if defined(BOOST_ASIO_HAS_IOCP)
-# include <boost/asio/detail/win_iocp_io_context.hpp>
-#else
-# include <boost/asio/detail/scheduler.hpp>
-#endif
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-io_context::io_context()
- : impl_(add_impl(new impl_type(*this, BOOST_ASIO_CONCURRENCY_HINT_DEFAULT)))
-{
-}
-
-io_context::io_context(int concurrency_hint)
- : impl_(add_impl(new impl_type(*this, concurrency_hint == 1
- ? BOOST_ASIO_CONCURRENCY_HINT_1 : concurrency_hint)))
-{
-}
-
-io_context::impl_type& io_context::add_impl(io_context::impl_type* impl)
-{
- boost::asio::detail::scoped_ptr<impl_type> scoped_impl(impl);
- boost::asio::add_service<impl_type>(*this, scoped_impl.get());
- return *scoped_impl.release();
-}
-
-io_context::~io_context()
-{
-}
-
-io_context::count_type io_context::run()
-{
- boost::system::error_code ec;
- count_type s = impl_.run(ec);
- boost::asio::detail::throw_error(ec);
- return s;
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-io_context::count_type io_context::run(boost::system::error_code& ec)
-{
- return impl_.run(ec);
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-io_context::count_type io_context::run_one()
-{
- boost::system::error_code ec;
- count_type s = impl_.run_one(ec);
- boost::asio::detail::throw_error(ec);
- return s;
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-io_context::count_type io_context::run_one(boost::system::error_code& ec)
-{
- return impl_.run_one(ec);
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-io_context::count_type io_context::poll()
-{
- boost::system::error_code ec;
- count_type s = impl_.poll(ec);
- boost::asio::detail::throw_error(ec);
- return s;
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-io_context::count_type io_context::poll(boost::system::error_code& ec)
-{
- return impl_.poll(ec);
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-io_context::count_type io_context::poll_one()
-{
- boost::system::error_code ec;
- count_type s = impl_.poll_one(ec);
- boost::asio::detail::throw_error(ec);
- return s;
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-io_context::count_type io_context::poll_one(boost::system::error_code& ec)
-{
- return impl_.poll_one(ec);
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-void io_context::stop()
-{
- impl_.stop();
-}
-
-bool io_context::stopped() const
-{
- return impl_.stopped();
-}
-
-void io_context::restart()
-{
- impl_.restart();
-}
-
-io_context::service::service(boost::asio::io_context& owner)
- : execution_context::service(owner)
-{
-}
-
-io_context::service::~service()
-{
-}
-
-void io_context::service::shutdown()
-{
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- shutdown_service();
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-void io_context::service::shutdown_service()
-{
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-void io_context::service::notify_fork(io_context::fork_event ev)
-{
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- fork_service(ev);
-#else // !defined(BOOST_ASIO_NO_DEPRECATED)
- (void)ev;
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-void io_context::service::fork_service(io_context::fork_event)
-{
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IMPL_IO_CONTEXT_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/post.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/post.hpp
deleted file mode 100644
index d318f890ff..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/post.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// impl/post.hpp
-// ~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IMPL_POST_HPP
-#define BOOST_ASIO_IMPL_POST_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/associated_allocator.hpp>
-#include <boost/asio/associated_executor.hpp>
-#include <boost/asio/detail/work_dispatcher.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-template <typename CompletionToken>
-BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, void()) post(
- BOOST_ASIO_MOVE_ARG(CompletionToken) token)
-{
- typedef BOOST_ASIO_HANDLER_TYPE(CompletionToken, void()) handler;
-
- async_completion<CompletionToken, void()> init(token);
-
- typename associated_executor<handler>::type ex(
- (get_associated_executor)(init.completion_handler));
-
- typename associated_allocator<handler>::type alloc(
- (get_associated_allocator)(init.completion_handler));
-
- ex.post(BOOST_ASIO_MOVE_CAST(handler)(init.completion_handler), alloc);
-
- return init.result.get();
-}
-
-template <typename Executor, typename CompletionToken>
-BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, void()) post(
- const Executor& ex, BOOST_ASIO_MOVE_ARG(CompletionToken) token,
- typename enable_if<is_executor<Executor>::value>::type*)
-{
- typedef BOOST_ASIO_HANDLER_TYPE(CompletionToken, void()) handler;
-
- async_completion<CompletionToken, void()> init(token);
-
- typename associated_allocator<handler>::type alloc(
- (get_associated_allocator)(init.completion_handler));
-
- ex.post(detail::work_dispatcher<handler>(init.completion_handler), alloc);
-
- return init.result.get();
-}
-
-template <typename ExecutionContext, typename CompletionToken>
-inline BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, void()) post(
- ExecutionContext& ctx, BOOST_ASIO_MOVE_ARG(CompletionToken) token,
- typename enable_if<is_convertible<
- ExecutionContext&, execution_context&>::value>::type*)
-{
- return (post)(ctx.get_executor(),
- BOOST_ASIO_MOVE_CAST(CompletionToken)(token));
-}
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IMPL_POST_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp
deleted file mode 100644
index dab5d4d085..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// impl/system_context.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IMPL_SYSTEM_CONTEXT_HPP
-#define BOOST_ASIO_IMPL_SYSTEM_CONTEXT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/system_executor.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-inline system_context::executor_type
-system_context::get_executor() BOOST_ASIO_NOEXCEPT
-{
- return system_executor();
-}
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IMPL_SYSTEM_CONTEXT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp b/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp
deleted file mode 100644
index e56632c816..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/system_context.ipp
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// impl/system_context.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IMPL_SYSTEM_CONTEXT_IPP
-#define BOOST_ASIO_IMPL_SYSTEM_CONTEXT_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/system_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-struct system_context::thread_function
-{
- detail::scheduler* scheduler_;
-
- void operator()()
- {
- boost::system::error_code ec;
- scheduler_->run(ec);
- }
-};
-
-system_context::system_context()
- : scheduler_(use_service<detail::scheduler>(*this))
-{
- scheduler_.work_started();
-
- thread_function f = { &scheduler_ };
- std::size_t num_threads = detail::thread::hardware_concurrency() * 2;
- threads_.create_threads(f, num_threads ? num_threads : 2);
-}
-
-system_context::~system_context()
-{
- scheduler_.work_finished();
- scheduler_.stop();
- threads_.join();
-}
-
-void system_context::stop()
-{
- scheduler_.stop();
-}
-
-bool system_context::stopped() const BOOST_ASIO_NOEXCEPT
-{
- return scheduler_.stopped();
-}
-
-void system_context::join()
-{
- scheduler_.work_finished();
- threads_.join();
-}
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IMPL_SYSTEM_CONTEXT_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp
deleted file mode 100644
index c59e780d3f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/impl/system_executor.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//
-// impl/system_executor.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IMPL_SYSTEM_EXECUTOR_HPP
-#define BOOST_ASIO_IMPL_SYSTEM_EXECUTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/executor_op.hpp>
-#include <boost/asio/detail/global.hpp>
-#include <boost/asio/detail/recycling_allocator.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-#include <boost/asio/system_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-inline system_context& system_executor::context() const BOOST_ASIO_NOEXCEPT
-{
- return detail::global<system_context>();
-}
-
-template <typename Function, typename Allocator>
-void system_executor::dispatch(
- BOOST_ASIO_MOVE_ARG(Function) f, const Allocator&) const
-{
- typename decay<Function>::type tmp(BOOST_ASIO_MOVE_CAST(Function)(f));
- boost_asio_handler_invoke_helpers::invoke(tmp, tmp);
-}
-
-template <typename Function, typename Allocator>
-void system_executor::post(
- BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const
-{
- typedef typename decay<Function>::type function_type;
-
- system_context& ctx = detail::global<system_context>();
-
- // Allocate and construct an operation to wrap the function.
- typedef detail::executor_op<function_type, Allocator> op;
- typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 };
- p.p = new (p.v) op(BOOST_ASIO_MOVE_CAST(Function)(f), a);
-
- BOOST_ASIO_HANDLER_CREATION((ctx, *p.p,
- "system_executor", &this->context(), 0, "post"));
-
- ctx.scheduler_.post_immediate_completion(p.p, false);
- p.v = p.p = 0;
-}
-
-template <typename Function, typename Allocator>
-void system_executor::defer(
- BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const
-{
- typedef typename decay<Function>::type function_type;
-
- system_context& ctx = detail::global<system_context>();
-
- // Allocate and construct an operation to wrap the function.
- typedef detail::executor_op<function_type, Allocator> op;
- typename op::ptr p = { detail::addressof(a), op::ptr::allocate(a), 0 };
- p.p = new (p.v) op(BOOST_ASIO_MOVE_CAST(Function)(f), a);
-
- BOOST_ASIO_HANDLER_CREATION((ctx, *p.p,
- "system_executor", &this->context(), 0, "defer"));
-
- ctx.scheduler_.post_immediate_completion(p.p, true);
- p.v = p.p = 0;
-}
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IMPL_SYSTEM_EXECUTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/io_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/io_context.hpp
deleted file mode 100644
index 51377467ea..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/io_context.hpp
+++ /dev/null
@@ -1,878 +0,0 @@
-//
-// io_context.hpp
-// ~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IO_CONTEXT_HPP
-#define BOOST_ASIO_IO_CONTEXT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <cstddef>
-#include <stdexcept>
-#include <typeinfo>
-#include <boost/asio/async_result.hpp>
-#include <boost/asio/detail/noncopyable.hpp>
-#include <boost/asio/detail/wrapped_handler.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/asio/execution_context.hpp>
-
-#if defined(BOOST_ASIO_HAS_CHRONO)
-# include <boost/asio/detail/chrono.hpp>
-#endif // defined(BOOST_ASIO_HAS_CHRONO)
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-# include <boost/asio/detail/winsock_init.hpp>
-#elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \
- || defined(__osf__)
-# include <boost/asio/detail/signal_init.hpp>
-#endif
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-namespace detail {
-#if defined(BOOST_ASIO_HAS_IOCP)
- typedef class win_iocp_io_context io_context_impl;
- class win_iocp_overlapped_ptr;
-#else
- typedef class scheduler io_context_impl;
-#endif
-} // namespace detail
-
-/// Provides core I/O functionality.
-/**
- * The io_context class provides the core I/O functionality for users of the
- * asynchronous I/O objects, including:
- *
- * @li boost::asio::ip::tcp::socket
- * @li boost::asio::ip::tcp::acceptor
- * @li boost::asio::ip::udp::socket
- * @li boost::asio::deadline_timer.
- *
- * The io_context class also includes facilities intended for developers of
- * custom asynchronous services.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Safe, with the specific exceptions of the restart()
- * and notify_fork() functions. Calling restart() while there are unfinished
- * run(), run_one(), run_for(), run_until(), poll() or poll_one() calls results
- * in undefined behaviour. The notify_fork() function should not be called
- * while any io_context function, or any function on an I/O object that is
- * associated with the io_context, is being called in another thread.
- *
- * @par Concepts:
- * Dispatcher.
- *
- * @par Synchronous and asynchronous operations
- *
- * Synchronous operations on I/O objects implicitly run the io_context object
- * for an individual operation. The io_context functions run(), run_one(),
- * run_for(), run_until(), poll() or poll_one() must be called for the
- * io_context to perform asynchronous operations on behalf of a C++ program.
- * Notification that an asynchronous operation has completed is delivered by
- * invocation of the associated handler. Handlers are invoked only by a thread
- * that is currently calling any overload of run(), run_one(), run_for(),
- * run_until(), poll() or poll_one() for the io_context.
- *
- * @par Effect of exceptions thrown from handlers
- *
- * If an exception is thrown from a handler, the exception is allowed to
- * propagate through the throwing thread's invocation of run(), run_one(),
- * run_for(), run_until(), poll() or poll_one(). No other threads that are
- * calling any of these functions are affected. It is then the responsibility
- * of the application to catch the exception.
- *
- * After the exception has been caught, the run(), run_one(), run_for(),
- * run_until(), poll() or poll_one() call may be restarted @em without the need
- * for an intervening call to restart(). This allows the thread to rejoin the
- * io_context object's thread pool without impacting any other threads in the
- * pool.
- *
- * For example:
- *
- * @code
- * boost::asio::io_context io_context;
- * ...
- * for (;;)
- * {
- * try
- * {
- * io_context.run();
- * break; // run() exited normally
- * }
- * catch (my_exception& e)
- * {
- * // Deal with exception as appropriate.
- * }
- * }
- * @endcode
- *
- * @par Submitting arbitrary tasks to the io_context
- *
- * To submit functions to the io_context, use the @ref boost::asio::dispatch,
- * @ref boost::asio::post or @ref boost::asio::defer free functions.
- *
- * For example:
- *
- * @code void my_task()
- * {
- * ...
- * }
- *
- * ...
- *
- * boost::asio::io_context io_context;
- *
- * // Submit a function to the io_context.
- * boost::asio::post(io_context, my_task);
- *
- * // Submit a lambda object to the io_context.
- * boost::asio::post(io_context,
- * []()
- * {
- * ...
- * });
- *
- * // Run the io_context until it runs out of work.
- * io_context.run(); @endcode
- *
- * @par Stopping the io_context from running out of work
- *
- * Some applications may need to prevent an io_context object's run() call from
- * returning when there is no more work to do. For example, the io_context may
- * be being run in a background thread that is launched prior to the
- * application's asynchronous operations. The run() call may be kept running by
- * creating an object of type
- * boost::asio::executor_work_guard<io_context::executor_type>:
- *
- * @code boost::asio::io_context io_context;
- * boost::asio::executor_work_guard<boost::asio::io_context::executor_type>
- * = boost::asio::make_work_guard(io_context);
- * ... @endcode
- *
- * To effect a shutdown, the application will then need to call the io_context
- * object's stop() member function. This will cause the io_context run() call
- * to return as soon as possible, abandoning unfinished operations and without
- * permitting ready handlers to be dispatched.
- *
- * Alternatively, if the application requires that all operations and handlers
- * be allowed to finish normally, the work object may be explicitly reset.
- *
- * @code boost::asio::io_context io_context;
- * boost::asio::executor_work_guard<boost::asio::io_context::executor_type>
- * = boost::asio::make_work_guard(io_context);
- * ...
- * work.reset(); // Allow run() to exit. @endcode
- */
-class io_context
- : public execution_context
-{
-private:
- typedef detail::io_context_impl impl_type;
-#if defined(BOOST_ASIO_HAS_IOCP)
- friend class detail::win_iocp_overlapped_ptr;
-#endif
-
-public:
- class executor_type;
- friend class executor_type;
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- class work;
- friend class work;
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- class service;
-
-#if !defined(BOOST_ASIO_NO_EXTENSIONS)
- class strand;
-#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
-
- /// The type used to count the number of handlers executed by the context.
- typedef std::size_t count_type;
-
- /// Constructor.
- BOOST_ASIO_DECL io_context();
-
- /// Constructor.
- /**
- * Construct with a hint about the required level of concurrency.
- *
- * @param concurrency_hint A suggestion to the implementation on how many
- * threads it should allow to run simultaneously.
- */
- BOOST_ASIO_DECL explicit io_context(int concurrency_hint);
-
- /// Destructor.
- /**
- * On destruction, the io_context performs the following sequence of
- * operations:
- *
- * @li For each service object @c svc in the io_context set, in reverse order
- * of the beginning of service object lifetime, performs
- * @c svc->shutdown().
- *
- * @li Uninvoked handler objects that were scheduled for deferred invocation
- * on the io_context, or any associated strand, are destroyed.
- *
- * @li For each service object @c svc in the io_context set, in reverse order
- * of the beginning of service object lifetime, performs
- * <tt>delete static_cast<io_context::service*>(svc)</tt>.
- *
- * @note The destruction sequence described above permits programs to
- * simplify their resource management by using @c shared_ptr<>. Where an
- * object's lifetime is tied to the lifetime of a connection (or some other
- * sequence of asynchronous operations), a @c shared_ptr to the object would
- * be bound into the handlers for all asynchronous operations associated with
- * it. This works as follows:
- *
- * @li When a single connection ends, all associated asynchronous operations
- * complete. The corresponding handler objects are destroyed, and all
- * @c shared_ptr references to the objects are destroyed.
- *
- * @li To shut down the whole program, the io_context function stop() is
- * called to terminate any run() calls as soon as possible. The io_context
- * destructor defined above destroys all handlers, causing all @c shared_ptr
- * references to all connection objects to be destroyed.
- */
- BOOST_ASIO_DECL ~io_context();
-
- /// Obtains the executor associated with the io_context.
- executor_type get_executor() BOOST_ASIO_NOEXCEPT;
-
- /// Run the io_context object's event processing loop.
- /**
- * The run() function blocks until all work has finished and there are no
- * more handlers to be dispatched, or until the io_context has been stopped.
- *
- * Multiple threads may call the run() function to set up a pool of threads
- * from which the io_context may execute handlers. All threads that are
- * waiting in the pool are equivalent and the io_context may choose any one
- * of them to invoke a handler.
- *
- * A normal exit from the run() function implies that the io_context object
- * is stopped (the stopped() function returns @c true). Subsequent calls to
- * run(), run_one(), poll() or poll_one() will return immediately unless there
- * is a prior call to restart().
- *
- * @return The number of handlers that were executed.
- *
- * @note Calling the run() function from a thread that is currently calling
- * one of run(), run_one(), run_for(), run_until(), poll() or poll_one() on
- * the same io_context object may introduce the potential for deadlock. It is
- * the caller's reponsibility to avoid this.
- *
- * The poll() function may also be used to dispatch ready handlers, but
- * without blocking.
- */
- BOOST_ASIO_DECL count_type run();
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use non-error_code overload.) Run the io_context object's
- /// event processing loop.
- /**
- * The run() function blocks until all work has finished and there are no
- * more handlers to be dispatched, or until the io_context has been stopped.
- *
- * Multiple threads may call the run() function to set up a pool of threads
- * from which the io_context may execute handlers. All threads that are
- * waiting in the pool are equivalent and the io_context may choose any one
- * of them to invoke a handler.
- *
- * A normal exit from the run() function implies that the io_context object
- * is stopped (the stopped() function returns @c true). Subsequent calls to
- * run(), run_one(), poll() or poll_one() will return immediately unless there
- * is a prior call to restart().
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @return The number of handlers that were executed.
- *
- * @note Calling the run() function from a thread that is currently calling
- * one of run(), run_one(), run_for(), run_until(), poll() or poll_one() on
- * the same io_context object may introduce the potential for deadlock. It is
- * the caller's reponsibility to avoid this.
- *
- * The poll() function may also be used to dispatch ready handlers, but
- * without blocking.
- */
- BOOST_ASIO_DECL count_type run(boost::system::error_code& ec);
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-#if defined(BOOST_ASIO_HAS_CHRONO) || defined(GENERATING_DOCUMENTATION)
- /// Run the io_context object's event processing loop for a specified
- /// duration.
- /**
- * The run_for() function blocks until all work has finished and there are no
- * more handlers to be dispatched, until the io_context has been stopped, or
- * until the specified duration has elapsed.
- *
- * @param rel_time The duration for which the call may block.
- *
- * @return The number of handlers that were executed.
- */
- template <typename Rep, typename Period>
- std::size_t run_for(const chrono::duration<Rep, Period>& rel_time);
-
- /// Run the io_context object's event processing loop until a specified time.
- /**
- * The run_until() function blocks until all work has finished and there are
- * no more handlers to be dispatched, until the io_context has been stopped,
- * or until the specified time has been reached.
- *
- * @param abs_time The time point until which the call may block.
- *
- * @return The number of handlers that were executed.
- */
- template <typename Clock, typename Duration>
- std::size_t run_until(const chrono::time_point<Clock, Duration>& abs_time);
-#endif // defined(BOOST_ASIO_HAS_CHRONO) || defined(GENERATING_DOCUMENTATION)
-
- /// Run the io_context object's event processing loop to execute at most one
- /// handler.
- /**
- * The run_one() function blocks until one handler has been dispatched, or
- * until the io_context has been stopped.
- *
- * @return The number of handlers that were executed. A zero return value
- * implies that the io_context object is stopped (the stopped() function
- * returns @c true). Subsequent calls to run(), run_one(), poll() or
- * poll_one() will return immediately unless there is a prior call to
- * restart().
- *
- * @note Calling the run_one() function from a thread that is currently
- * calling one of run(), run_one(), run_for(), run_until(), poll() or
- * poll_one() on the same io_context object may introduce the potential for
- * deadlock. It is the caller's reponsibility to avoid this.
- */
- BOOST_ASIO_DECL count_type run_one();
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use non-error_code overlaod.) Run the io_context object's
- /// event processing loop to execute at most one handler.
- /**
- * The run_one() function blocks until one handler has been dispatched, or
- * until the io_context has been stopped.
- *
- * @return The number of handlers that were executed. A zero return value
- * implies that the io_context object is stopped (the stopped() function
- * returns @c true). Subsequent calls to run(), run_one(), poll() or
- * poll_one() will return immediately unless there is a prior call to
- * restart().
- *
- * @return The number of handlers that were executed.
- *
- * @note Calling the run_one() function from a thread that is currently
- * calling one of run(), run_one(), run_for(), run_until(), poll() or
- * poll_one() on the same io_context object may introduce the potential for
- * deadlock. It is the caller's reponsibility to avoid this.
- */
- BOOST_ASIO_DECL count_type run_one(boost::system::error_code& ec);
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-#if defined(BOOST_ASIO_HAS_CHRONO) || defined(GENERATING_DOCUMENTATION)
- /// Run the io_context object's event processing loop for a specified duration
- /// to execute at most one handler.
- /**
- * The run_one_for() function blocks until one handler has been dispatched,
- * until the io_context has been stopped, or until the specified duration has
- * elapsed.
- *
- * @param rel_time The duration for which the call may block.
- *
- * @return The number of handlers that were executed.
- */
- template <typename Rep, typename Period>
- std::size_t run_one_for(const chrono::duration<Rep, Period>& rel_time);
-
- /// Run the io_context object's event processing loop until a specified time
- /// to execute at most one handler.
- /**
- * The run_one_until() function blocks until one handler has been dispatched,
- * until the io_context has been stopped, or until the specified time has
- * been reached.
- *
- * @param abs_time The time point until which the call may block.
- *
- * @return The number of handlers that were executed.
- */
- template <typename Clock, typename Duration>
- std::size_t run_one_until(
- const chrono::time_point<Clock, Duration>& abs_time);
-#endif // defined(BOOST_ASIO_HAS_CHRONO) || defined(GENERATING_DOCUMENTATION)
-
- /// Run the io_context object's event processing loop to execute ready
- /// handlers.
- /**
- * The poll() function runs handlers that are ready to run, without blocking,
- * until the io_context has been stopped or there are no more ready handlers.
- *
- * @return The number of handlers that were executed.
- */
- BOOST_ASIO_DECL count_type poll();
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use non-error_code overload.) Run the io_context object's
- /// event processing loop to execute ready handlers.
- /**
- * The poll() function runs handlers that are ready to run, without blocking,
- * until the io_context has been stopped or there are no more ready handlers.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @return The number of handlers that were executed.
- */
- BOOST_ASIO_DECL count_type poll(boost::system::error_code& ec);
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Run the io_context object's event processing loop to execute one ready
- /// handler.
- /**
- * The poll_one() function runs at most one handler that is ready to run,
- * without blocking.
- *
- * @return The number of handlers that were executed.
- */
- BOOST_ASIO_DECL count_type poll_one();
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use non-error_code overload.) Run the io_context object's
- /// event processing loop to execute one ready handler.
- /**
- * The poll_one() function runs at most one handler that is ready to run,
- * without blocking.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @return The number of handlers that were executed.
- */
- BOOST_ASIO_DECL count_type poll_one(boost::system::error_code& ec);
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Stop the io_context object's event processing loop.
- /**
- * This function does not block, but instead simply signals the io_context to
- * stop. All invocations of its run() or run_one() member functions should
- * return as soon as possible. Subsequent calls to run(), run_one(), poll()
- * or poll_one() will return immediately until restart() is called.
- */
- BOOST_ASIO_DECL void stop();
-
- /// Determine whether the io_context object has been stopped.
- /**
- * This function is used to determine whether an io_context object has been
- * stopped, either through an explicit call to stop(), or due to running out
- * of work. When an io_context object is stopped, calls to run(), run_one(),
- * poll() or poll_one() will return immediately without invoking any
- * handlers.
- *
- * @return @c true if the io_context object is stopped, otherwise @c false.
- */
- BOOST_ASIO_DECL bool stopped() const;
-
- /// Restart the io_context in preparation for a subsequent run() invocation.
- /**
- * This function must be called prior to any second or later set of
- * invocations of the run(), run_one(), poll() or poll_one() functions when a
- * previous invocation of these functions returned due to the io_context
- * being stopped or running out of work. After a call to restart(), the
- * io_context object's stopped() function will return @c false.
- *
- * This function must not be called while there are any unfinished calls to
- * the run(), run_one(), poll() or poll_one() functions.
- */
- BOOST_ASIO_DECL void restart();
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use restart().) Reset the io_context in preparation for a
- /// subsequent run() invocation.
- /**
- * This function must be called prior to any second or later set of
- * invocations of the run(), run_one(), poll() or poll_one() functions when a
- * previous invocation of these functions returned due to the io_context
- * being stopped or running out of work. After a call to restart(), the
- * io_context object's stopped() function will return @c false.
- *
- * This function must not be called while there are any unfinished calls to
- * the run(), run_one(), poll() or poll_one() functions.
- */
- void reset();
-
- /// (Deprecated: Use boost::asio::dispatch().) Request the io_context to
- /// invoke the given handler.
- /**
- * This function is used to ask the io_context to execute the given handler.
- *
- * The io_context guarantees that the handler will only be called in a thread
- * in which the run(), run_one(), poll() or poll_one() member functions is
- * currently being invoked. The handler may be executed inside this function
- * if the guarantee can be met.
- *
- * @param handler The handler to be called. The io_context will make
- * a copy of the handler object as required. The function signature of the
- * handler must be: @code void handler(); @endcode
- *
- * @note This function throws an exception only if:
- *
- * @li the handler's @c asio_handler_allocate function; or
- *
- * @li the handler's copy constructor
- *
- * throws an exception.
- */
- template <typename LegacyCompletionHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(LegacyCompletionHandler, void ())
- dispatch(BOOST_ASIO_MOVE_ARG(LegacyCompletionHandler) handler);
-
- /// (Deprecated: Use boost::asio::post().) Request the io_context to invoke
- /// the given handler and return immediately.
- /**
- * This function is used to ask the io_context to execute the given handler,
- * but without allowing the io_context to call the handler from inside this
- * function.
- *
- * The io_context guarantees that the handler will only be called in a thread
- * in which the run(), run_one(), poll() or poll_one() member functions is
- * currently being invoked.
- *
- * @param handler The handler to be called. The io_context will make
- * a copy of the handler object as required. The function signature of the
- * handler must be: @code void handler(); @endcode
- *
- * @note This function throws an exception only if:
- *
- * @li the handler's @c asio_handler_allocate function; or
- *
- * @li the handler's copy constructor
- *
- * throws an exception.
- */
- template <typename LegacyCompletionHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(LegacyCompletionHandler, void ())
- post(BOOST_ASIO_MOVE_ARG(LegacyCompletionHandler) handler);
-
- /// (Deprecated: Use boost::asio::bind_executor().) Create a new handler that
- /// automatically dispatches the wrapped handler on the io_context.
- /**
- * This function is used to create a new handler function object that, when
- * invoked, will automatically pass the wrapped handler to the io_context
- * object's dispatch function.
- *
- * @param handler The handler to be wrapped. The io_context will make a copy
- * of the handler object as required. The function signature of the handler
- * must be: @code void handler(A1 a1, ... An an); @endcode
- *
- * @return A function object that, when invoked, passes the wrapped handler to
- * the io_context object's dispatch function. Given a function object with the
- * signature:
- * @code R f(A1 a1, ... An an); @endcode
- * If this function object is passed to the wrap function like so:
- * @code io_context.wrap(f); @endcode
- * then the return value is a function object with the signature
- * @code void g(A1 a1, ... An an); @endcode
- * that, when invoked, executes code equivalent to:
- * @code io_context.dispatch(boost::bind(f, a1, ... an)); @endcode
- */
- template <typename Handler>
-#if defined(GENERATING_DOCUMENTATION)
- unspecified
-#else
- detail::wrapped_handler<io_context&, Handler>
-#endif
- wrap(Handler handler);
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-private:
- // Helper function to add the implementation.
- BOOST_ASIO_DECL impl_type& add_impl(impl_type* impl);
-
- // Backwards compatible overload for use with services derived from
- // io_context::service.
- template <typename Service>
- friend Service& use_service(io_context& ioc);
-
-#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
- detail::winsock_init<> init_;
-#elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \
- || defined(__osf__)
- detail::signal_init<> init_;
-#endif
-
- // The implementation.
- impl_type& impl_;
-};
-
-/// Executor used to submit functions to an io_context.
-class io_context::executor_type
-{
-public:
- /// Obtain the underlying execution context.
- io_context& context() const BOOST_ASIO_NOEXCEPT;
-
- /// Inform the io_context that it has some outstanding work to do.
- /**
- * This function is used to inform the io_context that some work has begun.
- * This ensures that the io_context's run() and run_one() functions do not
- * exit while the work is underway.
- */
- void on_work_started() const BOOST_ASIO_NOEXCEPT;
-
- /// Inform the io_context that some work is no longer outstanding.
- /**
- * This function is used to inform the io_context that some work has
- * finished. Once the count of unfinished work reaches zero, the io_context
- * is stopped and the run() and run_one() functions may exit.
- */
- void on_work_finished() const BOOST_ASIO_NOEXCEPT;
-
- /// Request the io_context to invoke the given function object.
- /**
- * This function is used to ask the io_context to execute the given function
- * object. If the current thread is running the io_context, @c dispatch()
- * executes the function before returning. Otherwise, the function will be
- * scheduled to run on the io_context.
- *
- * @param f The function object to be called. The executor will make a copy
- * of the handler object as required. The function signature of the function
- * object must be: @code void function(); @endcode
- *
- * @param a An allocator that may be used by the executor to allocate the
- * internal storage needed for function invocation.
- */
- template <typename Function, typename Allocator>
- void dispatch(BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const;
-
- /// Request the io_context to invoke the given function object.
- /**
- * This function is used to ask the io_context to execute the given function
- * object. The function object will never be executed inside @c post().
- * Instead, it will be scheduled to run on the io_context.
- *
- * @param f The function object to be called. The executor will make a copy
- * of the handler object as required. The function signature of the function
- * object must be: @code void function(); @endcode
- *
- * @param a An allocator that may be used by the executor to allocate the
- * internal storage needed for function invocation.
- */
- template <typename Function, typename Allocator>
- void post(BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const;
-
- /// Request the io_context to invoke the given function object.
- /**
- * This function is used to ask the io_context to execute the given function
- * object. The function object will never be executed inside @c defer().
- * Instead, it will be scheduled to run on the io_context.
- *
- * If the current thread belongs to the io_context, @c defer() will delay
- * scheduling the function object until the current thread returns control to
- * the pool.
- *
- * @param f The function object to be called. The executor will make a copy
- * of the handler object as required. The function signature of the function
- * object must be: @code void function(); @endcode
- *
- * @param a An allocator that may be used by the executor to allocate the
- * internal storage needed for function invocation.
- */
- template <typename Function, typename Allocator>
- void defer(BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const;
-
- /// Determine whether the io_context is running in the current thread.
- /**
- * @return @c true if the current thread is running the io_context. Otherwise
- * returns @c false.
- */
- bool running_in_this_thread() const BOOST_ASIO_NOEXCEPT;
-
- /// Compare two executors for equality.
- /**
- * Two executors are equal if they refer to the same underlying io_context.
- */
- friend bool operator==(const executor_type& a,
- const executor_type& b) BOOST_ASIO_NOEXCEPT
- {
- return &a.io_context_ == &b.io_context_;
- }
-
- /// Compare two executors for inequality.
- /**
- * Two executors are equal if they refer to the same underlying io_context.
- */
- friend bool operator!=(const executor_type& a,
- const executor_type& b) BOOST_ASIO_NOEXCEPT
- {
- return &a.io_context_ != &b.io_context_;
- }
-
-private:
- friend class io_context;
-
- // Constructor.
- explicit executor_type(io_context& i) : io_context_(i) {}
-
- // The underlying io_context.
- io_context& io_context_;
-};
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-/// (Deprecated: Use executor_work_guard.) Class to inform the io_context when
-/// it has work to do.
-/**
- * The work class is used to inform the io_context when work starts and
- * finishes. This ensures that the io_context object's run() function will not
- * exit while work is underway, and that it does exit when there is no
- * unfinished work remaining.
- *
- * The work class is copy-constructible so that it may be used as a data member
- * in a handler class. It is not assignable.
- */
-class io_context::work
-{
-public:
- /// Constructor notifies the io_context that work is starting.
- /**
- * The constructor is used to inform the io_context that some work has begun.
- * This ensures that the io_context object's run() function will not exit
- * while the work is underway.
- */
- explicit work(boost::asio::io_context& io_context);
-
- /// Copy constructor notifies the io_context that work is starting.
- /**
- * The constructor is used to inform the io_context that some work has begun.
- * This ensures that the io_context object's run() function will not exit
- * while the work is underway.
- */
- work(const work& other);
-
- /// Destructor notifies the io_context that the work is complete.
- /**
- * The destructor is used to inform the io_context that some work has
- * finished. Once the count of unfinished work reaches zero, the io_context
- * object's run() function is permitted to exit.
- */
- ~work();
-
- /// Get the io_context associated with the work.
- boost::asio::io_context& get_io_context();
-
- /// (Deprecated: Use get_io_context().) Get the io_context associated with the
- /// work.
- boost::asio::io_context& get_io_service();
-
-private:
- // Prevent assignment.
- void operator=(const work& other);
-
- // The io_context implementation.
- detail::io_context_impl& io_context_impl_;
-};
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-/// Base class for all io_context services.
-class io_context::service
- : public execution_context::service
-{
-public:
- /// Get the io_context object that owns the service.
- boost::asio::io_context& get_io_context();
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// Get the io_context object that owns the service.
- boost::asio::io_context& get_io_service();
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-private:
- /// Destroy all user-defined handler objects owned by the service.
- BOOST_ASIO_DECL virtual void shutdown();
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use shutdown().) Destroy all user-defined handler objects
- /// owned by the service.
- BOOST_ASIO_DECL virtual void shutdown_service();
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Handle notification of a fork-related event to perform any necessary
- /// housekeeping.
- /**
- * This function is not a pure virtual so that services only have to
- * implement it if necessary. The default implementation does nothing.
- */
- BOOST_ASIO_DECL virtual void notify_fork(
- execution_context::fork_event event);
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use notify_fork().) Handle notification of a fork-related
- /// event to perform any necessary housekeeping.
- /**
- * This function is not a pure virtual so that services only have to
- * implement it if necessary. The default implementation does nothing.
- */
- BOOST_ASIO_DECL virtual void fork_service(
- execution_context::fork_event event);
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-protected:
- /// Constructor.
- /**
- * @param owner The io_context object that owns the service.
- */
- BOOST_ASIO_DECL service(boost::asio::io_context& owner);
-
- /// Destructor.
- BOOST_ASIO_DECL virtual ~service();
-};
-
-namespace detail {
-
-// Special service base class to keep classes header-file only.
-template <typename Type>
-class service_base
- : public boost::asio::io_context::service
-{
-public:
- static boost::asio::detail::service_id<Type> id;
-
- // Constructor.
- service_base(boost::asio::io_context& io_context)
- : boost::asio::io_context::service(io_context)
- {
- }
-};
-
-template <typename Type>
-boost::asio::detail::service_id<Type> service_base<Type>::id;
-
-} // namespace detail
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/impl/io_context.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/impl/io_context.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-// If both io_context.hpp and strand.hpp have been included, automatically
-// include the header file needed for the io_context::strand class.
-#if !defined(BOOST_ASIO_NO_EXTENSIONS)
-# if defined(BOOST_ASIO_STRAND_HPP)
-# include <boost/asio/io_context_strand.hpp>
-# endif // defined(BOOST_ASIO_STRAND_HPP)
-#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
-
-#endif // BOOST_ASIO_IO_CONTEXT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp b/contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp
deleted file mode 100644
index 144e308a21..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/io_context_strand.hpp
+++ /dev/null
@@ -1,386 +0,0 @@
-//
-// io_context_strand.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IO_CONTEXT_STRAND_HPP
-#define BOOST_ASIO_IO_CONTEXT_STRAND_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if !defined(BOOST_ASIO_NO_EXTENSIONS)
-
-#include <boost/asio/async_result.hpp>
-#include <boost/asio/detail/handler_type_requirements.hpp>
-#include <boost/asio/detail/strand_service.hpp>
-#include <boost/asio/detail/wrapped_handler.hpp>
-#include <boost/asio/io_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// Provides serialised handler execution.
-/**
- * The io_context::strand class provides the ability to post and dispatch
- * handlers with the guarantee that none of those handlers will execute
- * concurrently.
- *
- * @par Order of handler invocation
- * Given:
- *
- * @li a strand object @c s
- *
- * @li an object @c a meeting completion handler requirements
- *
- * @li an object @c a1 which is an arbitrary copy of @c a made by the
- * implementation
- *
- * @li an object @c b meeting completion handler requirements
- *
- * @li an object @c b1 which is an arbitrary copy of @c b made by the
- * implementation
- *
- * if any of the following conditions are true:
- *
- * @li @c s.post(a) happens-before @c s.post(b)
- *
- * @li @c s.post(a) happens-before @c s.dispatch(b), where the latter is
- * performed outside the strand
- *
- * @li @c s.dispatch(a) happens-before @c s.post(b), where the former is
- * performed outside the strand
- *
- * @li @c s.dispatch(a) happens-before @c s.dispatch(b), where both are
- * performed outside the strand
- *
- * then @c asio_handler_invoke(a1, &a1) happens-before
- * @c asio_handler_invoke(b1, &b1).
- *
- * Note that in the following case:
- * @code async_op_1(..., s.wrap(a));
- * async_op_2(..., s.wrap(b)); @endcode
- * the completion of the first async operation will perform @c s.dispatch(a),
- * and the second will perform @c s.dispatch(b), but the order in which those
- * are performed is unspecified. That is, you cannot state whether one
- * happens-before the other. Therefore none of the above conditions are met and
- * no ordering guarantee is made.
- *
- * @note The implementation makes no guarantee that handlers posted or
- * dispatched through different @c strand objects will be invoked concurrently.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Safe.
- *
- * @par Concepts:
- * Dispatcher.
- */
-class io_context::strand
-{
-public:
- /// Constructor.
- /**
- * Constructs the strand.
- *
- * @param io_context The io_context object that the strand will use to
- * dispatch handlers that are ready to be run.
- */
- explicit strand(boost::asio::io_context& io_context)
- : service_(boost::asio::use_service<
- boost::asio::detail::strand_service>(io_context))
- {
- service_.construct(impl_);
- }
-
- /// Destructor.
- /**
- * Destroys a strand.
- *
- * Handlers posted through the strand that have not yet been invoked will
- * still be dispatched in a way that meets the guarantee of non-concurrency.
- */
- ~strand()
- {
- }
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use context().) Get the io_context associated with the
- /// strand.
- /**
- * This function may be used to obtain the io_context object that the strand
- * uses to dispatch handlers for asynchronous operations.
- *
- * @return A reference to the io_context object that the strand will use to
- * dispatch handlers. Ownership is not transferred to the caller.
- */
- boost::asio::io_context& get_io_context()
- {
- return service_.get_io_context();
- }
-
- /// (Deprecated: Use context().) Get the io_context associated with the
- /// strand.
- /**
- * This function may be used to obtain the io_context object that the strand
- * uses to dispatch handlers for asynchronous operations.
- *
- * @return A reference to the io_context object that the strand will use to
- * dispatch handlers. Ownership is not transferred to the caller.
- */
- boost::asio::io_context& get_io_service()
- {
- return service_.get_io_context();
- }
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Obtain the underlying execution context.
- boost::asio::io_context& context() const BOOST_ASIO_NOEXCEPT
- {
- return service_.get_io_context();
- }
-
- /// Inform the strand that it has some outstanding work to do.
- /**
- * The strand delegates this call to its underlying io_context.
- */
- void on_work_started() const BOOST_ASIO_NOEXCEPT
- {
- context().get_executor().on_work_started();
- }
-
- /// Inform the strand that some work is no longer outstanding.
- /**
- * The strand delegates this call to its underlying io_context.
- */
- void on_work_finished() const BOOST_ASIO_NOEXCEPT
- {
- context().get_executor().on_work_finished();
- }
-
- /// Request the strand to invoke the given function object.
- /**
- * This function is used to ask the strand to execute the given function
- * object on its underlying io_context. The function object will be executed
- * inside this function if the strand is not otherwise busy and if the
- * underlying io_context's executor's @c dispatch() function is also able to
- * execute the function before returning.
- *
- * @param f The function object to be called. The executor will make
- * a copy of the handler object as required. The function signature of the
- * function object must be: @code void function(); @endcode
- *
- * @param a An allocator that may be used by the executor to allocate the
- * internal storage needed for function invocation.
- */
- template <typename Function, typename Allocator>
- void dispatch(BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const
- {
- typename decay<Function>::type tmp(BOOST_ASIO_MOVE_CAST(Function)(f));
- service_.dispatch(impl_, tmp);
- (void)a;
- }
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use boost::asio::dispatch().) Request the strand to invoke
- /// the given handler.
- /**
- * This function is used to ask the strand to execute the given handler.
- *
- * The strand object guarantees that handlers posted or dispatched through
- * the strand will not be executed concurrently. The handler may be executed
- * inside this function if the guarantee can be met. If this function is
- * called from within a handler that was posted or dispatched through the same
- * strand, then the new handler will be executed immediately.
- *
- * The strand's guarantee is in addition to the guarantee provided by the
- * underlying io_context. The io_context guarantees that the handler will only
- * be called in a thread in which the io_context's run member function is
- * currently being invoked.
- *
- * @param handler The handler to be called. The strand will make a copy of the
- * handler object as required. The function signature of the handler must be:
- * @code void handler(); @endcode
- */
- template <typename LegacyCompletionHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(LegacyCompletionHandler, void ())
- dispatch(BOOST_ASIO_MOVE_ARG(LegacyCompletionHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a LegacyCompletionHandler.
- BOOST_ASIO_LEGACY_COMPLETION_HANDLER_CHECK(
- LegacyCompletionHandler, handler) type_check;
-
- async_completion<LegacyCompletionHandler, void ()> init(handler);
-
- service_.dispatch(impl_, init.completion_handler);
-
- return init.result.get();
- }
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Request the strand to invoke the given function object.
- /**
- * This function is used to ask the executor to execute the given function
- * object. The function object will never be executed inside this function.
- * Instead, it will be scheduled to run by the underlying io_context.
- *
- * @param f The function object to be called. The executor will make
- * a copy of the handler object as required. The function signature of the
- * function object must be: @code void function(); @endcode
- *
- * @param a An allocator that may be used by the executor to allocate the
- * internal storage needed for function invocation.
- */
- template <typename Function, typename Allocator>
- void post(BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const
- {
- typename decay<Function>::type tmp(BOOST_ASIO_MOVE_CAST(Function)(f));
- service_.post(impl_, tmp);
- (void)a;
- }
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use boost::asio::post().) Request the strand to invoke the
- /// given handler and return immediately.
- /**
- * This function is used to ask the strand to execute the given handler, but
- * without allowing the strand to call the handler from inside this function.
- *
- * The strand object guarantees that handlers posted or dispatched through
- * the strand will not be executed concurrently. The strand's guarantee is in
- * addition to the guarantee provided by the underlying io_context. The
- * io_context guarantees that the handler will only be called in a thread in
- * which the io_context's run member function is currently being invoked.
- *
- * @param handler The handler to be called. The strand will make a copy of the
- * handler object as required. The function signature of the handler must be:
- * @code void handler(); @endcode
- */
- template <typename LegacyCompletionHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(LegacyCompletionHandler, void ())
- post(BOOST_ASIO_MOVE_ARG(LegacyCompletionHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a LegacyCompletionHandler.
- BOOST_ASIO_LEGACY_COMPLETION_HANDLER_CHECK(
- LegacyCompletionHandler, handler) type_check;
-
- async_completion<LegacyCompletionHandler, void ()> init(handler);
-
- service_.post(impl_, init.completion_handler);
-
- return init.result.get();
- }
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Request the strand to invoke the given function object.
- /**
- * This function is used to ask the executor to execute the given function
- * object. The function object will never be executed inside this function.
- * Instead, it will be scheduled to run by the underlying io_context.
- *
- * @param f The function object to be called. The executor will make
- * a copy of the handler object as required. The function signature of the
- * function object must be: @code void function(); @endcode
- *
- * @param a An allocator that may be used by the executor to allocate the
- * internal storage needed for function invocation.
- */
- template <typename Function, typename Allocator>
- void defer(BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const
- {
- typename decay<Function>::type tmp(BOOST_ASIO_MOVE_CAST(Function)(f));
- service_.post(impl_, tmp);
- (void)a;
- }
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use boost::asio::bind_executor().) Create a new handler that
- /// automatically dispatches the wrapped handler on the strand.
- /**
- * This function is used to create a new handler function object that, when
- * invoked, will automatically pass the wrapped handler to the strand's
- * dispatch function.
- *
- * @param handler The handler to be wrapped. The strand will make a copy of
- * the handler object as required. The function signature of the handler must
- * be: @code void handler(A1 a1, ... An an); @endcode
- *
- * @return A function object that, when invoked, passes the wrapped handler to
- * the strand's dispatch function. Given a function object with the signature:
- * @code R f(A1 a1, ... An an); @endcode
- * If this function object is passed to the wrap function like so:
- * @code strand.wrap(f); @endcode
- * then the return value is a function object with the signature
- * @code void g(A1 a1, ... An an); @endcode
- * that, when invoked, executes code equivalent to:
- * @code strand.dispatch(boost::bind(f, a1, ... an)); @endcode
- */
- template <typename Handler>
-#if defined(GENERATING_DOCUMENTATION)
- unspecified
-#else
- detail::wrapped_handler<strand, Handler, detail::is_continuation_if_running>
-#endif
- wrap(Handler handler)
- {
- return detail::wrapped_handler<io_context::strand, Handler,
- detail::is_continuation_if_running>(*this, handler);
- }
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Determine whether the strand is running in the current thread.
- /**
- * @return @c true if the current thread is executing a handler that was
- * submitted to the strand using post(), dispatch() or wrap(). Otherwise
- * returns @c false.
- */
- bool running_in_this_thread() const BOOST_ASIO_NOEXCEPT
- {
- return service_.running_in_this_thread(impl_);
- }
-
- /// Compare two strands for equality.
- /**
- * Two strands are equal if they refer to the same ordered, non-concurrent
- * state.
- */
- friend bool operator==(const strand& a, const strand& b) BOOST_ASIO_NOEXCEPT
- {
- return a.impl_ == b.impl_;
- }
-
- /// Compare two strands for inequality.
- /**
- * Two strands are equal if they refer to the same ordered, non-concurrent
- * state.
- */
- friend bool operator!=(const strand& a, const strand& b) BOOST_ASIO_NOEXCEPT
- {
- return a.impl_ != b.impl_;
- }
-
-private:
- boost::asio::detail::strand_service& service_;
- mutable boost::asio::detail::strand_service::implementation_type impl_;
-};
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
-
-#endif // BOOST_ASIO_IO_CONTEXT_STRAND_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/io_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/io_service.hpp
deleted file mode 100644
index 76af8e0cbd..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/io_service.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// io_service.hpp
-// ~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IO_SERVICE_HPP
-#define BOOST_ASIO_IO_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/io_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-/// Typedef for backwards compatibility.
-typedef io_context io_service;
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IO_SERVICE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp
deleted file mode 100644
index 9b0cbdd3ee..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/address.hpp
+++ /dev/null
@@ -1,262 +0,0 @@
-//
-// ip/address.hpp
-// ~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_ADDRESS_HPP
-#define BOOST_ASIO_IP_ADDRESS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <string>
-#include <boost/asio/detail/throw_exception.hpp>
-#include <boost/asio/detail/string_view.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/asio/ip/address_v4.hpp>
-#include <boost/asio/ip/address_v6.hpp>
-#include <boost/asio/ip/bad_address_cast.hpp>
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-# include <iosfwd>
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// Implements version-independent IP addresses.
-/**
- * The boost::asio::ip::address class provides the ability to use either IP
- * version 4 or version 6 addresses.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Unsafe.
- */
-class address
-{
-public:
- /// Default constructor.
- BOOST_ASIO_DECL address();
-
- /// Construct an address from an IPv4 address.
- BOOST_ASIO_DECL address(const boost::asio::ip::address_v4& ipv4_address);
-
- /// Construct an address from an IPv6 address.
- BOOST_ASIO_DECL address(const boost::asio::ip::address_v6& ipv6_address);
-
- /// Copy constructor.
- BOOST_ASIO_DECL address(const address& other);
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- /// Move constructor.
- BOOST_ASIO_DECL address(address&& other);
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- /// Assign from another address.
- BOOST_ASIO_DECL address& operator=(const address& other);
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- /// Move-assign from another address.
- BOOST_ASIO_DECL address& operator=(address&& other);
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- /// Assign from an IPv4 address.
- BOOST_ASIO_DECL address& operator=(
- const boost::asio::ip::address_v4& ipv4_address);
-
- /// Assign from an IPv6 address.
- BOOST_ASIO_DECL address& operator=(
- const boost::asio::ip::address_v6& ipv6_address);
-
- /// Get whether the address is an IP version 4 address.
- bool is_v4() const
- {
- return type_ == ipv4;
- }
-
- /// Get whether the address is an IP version 6 address.
- bool is_v6() const
- {
- return type_ == ipv6;
- }
-
- /// Get the address as an IP version 4 address.
- BOOST_ASIO_DECL boost::asio::ip::address_v4 to_v4() const;
-
- /// Get the address as an IP version 6 address.
- BOOST_ASIO_DECL boost::asio::ip::address_v6 to_v6() const;
-
- /// Get the address as a string.
- BOOST_ASIO_DECL std::string to_string() const;
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use other overload.) Get the address as a string.
- BOOST_ASIO_DECL std::string to_string(boost::system::error_code& ec) const;
-
- /// (Deprecated: Use make_address().) Create an address from an IPv4 address
- /// string in dotted decimal form, or from an IPv6 address in hexadecimal
- /// notation.
- static address from_string(const char* str);
-
- /// (Deprecated: Use make_address().) Create an address from an IPv4 address
- /// string in dotted decimal form, or from an IPv6 address in hexadecimal
- /// notation.
- static address from_string(const char* str, boost::system::error_code& ec);
-
- /// (Deprecated: Use make_address().) Create an address from an IPv4 address
- /// string in dotted decimal form, or from an IPv6 address in hexadecimal
- /// notation.
- static address from_string(const std::string& str);
-
- /// (Deprecated: Use make_address().) Create an address from an IPv4 address
- /// string in dotted decimal form, or from an IPv6 address in hexadecimal
- /// notation.
- static address from_string(
- const std::string& str, boost::system::error_code& ec);
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Determine whether the address is a loopback address.
- BOOST_ASIO_DECL bool is_loopback() const;
-
- /// Determine whether the address is unspecified.
- BOOST_ASIO_DECL bool is_unspecified() const;
-
- /// Determine whether the address is a multicast address.
- BOOST_ASIO_DECL bool is_multicast() const;
-
- /// Compare two addresses for equality.
- BOOST_ASIO_DECL friend bool operator==(const address& a1, const address& a2);
-
- /// Compare two addresses for inequality.
- friend bool operator!=(const address& a1, const address& a2)
- {
- return !(a1 == a2);
- }
-
- /// Compare addresses for ordering.
- BOOST_ASIO_DECL friend bool operator<(const address& a1, const address& a2);
-
- /// Compare addresses for ordering.
- friend bool operator>(const address& a1, const address& a2)
- {
- return a2 < a1;
- }
-
- /// Compare addresses for ordering.
- friend bool operator<=(const address& a1, const address& a2)
- {
- return !(a2 < a1);
- }
-
- /// Compare addresses for ordering.
- friend bool operator>=(const address& a1, const address& a2)
- {
- return !(a1 < a2);
- }
-
-private:
- // The type of the address.
- enum { ipv4, ipv6 } type_;
-
- // The underlying IPv4 address.
- boost::asio::ip::address_v4 ipv4_address_;
-
- // The underlying IPv6 address.
- boost::asio::ip::address_v6 ipv6_address_;
-};
-
-/// Create an address from an IPv4 address string in dotted decimal form,
-/// or from an IPv6 address in hexadecimal notation.
-/**
- * @relates address
- */
-BOOST_ASIO_DECL address make_address(const char* str);
-
-/// Create an address from an IPv4 address string in dotted decimal form,
-/// or from an IPv6 address in hexadecimal notation.
-/**
- * @relates address
- */
-BOOST_ASIO_DECL address make_address(
- const char* str, boost::system::error_code& ec);
-
-/// Create an address from an IPv4 address string in dotted decimal form,
-/// or from an IPv6 address in hexadecimal notation.
-/**
- * @relates address
- */
-BOOST_ASIO_DECL address make_address(const std::string& str);
-
-/// Create an address from an IPv4 address string in dotted decimal form,
-/// or from an IPv6 address in hexadecimal notation.
-/**
- * @relates address
- */
-BOOST_ASIO_DECL address make_address(
- const std::string& str, boost::system::error_code& ec);
-
-#if defined(BOOST_ASIO_HAS_STRING_VIEW) \
- || defined(GENERATING_DOCUMENTATION)
-
-/// Create an address from an IPv4 address string in dotted decimal form,
-/// or from an IPv6 address in hexadecimal notation.
-/**
- * @relates address
- */
-BOOST_ASIO_DECL address make_address(string_view str);
-
-/// Create an address from an IPv4 address string in dotted decimal form,
-/// or from an IPv6 address in hexadecimal notation.
-/**
- * @relates address
- */
-BOOST_ASIO_DECL address make_address(
- string_view str, boost::system::error_code& ec);
-
-#endif // defined(BOOST_ASIO_HAS_STRING_VIEW)
- // || defined(GENERATING_DOCUMENTATION)
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-
-/// Output an address as a string.
-/**
- * Used to output a human-readable string for a specified address.
- *
- * @param os The output stream to which the string will be written.
- *
- * @param addr The address to be written.
- *
- * @return The output stream.
- *
- * @relates boost::asio::ip::address
- */
-template <typename Elem, typename Traits>
-std::basic_ostream<Elem, Traits>& operator<<(
- std::basic_ostream<Elem, Traits>& os, const address& addr);
-
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/ip/impl/address.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/ip/impl/address.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_IP_ADDRESS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp
deleted file mode 100644
index 68d724085d..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v4.hpp
+++ /dev/null
@@ -1,331 +0,0 @@
-//
-// ip/address_v4.hpp
-// ~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_ADDRESS_V4_HPP
-#define BOOST_ASIO_IP_ADDRESS_V4_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <string>
-#include <boost/asio/detail/array.hpp>
-#include <boost/asio/detail/cstdint.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/string_view.hpp>
-#include <boost/asio/detail/winsock_init.hpp>
-#include <boost/system/error_code.hpp>
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-# include <iosfwd>
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// Implements IP version 4 style addresses.
-/**
- * The boost::asio::ip::address_v4 class provides the ability to use and
- * manipulate IP version 4 addresses.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Unsafe.
- */
-class address_v4
-{
-public:
- /// The type used to represent an address as an unsigned integer.
- typedef uint_least32_t uint_type;
-
- /// The type used to represent an address as an array of bytes.
- /**
- * @note This type is defined in terms of the C++0x template @c std::array
- * when it is available. Otherwise, it uses @c boost:array.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef array<unsigned char, 4> bytes_type;
-#else
- typedef boost::asio::detail::array<unsigned char, 4> bytes_type;
-#endif
-
- /// Default constructor.
- address_v4()
- {
- addr_.s_addr = 0;
- }
-
- /// Construct an address from raw bytes.
- BOOST_ASIO_DECL explicit address_v4(const bytes_type& bytes);
-
- /// Construct an address from an unsigned integer in host byte order.
- BOOST_ASIO_DECL explicit address_v4(uint_type addr);
-
- /// Copy constructor.
- address_v4(const address_v4& other)
- : addr_(other.addr_)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- /// Move constructor.
- address_v4(address_v4&& other)
- : addr_(other.addr_)
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- /// Assign from another address.
- address_v4& operator=(const address_v4& other)
- {
- addr_ = other.addr_;
- return *this;
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- /// Move-assign from another address.
- address_v4& operator=(address_v4&& other)
- {
- addr_ = other.addr_;
- return *this;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- /// Get the address in bytes, in network byte order.
- BOOST_ASIO_DECL bytes_type to_bytes() const;
-
- /// Get the address as an unsigned integer in host byte order
- BOOST_ASIO_DECL uint_type to_uint() const;
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// Get the address as an unsigned long in host byte order
- BOOST_ASIO_DECL unsigned long to_ulong() const;
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Get the address as a string in dotted decimal format.
- BOOST_ASIO_DECL std::string to_string() const;
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use other overload.) Get the address as a string in dotted
- /// decimal format.
- BOOST_ASIO_DECL std::string to_string(boost::system::error_code& ec) const;
-
- /// (Deprecated: Use make_address_v4().) Create an address from an IP address
- /// string in dotted decimal form.
- static address_v4 from_string(const char* str);
-
- /// (Deprecated: Use make_address_v4().) Create an address from an IP address
- /// string in dotted decimal form.
- static address_v4 from_string(
- const char* str, boost::system::error_code& ec);
-
- /// (Deprecated: Use make_address_v4().) Create an address from an IP address
- /// string in dotted decimal form.
- static address_v4 from_string(const std::string& str);
-
- /// (Deprecated: Use make_address_v4().) Create an address from an IP address
- /// string in dotted decimal form.
- static address_v4 from_string(
- const std::string& str, boost::system::error_code& ec);
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Determine whether the address is a loopback address.
- BOOST_ASIO_DECL bool is_loopback() const;
-
- /// Determine whether the address is unspecified.
- BOOST_ASIO_DECL bool is_unspecified() const;
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use network_v4 class.) Determine whether the address is a
- /// class A address.
- BOOST_ASIO_DECL bool is_class_a() const;
-
- /// (Deprecated: Use network_v4 class.) Determine whether the address is a
- /// class B address.
- BOOST_ASIO_DECL bool is_class_b() const;
-
- /// (Deprecated: Use network_v4 class.) Determine whether the address is a
- /// class C address.
- BOOST_ASIO_DECL bool is_class_c() const;
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Determine whether the address is a multicast address.
- BOOST_ASIO_DECL bool is_multicast() const;
-
- /// Compare two addresses for equality.
- friend bool operator==(const address_v4& a1, const address_v4& a2)
- {
- return a1.addr_.s_addr == a2.addr_.s_addr;
- }
-
- /// Compare two addresses for inequality.
- friend bool operator!=(const address_v4& a1, const address_v4& a2)
- {
- return a1.addr_.s_addr != a2.addr_.s_addr;
- }
-
- /// Compare addresses for ordering.
- friend bool operator<(const address_v4& a1, const address_v4& a2)
- {
- return a1.to_uint() < a2.to_uint();
- }
-
- /// Compare addresses for ordering.
- friend bool operator>(const address_v4& a1, const address_v4& a2)
- {
- return a1.to_uint() > a2.to_uint();
- }
-
- /// Compare addresses for ordering.
- friend bool operator<=(const address_v4& a1, const address_v4& a2)
- {
- return a1.to_uint() <= a2.to_uint();
- }
-
- /// Compare addresses for ordering.
- friend bool operator>=(const address_v4& a1, const address_v4& a2)
- {
- return a1.to_uint() >= a2.to_uint();
- }
-
- /// Obtain an address object that represents any address.
- static address_v4 any()
- {
- return address_v4();
- }
-
- /// Obtain an address object that represents the loopback address.
- static address_v4 loopback()
- {
- return address_v4(0x7F000001);
- }
-
- /// Obtain an address object that represents the broadcast address.
- static address_v4 broadcast()
- {
- return address_v4(0xFFFFFFFF);
- }
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use network_v4 class.) Obtain an address object that
- /// represents the broadcast address that corresponds to the specified
- /// address and netmask.
- BOOST_ASIO_DECL static address_v4 broadcast(
- const address_v4& addr, const address_v4& mask);
-
- /// (Deprecated: Use network_v4 class.) Obtain the netmask that corresponds
- /// to the address, based on its address class.
- BOOST_ASIO_DECL static address_v4 netmask(const address_v4& addr);
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-private:
- // The underlying IPv4 address.
- boost::asio::detail::in4_addr_type addr_;
-};
-
-/// Create an IPv4 address from raw bytes in network order.
-/**
- * @relates address_v4
- */
-inline address_v4 make_address_v4(const address_v4::bytes_type& bytes)
-{
- return address_v4(bytes);
-}
-
-/// Create an IPv4 address from an unsigned integer in host byte order.
-/**
- * @relates address_v4
- */
-inline address_v4 make_address_v4(address_v4::uint_type addr)
-{
- return address_v4(addr);
-}
-
-/// Create an IPv4 address from an IP address string in dotted decimal form.
-/**
- * @relates address_v4
- */
-BOOST_ASIO_DECL address_v4 make_address_v4(const char* str);
-
-/// Create an IPv4 address from an IP address string in dotted decimal form.
-/**
- * @relates address_v4
- */
-BOOST_ASIO_DECL address_v4 make_address_v4(
- const char* str, boost::system::error_code& ec);
-
-/// Create an IPv4 address from an IP address string in dotted decimal form.
-/**
- * @relates address_v4
- */
-BOOST_ASIO_DECL address_v4 make_address_v4(const std::string& str);
-
-/// Create an IPv4 address from an IP address string in dotted decimal form.
-/**
- * @relates address_v4
- */
-BOOST_ASIO_DECL address_v4 make_address_v4(
- const std::string& str, boost::system::error_code& ec);
-
-#if defined(BOOST_ASIO_HAS_STRING_VIEW) \
- || defined(GENERATING_DOCUMENTATION)
-
-/// Create an IPv4 address from an IP address string in dotted decimal form.
-/**
- * @relates address_v4
- */
-BOOST_ASIO_DECL address_v4 make_address_v4(string_view str);
-
-/// Create an IPv4 address from an IP address string in dotted decimal form.
-/**
- * @relates address_v4
- */
-BOOST_ASIO_DECL address_v4 make_address_v4(
- string_view str, boost::system::error_code& ec);
-
-#endif // defined(BOOST_ASIO_HAS_STRING_VIEW)
- // || defined(GENERATING_DOCUMENTATION)
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-
-/// Output an address as a string.
-/**
- * Used to output a human-readable string for a specified address.
- *
- * @param os The output stream to which the string will be written.
- *
- * @param addr The address to be written.
- *
- * @return The output stream.
- *
- * @relates boost::asio::ip::address_v4
- */
-template <typename Elem, typename Traits>
-std::basic_ostream<Elem, Traits>& operator<<(
- std::basic_ostream<Elem, Traits>& os, const address_v4& addr);
-
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/ip/impl/address_v4.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/ip/impl/address_v4.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_IP_ADDRESS_V4_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp
deleted file mode 100644
index 8c4ac0a732..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/address_v6.hpp
+++ /dev/null
@@ -1,338 +0,0 @@
-//
-// ip/address_v6.hpp
-// ~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_ADDRESS_V6_HPP
-#define BOOST_ASIO_IP_ADDRESS_V6_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <string>
-#include <boost/asio/detail/array.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/string_view.hpp>
-#include <boost/asio/detail/winsock_init.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/asio/ip/address_v4.hpp>
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-# include <iosfwd>
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-template <typename> class basic_address_iterator;
-
-/// Implements IP version 6 style addresses.
-/**
- * The boost::asio::ip::address_v6 class provides the ability to use and
- * manipulate IP version 6 addresses.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Unsafe.
- */
-class address_v6
-{
-public:
- /// The type used to represent an address as an array of bytes.
- /**
- * @note This type is defined in terms of the C++0x template @c std::array
- * when it is available. Otherwise, it uses @c boost:array.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef array<unsigned char, 16> bytes_type;
-#else
- typedef boost::asio::detail::array<unsigned char, 16> bytes_type;
-#endif
-
- /// Default constructor.
- BOOST_ASIO_DECL address_v6();
-
- /// Construct an address from raw bytes and scope ID.
- BOOST_ASIO_DECL explicit address_v6(const bytes_type& bytes,
- unsigned long scope_id = 0);
-
- /// Copy constructor.
- BOOST_ASIO_DECL address_v6(const address_v6& other);
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- /// Move constructor.
- BOOST_ASIO_DECL address_v6(address_v6&& other);
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- /// Assign from another address.
- BOOST_ASIO_DECL address_v6& operator=(const address_v6& other);
-
-#if defined(BOOST_ASIO_HAS_MOVE)
- /// Move-assign from another address.
- BOOST_ASIO_DECL address_v6& operator=(address_v6&& other);
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
- /// The scope ID of the address.
- /**
- * Returns the scope ID associated with the IPv6 address.
- */
- unsigned long scope_id() const
- {
- return scope_id_;
- }
-
- /// The scope ID of the address.
- /**
- * Modifies the scope ID associated with the IPv6 address.
- */
- void scope_id(unsigned long id)
- {
- scope_id_ = id;
- }
-
- /// Get the address in bytes, in network byte order.
- BOOST_ASIO_DECL bytes_type to_bytes() const;
-
- /// Get the address as a string.
- BOOST_ASIO_DECL std::string to_string() const;
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use other overload.) Get the address as a string.
- BOOST_ASIO_DECL std::string to_string(boost::system::error_code& ec) const;
-
- /// (Deprecated: Use make_address_v6().) Create an IPv6 address from an IP
- /// address string.
- static address_v6 from_string(const char* str);
-
- /// (Deprecated: Use make_address_v6().) Create an IPv6 address from an IP
- /// address string.
- static address_v6 from_string(
- const char* str, boost::system::error_code& ec);
-
- /// (Deprecated: Use make_address_v6().) Create an IPv6 address from an IP
- /// address string.
- static address_v6 from_string(const std::string& str);
-
- /// (Deprecated: Use make_address_v6().) Create an IPv6 address from an IP
- /// address string.
- static address_v6 from_string(
- const std::string& str, boost::system::error_code& ec);
-
- /// (Deprecated: Use make_address_v4().) Converts an IPv4-mapped or
- /// IPv4-compatible address to an IPv4 address.
- BOOST_ASIO_DECL address_v4 to_v4() const;
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Determine whether the address is a loopback address.
- BOOST_ASIO_DECL bool is_loopback() const;
-
- /// Determine whether the address is unspecified.
- BOOST_ASIO_DECL bool is_unspecified() const;
-
- /// Determine whether the address is link local.
- BOOST_ASIO_DECL bool is_link_local() const;
-
- /// Determine whether the address is site local.
- BOOST_ASIO_DECL bool is_site_local() const;
-
- /// Determine whether the address is a mapped IPv4 address.
- BOOST_ASIO_DECL bool is_v4_mapped() const;
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: No replacement.) Determine whether the address is an
- /// IPv4-compatible address.
- BOOST_ASIO_DECL bool is_v4_compatible() const;
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Determine whether the address is a multicast address.
- BOOST_ASIO_DECL bool is_multicast() const;
-
- /// Determine whether the address is a global multicast address.
- BOOST_ASIO_DECL bool is_multicast_global() const;
-
- /// Determine whether the address is a link-local multicast address.
- BOOST_ASIO_DECL bool is_multicast_link_local() const;
-
- /// Determine whether the address is a node-local multicast address.
- BOOST_ASIO_DECL bool is_multicast_node_local() const;
-
- /// Determine whether the address is a org-local multicast address.
- BOOST_ASIO_DECL bool is_multicast_org_local() const;
-
- /// Determine whether the address is a site-local multicast address.
- BOOST_ASIO_DECL bool is_multicast_site_local() const;
-
- /// Compare two addresses for equality.
- BOOST_ASIO_DECL friend bool operator==(
- const address_v6& a1, const address_v6& a2);
-
- /// Compare two addresses for inequality.
- friend bool operator!=(const address_v6& a1, const address_v6& a2)
- {
- return !(a1 == a2);
- }
-
- /// Compare addresses for ordering.
- BOOST_ASIO_DECL friend bool operator<(
- const address_v6& a1, const address_v6& a2);
-
- /// Compare addresses for ordering.
- friend bool operator>(const address_v6& a1, const address_v6& a2)
- {
- return a2 < a1;
- }
-
- /// Compare addresses for ordering.
- friend bool operator<=(const address_v6& a1, const address_v6& a2)
- {
- return !(a2 < a1);
- }
-
- /// Compare addresses for ordering.
- friend bool operator>=(const address_v6& a1, const address_v6& a2)
- {
- return !(a1 < a2);
- }
-
- /// Obtain an address object that represents any address.
- static address_v6 any()
- {
- return address_v6();
- }
-
- /// Obtain an address object that represents the loopback address.
- BOOST_ASIO_DECL static address_v6 loopback();
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use make_address_v6().) Create an IPv4-mapped IPv6 address.
- BOOST_ASIO_DECL static address_v6 v4_mapped(const address_v4& addr);
-
- /// (Deprecated: No replacement.) Create an IPv4-compatible IPv6 address.
- BOOST_ASIO_DECL static address_v6 v4_compatible(const address_v4& addr);
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-private:
- friend class basic_address_iterator<address_v6>;
-
- // The underlying IPv6 address.
- boost::asio::detail::in6_addr_type addr_;
-
- // The scope ID associated with the address.
- unsigned long scope_id_;
-};
-
-/// Create an IPv6 address from raw bytes and scope ID.
-/**
- * @relates address_v6
- */
-inline address_v6 make_address_v6(const address_v6::bytes_type& bytes,
- unsigned long scope_id = 0)
-{
- return address_v6(bytes, scope_id);
-}
-
-/// Create an IPv6 address from an IP address string.
-/**
- * @relates address_v6
- */
-BOOST_ASIO_DECL address_v6 make_address_v6(const char* str);
-
-/// Create an IPv6 address from an IP address string.
-/**
- * @relates address_v6
- */
-BOOST_ASIO_DECL address_v6 make_address_v6(
- const char* str, boost::system::error_code& ec);
-
-/// Createan IPv6 address from an IP address string.
-/**
- * @relates address_v6
- */
-BOOST_ASIO_DECL address_v6 make_address_v6(const std::string& str);
-
-/// Create an IPv6 address from an IP address string.
-/**
- * @relates address_v6
- */
-BOOST_ASIO_DECL address_v6 make_address_v6(
- const std::string& str, boost::system::error_code& ec);
-
-#if defined(BOOST_ASIO_HAS_STRING_VIEW) \
- || defined(GENERATING_DOCUMENTATION)
-
-/// Create an IPv6 address from an IP address string.
-/**
- * @relates address_v6
- */
-BOOST_ASIO_DECL address_v6 make_address_v6(string_view str);
-
-/// Create an IPv6 address from an IP address string.
-/**
- * @relates address_v6
- */
-BOOST_ASIO_DECL address_v6 make_address_v6(
- string_view str, boost::system::error_code& ec);
-
-#endif // defined(BOOST_ASIO_HAS_STRING_VIEW)
- // || defined(GENERATING_DOCUMENTATION)
-
-/// Tag type used for distinguishing overloads that deal in IPv4-mapped IPv6
-/// addresses.
-enum v4_mapped_t { v4_mapped };
-
-/// Create an IPv4 address from a IPv4-mapped IPv6 address.
-/**
- * @relates address_v4
- */
-BOOST_ASIO_DECL address_v4 make_address_v4(
- v4_mapped_t, const address_v6& v6_addr);
-
-/// Create an IPv4-mapped IPv6 address from an IPv4 address.
-/**
- * @relates address_v6
- */
-BOOST_ASIO_DECL address_v6 make_address_v6(
- v4_mapped_t, const address_v4& v4_addr);
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-
-/// Output an address as a string.
-/**
- * Used to output a human-readable string for a specified address.
- *
- * @param os The output stream to which the string will be written.
- *
- * @param addr The address to be written.
- *
- * @return The output stream.
- *
- * @relates boost::asio::ip::address_v6
- */
-template <typename Elem, typename Traits>
-std::basic_ostream<Elem, Traits>& operator<<(
- std::basic_ostream<Elem, Traits>& os, const address_v6& addr);
-
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/ip/impl/address_v6.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/ip/impl/address_v6.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_IP_ADDRESS_V6_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp
deleted file mode 100644
index 4e62bcd32b..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/bad_address_cast.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// ip/bad_address_cast.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_BAD_ADDRESS_CAST_HPP
-#define BOOST_ASIO_IP_BAD_ADDRESS_CAST_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <typeinfo>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// Thrown to indicate a failed address conversion.
-class bad_address_cast : public std::bad_cast
-{
-public:
- /// Default constructor.
- bad_address_cast() {}
-
- /// Destructor.
- virtual ~bad_address_cast() BOOST_ASIO_NOEXCEPT_OR_NOTHROW {}
-
- /// Get the message associated with the exception.
- virtual const char* what() const BOOST_ASIO_NOEXCEPT_OR_NOTHROW
- {
- return "bad address cast";
- }
-};
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_ADDRESS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp
deleted file mode 100644
index bad4114f0b..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_endpoint.hpp
+++ /dev/null
@@ -1,265 +0,0 @@
-//
-// ip/basic_endpoint.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_BASIC_ENDPOINT_HPP
-#define BOOST_ASIO_IP_BASIC_ENDPOINT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/ip/address.hpp>
-#include <boost/asio/ip/detail/endpoint.hpp>
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-# include <iosfwd>
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// Describes an endpoint for a version-independent IP socket.
-/**
- * The boost::asio::ip::basic_endpoint class template describes an endpoint that
- * may be associated with a particular socket.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Unsafe.
- *
- * @par Concepts:
- * Endpoint.
- */
-template <typename InternetProtocol>
-class basic_endpoint
-{
-public:
- /// The protocol type associated with the endpoint.
- typedef InternetProtocol protocol_type;
-
- /// The type of the endpoint structure. This type is dependent on the
- /// underlying implementation of the socket layer.
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined data_type;
-#else
- typedef boost::asio::detail::socket_addr_type data_type;
-#endif
-
- /// Default constructor.
- basic_endpoint()
- : impl_()
- {
- }
-
- /// Construct an endpoint using a port number, specified in the host's byte
- /// order. The IP address will be the any address (i.e. INADDR_ANY or
- /// in6addr_any). This constructor would typically be used for accepting new
- /// connections.
- /**
- * @par Examples
- * To initialise an IPv4 TCP endpoint for port 1234, use:
- * @code
- * boost::asio::ip::tcp::endpoint ep(boost::asio::ip::tcp::v4(), 1234);
- * @endcode
- *
- * To specify an IPv6 UDP endpoint for port 9876, use:
- * @code
- * boost::asio::ip::udp::endpoint ep(boost::asio::ip::udp::v6(), 9876);
- * @endcode
- */
- basic_endpoint(const InternetProtocol& internet_protocol,
- unsigned short port_num)
- : impl_(internet_protocol.family(), port_num)
- {
- }
-
- /// Construct an endpoint using a port number and an IP address. This
- /// constructor may be used for accepting connections on a specific interface
- /// or for making a connection to a remote endpoint.
- basic_endpoint(const boost::asio::ip::address& addr, unsigned short port_num)
- : impl_(addr, port_num)
- {
- }
-
- /// Copy constructor.
- basic_endpoint(const basic_endpoint& other)
- : impl_(other.impl_)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move constructor.
- basic_endpoint(basic_endpoint&& other)
- : impl_(other.impl_)
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// Assign from another endpoint.
- basic_endpoint& operator=(const basic_endpoint& other)
- {
- impl_ = other.impl_;
- return *this;
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move-assign from another endpoint.
- basic_endpoint& operator=(basic_endpoint&& other)
- {
- impl_ = other.impl_;
- return *this;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// The protocol associated with the endpoint.
- protocol_type protocol() const
- {
- if (impl_.is_v4())
- return InternetProtocol::v4();
- return InternetProtocol::v6();
- }
-
- /// Get the underlying endpoint in the native type.
- data_type* data()
- {
- return impl_.data();
- }
-
- /// Get the underlying endpoint in the native type.
- const data_type* data() const
- {
- return impl_.data();
- }
-
- /// Get the underlying size of the endpoint in the native type.
- std::size_t size() const
- {
- return impl_.size();
- }
-
- /// Set the underlying size of the endpoint in the native type.
- void resize(std::size_t new_size)
- {
- impl_.resize(new_size);
- }
-
- /// Get the capacity of the endpoint in the native type.
- std::size_t capacity() const
- {
- return impl_.capacity();
- }
-
- /// Get the port associated with the endpoint. The port number is always in
- /// the host's byte order.
- unsigned short port() const
- {
- return impl_.port();
- }
-
- /// Set the port associated with the endpoint. The port number is always in
- /// the host's byte order.
- void port(unsigned short port_num)
- {
- impl_.port(port_num);
- }
-
- /// Get the IP address associated with the endpoint.
- boost::asio::ip::address address() const
- {
- return impl_.address();
- }
-
- /// Set the IP address associated with the endpoint.
- void address(const boost::asio::ip::address& addr)
- {
- impl_.address(addr);
- }
-
- /// Compare two endpoints for equality.
- friend bool operator==(const basic_endpoint<InternetProtocol>& e1,
- const basic_endpoint<InternetProtocol>& e2)
- {
- return e1.impl_ == e2.impl_;
- }
-
- /// Compare two endpoints for inequality.
- friend bool operator!=(const basic_endpoint<InternetProtocol>& e1,
- const basic_endpoint<InternetProtocol>& e2)
- {
- return !(e1 == e2);
- }
-
- /// Compare endpoints for ordering.
- friend bool operator<(const basic_endpoint<InternetProtocol>& e1,
- const basic_endpoint<InternetProtocol>& e2)
- {
- return e1.impl_ < e2.impl_;
- }
-
- /// Compare endpoints for ordering.
- friend bool operator>(const basic_endpoint<InternetProtocol>& e1,
- const basic_endpoint<InternetProtocol>& e2)
- {
- return e2.impl_ < e1.impl_;
- }
-
- /// Compare endpoints for ordering.
- friend bool operator<=(const basic_endpoint<InternetProtocol>& e1,
- const basic_endpoint<InternetProtocol>& e2)
- {
- return !(e2 < e1);
- }
-
- /// Compare endpoints for ordering.
- friend bool operator>=(const basic_endpoint<InternetProtocol>& e1,
- const basic_endpoint<InternetProtocol>& e2)
- {
- return !(e1 < e2);
- }
-
-private:
- // The underlying IP endpoint.
- boost::asio::ip::detail::endpoint impl_;
-};
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-
-/// Output an endpoint as a string.
-/**
- * Used to output a human-readable string for a specified endpoint.
- *
- * @param os The output stream to which the string will be written.
- *
- * @param endpoint The endpoint to be written.
- *
- * @return The output stream.
- *
- * @relates boost::asio::ip::basic_endpoint
- */
-template <typename Elem, typename Traits, typename InternetProtocol>
-std::basic_ostream<Elem, Traits>& operator<<(
- std::basic_ostream<Elem, Traits>& os,
- const basic_endpoint<InternetProtocol>& endpoint);
-
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/ip/impl/basic_endpoint.hpp>
-
-#endif // BOOST_ASIO_IP_BASIC_ENDPOINT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp
deleted file mode 100644
index 969d9d8ac3..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver.hpp
+++ /dev/null
@@ -1,1020 +0,0 @@
-//
-// ip/basic_resolver.hpp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_BASIC_RESOLVER_HPP
-#define BOOST_ASIO_IP_BASIC_RESOLVER_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <string>
-#include <boost/asio/async_result.hpp>
-#include <boost/asio/basic_io_object.hpp>
-#include <boost/asio/detail/handler_type_requirements.hpp>
-#include <boost/asio/detail/string_view.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/ip/basic_resolver_iterator.hpp>
-#include <boost/asio/ip/basic_resolver_query.hpp>
-#include <boost/asio/ip/basic_resolver_results.hpp>
-#include <boost/asio/ip/resolver_base.hpp>
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-# include <utility>
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-# include <boost/asio/ip/resolver_service.hpp>
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-# if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# include <boost/asio/detail/winrt_resolver_service.hpp>
-# define BOOST_ASIO_SVC_T \
- boost::asio::detail::winrt_resolver_service<InternetProtocol>
-# else
-# include <boost/asio/detail/resolver_service.hpp>
-# define BOOST_ASIO_SVC_T \
- boost::asio::detail::resolver_service<InternetProtocol>
-# endif
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// Provides endpoint resolution functionality.
-/**
- * The basic_resolver class template provides the ability to resolve a query
- * to a list of endpoints.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Unsafe.
- */
-template <typename InternetProtocol
- BOOST_ASIO_SVC_TPARAM_DEF1(= resolver_service<InternetProtocol>)>
-class basic_resolver
- : BOOST_ASIO_SVC_ACCESS basic_io_object<BOOST_ASIO_SVC_T>,
- public resolver_base
-{
-public:
- /// The type of the executor associated with the object.
- typedef io_context::executor_type executor_type;
-
- /// The protocol type.
- typedef InternetProtocol protocol_type;
-
- /// The endpoint type.
- typedef typename InternetProtocol::endpoint endpoint_type;
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated.) The query type.
- typedef basic_resolver_query<InternetProtocol> query;
-
- /// (Deprecated.) The iterator type.
- typedef basic_resolver_iterator<InternetProtocol> iterator;
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// The results type.
- typedef basic_resolver_results<InternetProtocol> results_type;
-
- /// Constructor.
- /**
- * This constructor creates a basic_resolver.
- *
- * @param io_context The io_context object that the resolver will use to
- * dispatch handlers for any asynchronous operations performed on the
- * resolver.
- */
- explicit basic_resolver(boost::asio::io_context& io_context)
- : basic_io_object<BOOST_ASIO_SVC_T>(io_context)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move-construct a basic_resolver from another.
- /**
- * This constructor moves a resolver from one object to another.
- *
- * @param other The other basic_resolver object from which the move will
- * occur.
- *
- * @note Following the move, the moved-from object is in the same state as if
- * constructed using the @c basic_resolver(io_context&) constructor.
- */
- basic_resolver(basic_resolver&& other)
- : basic_io_object<BOOST_ASIO_SVC_T>(std::move(other))
- {
- }
-
- /// Move-assign a basic_resolver from another.
- /**
- * This assignment operator moves a resolver from one object to another.
- * Cancels any outstanding asynchronous operations associated with the target
- * object.
- *
- * @param other The other basic_resolver object from which the move will
- * occur.
- *
- * @note Following the move, the moved-from object is in the same state as if
- * constructed using the @c basic_resolver(io_context&) constructor.
- */
- basic_resolver& operator=(basic_resolver&& other)
- {
- basic_io_object<BOOST_ASIO_SVC_T>::operator=(std::move(other));
- return *this;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// Destroys the resolver.
- /**
- * This function destroys the resolver, cancelling any outstanding
- * asynchronous wait operations associated with the resolver as if by calling
- * @c cancel.
- */
- ~basic_resolver()
- {
- }
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- // These functions are provided by basic_io_object<>.
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use get_executor().) Get the io_context associated with the
- /// object.
- /**
- * This function may be used to obtain the io_context object that the I/O
- * object uses to dispatch handlers for asynchronous operations.
- *
- * @return A reference to the io_context object that the I/O object will use
- * to dispatch handlers. Ownership is not transferred to the caller.
- */
- boost::asio::io_context& get_io_context()
- {
- return basic_io_object<BOOST_ASIO_SVC_T>::get_io_context();
- }
-
- /// (Deprecated: Use get_executor().) Get the io_context associated with the
- /// object.
- /**
- * This function may be used to obtain the io_context object that the I/O
- * object uses to dispatch handlers for asynchronous operations.
- *
- * @return A reference to the io_context object that the I/O object will use
- * to dispatch handlers. Ownership is not transferred to the caller.
- */
- boost::asio::io_context& get_io_service()
- {
- return basic_io_object<BOOST_ASIO_SVC_T>::get_io_service();
- }
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Get the executor associated with the object.
- executor_type get_executor() BOOST_ASIO_NOEXCEPT
- {
- return basic_io_object<BOOST_ASIO_SVC_T>::get_executor();
- }
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-
- /// Cancel any asynchronous operations that are waiting on the resolver.
- /**
- * This function forces the completion of any pending asynchronous
- * operations on the host resolver. The handler for each cancelled operation
- * will be invoked with the boost::asio::error::operation_aborted error code.
- */
- void cancel()
- {
- return this->get_service().cancel(this->get_implementation());
- }
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated.) Perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve a query into a list of endpoint entries.
- *
- * @param q A query object that determines what endpoints will be returned.
- *
- * @returns A range object representing the list of endpoint entries. A
- * successful call to this function is guaranteed to return a non-empty
- * range.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- results_type resolve(const query& q)
- {
- boost::system::error_code ec;
- results_type r = this->get_service().resolve(
- this->get_implementation(), q, ec);
- boost::asio::detail::throw_error(ec, "resolve");
- return r;
- }
-
- /// (Deprecated.) Perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve a query into a list of endpoint entries.
- *
- * @param q A query object that determines what endpoints will be returned.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns A range object representing the list of endpoint entries. An
- * empty range is returned if an error occurs. A successful call to this
- * function is guaranteed to return a non-empty range.
- */
- results_type resolve(const query& q, boost::system::error_code& ec)
- {
- return this->get_service().resolve(this->get_implementation(), q, ec);
- }
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @returns A range object representing the list of endpoint entries. A
- * successful call to this function is guaranteed to return a non-empty
- * range.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- results_type resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
- BOOST_ASIO_STRING_VIEW_PARAM service)
- {
- return resolve(host, service, resolver_base::flags());
- }
-
- /// Perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns A range object representing the list of endpoint entries. An
- * empty range is returned if an error occurs. A successful call to this
- * function is guaranteed to return a non-empty range.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- results_type resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
- BOOST_ASIO_STRING_VIEW_PARAM service, boost::system::error_code& ec)
- {
- return resolve(host, service, resolver_base::flags(), ec);
- }
-
- /// Perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param resolve_flags A set of flags that determine how name resolution
- * should be performed. The default flags are suitable for communication with
- * remote hosts.
- *
- * @returns A range object representing the list of endpoint entries. A
- * successful call to this function is guaranteed to return a non-empty
- * range.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- results_type resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
- BOOST_ASIO_STRING_VIEW_PARAM service, resolver_base::flags resolve_flags)
- {
- boost::system::error_code ec;
- basic_resolver_query<protocol_type> q(static_cast<std::string>(host),
- static_cast<std::string>(service), resolve_flags);
- results_type r = this->get_service().resolve(
- this->get_implementation(), q, ec);
- boost::asio::detail::throw_error(ec, "resolve");
- return r;
- }
-
- /// Perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param resolve_flags A set of flags that determine how name resolution
- * should be performed. The default flags are suitable for communication with
- * remote hosts.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns A range object representing the list of endpoint entries. An
- * empty range is returned if an error occurs. A successful call to this
- * function is guaranteed to return a non-empty range.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- results_type resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
- BOOST_ASIO_STRING_VIEW_PARAM service, resolver_base::flags resolve_flags,
- boost::system::error_code& ec)
- {
- basic_resolver_query<protocol_type> q(static_cast<std::string>(host),
- static_cast<std::string>(service), resolve_flags);
- return this->get_service().resolve(this->get_implementation(), q, ec);
- }
-
- /// Perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param protocol A protocol object, normally representing either the IPv4 or
- * IPv6 version of an internet protocol.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @returns A range object representing the list of endpoint entries. A
- * successful call to this function is guaranteed to return a non-empty
- * range.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- results_type resolve(const protocol_type& protocol,
- BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service)
- {
- return resolve(protocol, host, service, resolver_base::flags());
- }
-
- /// Perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param protocol A protocol object, normally representing either the IPv4 or
- * IPv6 version of an internet protocol.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns A range object representing the list of endpoint entries. An
- * empty range is returned if an error occurs. A successful call to this
- * function is guaranteed to return a non-empty range.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- results_type resolve(const protocol_type& protocol,
- BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service,
- boost::system::error_code& ec)
- {
- return resolve(protocol, host, service, resolver_base::flags(), ec);
- }
-
- /// Perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param protocol A protocol object, normally representing either the IPv4 or
- * IPv6 version of an internet protocol.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param resolve_flags A set of flags that determine how name resolution
- * should be performed. The default flags are suitable for communication with
- * remote hosts.
- *
- * @returns A range object representing the list of endpoint entries. A
- * successful call to this function is guaranteed to return a non-empty
- * range.
- *
- * @throws boost::system::system_error Thrown on failure.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- results_type resolve(const protocol_type& protocol,
- BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service,
- resolver_base::flags resolve_flags)
- {
- boost::system::error_code ec;
- basic_resolver_query<protocol_type> q(
- protocol, static_cast<std::string>(host),
- static_cast<std::string>(service), resolve_flags);
- results_type r = this->get_service().resolve(
- this->get_implementation(), q, ec);
- boost::asio::detail::throw_error(ec, "resolve");
- return r;
- }
-
- /// Perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param protocol A protocol object, normally representing either the IPv4 or
- * IPv6 version of an internet protocol.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param resolve_flags A set of flags that determine how name resolution
- * should be performed. The default flags are suitable for communication with
- * remote hosts.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns A range object representing the list of endpoint entries. An
- * empty range is returned if an error occurs. A successful call to this
- * function is guaranteed to return a non-empty range.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- results_type resolve(const protocol_type& protocol,
- BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service,
- resolver_base::flags resolve_flags, boost::system::error_code& ec)
- {
- basic_resolver_query<protocol_type> q(
- protocol, static_cast<std::string>(host),
- static_cast<std::string>(service), resolve_flags);
- return this->get_service().resolve(this->get_implementation(), q, ec);
- }
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated.) Asynchronously perform forward resolution of a query to a
- /// list of entries.
- /**
- * This function is used to asynchronously resolve a query into a list of
- * endpoint entries.
- *
- * @param q A query object that determines what endpoints will be returned.
- *
- * @param handler The handler to be called when the resolve operation
- * completes. Copies will be made of the handler as required. The function
- * signature of the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * resolver::results_type results // Resolved endpoints as a range.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * A successful resolve operation is guaranteed to pass a non-empty range to
- * the handler.
- */
- template <typename ResolveHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
- void (boost::system::error_code, results_type))
- async_resolve(const query& q,
- BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a ResolveHandler.
- BOOST_ASIO_RESOLVE_HANDLER_CHECK(
- ResolveHandler, handler, results_type) type_check;
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_resolve(this->get_implementation(), q,
- BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- boost::asio::async_completion<ResolveHandler,
- void (boost::system::error_code, results_type)> init(handler);
-
- this->get_service().async_resolve(
- this->get_implementation(), q, init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
- /// Asynchronously perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param handler The handler to be called when the resolve operation
- * completes. Copies will be made of the handler as required. The function
- * signature of the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * resolver::results_type results // Resolved endpoints as a range.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * A successful resolve operation is guaranteed to pass a non-empty range to
- * the handler.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- template <typename ResolveHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
- void (boost::system::error_code, results_type))
- async_resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
- BOOST_ASIO_STRING_VIEW_PARAM service,
- BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
- {
- return async_resolve(host, service, resolver_base::flags(),
- BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
- }
-
- /// Asynchronously perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param resolve_flags A set of flags that determine how name resolution
- * should be performed. The default flags are suitable for communication with
- * remote hosts.
- *
- * @param handler The handler to be called when the resolve operation
- * completes. Copies will be made of the handler as required. The function
- * signature of the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * resolver::results_type results // Resolved endpoints as a range.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * A successful resolve operation is guaranteed to pass a non-empty range to
- * the handler.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- template <typename ResolveHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
- void (boost::system::error_code, results_type))
- async_resolve(BOOST_ASIO_STRING_VIEW_PARAM host,
- BOOST_ASIO_STRING_VIEW_PARAM service,
- resolver_base::flags resolve_flags,
- BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a ResolveHandler.
- BOOST_ASIO_RESOLVE_HANDLER_CHECK(
- ResolveHandler, handler, results_type) type_check;
-
- basic_resolver_query<protocol_type> q(static_cast<std::string>(host),
- static_cast<std::string>(service), resolve_flags);
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_resolve(this->get_implementation(), q,
- BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- boost::asio::async_completion<ResolveHandler,
- void (boost::system::error_code, results_type)> init(handler);
-
- this->get_service().async_resolve(
- this->get_implementation(), q, init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-
- /// Asynchronously perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param protocol A protocol object, normally representing either the IPv4 or
- * IPv6 version of an internet protocol.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param handler The handler to be called when the resolve operation
- * completes. Copies will be made of the handler as required. The function
- * signature of the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * resolver::results_type results // Resolved endpoints as a range.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * A successful resolve operation is guaranteed to pass a non-empty range to
- * the handler.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- template <typename ResolveHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
- void (boost::system::error_code, results_type))
- async_resolve(const protocol_type& protocol,
- BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service,
- BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
- {
- return async_resolve(protocol, host, service, resolver_base::flags(),
- BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
- }
-
- /// Asynchronously perform forward resolution of a query to a list of entries.
- /**
- * This function is used to resolve host and service names into a list of
- * endpoint entries.
- *
- * @param protocol A protocol object, normally representing either the IPv4 or
- * IPv6 version of an internet protocol.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param resolve_flags A set of flags that determine how name resolution
- * should be performed. The default flags are suitable for communication with
- * remote hosts.
- *
- * @param handler The handler to be called when the resolve operation
- * completes. Copies will be made of the handler as required. The function
- * signature of the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * resolver::results_type results // Resolved endpoints as a range.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * A successful resolve operation is guaranteed to pass a non-empty range to
- * the handler.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- template <typename ResolveHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
- void (boost::system::error_code, results_type))
- async_resolve(const protocol_type& protocol,
- BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service,
- resolver_base::flags resolve_flags,
- BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a ResolveHandler.
- BOOST_ASIO_RESOLVE_HANDLER_CHECK(
- ResolveHandler, handler, results_type) type_check;
-
- basic_resolver_query<protocol_type> q(
- protocol, static_cast<std::string>(host),
- static_cast<std::string>(service), resolve_flags);
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_resolve(this->get_implementation(), q,
- BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- boost::asio::async_completion<ResolveHandler,
- void (boost::system::error_code, results_type)> init(handler);
-
- this->get_service().async_resolve(
- this->get_implementation(), q, init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-
- /// Perform reverse resolution of an endpoint to a list of entries.
- /**
- * This function is used to resolve an endpoint into a list of endpoint
- * entries.
- *
- * @param e An endpoint object that determines what endpoints will be
- * returned.
- *
- * @returns A range object representing the list of endpoint entries. A
- * successful call to this function is guaranteed to return a non-empty
- * range.
- *
- * @throws boost::system::system_error Thrown on failure.
- */
- results_type resolve(const endpoint_type& e)
- {
- boost::system::error_code ec;
- results_type i = this->get_service().resolve(
- this->get_implementation(), e, ec);
- boost::asio::detail::throw_error(ec, "resolve");
- return i;
- }
-
- /// Perform reverse resolution of an endpoint to a list of entries.
- /**
- * This function is used to resolve an endpoint into a list of endpoint
- * entries.
- *
- * @param e An endpoint object that determines what endpoints will be
- * returned.
- *
- * @param ec Set to indicate what error occurred, if any.
- *
- * @returns A range object representing the list of endpoint entries. An
- * empty range is returned if an error occurs. A successful call to this
- * function is guaranteed to return a non-empty range.
- */
- results_type resolve(const endpoint_type& e, boost::system::error_code& ec)
- {
- return this->get_service().resolve(this->get_implementation(), e, ec);
- }
-
- /// Asynchronously perform reverse resolution of an endpoint to a list of
- /// entries.
- /**
- * This function is used to asynchronously resolve an endpoint into a list of
- * endpoint entries.
- *
- * @param e An endpoint object that determines what endpoints will be
- * returned.
- *
- * @param handler The handler to be called when the resolve operation
- * completes. Copies will be made of the handler as required. The function
- * signature of the handler must be:
- * @code void handler(
- * const boost::system::error_code& error, // Result of operation.
- * resolver::results_type results // Resolved endpoints as a range.
- * ); @endcode
- * Regardless of whether the asynchronous operation completes immediately or
- * not, the handler will not be invoked from within this function. Invocation
- * of the handler will be performed in a manner equivalent to using
- * boost::asio::io_context::post().
- *
- * A successful resolve operation is guaranteed to pass a non-empty range to
- * the handler.
- */
- template <typename ResolveHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
- void (boost::system::error_code, results_type))
- async_resolve(const endpoint_type& e,
- BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
- {
- // If you get an error on the following line it means that your handler does
- // not meet the documented type requirements for a ResolveHandler.
- BOOST_ASIO_RESOLVE_HANDLER_CHECK(
- ResolveHandler, handler, results_type) type_check;
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- return this->get_service().async_resolve(this->get_implementation(), e,
- BOOST_ASIO_MOVE_CAST(ResolveHandler)(handler));
-#else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- boost::asio::async_completion<ResolveHandler,
- void (boost::system::error_code, results_type)> init(handler);
-
- this->get_service().async_resolve(
- this->get_implementation(), e, init.completion_handler);
-
- return init.result.get();
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
- }
-};
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-# undef BOOST_ASIO_SVC_T
-#endif // !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-
-#endif // BOOST_ASIO_IP_BASIC_RESOLVER_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp
deleted file mode 100644
index efaf976577..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_entry.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-//
-// ip/basic_resolver_entry.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_BASIC_RESOLVER_ENTRY_HPP
-#define BOOST_ASIO_IP_BASIC_RESOLVER_ENTRY_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <string>
-#include <boost/asio/detail/string_view.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// An entry produced by a resolver.
-/**
- * The boost::asio::ip::basic_resolver_entry class template describes an entry
- * as returned by a resolver.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Unsafe.
- */
-template <typename InternetProtocol>
-class basic_resolver_entry
-{
-public:
- /// The protocol type associated with the endpoint entry.
- typedef InternetProtocol protocol_type;
-
- /// The endpoint type associated with the endpoint entry.
- typedef typename InternetProtocol::endpoint endpoint_type;
-
- /// Default constructor.
- basic_resolver_entry()
- {
- }
-
- /// Construct with specified endpoint, host name and service name.
- basic_resolver_entry(const endpoint_type& ep,
- BOOST_ASIO_STRING_VIEW_PARAM host, BOOST_ASIO_STRING_VIEW_PARAM service)
- : endpoint_(ep),
- host_name_(static_cast<std::string>(host)),
- service_name_(static_cast<std::string>(service))
- {
- }
-
- /// Get the endpoint associated with the entry.
- endpoint_type endpoint() const
- {
- return endpoint_;
- }
-
- /// Convert to the endpoint associated with the entry.
- operator endpoint_type() const
- {
- return endpoint_;
- }
-
- /// Get the host name associated with the entry.
- std::string host_name() const
- {
- return host_name_;
- }
-
- /// Get the host name associated with the entry.
- template <class Allocator>
- std::basic_string<char, std::char_traits<char>, Allocator> host_name(
- const Allocator& alloc = Allocator()) const
- {
- return std::basic_string<char, std::char_traits<char>, Allocator>(
- host_name_.c_str(), alloc);
- }
-
- /// Get the service name associated with the entry.
- std::string service_name() const
- {
- return service_name_;
- }
-
- /// Get the service name associated with the entry.
- template <class Allocator>
- std::basic_string<char, std::char_traits<char>, Allocator> service_name(
- const Allocator& alloc = Allocator()) const
- {
- return std::basic_string<char, std::char_traits<char>, Allocator>(
- service_name_.c_str(), alloc);
- }
-
-private:
- endpoint_type endpoint_;
- std::string host_name_;
- std::string service_name_;
-};
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_BASIC_RESOLVER_ENTRY_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp
deleted file mode 100644
index dd93b84149..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_iterator.hpp
+++ /dev/null
@@ -1,194 +0,0 @@
-//
-// ip/basic_resolver_iterator.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_BASIC_RESOLVER_ITERATOR_HPP
-#define BOOST_ASIO_IP_BASIC_RESOLVER_ITERATOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <cstddef>
-#include <cstring>
-#include <iterator>
-#include <string>
-#include <vector>
-#include <boost/asio/detail/memory.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/ip/basic_resolver_entry.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# include <boost/asio/detail/winrt_utils.hpp>
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// An iterator over the entries produced by a resolver.
-/**
- * The boost::asio::ip::basic_resolver_iterator class template is used to define
- * iterators over the results returned by a resolver.
- *
- * The iterator's value_type, obtained when the iterator is dereferenced, is:
- * @code const basic_resolver_entry<InternetProtocol> @endcode
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Unsafe.
- */
-template <typename InternetProtocol>
-class basic_resolver_iterator
-{
-public:
- /// The type used for the distance between two iterators.
- typedef std::ptrdiff_t difference_type;
-
- /// The type of the value pointed to by the iterator.
- typedef basic_resolver_entry<InternetProtocol> value_type;
-
- /// The type of the result of applying operator->() to the iterator.
- typedef const basic_resolver_entry<InternetProtocol>* pointer;
-
- /// The type of the result of applying operator*() to the iterator.
- typedef const basic_resolver_entry<InternetProtocol>& reference;
-
- /// The iterator category.
- typedef std::forward_iterator_tag iterator_category;
-
- /// Default constructor creates an end iterator.
- basic_resolver_iterator()
- : index_(0)
- {
- }
-
- /// Copy constructor.
- basic_resolver_iterator(const basic_resolver_iterator& other)
- : values_(other.values_),
- index_(other.index_)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move constructor.
- basic_resolver_iterator(basic_resolver_iterator&& other)
- : values_(BOOST_ASIO_MOVE_CAST(values_ptr_type)(other.values_)),
- index_(other.index_)
- {
- other.index_ = 0;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// Assignment operator.
- basic_resolver_iterator& operator=(const basic_resolver_iterator& other)
- {
- values_ = other.values_;
- index_ = other.index_;
- return *this;
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move-assignment operator.
- basic_resolver_iterator& operator=(basic_resolver_iterator&& other)
- {
- if (this != &other)
- {
- values_ = BOOST_ASIO_MOVE_CAST(values_ptr_type)(other.values_);
- index_ = other.index_;
- other.index_ = 0;
- }
-
- return *this;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// Dereference an iterator.
- const basic_resolver_entry<InternetProtocol>& operator*() const
- {
- return dereference();
- }
-
- /// Dereference an iterator.
- const basic_resolver_entry<InternetProtocol>* operator->() const
- {
- return &dereference();
- }
-
- /// Increment operator (prefix).
- basic_resolver_iterator& operator++()
- {
- increment();
- return *this;
- }
-
- /// Increment operator (postfix).
- basic_resolver_iterator operator++(int)
- {
- basic_resolver_iterator tmp(*this);
- ++*this;
- return tmp;
- }
-
- /// Test two iterators for equality.
- friend bool operator==(const basic_resolver_iterator& a,
- const basic_resolver_iterator& b)
- {
- return a.equal(b);
- }
-
- /// Test two iterators for inequality.
- friend bool operator!=(const basic_resolver_iterator& a,
- const basic_resolver_iterator& b)
- {
- return !a.equal(b);
- }
-
-protected:
- void increment()
- {
- if (++index_ == values_->size())
- {
- // Reset state to match a default constructed end iterator.
- values_.reset();
- index_ = 0;
- }
- }
-
- bool equal(const basic_resolver_iterator& other) const
- {
- if (!values_ && !other.values_)
- return true;
- if (values_ != other.values_)
- return false;
- return index_ == other.index_;
- }
-
- const basic_resolver_entry<InternetProtocol>& dereference() const
- {
- return (*values_)[index_];
- }
-
- typedef std::vector<basic_resolver_entry<InternetProtocol> > values_type;
- typedef boost::asio::detail::shared_ptr<values_type> values_ptr_type;
- values_ptr_type values_;
- std::size_t index_;
-};
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_BASIC_RESOLVER_ITERATOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp
deleted file mode 100644
index cbbae25ae7..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_query.hpp
+++ /dev/null
@@ -1,246 +0,0 @@
-//
-// ip/basic_resolver_query.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_BASIC_RESOLVER_QUERY_HPP
-#define BOOST_ASIO_IP_BASIC_RESOLVER_QUERY_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <string>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/ip/resolver_query_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// An query to be passed to a resolver.
-/**
- * The boost::asio::ip::basic_resolver_query class template describes a query
- * that can be passed to a resolver.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Unsafe.
- */
-template <typename InternetProtocol>
-class basic_resolver_query
- : public resolver_query_base
-{
-public:
- /// The protocol type associated with the endpoint query.
- typedef InternetProtocol protocol_type;
-
- /// Construct with specified service name for any protocol.
- /**
- * This constructor is typically used to perform name resolution for local
- * service binding.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number.
- *
- * @param resolve_flags A set of flags that determine how name resolution
- * should be performed. The default flags are suitable for local service
- * binding.
- *
- * @note On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- basic_resolver_query(const std::string& service,
- resolver_query_base::flags resolve_flags = passive | address_configured)
- : hints_(),
- host_name_(),
- service_name_(service)
- {
- typename InternetProtocol::endpoint endpoint;
- hints_.ai_flags = static_cast<int>(resolve_flags);
- hints_.ai_family = PF_UNSPEC;
- hints_.ai_socktype = endpoint.protocol().type();
- hints_.ai_protocol = endpoint.protocol().protocol();
- hints_.ai_addrlen = 0;
- hints_.ai_canonname = 0;
- hints_.ai_addr = 0;
- hints_.ai_next = 0;
- }
-
- /// Construct with specified service name for a given protocol.
- /**
- * This constructor is typically used to perform name resolution for local
- * service binding with a specific protocol version.
- *
- * @param protocol A protocol object, normally representing either the IPv4 or
- * IPv6 version of an internet protocol.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number.
- *
- * @param resolve_flags A set of flags that determine how name resolution
- * should be performed. The default flags are suitable for local service
- * binding.
- *
- * @note On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- basic_resolver_query(const protocol_type& protocol,
- const std::string& service,
- resolver_query_base::flags resolve_flags = passive | address_configured)
- : hints_(),
- host_name_(),
- service_name_(service)
- {
- hints_.ai_flags = static_cast<int>(resolve_flags);
- hints_.ai_family = protocol.family();
- hints_.ai_socktype = protocol.type();
- hints_.ai_protocol = protocol.protocol();
- hints_.ai_addrlen = 0;
- hints_.ai_canonname = 0;
- hints_.ai_addr = 0;
- hints_.ai_next = 0;
- }
-
- /// Construct with specified host name and service name for any protocol.
- /**
- * This constructor is typically used to perform name resolution for
- * communication with remote hosts.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param resolve_flags A set of flags that determine how name resolution
- * should be performed. The default flags are suitable for communication with
- * remote hosts.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- basic_resolver_query(const std::string& host, const std::string& service,
- resolver_query_base::flags resolve_flags = address_configured)
- : hints_(),
- host_name_(host),
- service_name_(service)
- {
- typename InternetProtocol::endpoint endpoint;
- hints_.ai_flags = static_cast<int>(resolve_flags);
- hints_.ai_family = BOOST_ASIO_OS_DEF(AF_UNSPEC);
- hints_.ai_socktype = endpoint.protocol().type();
- hints_.ai_protocol = endpoint.protocol().protocol();
- hints_.ai_addrlen = 0;
- hints_.ai_canonname = 0;
- hints_.ai_addr = 0;
- hints_.ai_next = 0;
- }
-
- /// Construct with specified host name and service name for a given protocol.
- /**
- * This constructor is typically used to perform name resolution for
- * communication with remote hosts.
- *
- * @param protocol A protocol object, normally representing either the IPv4 or
- * IPv6 version of an internet protocol.
- *
- * @param host A string identifying a location. May be a descriptive name or
- * a numeric address string. If an empty string and the passive flag has been
- * specified, the resolved endpoints are suitable for local service binding.
- * If an empty string and passive is not specified, the resolved endpoints
- * will use the loopback address.
- *
- * @param service A string identifying the requested service. This may be a
- * descriptive name or a numeric string corresponding to a port number. May
- * be an empty string, in which case all resolved endpoints will have a port
- * number of 0.
- *
- * @param resolve_flags A set of flags that determine how name resolution
- * should be performed. The default flags are suitable for communication with
- * remote hosts.
- *
- * @note On POSIX systems, host names may be locally defined in the file
- * <tt>/etc/hosts</tt>. On Windows, host names may be defined in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\hosts</tt>. Remote host name
- * resolution is performed using DNS. Operating systems may use additional
- * locations when resolving host names (such as NETBIOS names on Windows).
- *
- * On POSIX systems, service names are typically defined in the file
- * <tt>/etc/services</tt>. On Windows, service names may be found in the file
- * <tt>c:\\windows\\system32\\drivers\\etc\\services</tt>. Operating systems
- * may use additional locations when resolving service names.
- */
- basic_resolver_query(const protocol_type& protocol,
- const std::string& host, const std::string& service,
- resolver_query_base::flags resolve_flags = address_configured)
- : hints_(),
- host_name_(host),
- service_name_(service)
- {
- hints_.ai_flags = static_cast<int>(resolve_flags);
- hints_.ai_family = protocol.family();
- hints_.ai_socktype = protocol.type();
- hints_.ai_protocol = protocol.protocol();
- hints_.ai_addrlen = 0;
- hints_.ai_canonname = 0;
- hints_.ai_addr = 0;
- hints_.ai_next = 0;
- }
-
- /// Get the hints associated with the query.
- const boost::asio::detail::addrinfo_type& hints() const
- {
- return hints_;
- }
-
- /// Get the host name associated with the query.
- std::string host_name() const
- {
- return host_name_;
- }
-
- /// Get the service name associated with the query.
- std::string service_name() const
- {
- return service_name_;
- }
-
-private:
- boost::asio::detail::addrinfo_type hints_;
- std::string host_name_;
- std::string service_name_;
-};
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_BASIC_RESOLVER_QUERY_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp
deleted file mode 100644
index 29238b9a68..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/basic_resolver_results.hpp
+++ /dev/null
@@ -1,313 +0,0 @@
-//
-// ip/basic_resolver_results.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_BASIC_RESOLVER_RESULTS_HPP
-#define BOOST_ASIO_IP_BASIC_RESOLVER_RESULTS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <cstddef>
-#include <cstring>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/ip/basic_resolver_iterator.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# include <boost/asio/detail/winrt_utils.hpp>
-#endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// A range of entries produced by a resolver.
-/**
- * The boost::asio::ip::basic_resolver_results class template is used to define
- * a range over the results returned by a resolver.
- *
- * The iterator's value_type, obtained when a results iterator is dereferenced,
- * is: @code const basic_resolver_entry<InternetProtocol> @endcode
- *
- * @note For backward compatibility, basic_resolver_results is derived from
- * basic_resolver_iterator. This derivation is deprecated.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Unsafe.
- */
-template <typename InternetProtocol>
-class basic_resolver_results
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- : public basic_resolver_iterator<InternetProtocol>
-#else // !defined(BOOST_ASIO_NO_DEPRECATED)
- : private basic_resolver_iterator<InternetProtocol>
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-{
-public:
- /// The protocol type associated with the results.
- typedef InternetProtocol protocol_type;
-
- /// The endpoint type associated with the results.
- typedef typename protocol_type::endpoint endpoint_type;
-
- /// The type of a value in the results range.
- typedef basic_resolver_entry<protocol_type> value_type;
-
- /// The type of a const reference to a value in the range.
- typedef const value_type& const_reference;
-
- /// The type of a non-const reference to a value in the range.
- typedef value_type& reference;
-
- /// The type of an iterator into the range.
- typedef basic_resolver_iterator<protocol_type> const_iterator;
-
- /// The type of an iterator into the range.
- typedef const_iterator iterator;
-
- /// Type used to represent the distance between two iterators in the range.
- typedef std::ptrdiff_t difference_type;
-
- /// Type used to represent a count of the elements in the range.
- typedef std::size_t size_type;
-
- /// Default constructor creates an empty range.
- basic_resolver_results()
- {
- }
-
- /// Copy constructor.
- basic_resolver_results(const basic_resolver_results& other)
- : basic_resolver_iterator<InternetProtocol>(other)
- {
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move constructor.
- basic_resolver_results(basic_resolver_results&& other)
- : basic_resolver_iterator<InternetProtocol>(
- BOOST_ASIO_MOVE_CAST(basic_resolver_results)(other))
- {
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// Assignment operator.
- basic_resolver_results& operator=(const basic_resolver_results& other)
- {
- basic_resolver_iterator<InternetProtocol>::operator=(other);
- return *this;
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move-assignment operator.
- basic_resolver_results& operator=(basic_resolver_results&& other)
- {
- basic_resolver_iterator<InternetProtocol>::operator=(
- BOOST_ASIO_MOVE_CAST(basic_resolver_results)(other));
- return *this;
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
-#if !defined(GENERATING_DOCUMENTATION)
- // Create results from an addrinfo list returned by getaddrinfo.
- static basic_resolver_results create(
- boost::asio::detail::addrinfo_type* address_info,
- const std::string& host_name, const std::string& service_name)
- {
- basic_resolver_results results;
- if (!address_info)
- return results;
-
- std::string actual_host_name = host_name;
- if (address_info->ai_canonname)
- actual_host_name = address_info->ai_canonname;
-
- results.values_.reset(new values_type);
-
- while (address_info)
- {
- if (address_info->ai_family == BOOST_ASIO_OS_DEF(AF_INET)
- || address_info->ai_family == BOOST_ASIO_OS_DEF(AF_INET6))
- {
- using namespace std; // For memcpy.
- typename InternetProtocol::endpoint endpoint;
- endpoint.resize(static_cast<std::size_t>(address_info->ai_addrlen));
- memcpy(endpoint.data(), address_info->ai_addr,
- address_info->ai_addrlen);
- results.values_->push_back(
- basic_resolver_entry<InternetProtocol>(endpoint,
- actual_host_name, service_name));
- }
- address_info = address_info->ai_next;
- }
-
- return results;
- }
-
- // Create results from an endpoint, host name and service name.
- static basic_resolver_results create(const endpoint_type& endpoint,
- const std::string& host_name, const std::string& service_name)
- {
- basic_resolver_results results;
- results.values_.reset(new values_type);
- results.values_->push_back(
- basic_resolver_entry<InternetProtocol>(
- endpoint, host_name, service_name));
- return results;
- }
-
- // Create results from a sequence of endpoints, host and service name.
- template <typename EndpointIterator>
- static basic_resolver_results create(
- EndpointIterator begin, EndpointIterator end,
- const std::string& host_name, const std::string& service_name)
- {
- basic_resolver_results results;
- if (begin != end)
- {
- results.values_.reset(new values_type);
- for (EndpointIterator ep_iter = begin; ep_iter != end; ++ep_iter)
- {
- results.values_->push_back(
- basic_resolver_entry<InternetProtocol>(
- *ep_iter, host_name, service_name));
- }
- }
- return results;
- }
-
-# if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- // Create results from a Windows Runtime list of EndpointPair objects.
- static basic_resolver_results create(
- Windows::Foundation::Collections::IVectorView<
- Windows::Networking::EndpointPair^>^ endpoints,
- const boost::asio::detail::addrinfo_type& hints,
- const std::string& host_name, const std::string& service_name)
- {
- basic_resolver_results results;
- if (endpoints->Size)
- {
- results.values_.reset(new values_type);
- for (unsigned int i = 0; i < endpoints->Size; ++i)
- {
- auto pair = endpoints->GetAt(i);
-
- if (hints.ai_family == BOOST_ASIO_OS_DEF(AF_INET)
- && pair->RemoteHostName->Type
- != Windows::Networking::HostNameType::Ipv4)
- continue;
-
- if (hints.ai_family == BOOST_ASIO_OS_DEF(AF_INET6)
- && pair->RemoteHostName->Type
- != Windows::Networking::HostNameType::Ipv6)
- continue;
-
- results.values_->push_back(
- basic_resolver_entry<InternetProtocol>(
- typename InternetProtocol::endpoint(
- ip::make_address(
- boost::asio::detail::winrt_utils::string(
- pair->RemoteHostName->CanonicalName)),
- boost::asio::detail::winrt_utils::integer(
- pair->RemoteServiceName)),
- host_name, service_name));
- }
- }
- return results;
- }
-# endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
-#endif // !defined(GENERATING_DOCUMENTATION)
-
- /// Get the number of entries in the results range.
- size_type size() const BOOST_ASIO_NOEXCEPT
- {
- return this->values_ ? this->values_->size() : 0;
- }
-
- /// Get the maximum number of entries permitted in a results range.
- size_type max_size() const BOOST_ASIO_NOEXCEPT
- {
- return this->values_ ? this->values_->max_size() : values_type().max_size();
- }
-
- /// Determine whether the results range is empty.
- bool empty() const BOOST_ASIO_NOEXCEPT
- {
- return this->values_ ? this->values_->empty() : true;
- }
-
- /// Obtain a begin iterator for the results range.
- const_iterator begin() const
- {
- basic_resolver_results tmp(*this);
- tmp.index_ = 0;
- return tmp;
- }
-
- /// Obtain an end iterator for the results range.
- const_iterator end() const
- {
- return const_iterator();
- }
-
- /// Obtain a begin iterator for the results range.
- const_iterator cbegin() const
- {
- return begin();
- }
-
- /// Obtain an end iterator for the results range.
- const_iterator cend() const
- {
- return end();
- }
-
- /// Swap the results range with another.
- void swap(basic_resolver_results& that) BOOST_ASIO_NOEXCEPT
- {
- if (this != &that)
- {
- this->values_.swap(that.values_);
- std::size_t index = this->index_;
- this->index_ = that.index_;
- that.index_ = index;
- }
- }
-
- /// Test two iterators for equality.
- friend bool operator==(const basic_resolver_results& a,
- const basic_resolver_results& b)
- {
- return a.equal(b);
- }
-
- /// Test two iterators for inequality.
- friend bool operator!=(const basic_resolver_results& a,
- const basic_resolver_results& b)
- {
- return !a.equal(b);
- }
-
-private:
- typedef std::vector<basic_resolver_entry<InternetProtocol> > values_type;
-};
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_BASIC_RESOLVER_RESULTS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp
deleted file mode 100644
index a6f04abed9..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/endpoint.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-//
-// ip/detail/endpoint.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_DETAIL_ENDPOINT_HPP
-#define BOOST_ASIO_IP_DETAIL_ENDPOINT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <string>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/detail/winsock_init.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/asio/ip/address.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-namespace detail {
-
-// Helper class for implementating an IP endpoint.
-class endpoint
-{
-public:
- // Default constructor.
- BOOST_ASIO_DECL endpoint();
-
- // Construct an endpoint using a family and port number.
- BOOST_ASIO_DECL endpoint(int family, unsigned short port_num);
-
- // Construct an endpoint using an address and port number.
- BOOST_ASIO_DECL endpoint(const boost::asio::ip::address& addr,
- unsigned short port_num);
-
- // Copy constructor.
- endpoint(const endpoint& other)
- : data_(other.data_)
- {
- }
-
- // Assign from another endpoint.
- endpoint& operator=(const endpoint& other)
- {
- data_ = other.data_;
- return *this;
- }
-
- // Get the underlying endpoint in the native type.
- boost::asio::detail::socket_addr_type* data()
- {
- return &data_.base;
- }
-
- // Get the underlying endpoint in the native type.
- const boost::asio::detail::socket_addr_type* data() const
- {
- return &data_.base;
- }
-
- // Get the underlying size of the endpoint in the native type.
- std::size_t size() const
- {
- if (is_v4())
- return sizeof(boost::asio::detail::sockaddr_in4_type);
- else
- return sizeof(boost::asio::detail::sockaddr_in6_type);
- }
-
- // Set the underlying size of the endpoint in the native type.
- BOOST_ASIO_DECL void resize(std::size_t new_size);
-
- // Get the capacity of the endpoint in the native type.
- std::size_t capacity() const
- {
- return sizeof(data_);
- }
-
- // Get the port associated with the endpoint.
- BOOST_ASIO_DECL unsigned short port() const;
-
- // Set the port associated with the endpoint.
- BOOST_ASIO_DECL void port(unsigned short port_num);
-
- // Get the IP address associated with the endpoint.
- BOOST_ASIO_DECL boost::asio::ip::address address() const;
-
- // Set the IP address associated with the endpoint.
- BOOST_ASIO_DECL void address(const boost::asio::ip::address& addr);
-
- // Compare two endpoints for equality.
- BOOST_ASIO_DECL friend bool operator==(
- const endpoint& e1, const endpoint& e2);
-
- // Compare endpoints for ordering.
- BOOST_ASIO_DECL friend bool operator<(
- const endpoint& e1, const endpoint& e2);
-
- // Determine whether the endpoint is IPv4.
- bool is_v4() const
- {
- return data_.base.sa_family == BOOST_ASIO_OS_DEF(AF_INET);
- }
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
- // Convert to a string.
- BOOST_ASIO_DECL std::string to_string() const;
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-private:
- // The underlying IP socket address.
- union data_union
- {
- boost::asio::detail::socket_addr_type base;
- boost::asio::detail::sockaddr_in4_type v4;
- boost::asio::detail::sockaddr_in6_type v6;
- } data_;
-};
-
-} // namespace detail
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/ip/detail/impl/endpoint.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_IP_DETAIL_ENDPOINT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp
deleted file mode 100644
index 49f5af116f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/detail/impl/endpoint.ipp
+++ /dev/null
@@ -1,201 +0,0 @@
-//
-// ip/detail/impl/endpoint.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_DETAIL_IMPL_ENDPOINT_IPP
-#define BOOST_ASIO_IP_DETAIL_IMPL_ENDPOINT_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <cstring>
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-# include <sstream>
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/ip/detail/endpoint.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-namespace detail {
-
-endpoint::endpoint()
- : data_()
-{
- data_.v4.sin_family = BOOST_ASIO_OS_DEF(AF_INET);
- data_.v4.sin_port = 0;
- data_.v4.sin_addr.s_addr = BOOST_ASIO_OS_DEF(INADDR_ANY);
-}
-
-endpoint::endpoint(int family, unsigned short port_num)
- : data_()
-{
- using namespace std; // For memcpy.
- if (family == BOOST_ASIO_OS_DEF(AF_INET))
- {
- data_.v4.sin_family = BOOST_ASIO_OS_DEF(AF_INET);
- data_.v4.sin_port =
- boost::asio::detail::socket_ops::host_to_network_short(port_num);
- data_.v4.sin_addr.s_addr = BOOST_ASIO_OS_DEF(INADDR_ANY);
- }
- else
- {
- data_.v6.sin6_family = BOOST_ASIO_OS_DEF(AF_INET6);
- data_.v6.sin6_port =
- boost::asio::detail::socket_ops::host_to_network_short(port_num);
- data_.v6.sin6_flowinfo = 0;
- data_.v6.sin6_addr.s6_addr[0] = 0; data_.v6.sin6_addr.s6_addr[1] = 0;
- data_.v6.sin6_addr.s6_addr[2] = 0; data_.v6.sin6_addr.s6_addr[3] = 0;
- data_.v6.sin6_addr.s6_addr[4] = 0; data_.v6.sin6_addr.s6_addr[5] = 0;
- data_.v6.sin6_addr.s6_addr[6] = 0; data_.v6.sin6_addr.s6_addr[7] = 0;
- data_.v6.sin6_addr.s6_addr[8] = 0; data_.v6.sin6_addr.s6_addr[9] = 0;
- data_.v6.sin6_addr.s6_addr[10] = 0; data_.v6.sin6_addr.s6_addr[11] = 0;
- data_.v6.sin6_addr.s6_addr[12] = 0; data_.v6.sin6_addr.s6_addr[13] = 0;
- data_.v6.sin6_addr.s6_addr[14] = 0; data_.v6.sin6_addr.s6_addr[15] = 0;
- data_.v6.sin6_scope_id = 0;
- }
-}
-
-endpoint::endpoint(const boost::asio::ip::address& addr,
- unsigned short port_num)
- : data_()
-{
- using namespace std; // For memcpy.
- if (addr.is_v4())
- {
- data_.v4.sin_family = BOOST_ASIO_OS_DEF(AF_INET);
- data_.v4.sin_port =
- boost::asio::detail::socket_ops::host_to_network_short(port_num);
- data_.v4.sin_addr.s_addr =
- boost::asio::detail::socket_ops::host_to_network_long(
- addr.to_v4().to_uint());
- }
- else
- {
- data_.v6.sin6_family = BOOST_ASIO_OS_DEF(AF_INET6);
- data_.v6.sin6_port =
- boost::asio::detail::socket_ops::host_to_network_short(port_num);
- data_.v6.sin6_flowinfo = 0;
- boost::asio::ip::address_v6 v6_addr = addr.to_v6();
- boost::asio::ip::address_v6::bytes_type bytes = v6_addr.to_bytes();
- memcpy(data_.v6.sin6_addr.s6_addr, bytes.data(), 16);
- data_.v6.sin6_scope_id =
- static_cast<boost::asio::detail::u_long_type>(
- v6_addr.scope_id());
- }
-}
-
-void endpoint::resize(std::size_t new_size)
-{
- if (new_size > sizeof(boost::asio::detail::sockaddr_storage_type))
- {
- boost::system::error_code ec(boost::asio::error::invalid_argument);
- boost::asio::detail::throw_error(ec);
- }
-}
-
-unsigned short endpoint::port() const
-{
- if (is_v4())
- {
- return boost::asio::detail::socket_ops::network_to_host_short(
- data_.v4.sin_port);
- }
- else
- {
- return boost::asio::detail::socket_ops::network_to_host_short(
- data_.v6.sin6_port);
- }
-}
-
-void endpoint::port(unsigned short port_num)
-{
- if (is_v4())
- {
- data_.v4.sin_port
- = boost::asio::detail::socket_ops::host_to_network_short(port_num);
- }
- else
- {
- data_.v6.sin6_port
- = boost::asio::detail::socket_ops::host_to_network_short(port_num);
- }
-}
-
-boost::asio::ip::address endpoint::address() const
-{
- using namespace std; // For memcpy.
- if (is_v4())
- {
- return boost::asio::ip::address_v4(
- boost::asio::detail::socket_ops::network_to_host_long(
- data_.v4.sin_addr.s_addr));
- }
- else
- {
- boost::asio::ip::address_v6::bytes_type bytes;
-#if defined(BOOST_ASIO_HAS_STD_ARRAY)
- memcpy(bytes.data(), data_.v6.sin6_addr.s6_addr, 16);
-#else // defined(BOOST_ASIO_HAS_STD_ARRAY)
- memcpy(bytes.elems, data_.v6.sin6_addr.s6_addr, 16);
-#endif // defined(BOOST_ASIO_HAS_STD_ARRAY)
- return boost::asio::ip::address_v6(bytes, data_.v6.sin6_scope_id);
- }
-}
-
-void endpoint::address(const boost::asio::ip::address& addr)
-{
- endpoint tmp_endpoint(addr, port());
- data_ = tmp_endpoint.data_;
-}
-
-bool operator==(const endpoint& e1, const endpoint& e2)
-{
- return e1.address() == e2.address() && e1.port() == e2.port();
-}
-
-bool operator<(const endpoint& e1, const endpoint& e2)
-{
- if (e1.address() < e2.address())
- return true;
- if (e1.address() != e2.address())
- return false;
- return e1.port() < e2.port();
-}
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-std::string endpoint::to_string() const
-{
- std::ostringstream tmp_os;
- tmp_os.imbue(std::locale::classic());
- if (is_v4())
- tmp_os << address();
- else
- tmp_os << '[' << address() << ']';
- tmp_os << ':' << port();
-
- return tmp_os.str();
-}
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-} // namespace detail
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_DETAIL_IMPL_ENDPOINT_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp
deleted file mode 100644
index c1e4e0cf8b..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/host_name.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// ip/host_name.hpp
-// ~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_HOST_NAME_HPP
-#define BOOST_ASIO_IP_HOST_NAME_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <string>
-#include <boost/system/error_code.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// Get the current host name.
-BOOST_ASIO_DECL std::string host_name();
-
-/// Get the current host name.
-BOOST_ASIO_DECL std::string host_name(boost::system::error_code& ec);
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/ip/impl/host_name.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_IP_HOST_NAME_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp
deleted file mode 100644
index cf5afb4fcf..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// ip/impl/address.hpp
-// ~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_IMPL_ADDRESS_HPP
-#define BOOST_ASIO_IP_IMPL_ADDRESS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#include <boost/asio/detail/throw_error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-
-inline address address::from_string(const char* str)
-{
- return boost::asio::ip::make_address(str);
-}
-
-inline address address::from_string(
- const char* str, boost::system::error_code& ec)
-{
- return boost::asio::ip::make_address(str, ec);
-}
-
-inline address address::from_string(const std::string& str)
-{
- return boost::asio::ip::make_address(str);
-}
-
-inline address address::from_string(
- const std::string& str, boost::system::error_code& ec)
-{
- return boost::asio::ip::make_address(str, ec);
-}
-
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-template <typename Elem, typename Traits>
-std::basic_ostream<Elem, Traits>& operator<<(
- std::basic_ostream<Elem, Traits>& os, const address& addr)
-{
- return os << addr.to_string().c_str();
-}
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#endif // BOOST_ASIO_IP_IMPL_ADDRESS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp
deleted file mode 100644
index 9afa566a35..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address.ipp
+++ /dev/null
@@ -1,236 +0,0 @@
-//
-// ip/impl/address.ipp
-// ~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_IMPL_ADDRESS_IPP
-#define BOOST_ASIO_IP_IMPL_ADDRESS_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <typeinfo>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/throw_exception.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/ip/address.hpp>
-#include <boost/asio/ip/bad_address_cast.hpp>
-#include <boost/system/system_error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-address::address()
- : type_(ipv4),
- ipv4_address_(),
- ipv6_address_()
-{
-}
-
-address::address(const boost::asio::ip::address_v4& ipv4_address)
- : type_(ipv4),
- ipv4_address_(ipv4_address),
- ipv6_address_()
-{
-}
-
-address::address(const boost::asio::ip::address_v6& ipv6_address)
- : type_(ipv6),
- ipv4_address_(),
- ipv6_address_(ipv6_address)
-{
-}
-
-address::address(const address& other)
- : type_(other.type_),
- ipv4_address_(other.ipv4_address_),
- ipv6_address_(other.ipv6_address_)
-{
-}
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-address::address(address&& other)
- : type_(other.type_),
- ipv4_address_(other.ipv4_address_),
- ipv6_address_(other.ipv6_address_)
-{
-}
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-address& address::operator=(const address& other)
-{
- type_ = other.type_;
- ipv4_address_ = other.ipv4_address_;
- ipv6_address_ = other.ipv6_address_;
- return *this;
-}
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-address& address::operator=(address&& other)
-{
- type_ = other.type_;
- ipv4_address_ = other.ipv4_address_;
- ipv6_address_ = other.ipv6_address_;
- return *this;
-}
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-address& address::operator=(const boost::asio::ip::address_v4& ipv4_address)
-{
- type_ = ipv4;
- ipv4_address_ = ipv4_address;
- ipv6_address_ = boost::asio::ip::address_v6();
- return *this;
-}
-
-address& address::operator=(const boost::asio::ip::address_v6& ipv6_address)
-{
- type_ = ipv6;
- ipv4_address_ = boost::asio::ip::address_v4();
- ipv6_address_ = ipv6_address;
- return *this;
-}
-
-address make_address(const char* str)
-{
- boost::system::error_code ec;
- address addr = make_address(str, ec);
- boost::asio::detail::throw_error(ec);
- return addr;
-}
-
-address make_address(const char* str, boost::system::error_code& ec)
-{
- boost::asio::ip::address_v6 ipv6_address =
- boost::asio::ip::make_address_v6(str, ec);
- if (!ec)
- return address(ipv6_address);
-
- boost::asio::ip::address_v4 ipv4_address =
- boost::asio::ip::make_address_v4(str, ec);
- if (!ec)
- return address(ipv4_address);
-
- return address();
-}
-
-address make_address(const std::string& str)
-{
- return make_address(str.c_str());
-}
-
-address make_address(const std::string& str,
- boost::system::error_code& ec)
-{
- return make_address(str.c_str(), ec);
-}
-
-#if defined(BOOST_ASIO_HAS_STRING_VIEW)
-
-address make_address(string_view str)
-{
- return make_address(static_cast<std::string>(str));
-}
-
-address make_address(string_view str,
- boost::system::error_code& ec)
-{
- return make_address(static_cast<std::string>(str), ec);
-}
-
-#endif // defined(BOOST_ASIO_HAS_STRING_VIEW)
-
-boost::asio::ip::address_v4 address::to_v4() const
-{
- if (type_ != ipv4)
- {
- bad_address_cast ex;
- boost::asio::detail::throw_exception(ex);
- }
- return ipv4_address_;
-}
-
-boost::asio::ip::address_v6 address::to_v6() const
-{
- if (type_ != ipv6)
- {
- bad_address_cast ex;
- boost::asio::detail::throw_exception(ex);
- }
- return ipv6_address_;
-}
-
-std::string address::to_string() const
-{
- if (type_ == ipv6)
- return ipv6_address_.to_string();
- return ipv4_address_.to_string();
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-std::string address::to_string(boost::system::error_code& ec) const
-{
- if (type_ == ipv6)
- return ipv6_address_.to_string(ec);
- return ipv4_address_.to_string(ec);
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-bool address::is_loopback() const
-{
- return (type_ == ipv4)
- ? ipv4_address_.is_loopback()
- : ipv6_address_.is_loopback();
-}
-
-bool address::is_unspecified() const
-{
- return (type_ == ipv4)
- ? ipv4_address_.is_unspecified()
- : ipv6_address_.is_unspecified();
-}
-
-bool address::is_multicast() const
-{
- return (type_ == ipv4)
- ? ipv4_address_.is_multicast()
- : ipv6_address_.is_multicast();
-}
-
-bool operator==(const address& a1, const address& a2)
-{
- if (a1.type_ != a2.type_)
- return false;
- if (a1.type_ == address::ipv6)
- return a1.ipv6_address_ == a2.ipv6_address_;
- return a1.ipv4_address_ == a2.ipv4_address_;
-}
-
-bool operator<(const address& a1, const address& a2)
-{
- if (a1.type_ < a2.type_)
- return true;
- if (a1.type_ > a2.type_)
- return false;
- if (a1.type_ == address::ipv6)
- return a1.ipv6_address_ < a2.ipv6_address_;
- return a1.ipv4_address_ < a2.ipv4_address_;
-}
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_IMPL_ADDRESS_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp
deleted file mode 100644
index 838dc613e2..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// ip/impl/address_v4.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_IMPL_ADDRESS_V4_HPP
-#define BOOST_ASIO_IP_IMPL_ADDRESS_V4_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#include <boost/asio/detail/throw_error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-
-inline address_v4 address_v4::from_string(const char* str)
-{
- return boost::asio::ip::make_address_v4(str);
-}
-
-inline address_v4 address_v4::from_string(
- const char* str, boost::system::error_code& ec)
-{
- return boost::asio::ip::make_address_v4(str, ec);
-}
-
-inline address_v4 address_v4::from_string(const std::string& str)
-{
- return boost::asio::ip::make_address_v4(str);
-}
-
-inline address_v4 address_v4::from_string(
- const std::string& str, boost::system::error_code& ec)
-{
- return boost::asio::ip::make_address_v4(str, ec);
-}
-
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-template <typename Elem, typename Traits>
-std::basic_ostream<Elem, Traits>& operator<<(
- std::basic_ostream<Elem, Traits>& os, const address_v4& addr)
-{
- return os << addr.to_string().c_str();
-}
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#endif // BOOST_ASIO_IP_IMPL_ADDRESS_V4_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp
deleted file mode 100644
index 7693deaf40..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v4.ipp
+++ /dev/null
@@ -1,212 +0,0 @@
-//
-// ip/impl/address_v4.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_IMPL_ADDRESS_V4_IPP
-#define BOOST_ASIO_IP_IMPL_ADDRESS_V4_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <climits>
-#include <limits>
-#include <stdexcept>
-#include <boost/asio/error.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/throw_exception.hpp>
-#include <boost/asio/ip/address_v4.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-address_v4::address_v4(const address_v4::bytes_type& bytes)
-{
-#if UCHAR_MAX > 0xFF
- if (bytes[0] > 0xFF || bytes[1] > 0xFF
- || bytes[2] > 0xFF || bytes[3] > 0xFF)
- {
- std::out_of_range ex("address_v4 from bytes_type");
- boost::asio::detail::throw_exception(ex);
- }
-#endif // UCHAR_MAX > 0xFF
-
- using namespace std; // For memcpy.
- memcpy(&addr_.s_addr, bytes.data(), 4);
-}
-
-address_v4::address_v4(address_v4::uint_type addr)
-{
- if ((std::numeric_limits<uint_type>::max)() > 0xFFFFFFFF)
- {
- std::out_of_range ex("address_v4 from unsigned integer");
- boost::asio::detail::throw_exception(ex);
- }
-
- addr_.s_addr = boost::asio::detail::socket_ops::host_to_network_long(
- static_cast<boost::asio::detail::u_long_type>(addr));
-}
-
-address_v4::bytes_type address_v4::to_bytes() const
-{
- using namespace std; // For memcpy.
- bytes_type bytes;
-#if defined(BOOST_ASIO_HAS_STD_ARRAY)
- memcpy(bytes.data(), &addr_.s_addr, 4);
-#else // defined(BOOST_ASIO_HAS_STD_ARRAY)
- memcpy(bytes.elems, &addr_.s_addr, 4);
-#endif // defined(BOOST_ASIO_HAS_STD_ARRAY)
- return bytes;
-}
-
-address_v4::uint_type address_v4::to_uint() const
-{
- return boost::asio::detail::socket_ops::network_to_host_long(addr_.s_addr);
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-unsigned long address_v4::to_ulong() const
-{
- return boost::asio::detail::socket_ops::network_to_host_long(addr_.s_addr);
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-std::string address_v4::to_string() const
-{
- boost::system::error_code ec;
- char addr_str[boost::asio::detail::max_addr_v4_str_len];
- const char* addr =
- boost::asio::detail::socket_ops::inet_ntop(
- BOOST_ASIO_OS_DEF(AF_INET), &addr_, addr_str,
- boost::asio::detail::max_addr_v4_str_len, 0, ec);
- if (addr == 0)
- boost::asio::detail::throw_error(ec);
- return addr;
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-std::string address_v4::to_string(boost::system::error_code& ec) const
-{
- char addr_str[boost::asio::detail::max_addr_v4_str_len];
- const char* addr =
- boost::asio::detail::socket_ops::inet_ntop(
- BOOST_ASIO_OS_DEF(AF_INET), &addr_, addr_str,
- boost::asio::detail::max_addr_v4_str_len, 0, ec);
- if (addr == 0)
- return std::string();
- return addr;
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-bool address_v4::is_loopback() const
-{
- return (to_uint() & 0xFF000000) == 0x7F000000;
-}
-
-bool address_v4::is_unspecified() const
-{
- return to_uint() == 0;
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-bool address_v4::is_class_a() const
-{
- return (to_uint() & 0x80000000) == 0;
-}
-
-bool address_v4::is_class_b() const
-{
- return (to_uint() & 0xC0000000) == 0x80000000;
-}
-
-bool address_v4::is_class_c() const
-{
- return (to_uint() & 0xE0000000) == 0xC0000000;
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-bool address_v4::is_multicast() const
-{
- return (to_uint() & 0xF0000000) == 0xE0000000;
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-address_v4 address_v4::broadcast(const address_v4& addr, const address_v4& mask)
-{
- return address_v4(addr.to_uint() | (mask.to_uint() ^ 0xFFFFFFFF));
-}
-
-address_v4 address_v4::netmask(const address_v4& addr)
-{
- if (addr.is_class_a())
- return address_v4(0xFF000000);
- if (addr.is_class_b())
- return address_v4(0xFFFF0000);
- if (addr.is_class_c())
- return address_v4(0xFFFFFF00);
- return address_v4(0xFFFFFFFF);
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-address_v4 make_address_v4(const char* str)
-{
- boost::system::error_code ec;
- address_v4 addr = make_address_v4(str, ec);
- boost::asio::detail::throw_error(ec);
- return addr;
-}
-
-address_v4 make_address_v4(
- const char* str, boost::system::error_code& ec)
-{
- address_v4::bytes_type bytes;
- if (boost::asio::detail::socket_ops::inet_pton(
- BOOST_ASIO_OS_DEF(AF_INET), str, &bytes, 0, ec) <= 0)
- return address_v4();
- return address_v4(bytes);
-}
-
-address_v4 make_address_v4(const std::string& str)
-{
- return make_address_v4(str.c_str());
-}
-
-address_v4 make_address_v4(
- const std::string& str, boost::system::error_code& ec)
-{
- return make_address_v4(str.c_str(), ec);
-}
-
-#if defined(BOOST_ASIO_HAS_STRING_VIEW)
-
-address_v4 make_address_v4(string_view str)
-{
- return make_address_v4(static_cast<std::string>(str));
-}
-
-address_v4 make_address_v4(string_view str,
- boost::system::error_code& ec)
-{
- return make_address_v4(static_cast<std::string>(str), ec);
-}
-
-#endif // defined(BOOST_ASIO_HAS_STRING_VIEW)
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_IMPL_ADDRESS_V4_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp
deleted file mode 100644
index f989b6a702..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// ip/impl/address_v6.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_IMPL_ADDRESS_V6_HPP
-#define BOOST_ASIO_IP_IMPL_ADDRESS_V6_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#include <boost/asio/detail/throw_error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-
-inline address_v6 address_v6::from_string(const char* str)
-{
- return boost::asio::ip::make_address_v6(str);
-}
-
-inline address_v6 address_v6::from_string(
- const char* str, boost::system::error_code& ec)
-{
- return boost::asio::ip::make_address_v6(str, ec);
-}
-
-inline address_v6 address_v6::from_string(const std::string& str)
-{
- return boost::asio::ip::make_address_v6(str);
-}
-
-inline address_v6 address_v6::from_string(
- const std::string& str, boost::system::error_code& ec)
-{
- return boost::asio::ip::make_address_v6(str, ec);
-}
-
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-template <typename Elem, typename Traits>
-std::basic_ostream<Elem, Traits>& operator<<(
- std::basic_ostream<Elem, Traits>& os, const address_v6& addr)
-{
- return os << addr.to_string().c_str();
-}
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#endif // BOOST_ASIO_IP_IMPL_ADDRESS_V6_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp
deleted file mode 100644
index 4eea4bc5a0..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/address_v6.ipp
+++ /dev/null
@@ -1,352 +0,0 @@
-//
-// ip/impl/address_v6.ipp
-// ~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_IMPL_ADDRESS_V6_IPP
-#define BOOST_ASIO_IP_IMPL_ADDRESS_V6_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <cstring>
-#include <stdexcept>
-#include <typeinfo>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/throw_exception.hpp>
-#include <boost/asio/error.hpp>
-#include <boost/asio/ip/address_v6.hpp>
-#include <boost/asio/ip/bad_address_cast.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-address_v6::address_v6()
- : addr_(),
- scope_id_(0)
-{
-}
-
-address_v6::address_v6(const address_v6::bytes_type& bytes,
- unsigned long scope)
- : scope_id_(scope)
-{
-#if UCHAR_MAX > 0xFF
- for (std::size_t i = 0; i < bytes.size(); ++i)
- {
- if (bytes[i] > 0xFF)
- {
- std::out_of_range ex("address_v6 from bytes_type");
- boost::asio::detail::throw_exception(ex);
- }
- }
-#endif // UCHAR_MAX > 0xFF
-
- using namespace std; // For memcpy.
- memcpy(addr_.s6_addr, bytes.data(), 16);
-}
-
-address_v6::address_v6(const address_v6& other)
- : addr_(other.addr_),
- scope_id_(other.scope_id_)
-{
-}
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-address_v6::address_v6(address_v6&& other)
- : addr_(other.addr_),
- scope_id_(other.scope_id_)
-{
-}
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-address_v6& address_v6::operator=(const address_v6& other)
-{
- addr_ = other.addr_;
- scope_id_ = other.scope_id_;
- return *this;
-}
-
-#if defined(BOOST_ASIO_HAS_MOVE)
-address_v6& address_v6::operator=(address_v6&& other)
-{
- addr_ = other.addr_;
- scope_id_ = other.scope_id_;
- return *this;
-}
-#endif // defined(BOOST_ASIO_HAS_MOVE)
-
-address_v6::bytes_type address_v6::to_bytes() const
-{
- using namespace std; // For memcpy.
- bytes_type bytes;
-#if defined(BOOST_ASIO_HAS_STD_ARRAY)
- memcpy(bytes.data(), addr_.s6_addr, 16);
-#else // defined(BOOST_ASIO_HAS_STD_ARRAY)
- memcpy(bytes.elems, addr_.s6_addr, 16);
-#endif // defined(BOOST_ASIO_HAS_STD_ARRAY)
- return bytes;
-}
-
-std::string address_v6::to_string() const
-{
- boost::system::error_code ec;
- char addr_str[boost::asio::detail::max_addr_v6_str_len];
- const char* addr =
- boost::asio::detail::socket_ops::inet_ntop(
- BOOST_ASIO_OS_DEF(AF_INET6), &addr_, addr_str,
- boost::asio::detail::max_addr_v6_str_len, scope_id_, ec);
- if (addr == 0)
- boost::asio::detail::throw_error(ec);
- return addr;
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-std::string address_v6::to_string(boost::system::error_code& ec) const
-{
- char addr_str[boost::asio::detail::max_addr_v6_str_len];
- const char* addr =
- boost::asio::detail::socket_ops::inet_ntop(
- BOOST_ASIO_OS_DEF(AF_INET6), &addr_, addr_str,
- boost::asio::detail::max_addr_v6_str_len, scope_id_, ec);
- if (addr == 0)
- return std::string();
- return addr;
-}
-
-address_v4 address_v6::to_v4() const
-{
- if (!is_v4_mapped() && !is_v4_compatible())
- {
- bad_address_cast ex;
- boost::asio::detail::throw_exception(ex);
- }
-
- address_v4::bytes_type v4_bytes = { { addr_.s6_addr[12],
- addr_.s6_addr[13], addr_.s6_addr[14], addr_.s6_addr[15] } };
- return address_v4(v4_bytes);
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-bool address_v6::is_loopback() const
-{
- return ((addr_.s6_addr[0] == 0) && (addr_.s6_addr[1] == 0)
- && (addr_.s6_addr[2] == 0) && (addr_.s6_addr[3] == 0)
- && (addr_.s6_addr[4] == 0) && (addr_.s6_addr[5] == 0)
- && (addr_.s6_addr[6] == 0) && (addr_.s6_addr[7] == 0)
- && (addr_.s6_addr[8] == 0) && (addr_.s6_addr[9] == 0)
- && (addr_.s6_addr[10] == 0) && (addr_.s6_addr[11] == 0)
- && (addr_.s6_addr[12] == 0) && (addr_.s6_addr[13] == 0)
- && (addr_.s6_addr[14] == 0) && (addr_.s6_addr[15] == 1));
-}
-
-bool address_v6::is_unspecified() const
-{
- return ((addr_.s6_addr[0] == 0) && (addr_.s6_addr[1] == 0)
- && (addr_.s6_addr[2] == 0) && (addr_.s6_addr[3] == 0)
- && (addr_.s6_addr[4] == 0) && (addr_.s6_addr[5] == 0)
- && (addr_.s6_addr[6] == 0) && (addr_.s6_addr[7] == 0)
- && (addr_.s6_addr[8] == 0) && (addr_.s6_addr[9] == 0)
- && (addr_.s6_addr[10] == 0) && (addr_.s6_addr[11] == 0)
- && (addr_.s6_addr[12] == 0) && (addr_.s6_addr[13] == 0)
- && (addr_.s6_addr[14] == 0) && (addr_.s6_addr[15] == 0));
-}
-
-bool address_v6::is_link_local() const
-{
- return ((addr_.s6_addr[0] == 0xfe) && ((addr_.s6_addr[1] & 0xc0) == 0x80));
-}
-
-bool address_v6::is_site_local() const
-{
- return ((addr_.s6_addr[0] == 0xfe) && ((addr_.s6_addr[1] & 0xc0) == 0xc0));
-}
-
-bool address_v6::is_v4_mapped() const
-{
- return ((addr_.s6_addr[0] == 0) && (addr_.s6_addr[1] == 0)
- && (addr_.s6_addr[2] == 0) && (addr_.s6_addr[3] == 0)
- && (addr_.s6_addr[4] == 0) && (addr_.s6_addr[5] == 0)
- && (addr_.s6_addr[6] == 0) && (addr_.s6_addr[7] == 0)
- && (addr_.s6_addr[8] == 0) && (addr_.s6_addr[9] == 0)
- && (addr_.s6_addr[10] == 0xff) && (addr_.s6_addr[11] == 0xff));
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-bool address_v6::is_v4_compatible() const
-{
- return ((addr_.s6_addr[0] == 0) && (addr_.s6_addr[1] == 0)
- && (addr_.s6_addr[2] == 0) && (addr_.s6_addr[3] == 0)
- && (addr_.s6_addr[4] == 0) && (addr_.s6_addr[5] == 0)
- && (addr_.s6_addr[6] == 0) && (addr_.s6_addr[7] == 0)
- && (addr_.s6_addr[8] == 0) && (addr_.s6_addr[9] == 0)
- && (addr_.s6_addr[10] == 0) && (addr_.s6_addr[11] == 0)
- && !((addr_.s6_addr[12] == 0)
- && (addr_.s6_addr[13] == 0)
- && (addr_.s6_addr[14] == 0)
- && ((addr_.s6_addr[15] == 0) || (addr_.s6_addr[15] == 1))));
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-bool address_v6::is_multicast() const
-{
- return (addr_.s6_addr[0] == 0xff);
-}
-
-bool address_v6::is_multicast_global() const
-{
- return ((addr_.s6_addr[0] == 0xff) && ((addr_.s6_addr[1] & 0x0f) == 0x0e));
-}
-
-bool address_v6::is_multicast_link_local() const
-{
- return ((addr_.s6_addr[0] == 0xff) && ((addr_.s6_addr[1] & 0x0f) == 0x02));
-}
-
-bool address_v6::is_multicast_node_local() const
-{
- return ((addr_.s6_addr[0] == 0xff) && ((addr_.s6_addr[1] & 0x0f) == 0x01));
-}
-
-bool address_v6::is_multicast_org_local() const
-{
- return ((addr_.s6_addr[0] == 0xff) && ((addr_.s6_addr[1] & 0x0f) == 0x08));
-}
-
-bool address_v6::is_multicast_site_local() const
-{
- return ((addr_.s6_addr[0] == 0xff) && ((addr_.s6_addr[1] & 0x0f) == 0x05));
-}
-
-bool operator==(const address_v6& a1, const address_v6& a2)
-{
- using namespace std; // For memcmp.
- return memcmp(&a1.addr_, &a2.addr_,
- sizeof(boost::asio::detail::in6_addr_type)) == 0
- && a1.scope_id_ == a2.scope_id_;
-}
-
-bool operator<(const address_v6& a1, const address_v6& a2)
-{
- using namespace std; // For memcmp.
- int memcmp_result = memcmp(&a1.addr_, &a2.addr_,
- sizeof(boost::asio::detail::in6_addr_type));
- if (memcmp_result < 0)
- return true;
- if (memcmp_result > 0)
- return false;
- return a1.scope_id_ < a2.scope_id_;
-}
-
-address_v6 address_v6::loopback()
-{
- address_v6 tmp;
- tmp.addr_.s6_addr[15] = 1;
- return tmp;
-}
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
-address_v6 address_v6::v4_mapped(const address_v4& addr)
-{
- address_v4::bytes_type v4_bytes = addr.to_bytes();
- bytes_type v6_bytes = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF,
- v4_bytes[0], v4_bytes[1], v4_bytes[2], v4_bytes[3] } };
- return address_v6(v6_bytes);
-}
-
-address_v6 address_v6::v4_compatible(const address_v4& addr)
-{
- address_v4::bytes_type v4_bytes = addr.to_bytes();
- bytes_type v6_bytes = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- v4_bytes[0], v4_bytes[1], v4_bytes[2], v4_bytes[3] } };
- return address_v6(v6_bytes);
-}
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-address_v6 make_address_v6(const char* str)
-{
- boost::system::error_code ec;
- address_v6 addr = make_address_v6(str, ec);
- boost::asio::detail::throw_error(ec);
- return addr;
-}
-
-address_v6 make_address_v6(
- const char* str, boost::system::error_code& ec)
-{
- address_v6::bytes_type bytes;
- unsigned long scope_id = 0;
- if (boost::asio::detail::socket_ops::inet_pton(
- BOOST_ASIO_OS_DEF(AF_INET6), str, &bytes[0], &scope_id, ec) <= 0)
- return address_v6();
- return address_v6(bytes, scope_id);
-}
-
-address_v6 make_address_v6(const std::string& str)
-{
- return make_address_v6(str.c_str());
-}
-
-address_v6 make_address_v6(
- const std::string& str, boost::system::error_code& ec)
-{
- return make_address_v6(str.c_str(), ec);
-}
-
-#if defined(BOOST_ASIO_HAS_STRING_VIEW)
-
-address_v6 make_address_v6(string_view str)
-{
- return make_address_v6(static_cast<std::string>(str));
-}
-
-address_v6 make_address_v6(string_view str,
- boost::system::error_code& ec)
-{
- return make_address_v6(static_cast<std::string>(str), ec);
-}
-
-#endif // defined(BOOST_ASIO_HAS_STRING_VIEW)
-
-address_v4 make_address_v4(
- v4_mapped_t, const address_v6& v6_addr)
-{
- if (!v6_addr.is_v4_mapped())
- {
- bad_address_cast ex;
- boost::asio::detail::throw_exception(ex);
- }
-
- address_v6::bytes_type v6_bytes = v6_addr.to_bytes();
- address_v4::bytes_type v4_bytes = { { v6_bytes[12],
- v6_bytes[13], v6_bytes[14], v6_bytes[15] } };
- return address_v4(v4_bytes);
-}
-
-address_v6 make_address_v6(
- v4_mapped_t, const address_v4& v4_addr)
-{
- address_v4::bytes_type v4_bytes = v4_addr.to_bytes();
- address_v6::bytes_type v6_bytes = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0xFF, 0xFF, v4_bytes[0], v4_bytes[1], v4_bytes[2], v4_bytes[3] } };
- return address_v6(v6_bytes);
-}
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_IMPL_ADDRESS_V6_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp
deleted file mode 100644
index 23655bf940..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/basic_endpoint.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// ip/impl/basic_endpoint.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_IMPL_BASIC_ENDPOINT_HPP
-#define BOOST_ASIO_IP_IMPL_BASIC_ENDPOINT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#if !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#include <boost/asio/detail/throw_error.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-template <typename Elem, typename Traits, typename InternetProtocol>
-std::basic_ostream<Elem, Traits>& operator<<(
- std::basic_ostream<Elem, Traits>& os,
- const basic_endpoint<InternetProtocol>& endpoint)
-{
- boost::asio::ip::detail::endpoint tmp_ep(endpoint.address(), endpoint.port());
- return os << tmp_ep.to_string().c_str();
-}
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
-
-#endif // BOOST_ASIO_IP_IMPL_BASIC_ENDPOINT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp b/contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp
deleted file mode 100644
index 17b8395a76..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/impl/host_name.ipp
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// ip/impl/host_name.ipp
-// ~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_IMPL_HOST_NAME_IPP
-#define BOOST_ASIO_IP_IMPL_HOST_NAME_IPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/socket_ops.hpp>
-#include <boost/asio/detail/throw_error.hpp>
-#include <boost/asio/detail/winsock_init.hpp>
-#include <boost/asio/ip/host_name.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-std::string host_name()
-{
- char name[1024];
- boost::system::error_code ec;
- if (boost::asio::detail::socket_ops::gethostname(name, sizeof(name), ec) != 0)
- {
- boost::asio::detail::throw_error(ec);
- return std::string();
- }
- return std::string(name);
-}
-
-std::string host_name(boost::system::error_code& ec)
-{
- char name[1024];
- if (boost::asio::detail::socket_ops::gethostname(name, sizeof(name), ec) != 0)
- return std::string();
- return std::string(name);
-}
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_IMPL_HOST_NAME_IPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp
deleted file mode 100644
index 06cbcd0220..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_base.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-//
-// ip/resolver_base.hpp
-// ~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_RESOLVER_BASE_HPP
-#define BOOST_ASIO_IP_RESOLVER_BASE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// The resolver_base class is used as a base for the basic_resolver class
-/// templates to provide a common place to define the flag constants.
-class resolver_base
-{
-public:
-#if defined(GENERATING_DOCUMENTATION)
- /// A bitmask type (C++ Std [lib.bitmask.types]).
- typedef unspecified flags;
-
- /// Determine the canonical name of the host specified in the query.
- static const flags canonical_name = implementation_defined;
-
- /// Indicate that returned endpoint is intended for use as a locally bound
- /// socket endpoint.
- static const flags passive = implementation_defined;
-
- /// Host name should be treated as a numeric string defining an IPv4 or IPv6
- /// address and no name resolution should be attempted.
- static const flags numeric_host = implementation_defined;
-
- /// Service name should be treated as a numeric string defining a port number
- /// and no name resolution should be attempted.
- static const flags numeric_service = implementation_defined;
-
- /// If the query protocol family is specified as IPv6, return IPv4-mapped
- /// IPv6 addresses on finding no IPv6 addresses.
- static const flags v4_mapped = implementation_defined;
-
- /// If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
- static const flags all_matching = implementation_defined;
-
- /// Only return IPv4 addresses if a non-loopback IPv4 address is configured
- /// for the system. Only return IPv6 addresses if a non-loopback IPv6 address
- /// is configured for the system.
- static const flags address_configured = implementation_defined;
-#else
- enum flags
- {
- canonical_name = BOOST_ASIO_OS_DEF(AI_CANONNAME),
- passive = BOOST_ASIO_OS_DEF(AI_PASSIVE),
- numeric_host = BOOST_ASIO_OS_DEF(AI_NUMERICHOST),
- numeric_service = BOOST_ASIO_OS_DEF(AI_NUMERICSERV),
- v4_mapped = BOOST_ASIO_OS_DEF(AI_V4MAPPED),
- all_matching = BOOST_ASIO_OS_DEF(AI_ALL),
- address_configured = BOOST_ASIO_OS_DEF(AI_ADDRCONFIG)
- };
-
- // Implement bitmask operations as shown in C++ Std [lib.bitmask.types].
-
- friend flags operator&(flags x, flags y)
- {
- return static_cast<flags>(
- static_cast<unsigned int>(x) & static_cast<unsigned int>(y));
- }
-
- friend flags operator|(flags x, flags y)
- {
- return static_cast<flags>(
- static_cast<unsigned int>(x) | static_cast<unsigned int>(y));
- }
-
- friend flags operator^(flags x, flags y)
- {
- return static_cast<flags>(
- static_cast<unsigned int>(x) ^ static_cast<unsigned int>(y));
- }
-
- friend flags operator~(flags x)
- {
- return static_cast<flags>(~static_cast<unsigned int>(x));
- }
-
- friend flags& operator&=(flags& x, flags y)
- {
- x = x & y;
- return x;
- }
-
- friend flags& operator|=(flags& x, flags y)
- {
- x = x | y;
- return x;
- }
-
- friend flags& operator^=(flags& x, flags y)
- {
- x = x ^ y;
- return x;
- }
-#endif
-
-protected:
- /// Protected destructor to prevent deletion through this type.
- ~resolver_base()
- {
- }
-};
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_RESOLVER_BASE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp
deleted file mode 100644
index 1e287c6225..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_query_base.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// ip/resolver_query_base.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_RESOLVER_QUERY_BASE_HPP
-#define BOOST_ASIO_IP_RESOLVER_QUERY_BASE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/ip/resolver_base.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// The resolver_query_base class is used as a base for the
-/// basic_resolver_query class templates to provide a common place to define
-/// the flag constants.
-class resolver_query_base : public resolver_base
-{
-protected:
- /// Protected destructor to prevent deletion through this type.
- ~resolver_query_base()
- {
- }
-};
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_RESOLVER_QUERY_BASE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_service.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_service.hpp
deleted file mode 100644
index 3e1fd38a70..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/resolver_service.hpp
+++ /dev/null
@@ -1,202 +0,0 @@
-//
-// ip/resolver_service.hpp
-// ~~~~~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_RESOLVER_SERVICE_HPP
-#define BOOST_ASIO_IP_RESOLVER_SERVICE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-
-#include <boost/asio/async_result.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/asio/io_context.hpp>
-#include <boost/asio/ip/basic_resolver_iterator.hpp>
-#include <boost/asio/ip/basic_resolver_query.hpp>
-#include <boost/asio/ip/basic_resolver_results.hpp>
-
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
-# include <boost/asio/detail/winrt_resolver_service.hpp>
-#else
-# include <boost/asio/detail/resolver_service.hpp>
-#endif
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// Default service implementation for a resolver.
-template <typename InternetProtocol>
-class resolver_service
-#if defined(GENERATING_DOCUMENTATION)
- : public boost::asio::io_context::service
-#else
- : public boost::asio::detail::service_base<
- resolver_service<InternetProtocol> >
-#endif
-{
-public:
-#if defined(GENERATING_DOCUMENTATION)
- /// The unique service identifier.
- static boost::asio::io_context::id id;
-#endif
-
- /// The protocol type.
- typedef InternetProtocol protocol_type;
-
- /// The endpoint type.
- typedef typename InternetProtocol::endpoint endpoint_type;
-
- /// The query type.
- typedef basic_resolver_query<InternetProtocol> query_type;
-
- /// The iterator type.
- typedef basic_resolver_iterator<InternetProtocol> iterator_type;
-
- /// The results type.
- typedef basic_resolver_results<InternetProtocol> results_type;
-
-private:
- // The type of the platform-specific implementation.
-#if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- typedef boost::asio::detail::winrt_resolver_service<InternetProtocol>
- service_impl_type;
-#else
- typedef boost::asio::detail::resolver_service<InternetProtocol>
- service_impl_type;
-#endif
-
-public:
- /// The type of a resolver implementation.
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined implementation_type;
-#else
- typedef typename service_impl_type::implementation_type implementation_type;
-#endif
-
- /// Construct a new resolver service for the specified io_context.
- explicit resolver_service(boost::asio::io_context& io_context)
- : boost::asio::detail::service_base<
- resolver_service<InternetProtocol> >(io_context),
- service_impl_(io_context)
- {
- }
-
- /// Construct a new resolver implementation.
- void construct(implementation_type& impl)
- {
- service_impl_.construct(impl);
- }
-
-#if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
- /// Move-construct a new resolver implementation.
- void move_construct(implementation_type& impl,
- implementation_type& other_impl)
- {
- service_impl_.move_construct(impl, other_impl);
- }
-
- /// Move-assign from another resolver implementation.
- void move_assign(implementation_type& impl,
- resolver_service& other_service,
- implementation_type& other_impl)
- {
- service_impl_.move_assign(impl, other_service.service_impl_, other_impl);
- }
-#endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
-
- /// Destroy a resolver implementation.
- void destroy(implementation_type& impl)
- {
- service_impl_.destroy(impl);
- }
-
- /// Cancel pending asynchronous operations.
- void cancel(implementation_type& impl)
- {
- service_impl_.cancel(impl);
- }
-
- /// Resolve a query to a list of entries.
- results_type resolve(implementation_type& impl, const query_type& query,
- boost::system::error_code& ec)
- {
- return service_impl_.resolve(impl, query, ec);
- }
-
- /// Asynchronously resolve a query to a list of entries.
- template <typename ResolveHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
- void (boost::system::error_code, results_type))
- async_resolve(implementation_type& impl, const query_type& query,
- BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
- {
- boost::asio::async_completion<ResolveHandler,
- void (boost::system::error_code, results_type)> init(handler);
-
- service_impl_.async_resolve(impl, query, init.completion_handler);
-
- return init.result.get();
- }
-
- /// Resolve an endpoint to a list of entries.
- results_type resolve(implementation_type& impl,
- const endpoint_type& endpoint, boost::system::error_code& ec)
- {
- return service_impl_.resolve(impl, endpoint, ec);
- }
-
- /// Asynchronously resolve an endpoint to a list of entries.
- template <typename ResolveHandler>
- BOOST_ASIO_INITFN_RESULT_TYPE(ResolveHandler,
- void (boost::system::error_code, results_type))
- async_resolve(implementation_type& impl, const endpoint_type& endpoint,
- BOOST_ASIO_MOVE_ARG(ResolveHandler) handler)
- {
- boost::asio::async_completion<ResolveHandler,
- void (boost::system::error_code, results_type)> init(handler);
-
- service_impl_.async_resolve(impl, endpoint, init.completion_handler);
-
- return init.result.get();
- }
-
-private:
- // Destroy all user-defined handler objects owned by the service.
- void shutdown()
- {
- service_impl_.shutdown();
- }
-
- // Perform any fork-related housekeeping.
- void notify_fork(boost::asio::io_context::fork_event event)
- {
- service_impl_.notify_fork(event);
- }
-
- // The platform-specific implementation.
- service_impl_type service_impl_;
-};
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
-
-#endif // BOOST_ASIO_IP_RESOLVER_SERVICE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp b/contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp
deleted file mode 100644
index 9f07a55e7e..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/ip/udp.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-//
-// ip/udp.hpp
-// ~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IP_UDP_HPP
-#define BOOST_ASIO_IP_UDP_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/basic_datagram_socket.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-#include <boost/asio/ip/basic_endpoint.hpp>
-#include <boost/asio/ip/basic_resolver.hpp>
-#include <boost/asio/ip/basic_resolver_iterator.hpp>
-#include <boost/asio/ip/basic_resolver_query.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-namespace ip {
-
-/// Encapsulates the flags needed for UDP.
-/**
- * The boost::asio::ip::udp class contains flags necessary for UDP sockets.
- *
- * @par Thread Safety
- * @e Distinct @e objects: Safe.@n
- * @e Shared @e objects: Safe.
- *
- * @par Concepts:
- * Protocol, InternetProtocol.
- */
-class udp
-{
-public:
- /// The type of a UDP endpoint.
- typedef basic_endpoint<udp> endpoint;
-
- /// Construct to represent the IPv4 UDP protocol.
- static udp v4()
- {
- return udp(BOOST_ASIO_OS_DEF(AF_INET));
- }
-
- /// Construct to represent the IPv6 UDP protocol.
- static udp v6()
- {
- return udp(BOOST_ASIO_OS_DEF(AF_INET6));
- }
-
- /// Obtain an identifier for the type of the protocol.
- int type() const
- {
- return BOOST_ASIO_OS_DEF(SOCK_DGRAM);
- }
-
- /// Obtain an identifier for the protocol.
- int protocol() const
- {
- return BOOST_ASIO_OS_DEF(IPPROTO_UDP);
- }
-
- /// Obtain an identifier for the protocol family.
- int family() const
- {
- return family_;
- }
-
- /// The UDP socket type.
- typedef basic_datagram_socket<udp> socket;
-
- /// The UDP resolver type.
- typedef basic_resolver<udp> resolver;
-
- /// Compare two protocols for equality.
- friend bool operator==(const udp& p1, const udp& p2)
- {
- return p1.family_ == p2.family_;
- }
-
- /// Compare two protocols for inequality.
- friend bool operator!=(const udp& p1, const udp& p2)
- {
- return p1.family_ != p2.family_;
- }
-
-private:
- // Construct with a specific family.
- explicit udp(int protocol_family)
- : family_(protocol_family)
- {
- }
-
- int family_;
-};
-
-} // namespace ip
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IP_UDP_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp
deleted file mode 100644
index 8570475241..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/is_executor.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// is_executor.hpp
-// ~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_IS_EXECUTOR_HPP
-#define BOOST_ASIO_IS_EXECUTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/is_executor.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// The is_executor trait detects whether a type T meets the Executor type
-/// requirements.
-/**
- * Class template @c is_executor is a UnaryTypeTrait that is derived from @c
- * true_type if the type @c T meets the syntactic requirements for Executor,
- * otherwise @c false_type.
- */
-template <typename T>
-struct is_executor
-#if defined(GENERATING_DOCUMENTATION)
- : integral_constant<bool, automatically_determined>
-#else // defined(GENERATING_DOCUMENTATION)
- : boost::asio::detail::is_executor<T>
-#endif // defined(GENERATING_DOCUMENTATION)
-{
-};
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_IS_EXECUTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/post.hpp b/contrib/restricted/boost/asio/include/boost/asio/post.hpp
deleted file mode 100644
index 667613ec54..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/post.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-//
-// post.hpp
-// ~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_POST_HPP
-#define BOOST_ASIO_POST_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/async_result.hpp>
-#include <boost/asio/detail/type_traits.hpp>
-#include <boost/asio/execution_context.hpp>
-#include <boost/asio/is_executor.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// Submits a completion token or function object for execution.
-/**
- * This function submits an object for execution using the object's associated
- * executor. The function object is queued for execution, and is never called
- * from the current thread prior to returning from <tt>post()</tt>.
- *
- * This function has the following effects:
- *
- * @li Constructs a function object handler of type @c Handler, initialized
- * with <tt>handler(forward<CompletionToken>(token))</tt>.
- *
- * @li Constructs an object @c result of type <tt>async_result<Handler></tt>,
- * initializing the object as <tt>result(handler)</tt>.
- *
- * @li Obtains the handler's associated executor object @c ex by performing
- * <tt>get_associated_executor(handler)</tt>.
- *
- * @li Obtains the handler's associated allocator object @c alloc by performing
- * <tt>get_associated_allocator(handler)</tt>.
- *
- * @li Performs <tt>ex.post(std::move(handler), alloc)</tt>.
- *
- * @li Returns <tt>result.get()</tt>.
- */
-template <typename CompletionToken>
-BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, void()) post(
- BOOST_ASIO_MOVE_ARG(CompletionToken) token);
-
-/// Submits a completion token or function object for execution.
-/**
- * This function submits an object for execution using the specified executor.
- * The function object is queued for execution, and is never called from the
- * current thread prior to returning from <tt>post()</tt>.
- *
- * This function has the following effects:
- *
- * @li Constructs a function object handler of type @c Handler, initialized
- * with <tt>handler(forward<CompletionToken>(token))</tt>.
- *
- * @li Constructs an object @c result of type <tt>async_result<Handler></tt>,
- * initializing the object as <tt>result(handler)</tt>.
- *
- * @li Obtains the handler's associated executor object @c ex1 by performing
- * <tt>get_associated_executor(handler)</tt>.
- *
- * @li Creates a work object @c w by performing <tt>make_work(ex1)</tt>.
- *
- * @li Obtains the handler's associated allocator object @c alloc by performing
- * <tt>get_associated_allocator(handler)</tt>.
- *
- * @li Constructs a function object @c f with a function call operator that
- * performs <tt>ex1.dispatch(std::move(handler), alloc)</tt> followed by
- * <tt>w.reset()</tt>.
- *
- * @li Performs <tt>Executor(ex).post(std::move(f), alloc)</tt>.
- *
- * @li Returns <tt>result.get()</tt>.
- */
-template <typename Executor, typename CompletionToken>
-BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, void()) post(
- const Executor& ex, BOOST_ASIO_MOVE_ARG(CompletionToken) token,
- typename enable_if<is_executor<Executor>::value>::type* = 0);
-
-/// Submits a completion token or function object for execution.
-/**
- * @returns <tt>post(ctx.get_executor(), forward<CompletionToken>(token))</tt>.
- */
-template <typename ExecutionContext, typename CompletionToken>
-BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, void()) post(
- ExecutionContext& ctx, BOOST_ASIO_MOVE_ARG(CompletionToken) token,
- typename enable_if<is_convertible<
- ExecutionContext&, execution_context&>::value>::type* = 0);
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/impl/post.hpp>
-
-#endif // BOOST_ASIO_POST_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp b/contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp
deleted file mode 100644
index ee8aa6b262..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/socket_base.hpp
+++ /dev/null
@@ -1,561 +0,0 @@
-//
-// socket_base.hpp
-// ~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_SOCKET_BASE_HPP
-#define BOOST_ASIO_SOCKET_BASE_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/io_control.hpp>
-#include <boost/asio/detail/socket_option.hpp>
-#include <boost/asio/detail/socket_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// The socket_base class is used as a base for the basic_stream_socket and
-/// basic_datagram_socket class templates so that we have a common place to
-/// define the shutdown_type and enum.
-class socket_base
-{
-public:
- /// Different ways a socket may be shutdown.
- enum shutdown_type
- {
-#if defined(GENERATING_DOCUMENTATION)
- /// Shutdown the receive side of the socket.
- shutdown_receive = implementation_defined,
-
- /// Shutdown the send side of the socket.
- shutdown_send = implementation_defined,
-
- /// Shutdown both send and receive on the socket.
- shutdown_both = implementation_defined
-#else
- shutdown_receive = BOOST_ASIO_OS_DEF(SHUT_RD),
- shutdown_send = BOOST_ASIO_OS_DEF(SHUT_WR),
- shutdown_both = BOOST_ASIO_OS_DEF(SHUT_RDWR)
-#endif
- };
-
- /// Bitmask type for flags that can be passed to send and receive operations.
- typedef int message_flags;
-
-#if defined(GENERATING_DOCUMENTATION)
- /// Peek at incoming data without removing it from the input queue.
- static const int message_peek = implementation_defined;
-
- /// Process out-of-band data.
- static const int message_out_of_band = implementation_defined;
-
- /// Specify that the data should not be subject to routing.
- static const int message_do_not_route = implementation_defined;
-
- /// Specifies that the data marks the end of a record.
- static const int message_end_of_record = implementation_defined;
-#else
- BOOST_ASIO_STATIC_CONSTANT(int,
- message_peek = BOOST_ASIO_OS_DEF(MSG_PEEK));
- BOOST_ASIO_STATIC_CONSTANT(int,
- message_out_of_band = BOOST_ASIO_OS_DEF(MSG_OOB));
- BOOST_ASIO_STATIC_CONSTANT(int,
- message_do_not_route = BOOST_ASIO_OS_DEF(MSG_DONTROUTE));
- BOOST_ASIO_STATIC_CONSTANT(int,
- message_end_of_record = BOOST_ASIO_OS_DEF(MSG_EOR));
-#endif
-
- /// Wait types.
- /**
- * For use with basic_socket::wait() and basic_socket::async_wait().
- */
- enum wait_type
- {
- /// Wait for a socket to become ready to read.
- wait_read,
-
- /// Wait for a socket to become ready to write.
- wait_write,
-
- /// Wait for a socket to have error conditions pending.
- wait_error
- };
-
- /// Socket option to permit sending of broadcast messages.
- /**
- * Implements the SOL_SOCKET/SO_BROADCAST socket option.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::udp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::broadcast option(true);
- * socket.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::udp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::broadcast option;
- * socket.get_option(option);
- * bool is_set = option.value();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Boolean_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined broadcast;
-#else
- typedef boost::asio::detail::socket_option::boolean<
- BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_BROADCAST)>
- broadcast;
-#endif
-
- /// Socket option to enable socket-level debugging.
- /**
- * Implements the SOL_SOCKET/SO_DEBUG socket option.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::debug option(true);
- * socket.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::debug option;
- * socket.get_option(option);
- * bool is_set = option.value();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Boolean_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined debug;
-#else
- typedef boost::asio::detail::socket_option::boolean<
- BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_DEBUG)> debug;
-#endif
-
- /// Socket option to prevent routing, use local interfaces only.
- /**
- * Implements the SOL_SOCKET/SO_DONTROUTE socket option.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::udp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::do_not_route option(true);
- * socket.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::udp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::do_not_route option;
- * socket.get_option(option);
- * bool is_set = option.value();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Boolean_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined do_not_route;
-#else
- typedef boost::asio::detail::socket_option::boolean<
- BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_DONTROUTE)>
- do_not_route;
-#endif
-
- /// Socket option to send keep-alives.
- /**
- * Implements the SOL_SOCKET/SO_KEEPALIVE socket option.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::keep_alive option(true);
- * socket.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::keep_alive option;
- * socket.get_option(option);
- * bool is_set = option.value();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Boolean_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined keep_alive;
-#else
- typedef boost::asio::detail::socket_option::boolean<
- BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_KEEPALIVE)> keep_alive;
-#endif
-
- /// Socket option for the send buffer size of a socket.
- /**
- * Implements the SOL_SOCKET/SO_SNDBUF socket option.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::send_buffer_size option(8192);
- * socket.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::send_buffer_size option;
- * socket.get_option(option);
- * int size = option.value();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Integer_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined send_buffer_size;
-#else
- typedef boost::asio::detail::socket_option::integer<
- BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_SNDBUF)>
- send_buffer_size;
-#endif
-
- /// Socket option for the send low watermark.
- /**
- * Implements the SOL_SOCKET/SO_SNDLOWAT socket option.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::send_low_watermark option(1024);
- * socket.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::send_low_watermark option;
- * socket.get_option(option);
- * int size = option.value();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Integer_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined send_low_watermark;
-#else
- typedef boost::asio::detail::socket_option::integer<
- BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_SNDLOWAT)>
- send_low_watermark;
-#endif
-
- /// Socket option for the receive buffer size of a socket.
- /**
- * Implements the SOL_SOCKET/SO_RCVBUF socket option.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::receive_buffer_size option(8192);
- * socket.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::receive_buffer_size option;
- * socket.get_option(option);
- * int size = option.value();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Integer_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined receive_buffer_size;
-#else
- typedef boost::asio::detail::socket_option::integer<
- BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_RCVBUF)>
- receive_buffer_size;
-#endif
-
- /// Socket option for the receive low watermark.
- /**
- * Implements the SOL_SOCKET/SO_RCVLOWAT socket option.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::receive_low_watermark option(1024);
- * socket.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::receive_low_watermark option;
- * socket.get_option(option);
- * int size = option.value();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Integer_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined receive_low_watermark;
-#else
- typedef boost::asio::detail::socket_option::integer<
- BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_RCVLOWAT)>
- receive_low_watermark;
-#endif
-
- /// Socket option to allow the socket to be bound to an address that is
- /// already in use.
- /**
- * Implements the SOL_SOCKET/SO_REUSEADDR socket option.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::tcp::acceptor acceptor(io_context);
- * ...
- * boost::asio::socket_base::reuse_address option(true);
- * acceptor.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::tcp::acceptor acceptor(io_context);
- * ...
- * boost::asio::socket_base::reuse_address option;
- * acceptor.get_option(option);
- * bool is_set = option.value();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Boolean_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined reuse_address;
-#else
- typedef boost::asio::detail::socket_option::boolean<
- BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_REUSEADDR)>
- reuse_address;
-#endif
-
- /// Socket option to specify whether the socket lingers on close if unsent
- /// data is present.
- /**
- * Implements the SOL_SOCKET/SO_LINGER socket option.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::linger option(true, 30);
- * socket.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::linger option;
- * socket.get_option(option);
- * bool is_set = option.enabled();
- * unsigned short timeout = option.timeout();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Linger_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined linger;
-#else
- typedef boost::asio::detail::socket_option::linger<
- BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_LINGER)>
- linger;
-#endif
-
- /// Socket option for putting received out-of-band data inline.
- /**
- * Implements the SOL_SOCKET/SO_OOBINLINE socket option.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::out_of_band_inline option(true);
- * socket.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::out_of_band_inline option;
- * socket.get_option(option);
- * bool value = option.value();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Boolean_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined out_of_band_inline;
-#else
- typedef boost::asio::detail::socket_option::boolean<
- BOOST_ASIO_OS_DEF(SOL_SOCKET), BOOST_ASIO_OS_DEF(SO_OOBINLINE)>
- out_of_band_inline;
-#endif
-
- /// Socket option to report aborted connections on accept.
- /**
- * Implements a custom socket option that determines whether or not an accept
- * operation is permitted to fail with boost::asio::error::connection_aborted.
- * By default the option is false.
- *
- * @par Examples
- * Setting the option:
- * @code
- * boost::asio::ip::tcp::acceptor acceptor(io_context);
- * ...
- * boost::asio::socket_base::enable_connection_aborted option(true);
- * acceptor.set_option(option);
- * @endcode
- *
- * @par
- * Getting the current option value:
- * @code
- * boost::asio::ip::tcp::acceptor acceptor(io_context);
- * ...
- * boost::asio::socket_base::enable_connection_aborted option;
- * acceptor.get_option(option);
- * bool is_set = option.value();
- * @endcode
- *
- * @par Concepts:
- * Socket_Option, Boolean_Socket_Option.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined enable_connection_aborted;
-#else
- typedef boost::asio::detail::socket_option::boolean<
- boost::asio::detail::custom_socket_option_level,
- boost::asio::detail::enable_connection_aborted_option>
- enable_connection_aborted;
-#endif
-
- /// IO control command to get the amount of data that can be read without
- /// blocking.
- /**
- * Implements the FIONREAD IO control command.
- *
- * @par Example
- * @code
- * boost::asio::ip::tcp::socket socket(io_context);
- * ...
- * boost::asio::socket_base::bytes_readable command(true);
- * socket.io_control(command);
- * std::size_t bytes_readable = command.get();
- * @endcode
- *
- * @par Concepts:
- * IO_Control_Command, Size_IO_Control_Command.
- */
-#if defined(GENERATING_DOCUMENTATION)
- typedef implementation_defined bytes_readable;
-#else
- typedef boost::asio::detail::io_control::bytes_readable bytes_readable;
-#endif
-
- /// The maximum length of the queue of pending incoming connections.
-#if defined(GENERATING_DOCUMENTATION)
- static const int max_listen_connections = implementation_defined;
-#else
- BOOST_ASIO_STATIC_CONSTANT(int, max_listen_connections
- = BOOST_ASIO_OS_DEF(SOMAXCONN));
-#endif
-
-#if !defined(BOOST_ASIO_NO_DEPRECATED)
- /// (Deprecated: Use max_listen_connections.) The maximum length of the queue
- /// of pending incoming connections.
-#if defined(GENERATING_DOCUMENTATION)
- static const int max_connections = implementation_defined;
-#else
- BOOST_ASIO_STATIC_CONSTANT(int, max_connections
- = BOOST_ASIO_OS_DEF(SOMAXCONN));
-#endif
-#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
-
-protected:
- /// Protected destructor to prevent deletion through this type.
- ~socket_base()
- {
- }
-};
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_SOCKET_BASE_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/system_context.hpp b/contrib/restricted/boost/asio/include/boost/asio/system_context.hpp
deleted file mode 100644
index 22f6b19426..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/system_context.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// system_context.hpp
-// ~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_SYSTEM_CONTEXT_HPP
-#define BOOST_ASIO_SYSTEM_CONTEXT_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-#include <boost/asio/detail/scheduler.hpp>
-#include <boost/asio/detail/thread_group.hpp>
-#include <boost/asio/execution_context.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-class system_executor;
-
-/// The executor context for the system executor.
-class system_context : public execution_context
-{
-public:
- /// The executor type associated with the context.
- typedef system_executor executor_type;
-
- /// Destructor shuts down all threads in the system thread pool.
- BOOST_ASIO_DECL ~system_context();
-
- /// Obtain an executor for the context.
- executor_type get_executor() BOOST_ASIO_NOEXCEPT;
-
- /// Signal all threads in the system thread pool to stop.
- BOOST_ASIO_DECL void stop();
-
- /// Determine whether the system thread pool has been stopped.
- BOOST_ASIO_DECL bool stopped() const BOOST_ASIO_NOEXCEPT;
-
- /// Join all threads in the system thread pool.
- BOOST_ASIO_DECL void join();
-
-#if defined(GENERATING_DOCUMENTATION)
-private:
-#endif // defined(GENERATING_DOCUMENTATION)
- // Constructor creates all threads in the system thread pool.
- BOOST_ASIO_DECL system_context();
-
-private:
- friend class system_executor;
-
- struct thread_function;
-
- // The underlying scheduler.
- detail::scheduler& scheduler_;
-
- // The threads in the system thread pool.
- detail::thread_group threads_;
-};
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/impl/system_context.hpp>
-#if defined(BOOST_ASIO_HEADER_ONLY)
-# include <boost/asio/impl/system_context.ipp>
-#endif // defined(BOOST_ASIO_HEADER_ONLY)
-
-#endif // BOOST_ASIO_SYSTEM_CONTEXT_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp b/contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp
deleted file mode 100644
index d6f5b7def8..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/system_executor.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-//
-// system_executor.hpp
-// ~~~~~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_SYSTEM_EXECUTOR_HPP
-#define BOOST_ASIO_SYSTEM_EXECUTOR_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/config.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-class system_context;
-
-/// An executor that uses arbitrary threads.
-/**
- * The system executor represents an execution context where functions are
- * permitted to run on arbitrary threads. The post() and defer() functions
- * schedule the function to run on an unspecified system thread pool, and
- * dispatch() invokes the function immediately.
- */
-class system_executor
-{
-public:
- /// Obtain the underlying execution context.
- system_context& context() const BOOST_ASIO_NOEXCEPT;
-
- /// Inform the executor that it has some outstanding work to do.
- /**
- * For the system executor, this is a no-op.
- */
- void on_work_started() const BOOST_ASIO_NOEXCEPT
- {
- }
-
- /// Inform the executor that some work is no longer outstanding.
- /**
- * For the system executor, this is a no-op.
- */
- void on_work_finished() const BOOST_ASIO_NOEXCEPT
- {
- }
-
- /// Request the system executor to invoke the given function object.
- /**
- * This function is used to ask the executor to execute the given function
- * object. The function object will always be executed inside this function.
- *
- * @param f The function object to be called. The executor will make
- * a copy of the handler object as required. The function signature of the
- * function object must be: @code void function(); @endcode
- *
- * @param a An allocator that may be used by the executor to allocate the
- * internal storage needed for function invocation.
- */
- template <typename Function, typename Allocator>
- void dispatch(BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const;
-
- /// Request the system executor to invoke the given function object.
- /**
- * This function is used to ask the executor to execute the given function
- * object. The function object will never be executed inside this function.
- * Instead, it will be scheduled to run on an unspecified system thread pool.
- *
- * @param f The function object to be called. The executor will make
- * a copy of the handler object as required. The function signature of the
- * function object must be: @code void function(); @endcode
- *
- * @param a An allocator that may be used by the executor to allocate the
- * internal storage needed for function invocation.
- */
- template <typename Function, typename Allocator>
- void post(BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const;
-
- /// Request the system executor to invoke the given function object.
- /**
- * This function is used to ask the executor to execute the given function
- * object. The function object will never be executed inside this function.
- * Instead, it will be scheduled to run on an unspecified system thread pool.
- *
- * @param f The function object to be called. The executor will make
- * a copy of the handler object as required. The function signature of the
- * function object must be: @code void function(); @endcode
- *
- * @param a An allocator that may be used by the executor to allocate the
- * internal storage needed for function invocation.
- */
- template <typename Function, typename Allocator>
- void defer(BOOST_ASIO_MOVE_ARG(Function) f, const Allocator& a) const;
-
- /// Compare two executors for equality.
- /**
- * System executors always compare equal.
- */
- friend bool operator==(const system_executor&,
- const system_executor&) BOOST_ASIO_NOEXCEPT
- {
- return true;
- }
-
- /// Compare two executors for inequality.
- /**
- * System executors always compare equal.
- */
- friend bool operator!=(const system_executor&,
- const system_executor&) BOOST_ASIO_NOEXCEPT
- {
- return false;
- }
-};
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#include <boost/asio/impl/system_executor.hpp>
-
-#endif // BOOST_ASIO_SYSTEM_EXECUTOR_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp
deleted file mode 100644
index d11ea0050f..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/time_traits.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// time_traits.hpp
-// ~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_TIME_TRAITS_HPP
-#define BOOST_ASIO_TIME_TRAITS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/socket_types.hpp> // Must come before posix_time.
-
-#if defined(BOOST_ASIO_HAS_BOOST_DATE_TIME) \
- || defined(GENERATING_DOCUMENTATION)
-
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// Time traits suitable for use with the deadline timer.
-template <typename Time>
-struct time_traits;
-
-/// Time traits specialised for posix_time.
-template <>
-struct time_traits<boost::posix_time::ptime>
-{
- /// The time type.
- typedef boost::posix_time::ptime time_type;
-
- /// The duration type.
- typedef boost::posix_time::time_duration duration_type;
-
- /// Get the current time.
- static time_type now()
- {
-#if defined(BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK)
- return boost::posix_time::microsec_clock::universal_time();
-#else // defined(BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK)
- return boost::posix_time::second_clock::universal_time();
-#endif // defined(BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK)
- }
-
- /// Add a duration to a time.
- static time_type add(const time_type& t, const duration_type& d)
- {
- return t + d;
- }
-
- /// Subtract one time from another.
- static duration_type subtract(const time_type& t1, const time_type& t2)
- {
- return t1 - t2;
- }
-
- /// Test whether one time is less than another.
- static bool less_than(const time_type& t1, const time_type& t2)
- {
- return t1 < t2;
- }
-
- /// Convert to POSIX duration type.
- static boost::posix_time::time_duration to_posix_duration(
- const duration_type& d)
- {
- return d;
- }
-};
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // defined(BOOST_ASIO_HAS_BOOST_DATE_TIME)
- // || defined(GENERATING_DOCUMENTATION)
-
-#endif // BOOST_ASIO_TIME_TRAITS_HPP
diff --git a/contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp b/contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp
deleted file mode 100644
index 9f5be813a7..0000000000
--- a/contrib/restricted/boost/asio/include/boost/asio/wait_traits.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// wait_traits.hpp
-// ~~~~~~~~~~~~~~~
-//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-
-#ifndef BOOST_ASIO_WAIT_TRAITS_HPP
-#define BOOST_ASIO_WAIT_TRAITS_HPP
-
-#if defined(_MSC_VER) && (_MSC_VER >= 1200)
-# pragma once
-#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
-
-#include <boost/asio/detail/push_options.hpp>
-
-namespace boost {
-namespace asio {
-
-/// Wait traits suitable for use with the basic_waitable_timer class template.
-template <typename Clock>
-struct wait_traits
-{
- /// Convert a clock duration into a duration used for waiting.
- /**
- * @returns @c d.
- */
- static typename Clock::duration to_wait_duration(
- const typename Clock::duration& d)
- {
- return d;
- }
-
- /// Convert a clock duration into a duration used for waiting.
- /**
- * @returns @c d.
- */
- static typename Clock::duration to_wait_duration(
- const typename Clock::time_point& t)
- {
- typename Clock::time_point now = Clock::now();
- if (now + (Clock::duration::max)() < t)
- return (Clock::duration::max)();
- if (now + (Clock::duration::min)() > t)
- return (Clock::duration::min)();
- return t - now;
- }
-};
-
-} // namespace asio
-} // namespace boost
-
-#include <boost/asio/detail/pop_options.hpp>
-
-#endif // BOOST_ASIO_WAIT_TRAITS_HPP
diff --git a/contrib/restricted/boost/boost/log/attributes.hpp b/contrib/restricted/boost/boost/log/attributes.hpp
deleted file mode 100644
index 0981227b8f..0000000000
--- a/contrib/restricted/boost/boost/log/attributes.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attributes.hpp
- * \author Andrey Semashev
- * \date 13.07.2009
- *
- * This header includes other Boost.Log headers with all attributes.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/clock.hpp>
-#include <boost/log/attributes/constant.hpp>
-#include <boost/log/attributes/counter.hpp>
-#include <boost/log/attributes/function.hpp>
-#include <boost/log/attributes/mutable_constant.hpp>
-#include <boost/log/attributes/named_scope.hpp>
-#include <boost/log/attributes/timer.hpp>
-#include <boost/log/attributes/current_process_name.hpp>
-#include <boost/log/attributes/current_process_id.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/attributes/current_thread_id.hpp>
-#endif
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_LOG_ATTRIBUTES_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/attribute.hpp b/contrib/restricted/boost/boost/log/attributes/attribute.hpp
deleted file mode 100644
index 68a456abc4..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/attribute.hpp
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute.hpp
- * \author Andrey Semashev
- * \date 15.04.2007
- *
- * The header contains attribute interface definition.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_ATTRIBUTE_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_ATTRIBUTE_HPP_INCLUDED_
-
-#include <new>
-#include <boost/move/core.hpp>
-#include <boost/smart_ptr/intrusive_ptr.hpp>
-#include <boost/smart_ptr/intrusive_ref_counter.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-class attribute_value;
-
-namespace aux {
-
-//! Reference proxy object to implement \c operator[]
-class attribute_set_reference_proxy;
-
-} // namespace aux
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \brief A base class for an attribute value factory
- *
- * Every attribute is represented with a factory that is basically an attribute value generator.
- * The sole purpose of an attribute is to return an actual value when requested. A simplest attribute
- * can always return the same value that it stores internally, but more complex ones can
- * perform a considerable amount of work to return a value, and the returned values may differ
- * each time requested.
- *
- * A word about thread safety. An attribute should be prepared to be requested a value from
- * multiple threads concurrently.
- */
-class attribute
-{
- BOOST_COPYABLE_AND_MOVABLE(attribute)
-
-public:
- /*!
- * \brief A base class for an attribute value factory
- *
- * All attributes must derive their implementation from this class.
- */
- struct BOOST_LOG_NO_VTABLE BOOST_SYMBOL_VISIBLE impl :
- public boost::intrusive_ref_counter< impl >
- {
- /*!
- * \brief Virtual destructor
- */
- virtual ~impl() {}
-
- /*!
- * \return The actual attribute value. It shall not return empty values (exceptions
- * shall be used to indicate errors).
- */
- virtual attribute_value get_value() = 0;
-
- BOOST_LOG_API static void* operator new (std::size_t size);
- BOOST_LOG_API static void operator delete (void* p, std::size_t size) BOOST_NOEXCEPT;
- };
-
-private:
- //! Pointer to the attribute factory implementation
- intrusive_ptr< impl > m_pImpl;
-
-public:
- /*!
- * Default constructor. Creates an empty attribute value factory, which is not usable until
- * \c set_impl is called.
- */
- BOOST_DEFAULTED_FUNCTION(attribute(), {})
-
- /*!
- * Copy constructor
- */
- attribute(attribute const& that) BOOST_NOEXCEPT : m_pImpl(that.m_pImpl) {}
-
- /*!
- * Move constructor
- */
- attribute(BOOST_RV_REF(attribute) that) BOOST_NOEXCEPT { m_pImpl.swap(that.m_pImpl); }
-
- /*!
- * Initializing constructor
- *
- * \param p Pointer to the implementation. Must not be \c NULL.
- */
- explicit attribute(intrusive_ptr< impl > p) BOOST_NOEXCEPT { m_pImpl.swap(p); }
-
- /*!
- * Copy assignment
- */
- attribute& operator= (BOOST_COPY_ASSIGN_REF(attribute) that) BOOST_NOEXCEPT
- {
- m_pImpl = that.m_pImpl;
- return *this;
- }
-
- /*!
- * Move assignment
- */
- attribute& operator= (BOOST_RV_REF(attribute) that) BOOST_NOEXCEPT
- {
- m_pImpl.swap(that.m_pImpl);
- return *this;
- }
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- attribute& operator= (aux::attribute_set_reference_proxy const& that) BOOST_NOEXCEPT;
-#endif
-
- /*!
- * Verifies that the factory is not in empty state
- */
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
-
- /*!
- * Verifies that the factory is in empty state
- */
- bool operator! () const BOOST_NOEXCEPT { return !m_pImpl; }
-
- /*!
- * \return The actual attribute value. It shall not return empty values (exceptions
- * shall be used to indicate errors).
- */
- attribute_value get_value() const;
-
- /*!
- * The method swaps two factories (i.e. their implementations).
- */
- void swap(attribute& that) BOOST_NOEXCEPT { m_pImpl.swap(that.m_pImpl); }
-
-protected:
- /*!
- * \returns The pointer to the implementation
- */
- impl* get_impl() const BOOST_NOEXCEPT { return m_pImpl.get(); }
- /*!
- * Sets the pointer to the factory implementation.
- *
- * \param p Pointer to the implementation. Must not be \c NULL.
- */
- void set_impl(intrusive_ptr< impl > p) BOOST_NOEXCEPT { m_pImpl.swap(p); }
-
- template< typename T >
- friend T attribute_cast(attribute const&);
-};
-
-/*!
- * The function swaps two attribute value factories
- */
-inline void swap(attribute& left, attribute& right) BOOST_NOEXCEPT
-{
- left.swap(right);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-#if defined(BOOST_LOG_ATTRIBUTES_ATTRIBUTE_VALUE_HPP_INCLUDED_)
-#include <boost/log/detail/attribute_get_value_impl.hpp>
-#endif
-
-#endif // BOOST_LOG_ATTRIBUTES_ATTRIBUTE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/attribute_cast.hpp b/contrib/restricted/boost/boost/log/attributes/attribute_cast.hpp
deleted file mode 100644
index 4b8488a110..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/attribute_cast.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_cast.hpp
- * \author Andrey Semashev
- * \date 06.08.2010
- *
- * The header contains utilities for casting between attribute factories.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_ATTRIBUTE_CAST_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_ATTRIBUTE_CAST_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-/*!
- * The class holds a reference to the attribute factory implementation being casted
- */
-class cast_source
-{
-private:
- attribute::impl* m_pImpl;
-
-public:
- /*!
- * Initializing constructor. Creates a source that refers to the specified factory implementation.
- */
- explicit cast_source(attribute::impl* p) : m_pImpl(p)
- {
- }
-
- /*!
- * The function attempts to cast the aggregated pointer to the implementation to the specified type.
- *
- * \return The converted pointer or \c NULL, if the conversion fails.
- */
- template< typename T >
- T* as() const { return dynamic_cast< T* >(m_pImpl); }
-};
-
-} // namespace attributes
-
-/*!
- * The function casts one attribute factory to another
- */
-template< typename T >
-inline T attribute_cast(attribute const& attr)
-{
- return T(attributes::cast_source(attr.get_impl()));
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_ATTRIBUTE_CAST_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/attribute_name.hpp b/contrib/restricted/boost/boost/log/attributes/attribute_name.hpp
deleted file mode 100644
index 0c936b4439..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/attribute_name.hpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_name.hpp
- * \author Andrey Semashev
- * \date 28.06.2010
- *
- * The header contains attribute name interface definition.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTE_NAME_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTE_NAME_HPP_INCLUDED_
-
-#include <iosfwd>
-#include <string>
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief The class represents an attribute name in containers used by the library
- *
- * The class mostly serves for optimization purposes. Each attribute name that is used
- * with the library is automatically associated with a unique identifier, which is much
- * lighter in terms of memory footprint and operations complexity. This is done
- * transparently by this class, on object construction. Passing objects of this class
- * to other library methods, such as attribute lookup functions, will not require
- * this translation and/or string copying and thus will result in a more efficient code.
- */
-class attribute_name
-{
-public:
- //! String type
- typedef std::string string_type;
-#ifdef BOOST_LOG_DOXYGEN_PASS
- //! Associated identifier
- typedef unspecified id_type;
-#else
- typedef uint32_t id_type;
-
-private:
- class repository;
- friend class repository;
-
-private:
- //! Associated identifier
- id_type m_id;
- //! A special identifier value indicating unassigned attribute name
- static BOOST_CONSTEXPR_OR_CONST id_type uninitialized = ~static_cast< id_type >(0u);
-#endif
-
-public:
- /*!
- * Default constructor. Creates an object that does not refer to any attribute name.
- */
- BOOST_CONSTEXPR attribute_name() BOOST_NOEXCEPT : m_id(uninitialized)
- {
- }
- /*!
- * Constructs an attribute name from the specified string
- *
- * \param name An attribute name
- * \pre \a name is not NULL and points to a zero-terminated string
- */
- attribute_name(const char* name) :
- m_id(get_id_from_string(name))
- {
- }
- /*!
- * Constructs an attribute name from the specified string
- *
- * \param name An attribute name
- */
- attribute_name(string_type const& name) :
- m_id(get_id_from_string(name.c_str()))
- {
- }
-
- /*!
- * Compares the attribute names
- *
- * \return \c true if <tt>*this</tt> and \c that refer to the same attribute name,
- * and \c false otherwise.
- */
- bool operator== (attribute_name const& that) const BOOST_NOEXCEPT { return m_id == that.m_id; }
- /*!
- * Compares the attribute names
- *
- * \return \c true if <tt>*this</tt> and \c that refer to different attribute names,
- * and \c false otherwise.
- */
- bool operator!= (attribute_name const& that) const BOOST_NOEXCEPT { return m_id != that.m_id; }
-
- /*!
- * Compares the attribute names
- *
- * \return \c true if <tt>*this</tt> and \c that refer to the same attribute name,
- * and \c false otherwise.
- */
- bool operator== (const char* that) const { return (m_id != uninitialized) && (this->string() == that); }
- /*!
- * Compares the attribute names
- *
- * \return \c true if <tt>*this</tt> and \c that refer to different attribute names,
- * and \c false otherwise.
- */
- bool operator!= (const char* that) const { return !operator== (that); }
-
- /*!
- * Compares the attribute names
- *
- * \return \c true if <tt>*this</tt> and \c that refer to the same attribute name,
- * and \c false otherwise.
- */
- bool operator== (string_type const& that) const { return (m_id != uninitialized) && (this->string() == that); }
- /*!
- * Compares the attribute names
- *
- * \return \c true if <tt>*this</tt> and \c that refer to different attribute names,
- * and \c false otherwise.
- */
- bool operator!= (string_type const& that) const { return !operator== (that); }
-
- /*!
- * Checks if the object was default-constructed
- *
- * \return \c true if <tt>*this</tt> was constructed with an attribute name, \c false otherwise
- */
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
- /*!
- * Checks if the object was default-constructed
- *
- * \return \c true if <tt>*this</tt> was default-constructed and does not refer to any attribute name,
- * \c false otherwise
- */
- bool operator! () const BOOST_NOEXCEPT { return (m_id == uninitialized); }
-
- /*!
- * \return The associated id value
- * \pre <tt>(!*this) == false</tt>
- */
- id_type id() const BOOST_NOEXCEPT
- {
- BOOST_ASSERT(m_id != uninitialized);
- return m_id;
- }
- /*!
- * \return The attribute name string that was used during the object construction
- * \pre <tt>(!*this) == false</tt>
- */
- string_type const& string() const { return get_string_from_id(m_id); }
-
-private:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_API id_type get_id_from_string(const char* name);
- static BOOST_LOG_API string_type const& get_string_from_id(id_type id);
-#endif
-};
-
-template< typename CharT, typename TraitsT >
-BOOST_LOG_API std::basic_ostream< CharT, TraitsT >& operator<< (
- std::basic_ostream< CharT, TraitsT >& strm,
- attribute_name const& name);
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTE_NAME_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/attribute_set.hpp b/contrib/restricted/boost/boost/log/attributes/attribute_set.hpp
deleted file mode 100644
index 05fa3aaa96..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/attribute_set.hpp
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_set.hpp
- * \author Andrey Semashev
- * \date 08.03.2007
- *
- * This header contains definition of the attribute set container.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTE_SET_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTE_SET_HPP_INCLUDED_
-
-#include <cstddef>
-#include <utility>
-#include <iterator>
-#include <boost/mpl/if.hpp>
-#include <boost/move/core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-class attribute_set;
-class attribute_value_set;
-
-namespace aux {
-
-//! Reference proxy object to implement \c operator[]
-class attribute_set_reference_proxy
-{
-private:
- //! Key type
- typedef attribute_name key_type;
- //! Mapped attribute type
- typedef attribute mapped_type;
-
-private:
- attribute_set* const m_pContainer;
- const key_type m_key;
-
-public:
- //! Constructor
- explicit attribute_set_reference_proxy(attribute_set* pContainer, key_type const& key) BOOST_NOEXCEPT :
- m_pContainer(pContainer),
- m_key(key)
- {
- }
-
- //! Conversion operator (would be invoked in case of reading from the container)
- BOOST_FORCEINLINE operator mapped_type() const BOOST_NOEXCEPT
- {
- return read_mapped_value();
- }
- //! Assignment operator (would be invoked in case of writing to the container)
- mapped_type& operator= (mapped_type const& val) const;
-
-private:
- //! Reads the referenced mapped value from the container
- mapped_type read_mapped_value() const BOOST_NOEXCEPT;
-};
-
-} // namespace aux
-
-/*!
- * \brief An attribute set class.
- *
- * An attribute set is an associative container with attribute name as a key and
- * pointer to the attribute as a mapped value. The container allows storing only one element for each distinct
- * key value. In most regards attribute set container provides interface similar to \c std::unordered_map.
- * However, there are differences in \c operator[] semantics and a number of optimizations with regard to iteration.
- * Besides, attribute names are stored as a read-only <tt>attribute_name</tt>'s instead of \c std::string,
- * which saves memory and CPU time.
- */
-class attribute_set
-{
- BOOST_COPYABLE_AND_MOVABLE_ALT(attribute_set)
-
- friend class attribute_value_set;
- friend class aux::attribute_set_reference_proxy;
-
-public:
- //! Key type
- typedef attribute_name key_type;
- //! Mapped attribute type
- typedef attribute mapped_type;
-
- //! Value type
- typedef std::pair< const key_type, mapped_type > value_type;
- //! Reference type
- typedef value_type& reference;
- //! Const reference type
- typedef value_type const& const_reference;
- //! Pointer type
- typedef value_type* pointer;
- //! Const pointer type
- typedef value_type const* const_pointer;
- //! Size type
- typedef std::size_t size_type;
- //! Difference type
- typedef std::ptrdiff_t difference_type;
-
-private:
- //! \cond
-
- //! Implementation
- struct implementation;
- friend struct implementation;
-
- //! A base class for the container nodes
- struct node_base
- {
- node_base* m_pPrev;
- node_base* m_pNext;
-
- node_base();
-
- BOOST_DELETED_FUNCTION(node_base(node_base const&))
- BOOST_DELETED_FUNCTION(node_base& operator= (node_base const&))
- };
-
- //! Container elements
- struct node;
- friend struct node;
- struct node :
- public node_base
- {
- value_type m_Value;
-
- node(key_type const& key, mapped_type const& data);
- };
-
- //! Iterator class
-#ifndef BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS
- template< bool fConstV > class iter;
- template< bool fConstV > friend class iter;
-#endif
- template< bool fConstV >
- class iter
- {
- friend class iter< !fConstV >;
- friend class attribute_set;
-
- public:
- // Standard typedefs
- typedef attribute_set::difference_type difference_type;
- typedef attribute_set::value_type value_type;
- typedef typename mpl::if_c<
- fConstV,
- attribute_set::const_reference,
- attribute_set::reference
- >::type reference;
- typedef typename mpl::if_c<
- fConstV,
- attribute_set::const_pointer,
- attribute_set::pointer
- >::type pointer;
- typedef std::bidirectional_iterator_tag iterator_category;
-
- public:
- // Constructors
- BOOST_CONSTEXPR iter() : m_pNode(NULL) {}
- explicit iter(node_base* pNode) BOOST_NOEXCEPT : m_pNode(pNode) {}
- iter(iter< false > const& that) BOOST_NOEXCEPT : m_pNode(that.m_pNode) {}
-
- //! Assignment
- template< bool f >
- iter& operator= (iter< f > const& that) BOOST_NOEXCEPT
- {
- m_pNode = that.m_pNode;
- return *this;
- }
-
- // Comparison
- template< bool f >
- bool operator== (iter< f > const& that) const BOOST_NOEXCEPT { return (m_pNode == that.m_pNode); }
- template< bool f >
- bool operator!= (iter< f > const& that) const BOOST_NOEXCEPT { return (m_pNode != that.m_pNode); }
-
- // Modification
- iter& operator++ () BOOST_NOEXCEPT
- {
- m_pNode = m_pNode->m_pNext;
- return *this;
- }
- iter& operator-- () BOOST_NOEXCEPT
- {
- m_pNode = m_pNode->m_pPrev;
- return *this;
- }
- iter operator++ (int) BOOST_NOEXCEPT
- {
- iter tmp(*this);
- m_pNode = m_pNode->m_pNext;
- return tmp;
- }
- iter operator-- (int) BOOST_NOEXCEPT
- {
- iter tmp(*this);
- m_pNode = m_pNode->m_pPrev;
- return tmp;
- }
-
- // Dereferencing
- pointer operator-> () const BOOST_NOEXCEPT { return &(static_cast< node* >(m_pNode)->m_Value); }
- reference operator* () const BOOST_NOEXCEPT { return static_cast< node* >(m_pNode)->m_Value; }
-
- node_base* base() const BOOST_NOEXCEPT { return m_pNode; }
-
- private:
- node_base* m_pNode;
- };
-
- //! \endcond
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Iterator type
- typedef iter< false > iterator;
- //! Const iterator type
- typedef iter< true > const_iterator;
-#else
- /*!
- * Iterator type. The iterator complies to the bidirectional iterator requirements.
- */
- typedef implementation_defined iterator;
- /*!
- * Constant iterator type. The iterator complies to the bidirectional iterator requirements with read-only capabilities.
- */
- typedef implementation_defined const_iterator;
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-private:
- //! Pointer to implementation
- implementation* m_pImpl;
-
-public:
- /*!
- * Default constructor.
- *
- * \post <tt>empty() == true</tt>
- */
- BOOST_LOG_API attribute_set();
-
- /*!
- * Copy constructor.
- *
- * \post <tt>size() == that.size() && std::equal(begin(), end(), that.begin()) == true</tt>
- */
- BOOST_LOG_API attribute_set(attribute_set const& that);
-
- /*!
- * Move constructor
- */
- attribute_set(BOOST_RV_REF(attribute_set) that) BOOST_NOEXCEPT : m_pImpl(that.m_pImpl)
- {
- that.m_pImpl = NULL;
- }
-
- /*!
- * Destructor. All stored references to attributes are released.
- */
- BOOST_LOG_API ~attribute_set() BOOST_NOEXCEPT;
-
- /*!
- * Copy assignment operator.
- *
- * \post <tt>size() == that.size() && std::equal(begin(), end(), that.begin()) == true</tt>
- */
- attribute_set& operator= (attribute_set that) BOOST_NOEXCEPT
- {
- this->swap(that);
- return *this;
- }
-
- /*!
- * Swaps two instances of the container.
- *
- * \b Throws: Nothing.
- */
- void swap(attribute_set& that) BOOST_NOEXCEPT
- {
- implementation* const p = m_pImpl;
- m_pImpl = that.m_pImpl;
- that.m_pImpl = p;
- }
-
- /*!
- * \return Iterator to the first element of the container.
- */
- BOOST_LOG_API iterator begin() BOOST_NOEXCEPT;
- /*!
- * \return Iterator to the after-the-last element of the container.
- */
- BOOST_LOG_API iterator end() BOOST_NOEXCEPT;
- /*!
- * \return Constant iterator to the first element of the container.
- */
- BOOST_LOG_API const_iterator begin() const BOOST_NOEXCEPT;
- /*!
- * \return Constant iterator to the after-the-last element of the container.
- */
- BOOST_LOG_API const_iterator end() const BOOST_NOEXCEPT;
-
- /*!
- * \return Number of elements in the container.
- */
- BOOST_LOG_API size_type size() const BOOST_NOEXCEPT;
- /*!
- * \return true if there are no elements in the container, false otherwise.
- */
- bool empty() const BOOST_NOEXCEPT { return (this->size() == 0); }
-
- /*!
- * The method finds the attribute by name.
- *
- * \param key Attribute name.
- * \return Iterator to the found element or end() if the attribute with such name is not found.
- */
- BOOST_LOG_API iterator find(key_type key) BOOST_NOEXCEPT;
- /*!
- * The method finds the attribute by name.
- *
- * \param key Attribute name.
- * \return Iterator to the found element or \c end() if the attribute with such name is not found.
- */
- const_iterator find(key_type key) const BOOST_NOEXCEPT
- {
- return const_iterator(const_cast< attribute_set* >(this)->find(key));
- }
- /*!
- * The method counts the number of the attribute occurrences in the container. Since there can be only one
- * attribute with a particular key, the method always return 0 or 1.
- *
- * \param key Attribute name.
- * \return The number of times the attribute is found in the container.
- */
- size_type count(key_type key) const BOOST_NOEXCEPT { return size_type(this->find(key) != this->end()); }
-
- /*!
- * Combined lookup/insertion operator. The operator semantics depends on the further usage of the returned reference.
- * \li If the reference is used as an assignment target, the assignment expression is equivalent to element insertion,
- * where the element is composed of the second argument of the \c operator[] as a key and the second argument of assignment
- * as a mapped value.
- * \li If the returned reference is used in context where a conversion to the mapped type is required,
- * the result of the conversion is equivalent to the mapped value found with the second argument of the \c operator[] as a key,
- * if such an element exists in the container, or a default-constructed mapped value, if an element does not exist in the
- * container.
- *
- * \param key Attribute name.
- * \return A smart reference object of unspecified type.
- */
- aux::attribute_set_reference_proxy operator[] (key_type key) BOOST_NOEXCEPT
- {
- return aux::attribute_set_reference_proxy(this, key);
- }
- /*!
- * Lookup operator
- *
- * \param key Attribute name.
- * \return If an element with the corresponding attribute name is found in the container, its mapped value
- * is returned. Otherwise a default-constructed mapped value is returned.
- */
- mapped_type operator[] (key_type key) const BOOST_NOEXCEPT
- {
- const_iterator it = this->find(key);
- if (it != end())
- return it->second;
- else
- return mapped_type();
- }
-
- /*!
- * Insertion method
- *
- * \param key Attribute name.
- * \param data Pointer to the attribute. Must not be NULL.
- * \returns A pair of values. If second is true, the insertion succeeded and the first component points to the
- * inserted element. Otherwise the first component points to the element that prevents insertion.
- */
- BOOST_LOG_API std::pair< iterator, bool > insert(key_type key, mapped_type const& data);
-
- /*!
- * Insertion method
- *
- * \param value An element to be inserted.
- * \returns A pair of values. If second is true, the insertion succeeded and the first component points to the
- * inserted element. Otherwise the first component points to the element that prevents insertion.
- */
- std::pair< iterator, bool > insert(const_reference value)
- {
- return this->insert(value.first, value.second);
- }
-
- /*!
- * Mass insertion method.
- *
- * \param begin A forward iterator that points to the first element to be inserted.
- * \param end A forward iterator that points to the after-the-last element to be inserted.
- */
- template< typename FwdIteratorT >
- void insert(FwdIteratorT begin, FwdIteratorT end)
- {
- for (; begin != end; ++begin)
- this->insert(*begin);
- }
-
- /*!
- * Mass insertion method with ability to acquire iterators to the inserted elements.
- *
- * \param begin A forward iterator that points to the first element to be inserted.
- * \param end A forward iterator that points to the after-the-last element to be inserted.
- * \param out An output iterator that receives results of insertion of the elements
- */
- template< typename FwdIteratorT, typename OutputIteratorT >
- void insert(FwdIteratorT begin, FwdIteratorT end, OutputIteratorT out)
- {
- for (; begin != end; ++begin, ++out)
- *out = this->insert(*begin);
- }
-
- /*!
- * The method erases all attributes with the specified name
- *
- * \post All iterators to the erased elements become invalid.
- * \param key Attribute name.
- * \return Tne number of erased elements
- */
- BOOST_LOG_API size_type erase(key_type key) BOOST_NOEXCEPT;
- /*!
- * The method erases the specified attribute
- *
- * \post All iterators to the erased element become invalid.
- * \param it A valid iterator to the element to be erased.
- * \return Tne number of erased elements
- */
- BOOST_LOG_API void erase(iterator it) BOOST_NOEXCEPT;
- /*!
- * The method erases all attributes within the specified range
- *
- * \pre \a end is reachable from \a begin with a finite number of increments.
- * \post All iterators to the erased elements become invalid.
- * \param begin An iterator that points to the first element to be erased.
- * \param end An iterator that points to the after-the-last element to be erased.
- */
- BOOST_LOG_API void erase(iterator begin, iterator end) BOOST_NOEXCEPT;
-
- /*!
- * The method removes all elements from the container
- *
- * \post <tt>empty() == true</tt>
- */
- BOOST_LOG_API void clear() BOOST_NOEXCEPT;
-};
-
-/*!
- * Free swap overload
- */
-inline void swap(attribute_set& left, attribute_set& right) BOOST_NOEXCEPT
-{
- left.swap(right);
-}
-
-namespace aux {
-
-//! Reads the referenced mapped value from the container
-inline attribute_set_reference_proxy::mapped_type attribute_set_reference_proxy::read_mapped_value() const BOOST_NOEXCEPT
-{
- attribute_set::iterator it = m_pContainer->find(m_key);
- if (it != m_pContainer->end())
- return it->second;
- else
- return mapped_type();
-}
-
-//! Assignment operator (would be invoked in case of writing to the container)
-inline attribute_set_reference_proxy::mapped_type& attribute_set_reference_proxy::operator= (mapped_type const& val) const
-{
- std::pair< attribute_set::iterator, bool > res = m_pContainer->insert(m_key, val);
- if (!res.second)
- res.first->second = val;
- return res.first->second;
-}
-
-} // namespace aux
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-inline attribute& attribute::operator= (aux::attribute_set_reference_proxy const& that) BOOST_NOEXCEPT
-{
- attribute attr = that;
- this->swap(attr);
- return *this;
-}
-#endif
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTE_SET_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/attribute_value.hpp b/contrib/restricted/boost/boost/log/attributes/attribute_value.hpp
deleted file mode 100644
index 197ef860bf..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/attribute_value.hpp
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_value.hpp
- * \author Andrey Semashev
- * \date 21.05.2010
- *
- * The header contains \c attribute_value class definition.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTE_VALUE_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTE_VALUE_HPP_INCLUDED_
-
-#include <boost/type_index.hpp>
-#include <boost/move/core.hpp>
-#include <boost/smart_ptr/intrusive_ptr.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/type_dispatch/type_dispatcher.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/value_extraction_fwd.hpp>
-#include <boost/log/attributes/value_visitation_fwd.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief An attribute value class
- *
- * An attribute value is an object that contains a piece of data that represents an attribute state
- * at the point of the value acquisition. All major operations with log records, such as filtering and
- * formatting, involve attribute values contained in a single view. Most likely an attribute value is
- * implemented as a simple holder of some typed value. This holder implements the
- * \c attribute_value::implementation interface and acts as a pimpl for the \c attribute_value
- * object. The \c attribute_value class provides type dispatching support in order to allow
- * to extract the value from the holder.
- *
- * Normally, attributes and their values shall be designed in order to exclude as much interference as
- * reasonable. Such approach allows to have more than one attribute value simultaneously, which improves
- * scalability and allows to implement generating attributes.
- *
- * However, there are cases when this approach does not help to achieve the required level of independency
- * of attribute values and attribute itself from each other at a reasonable performance tradeoff.
- * For example, an attribute or its values may use thread-specific data, which is global and shared
- * between all the instances of the attribute/value. Passing such an attribute value to another thread
- * would be a disaster. To solve this the library defines an additional method for attribute values,
- * namely \c detach_from_thread. The \c attribute_value class forwards the call to its pimpl,
- * which is supposed to ensure that it no longer refers to any thread-specific data after the call.
- * The pimpl can create a new holder as a result of this method and return it to the \c attribute_value
- * wrapper, which will keep the returned reference for any further calls.
- * This method is called for all attribute values that are passed to another thread.
- */
-class attribute_value
-{
- BOOST_COPYABLE_AND_MOVABLE(attribute_value)
-
-public:
- /*!
- * \brief A base class for an attribute value implementation
- *
- * All attribute value holders should derive from this interface.
- */
- struct BOOST_LOG_NO_VTABLE impl :
- public attribute::impl
- {
- public:
- /*!
- * The method dispatches the value to the given object.
- *
- * \param dispatcher The object that attempts to dispatch the stored value.
- * \return true if \a dispatcher was capable to consume the real attribute value type and false otherwise.
- */
- virtual bool dispatch(type_dispatcher& dispatcher) = 0;
-
- /*!
- * The method is called when the attribute value is passed to another thread (e.g.
- * in case of asynchronous logging). The value should ensure it properly owns all thread-specific data.
- *
- * \return An actual pointer to the attribute value. It may either point to this object or another.
- * In the latter case the returned pointer replaces the pointer used by caller to invoke this
- * method and is considered to be a functional equivalent to the previous pointer.
- */
- virtual intrusive_ptr< impl > detach_from_thread()
- {
- return this;
- }
-
- /*!
- * \return The attribute value that refers to self implementation.
- */
- virtual attribute_value get_value() { return attribute_value(this); }
-
- /*!
- * \return The attribute value type
- */
- virtual typeindex::type_index get_type() const { return typeindex::type_index(); }
- };
-
-private:
- //! Pointer to the value implementation
- intrusive_ptr< impl > m_pImpl;
-
-public:
- /*!
- * Default constructor. Creates an empty (absent) attribute value.
- */
- BOOST_DEFAULTED_FUNCTION(attribute_value(), {})
-
- /*!
- * Copy constructor
- */
- attribute_value(attribute_value const& that) BOOST_NOEXCEPT : m_pImpl(that.m_pImpl) {}
-
- /*!
- * Move constructor
- */
- attribute_value(BOOST_RV_REF(attribute_value) that) BOOST_NOEXCEPT { m_pImpl.swap(that.m_pImpl); }
-
- /*!
- * Initializing constructor. Creates an attribute value that refers to the specified holder.
- *
- * \param p A pointer to the attribute value holder.
- */
- explicit attribute_value(intrusive_ptr< impl > p) BOOST_NOEXCEPT { m_pImpl.swap(p); }
-
- /*!
- * Copy assignment
- */
- attribute_value& operator= (BOOST_COPY_ASSIGN_REF(attribute_value) that) BOOST_NOEXCEPT
- {
- m_pImpl = that.m_pImpl;
- return *this;
- }
-
- /*!
- * Move assignment
- */
- attribute_value& operator= (BOOST_RV_REF(attribute_value) that) BOOST_NOEXCEPT
- {
- m_pImpl.swap(that.m_pImpl);
- return *this;
- }
-
- /*!
- * The operator checks if the attribute value is empty
- */
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
- /*!
- * The operator checks if the attribute value is empty
- */
- bool operator! () const BOOST_NOEXCEPT { return !m_pImpl; }
-
- /*!
- * The method returns the type information of the stored value of the attribute.
- * The returned type info wrapper may be empty if the attribute value is empty or
- * the information cannot be provided. If the returned value is not empty, the type
- * can be used for value extraction.
- */
- typeindex::type_index get_type() const
- {
- if (m_pImpl.get())
- return m_pImpl->get_type();
- else
- return typeindex::type_index();
- }
-
- /*!
- * The method is called when the attribute value is passed to another thread (e.g.
- * in case of asynchronous logging). The value should ensure it properly owns all thread-specific data.
- *
- * \post The attribute value no longer refers to any thread-specific resources.
- */
- void detach_from_thread()
- {
- if (m_pImpl.get())
- m_pImpl->detach_from_thread().swap(m_pImpl);
- }
-
- /*!
- * The method dispatches the value to the given object. This method is a low level interface for
- * attribute value visitation and extraction. For typical usage these interfaces may be more convenient.
- *
- * \param dispatcher The object that attempts to dispatch the stored value.
- * \return \c true if the value is not empty and the \a dispatcher was capable to consume
- * the real attribute value type and \c false otherwise.
- */
- bool dispatch(type_dispatcher& dispatcher) const
- {
- if (m_pImpl.get())
- return m_pImpl->dispatch(dispatcher);
- else
- return false;
- }
-
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
-#if !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
-#define BOOST_LOG_AUX_VOID_DEFAULT = void
-#else
-#define BOOST_LOG_AUX_VOID_DEFAULT
-#endif
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-
- /*!
- * The method attempts to extract the stored value, assuming the value has the specified type.
- * One can specify either a single type or an MPL type sequence, in which case the stored value
- * is checked against every type in the sequence.
- *
- * \note Include <tt>value_extraction.hpp</tt> prior to using this method.
- *
- * \return The extracted value, if the attribute value is not empty and the value is the same
- * as specified. Otherwise returns an empty value. See description of the \c result_of::extract
- * metafunction for information on the nature of the result value.
- */
- template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT >
- typename result_of::extract< T, TagT >::type extract() const;
-
- /*!
- * The method attempts to extract the stored value, assuming the value has the specified type.
- * One can specify either a single type or an MPL type sequence, in which case the stored value
- * is checked against every type in the sequence.
- *
- * \note Include <tt>value_extraction.hpp</tt> prior to using this method.
- *
- * \return The extracted value, if the attribute value is not empty and the value is the same
- * as specified. Otherwise an exception is thrown. See description of the \c result_of::extract_or_throw
- * metafunction for information on the nature of the result value.
- */
- template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT >
- typename result_of::extract_or_throw< T, TagT >::type extract_or_throw() const;
-
- /*!
- * The method attempts to extract the stored value, assuming the value has the specified type.
- * One can specify either a single type or an MPL type sequence, in which case the stored value
- * is checked against every type in the sequence. If extraction fails, the default value is returned.
- *
- * \note Include <tt>value_extraction.hpp</tt> prior to using this method.
- *
- * \param def_value Default value.
- *
- * \return The extracted value, if the attribute value is not empty and the value is the same
- * as specified. Otherwise returns the default value. See description of the \c result_of::extract_or_default
- * metafunction for information on the nature of the result value.
- */
- template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT >
- typename result_of::extract_or_default< T, T, TagT >::type extract_or_default(T const& def_value) const;
-
- /*!
- * The method attempts to extract the stored value, assuming the value has the specified type.
- * One can specify either a single type or an MPL type sequence, in which case the stored value
- * is checked against every type in the sequence. If extraction fails, the default value is returned.
- *
- * \note Include <tt>value_extraction.hpp</tt> prior to using this method.
- *
- * \param def_value Default value.
- *
- * \return The extracted value, if the attribute value is not empty and the value is the same
- * as specified. Otherwise returns the default value. See description of the \c result_of::extract_or_default
- * metafunction for information on the nature of the result value.
- */
- template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT, typename DefaultT >
- typename result_of::extract_or_default< T, DefaultT, TagT >::type extract_or_default(DefaultT const& def_value) const;
-
-#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
- /*!
- * The method attempts to extract the stored value, assuming the value has the specified type.
- * One can specify either a single type or an MPL type sequence, in which case the stored value
- * is checked against every type in the sequence.
- *
- * \note Include <tt>value_extraction.hpp</tt> prior to using this method.
- *
- * \return The extracted value, if the attribute value is not empty and the value is the same
- * as specified. Otherwise returns an empty value. See description of the \c result_of::extract
- * metafunction for information on the nature of the result value.
- */
- template< typename T >
- typename result_of::extract< T >::type extract() const;
-
- /*!
- * The method attempts to extract the stored value, assuming the value has the specified type.
- * One can specify either a single type or an MPL type sequence, in which case the stored value
- * is checked against every type in the sequence.
- *
- * \note Include <tt>value_extraction.hpp</tt> prior to using this method.
- *
- * \return The extracted value, if the attribute value is not empty and the value is the same
- * as specified. Otherwise an exception is thrown. See description of the \c result_of::extract_or_throw
- * metafunction for information on the nature of the result value.
- */
- template< typename T >
- typename result_of::extract_or_throw< T >::type extract_or_throw() const;
-
- /*!
- * The method attempts to extract the stored value, assuming the value has the specified type.
- * One can specify either a single type or an MPL type sequence, in which case the stored value
- * is checked against every type in the sequence. If extraction fails, the default value is returned.
- *
- * \note Include <tt>value_extraction.hpp</tt> prior to using this method.
- *
- * \param def_value Default value.
- *
- * \return The extracted value, if the attribute value is not empty and the value is the same
- * as specified. Otherwise returns the default value. See description of the \c result_of::extract_or_default
- * metafunction for information on the nature of the result value.
- */
- template< typename T >
- typename result_of::extract_or_default< T, T >::type extract_or_default(T const& def_value) const;
-
- /*!
- * The method attempts to extract the stored value, assuming the value has the specified type.
- * One can specify either a single type or an MPL type sequence, in which case the stored value
- * is checked against every type in the sequence. If extraction fails, the default value is returned.
- *
- * \note Include <tt>value_extraction.hpp</tt> prior to using this method.
- *
- * \param def_value Default value.
- *
- * \return The extracted value, if the attribute value is not empty and the value is the same
- * as specified. Otherwise returns the default value. See description of the \c result_of::extract_or_default
- * metafunction for information on the nature of the result value.
- */
- template< typename T, typename DefaultT >
- typename result_of::extract_or_default< T, DefaultT >::type extract_or_default(DefaultT const& def_value) const;
-#endif // defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
-
-#undef BOOST_LOG_AUX_VOID_DEFAULT
-
- /*!
- * The method attempts to extract the stored value, assuming the value has the specified type,
- * and pass it to the \a visitor function object.
- * One can specify either a single type or an MPL type sequence, in which case the stored value
- * is checked against every type in the sequence.
- *
- * \note Include <tt>value_visitation.hpp</tt> prior to using this method.
- *
- * \param visitor A function object that will be invoked on the extracted attribute value.
- * The visitor should be capable to be called with a single argument of
- * any type of the specified types in \c T.
- *
- * \return The result of visitation.
- */
- template< typename T, typename VisitorT >
- visitation_result visit(VisitorT visitor) const;
-
- /*!
- * The method swaps two attribute values
- */
- void swap(attribute_value& that) BOOST_NOEXCEPT
- {
- m_pImpl.swap(that.m_pImpl);
- }
-};
-
-/*!
- * The function swaps two attribute values
- */
-inline void swap(attribute_value& left, attribute_value& right) BOOST_NOEXCEPT
-{
- left.swap(right);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-#if defined(BOOST_LOG_ATTRIBUTES_ATTRIBUTE_HPP_INCLUDED_)
-#include <boost/log/detail/attribute_get_value_impl.hpp>
-#endif
-
-#endif // BOOST_LOG_ATTRIBUTE_VALUE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/attribute_value_impl.hpp b/contrib/restricted/boost/boost/log/attributes/attribute_value_impl.hpp
deleted file mode 100644
index e18015bec3..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/attribute_value_impl.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_value_impl.hpp
- * \author Andrey Semashev
- * \date 24.06.2007
- *
- * The header contains an implementation of a basic attribute value implementation class.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_ATTRIBUTE_VALUE_IMPL_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_ATTRIBUTE_VALUE_IMPL_HPP_INCLUDED_
-
-#include <boost/type_index.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_value.hpp>
-#include <boost/log/utility/type_dispatch/type_dispatcher.hpp>
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#include <boost/type_traits/remove_reference.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-/*!
- * \brief Basic attribute value implementation class
- *
- * This class can be used as a boilerplate for simple attribute values. The class implements all needed
- * interfaces of attribute values and allows to store a single value of the type specified as a template parameter.
- * The stored value can be dispatched with type dispatching mechanism.
- */
-template< typename T >
-class attribute_value_impl :
- public attribute_value::impl
-{
-public:
- //! Value type
- typedef T value_type;
-
-private:
- //! Attribute value
- const value_type m_value;
-
-public:
- /*!
- * Constructor with initialization of the stored value
- */
- explicit attribute_value_impl(value_type const& v) : m_value(v) {}
- /*!
- * Constructor with initialization of the stored value
- */
- explicit attribute_value_impl(BOOST_RV_REF(value_type) v) : m_value(boost::move(v)) {}
-
- /*!
- * Attribute value dispatching method.
- *
- * \param dispatcher The dispatcher that receives the stored value
- *
- * \return \c true if the value has been dispatched, \c false otherwise
- */
- virtual bool dispatch(type_dispatcher& dispatcher)
- {
- type_dispatcher::callback< value_type > callback = dispatcher.get_callback< value_type >();
- if (callback)
- {
- callback(m_value);
- return true;
- }
- else
- return false;
- }
-
- /*!
- * \return The attribute value type
- */
- typeindex::type_index get_type() const { return typeindex::type_id< value_type >(); }
-
- /*!
- * \return Reference to the contained value.
- */
- value_type const& get() const { return m_value; }
-};
-
-/*!
- * The function creates an attribute value from the specified object.
- */
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-template< typename T >
-inline attribute_value make_attribute_value(T&& v)
-{
- typedef typename remove_cv< typename remove_reference< T >::type >::type value_type;
- return attribute_value(new attribute_value_impl< value_type >(boost::forward< T >(v)));
-}
-
-#else // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-template< typename T >
-inline attribute_value make_attribute_value(T const& v)
-{
- typedef typename remove_cv< T >::type value_type;
- return attribute_value(new attribute_value_impl< value_type >(v));
-}
-
-template< typename T >
-inline attribute_value make_attribute_value(rv< T > const& v)
-{
- typedef typename remove_cv< T >::type value_type;
- return attribute_value(new attribute_value_impl< value_type >(v));
-}
-
-#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_ATTRIBUTE_VALUE_IMPL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/attribute_value_set.hpp b/contrib/restricted/boost/boost/log/attributes/attribute_value_set.hpp
deleted file mode 100644
index 7aca478f2f..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/attribute_value_set.hpp
+++ /dev/null
@@ -1,480 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_value_set.hpp
- * \author Andrey Semashev
- * \date 21.04.2007
- *
- * This header file contains definition of attribute value set. The set is constructed from
- * three attribute sets (global, thread-specific and source-specific) and contains attribute
- * values.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTE_VALUE_SET_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTE_VALUE_SET_HPP_INCLUDED_
-
-#include <cstddef>
-#include <utility>
-#include <iterator>
-#include <boost/move/core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_value.hpp>
-#include <boost/log/attributes/attribute_set.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief A set of attribute values
- *
- * The set of attribute values is an associative container with attribute name as a key and
- * a pointer to attribute value object as a mapped type. This is a collection of elements with unique
- * keys, that is, there can be only one attribute value with a given name in the set. With respect to
- * read-only capabilities, the set interface is close to \c std::unordered_map.
- *
- * The set is designed to be only capable of adding elements to it. Once added, the attribute value
- * cannot be removed from the set.
- *
- * An instance of attribute value set can be constructed from three attribute sets. The constructor attempts to
- * accommodate values of all attributes from the sets. The situation when a same-named attribute is found
- * in more than one attribute set is possible. This problem is solved on construction of the value set: the three
- * attribute sets have different priorities when it comes to solving conflicts.
- *
- * From the library perspective the three source attribute sets are global, thread-specific and source-specific
- * attributes, with the latter having the highest priority. This feature allows to override attributes of wider scopes
- * with the more specific ones.
- *
- * For sake of performance, the attribute values are not immediately acquired from attribute sets at construction.
- * Instead, on-demand acquisition is performed either on iterator dereferencing or on call to the \c freeze method.
- * Once acquired, the attribute value stays within the set until its destruction. This nuance does not affect
- * other set properties, such as size or lookup ability. The logging core automatically freezes the set
- * at the right point, so users should not be bothered unless they manually create attribute value sets.
- *
- * \note The attribute sets that were used for the value set construction must not be modified or destroyed
- * until the value set is frozen. Otherwise the behavior is undefined.
- */
-class attribute_value_set
-{
- BOOST_COPYABLE_AND_MOVABLE_ALT(attribute_value_set)
-
-public:
- //! Key type
- typedef attribute_name key_type;
- //! Mapped attribute type
- typedef attribute_value mapped_type;
-
- //! Value type
- typedef std::pair< const key_type, mapped_type > value_type;
- //! Reference type
- typedef value_type& reference;
- //! Const reference type
- typedef value_type const& const_reference;
- //! Pointer type
- typedef value_type* pointer;
- //! Const pointer type
- typedef value_type const* const_pointer;
- //! Size type
- typedef std::size_t size_type;
- //! Pointer difference type
- typedef std::ptrdiff_t difference_type;
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-private:
- struct implementation;
- friend struct implementation;
-
- //! A base class for the container nodes
- struct node_base
- {
- node_base* m_pPrev;
- node_base* m_pNext;
-
- node_base();
-
- BOOST_DELETED_FUNCTION(node_base(node_base const&))
- BOOST_DELETED_FUNCTION(node_base& operator= (node_base const&))
- };
-
- //! Container elements
- struct node;
- friend struct node;
- struct node :
- public node_base
- {
- value_type m_Value;
- bool m_DynamicallyAllocated;
-
- node(key_type const& key, mapped_type& data, bool dynamic);
- };
-
-public:
- class const_iterator;
- friend class const_iterator;
- class const_iterator
- {
- public:
- // Standard typedefs
- typedef attribute_value_set::difference_type difference_type;
- typedef attribute_value_set::value_type value_type;
- typedef attribute_value_set::const_reference reference;
- typedef attribute_value_set::const_pointer pointer;
- typedef std::bidirectional_iterator_tag iterator_category;
-
- public:
- // Constructors
- BOOST_CONSTEXPR const_iterator() : m_pNode(NULL), m_pContainer(NULL) {}
- explicit const_iterator(node_base* n, attribute_value_set* cont) BOOST_NOEXCEPT :
- m_pNode(n),
- m_pContainer(cont)
- {
- }
-
- // Comparison
- bool operator== (const_iterator const& that) const BOOST_NOEXCEPT
- {
- return (m_pNode == that.m_pNode);
- }
- bool operator!= (const_iterator const& that) const BOOST_NOEXCEPT
- {
- return (m_pNode != that.m_pNode);
- }
-
- // Modification
- const_iterator& operator++ ()
- {
- m_pContainer->freeze();
- m_pNode = m_pNode->m_pNext;
- return *this;
- }
- const_iterator& operator-- ()
- {
- m_pContainer->freeze();
- m_pNode = m_pNode->m_pPrev;
- return *this;
- }
- const_iterator operator++ (int)
- {
- const_iterator tmp(*this);
- m_pContainer->freeze();
- m_pNode = m_pNode->m_pNext;
- return tmp;
- }
- const_iterator operator-- (int)
- {
- const_iterator tmp(*this);
- m_pContainer->freeze();
- m_pNode = m_pNode->m_pPrev;
- return tmp;
- }
-
- // Dereferencing
- pointer operator-> () const BOOST_NOEXCEPT { return &(static_cast< node* >(m_pNode)->m_Value); }
- reference operator* () const BOOST_NOEXCEPT { return static_cast< node* >(m_pNode)->m_Value; }
-
- private:
- node_base* m_pNode;
- attribute_value_set* m_pContainer;
- };
-
-#else
-
- /*!
- * Constant iterator type with bidirectional capabilities.
- */
- typedef implementation_defined const_iterator;
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-private:
- //! Pointer to the container implementation
- implementation* m_pImpl;
-
-public:
- /*!
- * Default constructor
- *
- * The constructor creates an empty set which can be filled later by subsequent
- * calls of \c insert method. Optionally, the amount of storage reserved for elements
- * to be inserted may be passed to the constructor.
- * The constructed set is frozen.
- *
- * \param reserve_count Number of elements to reserve space for.
- */
- BOOST_LOG_API explicit attribute_value_set(size_type reserve_count = 8);
-
- /*!
- * Move constructor
- */
- attribute_value_set(BOOST_RV_REF(attribute_value_set) that) BOOST_NOEXCEPT : m_pImpl(that.m_pImpl)
- {
- that.m_pImpl = NULL;
- }
-
- /*!
- * The constructor adopts three attribute sets into the value set.
- * The \a source_attrs attributes have the greatest preference when a same-named
- * attribute is found in several sets, \a global_attrs has the least.
- * The constructed set is not frozen.
- *
- * \param source_attrs A set of source-specific attributes.
- * \param thread_attrs A set of thread-specific attributes.
- * \param global_attrs A set of global attributes.
- * \param reserve_count Amount of elements to reserve space for, in addition to the elements in the three attribute sets provided.
- */
- BOOST_LOG_API attribute_value_set(
- attribute_set const& source_attrs,
- attribute_set const& thread_attrs,
- attribute_set const& global_attrs,
- size_type reserve_count = 8);
-
- /*!
- * The constructor adopts three attribute sets into the value set.
- * The \a source_attrs attributes have the greatest preference when a same-named
- * attribute is found in several sets, \a global_attrs has the least.
- * The constructed set is not frozen.
- *
- * \pre The \a source_attrs set is frozen.
- *
- * \param source_attrs A set of source-specific attributes.
- * \param thread_attrs A set of thread-specific attributes.
- * \param global_attrs A set of global attributes.
- * \param reserve_count Amount of elements to reserve space for, in addition to the elements in the three attribute sets provided.
- */
- BOOST_LOG_API attribute_value_set(
- attribute_value_set const& source_attrs,
- attribute_set const& thread_attrs,
- attribute_set const& global_attrs,
- size_type reserve_count = 8);
-
- /*!
- * The constructor adopts three attribute sets into the value set.
- * The \a source_attrs attributes have the greatest preference when a same-named
- * attribute is found in several sets, \a global_attrs has the least.
- * The constructed set is not frozen.
- *
- * \pre The \a source_attrs set is frozen.
- *
- * \param source_attrs A set of source-specific attributes.
- * \param thread_attrs A set of thread-specific attributes.
- * \param global_attrs A set of global attributes.
- * \param reserve_count Amount of elements to reserve space for, in addition to the elements in the three attribute sets provided.
- */
- attribute_value_set(
- BOOST_RV_REF(attribute_value_set) source_attrs,
- attribute_set const& thread_attrs,
- attribute_set const& global_attrs,
- size_type reserve_count = 8) : m_pImpl(NULL)
- {
- construct(static_cast< attribute_value_set& >(source_attrs), thread_attrs, global_attrs, reserve_count);
- }
-
- /*!
- * Copy constructor.
- *
- * \pre The original set is frozen.
- * \post The constructed set is frozen, <tt>std::equal(begin(), end(), that.begin()) == true</tt>
- */
- BOOST_LOG_API attribute_value_set(attribute_value_set const& that);
-
- /*!
- * Destructor. Releases all referenced attribute values.
- */
- BOOST_LOG_API ~attribute_value_set() BOOST_NOEXCEPT;
-
- /*!
- * Assignment operator
- */
- attribute_value_set& operator= (attribute_value_set that) BOOST_NOEXCEPT
- {
- this->swap(that);
- return *this;
- }
-
- /*!
- * Swaps two sets
- *
- * \b Throws: Nothing.
- */
- void swap(attribute_value_set& that) BOOST_NOEXCEPT
- {
- implementation* const p = m_pImpl;
- m_pImpl = that.m_pImpl;
- that.m_pImpl = p;
- }
-
- /*!
- * \return Iterator to the first element of the set.
- */
- BOOST_LOG_API const_iterator begin() const;
- /*!
- * \return Iterator to the after-the-last element of the set.
- */
- BOOST_LOG_API const_iterator end() const;
-
- /*!
- * \return Number of elements in the set.
- */
- BOOST_LOG_API size_type size() const;
- /*!
- * \return \c true if there are no elements in the container, \c false otherwise.
- */
- bool empty() const { return (this->size() == 0); }
-
- /*!
- * The method finds the attribute value by name.
- *
- * \param key Attribute name.
- * \return Iterator to the found element or \c end() if the attribute with such name is not found.
- */
- BOOST_LOG_API const_iterator find(key_type key) const;
-
- /*!
- * Alternative lookup syntax.
- *
- * \param key Attribute name.
- * \return A pointer to the attribute value if it is found with \a key, default-constructed mapped value otherwise.
- */
- mapped_type operator[] (key_type key) const
- {
- const_iterator it = this->find(key);
- if (it != this->end())
- return it->second;
- else
- return mapped_type();
- }
-
- /*!
- * Alternative lookup syntax.
- *
- * \param keyword Attribute keyword.
- * \return A \c value_ref with extracted attribute value if it is found, empty \c value_ref otherwise.
- */
- template< typename DescriptorT, template< typename > class ActorT >
- typename result_of::extract< typename expressions::attribute_keyword< DescriptorT, ActorT >::value_type, DescriptorT >::type
- operator[] (expressions::attribute_keyword< DescriptorT, ActorT > const& keyword) const
- {
- typedef typename expressions::attribute_keyword< DescriptorT, ActorT >::value_type attr_value_type;
- typedef typename result_of::extract< attr_value_type, DescriptorT >::type result_type;
- const_iterator it = this->find(keyword.get_name());
- if (it != this->end())
- return it->second.extract< attr_value_type, DescriptorT >();
- else
- return result_type();
- }
-
- /*!
- * The method counts the number of the attribute value occurrences in the set. Since there can be only one
- * attribute value with a particular key, the method always return 0 or 1.
- *
- * \param key Attribute name.
- * \return The number of times the attribute value is found in the container.
- */
- size_type count(key_type key) const { return size_type(this->find(key) != this->end()); }
-
- /*!
- * The method acquires values of all adopted attributes.
- *
- * \post The set is frozen.
- */
- BOOST_LOG_API void freeze();
-
- /*!
- * Inserts an element into the set. The complexity of the operation is amortized constant.
- *
- * \pre The set is frozen.
- *
- * \param key The attribute name.
- * \param mapped The attribute value.
- *
- * \returns An iterator to the inserted element and \c true if insertion succeeded. Otherwise,
- * if the set already contains a same-named attribute value, iterator to the
- * existing element and \c false.
- */
- BOOST_LOG_API std::pair< const_iterator, bool > insert(key_type key, mapped_type const& mapped);
-
- /*!
- * Inserts an element into the set. The complexity of the operation is amortized constant.
- *
- * \pre The set is frozen.
- *
- * \param value The attribute name and value.
- *
- * \returns An iterator to the inserted element and \c true if insertion succeeded. Otherwise,
- * if the set already contains a same-named attribute value, iterator to the
- * existing element and \c false.
- */
- std::pair< const_iterator, bool > insert(const_reference value) { return this->insert(value.first, value.second); }
-
- /*!
- * Mass insertion method. The complexity of the operation is linear to the number of elements inserted.
- *
- * \pre The set is frozen.
- *
- * \param begin A forward iterator that points to the first element to be inserted.
- * \param end A forward iterator that points to the after-the-last element to be inserted.
- */
- template< typename FwdIteratorT >
- void insert(FwdIteratorT begin, FwdIteratorT end)
- {
- for (; begin != end; ++begin)
- this->insert(*begin);
- }
-
- /*!
- * Mass insertion method with ability to acquire iterators to the inserted elements.
- * The complexity of the operation is linear to the number of elements inserted times the complexity
- * of filling the \a out iterator.
- *
- * \pre The set is frozen.
- *
- * \param begin A forward iterator that points to the first element to be inserted.
- * \param end A forward iterator that points to the after-the-last element to be inserted.
- * \param out An output iterator that receives results of insertion of the elements.
- */
- template< typename FwdIteratorT, typename OutputIteratorT >
- void insert(FwdIteratorT begin, FwdIteratorT end, OutputIteratorT out)
- {
- for (; begin != end; ++begin, ++out)
- *out = this->insert(*begin);
- }
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-private:
- //! Constructs the object by moving from \a source_attrs. This function is mostly needed to maintain ABI stable between C++03 and C++11.
- BOOST_LOG_API void construct(
- attribute_value_set& source_attrs,
- attribute_set const& thread_attrs,
- attribute_set const& global_attrs,
- size_type reserve_count);
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-/*!
- * Free swap overload
- */
-inline void swap(attribute_value_set& left, attribute_value_set& right) BOOST_NOEXCEPT
-{
- left.swap(right);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTE_VALUE_SET_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/clock.hpp b/contrib/restricted/boost/boost/log/attributes/clock.hpp
deleted file mode 100644
index 41567d6698..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/clock.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file clock.hpp
- * \author Andrey Semashev
- * \date 01.12.2007
- *
- * The header contains wall clock attribute implementation and typedefs.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_CLOCK_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_CLOCK_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_value.hpp>
-#include <boost/log/attributes/attribute_cast.hpp>
-#include <boost/log/attributes/attribute_value_impl.hpp>
-#include <boost/log/attributes/time_traits.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-/*!
- * \brief A class of an attribute that makes an attribute value of the current date and time
- *
- * The attribute generates current time stamp as a value. The type of the attribute value
- * is determined with time traits passed to the class template as a template parameter.
- * The time traits provided by the library use \c boost::posix_time::ptime as the time type.
- *
- * Time traits also determine the way time is acquired. There are two types of time traits
- * provided by the library: \c utc_time_traits and \c local_time_traits. The first returns UTC time,
- * the second returns local time.
- */
-template< typename TimeTraitsT >
-class basic_clock :
- public attribute
-{
-public:
- //! Generated value type
- typedef typename TimeTraitsT::time_type value_type;
-
-protected:
- //! Attribute factory implementation
- struct BOOST_SYMBOL_VISIBLE impl :
- public attribute::impl
- {
- attribute_value get_value()
- {
- typedef attribute_value_impl< value_type > result_value;
- return attribute_value(new result_value(TimeTraitsT::get_clock()));
- }
- };
-
-public:
- /*!
- * Default constructor
- */
- basic_clock() : attribute(new impl())
- {
- }
- /*!
- * Constructor for casting support
- */
- explicit basic_clock(cast_source const& source) : attribute(source.as< impl >())
- {
- }
-};
-
-//! Attribute that returns current UTC time
-typedef basic_clock< utc_time_traits > utc_clock;
-//! Attribute that returns current local time
-typedef basic_clock< local_time_traits > local_clock;
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_CLOCK_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/constant.hpp b/contrib/restricted/boost/boost/log/attributes/constant.hpp
deleted file mode 100644
index f10b0a7e5b..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/constant.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file constant.hpp
- * \author Andrey Semashev
- * \date 15.04.2007
- *
- * The header contains implementation of a constant attribute.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_CONSTANT_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_CONSTANT_HPP_INCLUDED_
-
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/embedded_string_type.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_cast.hpp>
-#include <boost/log/attributes/attribute_value_impl.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-/*!
- * \brief A class of an attribute that holds a single constant value
- *
- * The constant is a simplest and one of the most frequently used types of attributes.
- * It stores a constant value, which it eventually returns as its value each time
- * requested.
- */
-template< typename T >
-class constant :
- public attribute
-{
-public:
- //! Attribute value type
- typedef T value_type;
-
-protected:
- //! Factory implementation
- class BOOST_SYMBOL_VISIBLE impl :
- public attribute_value_impl< value_type >
- {
- //! Base type
- typedef attribute_value_impl< value_type > base_type;
-
- public:
- /*!
- * Constructor with the stored value initialization
- */
- explicit impl(value_type const& value) : base_type(value) {}
- /*!
- * Constructor with the stored value initialization
- */
- explicit impl(BOOST_RV_REF(value_type) value) : base_type(boost::move(value)) {}
- };
-
-public:
- /*!
- * Constructor with the stored value initialization
- */
- explicit constant(value_type const& value) : attribute(new impl(value)) {}
- /*!
- * Constructor with the stored value initialization
- */
- explicit constant(BOOST_RV_REF(value_type) value) : attribute(new impl(boost::move(value))) {}
- /*!
- * Constructor for casting support
- */
- explicit constant(cast_source const& source) : attribute(source.as< impl >())
- {
- }
-
- /*!
- * \return Reference to the contained value.
- */
- value_type const& get() const
- {
- return static_cast< impl* >(this->get_impl())->get();
- }
-};
-
-/*!
- * The function constructs a \c constant attribute containing the provided value.
- * The function automatically converts C string arguments to \c std::basic_string objects.
- */
-template< typename T >
-inline constant<
- typename boost::log::aux::make_embedded_string_type<
- typename remove_reference< T >::type
- >::type
-> make_constant(BOOST_FWD_REF(T) val)
-{
- typedef typename boost::log::aux::make_embedded_string_type<
- typename remove_reference< T >::type
- >::type value_type;
- return constant< value_type >(boost::forward< T >(val));
-}
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_CONSTANT_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/counter.hpp b/contrib/restricted/boost/boost/log/attributes/counter.hpp
deleted file mode 100644
index b7d9994027..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/counter.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file counter.hpp
- * \author Andrey Semashev
- * \date 01.05.2007
- *
- * The header contains implementation of the counter attribute.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_COUNTER_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_COUNTER_HPP_INCLUDED_
-
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_cast.hpp>
-#include <boost/log/attributes/attribute_value_impl.hpp>
-#ifndef BOOST_LOG_NO_THREADS
-#include <boost/memory_order.hpp>
-#include <boost/atomic/atomic.hpp>
-#endif // BOOST_LOG_NO_THREADS
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-/*!
- * \brief A class of an attribute that counts an integral value
- *
- * This attribute acts as a counter - it returns a monotonously
- * changing value each time requested. The attribute value type can be specified
- * as a template parameter. The type must be an integral type.
- */
-template< typename T >
-class counter :
- public attribute
-{
- BOOST_STATIC_ASSERT_MSG(is_integral< T >::value, "Boost.Log: Only integral types are supported by the counter attribute");
-
-public:
- //! A counter value type
- typedef T value_type;
-
-protected:
- //! Factory implementation
- class BOOST_SYMBOL_VISIBLE impl :
- public attribute::impl
- {
- private:
-#ifndef BOOST_LOG_NO_THREADS
- boost::atomic< value_type > m_counter;
-#else
- value_type m_counter;
-#endif
- const value_type m_step;
-
- public:
- impl(value_type initial, value_type step) BOOST_NOEXCEPT :
- m_counter(initial), m_step(step)
- {
- }
-
- attribute_value get_value()
- {
-#ifndef BOOST_LOG_NO_THREADS
- value_type value = m_counter.fetch_add(m_step, boost::memory_order_relaxed);
-#else
- value_type value = m_counter;
- m_counter += m_step;
-#endif
- return make_attribute_value(value);
- }
- };
-
-public:
- /*!
- * Constructor
- *
- * \param initial Initial value of the counter
- * \param step Changing step of the counter. Each value acquired from the attribute
- * will be greater than the previous one by this amount.
- */
- explicit counter(value_type initial = (value_type)0, value_type step = (value_type)1) :
- attribute(new impl(initial, step))
- {
- }
-
- /*!
- * Constructor for casting support
- */
- explicit counter(cast_source const& source) :
- attribute(source.as< impl >())
- {
- }
-};
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_COUNTER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/current_process_id.hpp b/contrib/restricted/boost/boost/log/attributes/current_process_id.hpp
deleted file mode 100644
index 48a2c3bd2d..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/current_process_id.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file current_process_id.hpp
- * \author Andrey Semashev
- * \date 12.09.2009
- *
- * The header contains implementation of a current process id attribute
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_CURRENT_PROCESS_ID_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_CURRENT_PROCESS_ID_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/process_id.hpp>
-#include <boost/log/attributes/constant.hpp>
-#include <boost/log/attributes/attribute_cast.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! Process identifier type used by the library
-typedef boost::log::aux::process::id process_id;
-
-namespace attributes {
-
-/*!
- * \brief A class of an attribute that holds the current process identifier
- */
-class current_process_id :
- public constant< process_id >
-{
- typedef constant< process_id > base_type;
-
-public:
- /*!
- * Constructor. Initializes the attribute with the current process identifier.
- */
- current_process_id() : base_type(boost::log::aux::this_process::get_id()) {}
- /*!
- * Constructor for casting support
- */
- explicit current_process_id(cast_source const& source) :
- base_type(source)
- {
- }
-};
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_CURRENT_PROCESS_ID_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/current_process_name.hpp b/contrib/restricted/boost/boost/log/attributes/current_process_name.hpp
deleted file mode 100644
index 58c2344f79..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/current_process_name.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file current_process_name.hpp
- * \author Andrey Semashev
- * \date 29.07.2012
- *
- * The header contains implementation of a current process name attribute
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_CURRENT_PROCESS_NAME_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_CURRENT_PROCESS_NAME_HPP_INCLUDED_
-
-#include <string>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/constant.hpp>
-#include <boost/log/attributes/attribute_cast.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The function returns the current process name
-BOOST_LOG_API std::string get_process_name();
-
-} // namespace aux
-
-namespace attributes {
-
-/*!
- * \brief A class of an attribute that holds the current process name
- */
-class current_process_name :
- public constant< std::string >
-{
- typedef constant< std::string > base_type;
-
-public:
- /*!
- * Constructor. Initializes the attribute with the current process name.
- */
- current_process_name() : base_type(boost::log::aux::get_process_name()) {}
- /*!
- * Constructor for casting support
- */
- explicit current_process_name(cast_source const& source) :
- base_type(source)
- {
- }
-};
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_CURRENT_PROCESS_NAME_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/current_thread_id.hpp b/contrib/restricted/boost/boost/log/attributes/current_thread_id.hpp
deleted file mode 100644
index 23573e38be..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/current_thread_id.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file current_thread_id.hpp
- * \author Andrey Semashev
- * \date 12.09.2009
- *
- * The header contains implementation of a current thread id attribute
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_CURRENT_THREAD_ID_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_CURRENT_THREAD_ID_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_LOG_NO_THREADS)
-#error Boost.Log: The current_thread_id attribute is only available in multithreaded builds
-#endif
-
-#include <boost/smart_ptr/intrusive_ptr.hpp>
-#include <boost/log/detail/thread_id.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_cast.hpp>
-#include <boost/log/attributes/attribute_value_impl.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! Thread identifier type
-typedef boost::log::aux::thread::id thread_id;
-
-namespace attributes {
-
-/*!
- * \brief A class of an attribute that always returns the current thread identifier
- *
- * \note This attribute can be registered globally, it will still return the correct
- * thread identifier, no matter which thread emits the log record.
- */
-class current_thread_id :
- public attribute
-{
-public:
- //! A held attribute value type
- typedef thread_id value_type;
-
-protected:
- //! Factory implementation
- class BOOST_SYMBOL_VISIBLE impl :
- public attribute_value::impl
- {
- public:
- bool dispatch(type_dispatcher& dispatcher)
- {
- type_dispatcher::callback< value_type > callback =
- dispatcher.get_callback< value_type >();
- if (callback)
- {
- callback(boost::log::aux::this_thread::get_id());
- return true;
- }
- else
- return false;
- }
-
- intrusive_ptr< attribute_value::impl > detach_from_thread()
- {
- typedef attribute_value_impl< value_type > detached_value;
- return new detached_value(boost::log::aux::this_thread::get_id());
- }
-
- typeindex::type_index get_type() const { return typeindex::type_id< value_type >(); }
- };
-
-public:
- /*!
- * Default constructor
- */
- current_thread_id() : attribute(new impl())
- {
- }
- /*!
- * Constructor for casting support
- */
- explicit current_thread_id(cast_source const& source) :
- attribute(source.as< impl >())
- {
- }
-};
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_CURRENT_THREAD_ID_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/fallback_policy.hpp b/contrib/restricted/boost/boost/log/attributes/fallback_policy.hpp
deleted file mode 100644
index cde3e94623..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/fallback_policy.hpp
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file fallback_policy.hpp
- * \author Andrey Semashev
- * \date 18.08.2012
- *
- * The header contains definition of fallback policies when attribute value visitation or extraction fails.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_FALLBACK_POLICY_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_FALLBACK_POLICY_HPP_INCLUDED_
-
-#include <boost/type_index.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/attributes/fallback_policy_fwd.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * The \c fallback_to_none policy results in returning an empty value reference if the attribute value cannot be extracted.
- */
-struct fallback_to_none
-{
- enum { guaranteed_result = false };
-
- /*!
- * The method is called in order to apply a function object to the default value.
- */
- template< typename FunT >
- static bool apply_default(FunT&)
- {
- return false;
- }
-
- /*!
- * The method is called in order to apply a function object to the default value.
- */
- template< typename FunT >
- static bool apply_default(FunT const&)
- {
- return false;
- }
-
- /*!
- * The method is called when value extraction failed because the attribute value has different type than requested.
- */
- static void on_invalid_type(typeindex::type_index const&)
- {
- }
-
- /*!
- * The method is called when value extraction failed because the attribute value was not found.
- */
- static void on_missing_value()
- {
- }
-};
-
-/*!
- * The \c fallback_to_throw policy results in throwing an exception if the attribute value cannot be extracted.
- */
-struct fallback_to_throw
-{
- enum { guaranteed_result = true };
-
- /*!
- * The method is called in order to apply a function object to the default value.
- */
- template< typename FunT >
- static bool apply_default(FunT&)
- {
- return false;
- }
-
- /*!
- * The method is called in order to apply a function object to the default value.
- */
- template< typename FunT >
- static bool apply_default(FunT const&)
- {
- return false;
- }
-
- /*!
- * The method is called when value extraction failed because the attribute value has different type than requested.
- */
- static void on_invalid_type(typeindex::type_index const& t)
- {
- BOOST_LOG_THROW_DESCR_PARAMS(invalid_type, "Attribute value has incompatible type", (t));
- }
-
- /*!
- * The method is called when value extraction failed because the attribute value was not found.
- */
- static void on_missing_value()
- {
- BOOST_LOG_THROW_DESCR(missing_value, "Attribute value not found");
- }
-};
-
-/*!
- * The \c fallback_to_default policy results in a default value if the attribute value cannot be extracted.
- */
-template< typename DefaultT >
-struct fallback_to_default
-{
- enum { guaranteed_result = true };
-
- //! Default value type
- typedef typename remove_cv< typename remove_reference< DefaultT >::type >::type default_type;
-
- /*!
- * Default constructor.
- */
- fallback_to_default() : m_default()
- {
- }
-
- /*!
- * Initializing constructor.
- */
- explicit fallback_to_default(default_type const& def_val) : m_default(def_val)
- {
- }
-
- /*!
- * The method is called in order to apply a function object to the default value.
- */
- template< typename FunT >
- bool apply_default(FunT& fun) const
- {
- fun(m_default);
- return true;
- }
-
- /*!
- * The method is called in order to apply a function object to the default value.
- */
- template< typename FunT >
- bool apply_default(FunT const& fun) const
- {
- fun(m_default);
- return true;
- }
-
- /*!
- * The method is called when value extraction failed because the attribute value has different type than requested.
- */
- static void on_invalid_type(typeindex::type_index const&)
- {
- }
-
- /*!
- * The method is called when value extraction failed because the attribute value was not found.
- */
- static void on_missing_value()
- {
- }
-
-private:
- //! Default value
- DefaultT m_default;
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_FALLBACK_POLICY_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/fallback_policy_fwd.hpp b/contrib/restricted/boost/boost/log/attributes/fallback_policy_fwd.hpp
deleted file mode 100644
index bc595876ee..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/fallback_policy_fwd.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file fallback_policy_fwd.hpp
- * \author Andrey Semashev
- * \date 18.08.2012
- *
- * The header contains forward declaration of fallback policies when attribute value visitation or extraction fails.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_FALLBACK_POLICY_FWD_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_FALLBACK_POLICY_FWD_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * The \c fallback_to_none policy results in returning an empty value reference if the attribute value cannot be extracted.
- */
-struct fallback_to_none;
-
-/*!
- * The \c fallback_to_throw policy results in throwing an exception if the attribute value cannot be extracted.
- */
-struct fallback_to_throw;
-
-/*!
- * The \c fallback_to_default policy results in a default value if the attribute value cannot be extracted.
- */
-template< typename DefaultT >
-struct fallback_to_default;
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_ATTRIBUTES_FALLBACK_POLICY_FWD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/function.hpp b/contrib/restricted/boost/boost/log/attributes/function.hpp
deleted file mode 100644
index 488416c5df..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/function.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file function.hpp
- * \author Andrey Semashev
- * \date 24.06.2007
- *
- * The header contains implementation of an attribute that calls a third-party function on value acquisition.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_FUNCTION_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_FUNCTION_HPP_INCLUDED_
-
-#include <boost/static_assert.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_cast.hpp>
-#include <boost/log/attributes/attribute_value_impl.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-/*!
- * \brief A class of an attribute that acquires its value from a third-party function object
- *
- * The attribute calls a stored nullary function object to acquire each value.
- * The result type of the function object is the attribute value type.
- *
- * It is not recommended to use this class directly. Use \c make_function convenience functions
- * to construct the attribute instead.
- */
-template< typename R >
-class function :
- public attribute
-{
- BOOST_STATIC_ASSERT_MSG(!is_void< R >::value, "Boost.Log: Function object return type must not be void");
-
-public:
- //! The attribute value type
- typedef R value_type;
-
-protected:
- //! Base class for factory implementation
- class BOOST_LOG_NO_VTABLE BOOST_SYMBOL_VISIBLE impl :
- public attribute::impl
- {
- };
-
- //! Factory implementation
- template< typename T >
- class impl_template :
- public impl
- {
- private:
- //! Functor that returns attribute values
- /*!
- * \note The constness signifies that the function object should avoid
- * modifying its state since it's not protected against concurrent calls.
- */
- const T m_Functor;
-
- public:
- /*!
- * Constructor with the stored delegate initialization
- */
- explicit impl_template(T const& fun) : m_Functor(fun) {}
-
- attribute_value get_value()
- {
- return attributes::make_attribute_value(m_Functor());
- }
- };
-
-public:
- /*!
- * Initializing constructor
- */
- template< typename T >
- explicit function(T const& fun) : attribute(new impl_template< T >(fun))
- {
- }
- /*!
- * Constructor for casting support
- */
- explicit function(cast_source const& source) :
- attribute(source.as< impl >())
- {
- }
-};
-
-#ifndef BOOST_NO_RESULT_OF
-
-/*!
- * The function constructs \c function attribute instance with the provided function object.
- *
- * \param fun Nullary functional object that returns an actual stored value for an attribute value.
- * \return Pointer to the attribute instance
- */
-template< typename T >
-inline function<
- typename remove_cv<
- typename remove_reference<
- typename boost::result_of< T() >::type
- >::type
- >::type
-> make_function(T const& fun)
-{
- typedef typename remove_cv<
- typename remove_reference<
- typename boost::result_of< T() >::type
- >::type
- >::type result_type;
-
- typedef function< result_type > function_type;
- return function_type(fun);
-}
-
-#endif // BOOST_NO_RESULT_OF
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * The function constructs \c function attribute instance with the provided function object.
- * Use this version if your compiler fails to determine the result type of the function object.
- *
- * \param fun Nullary functional object that returns an actual stored value for an attribute value.
- * \return Pointer to the attribute instance
- */
-template< typename R, typename T >
-inline function<
- typename remove_cv<
- typename remove_reference< R >::type
- >::type
-> make_function(T const& fun)
-{
- typedef typename remove_cv<
- typename remove_reference< R >::type
- >::type result_type;
-
- typedef function< result_type > function_type;
- return function_type(fun);
-}
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_FUNCTOR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/mutable_constant.hpp b/contrib/restricted/boost/boost/log/attributes/mutable_constant.hpp
deleted file mode 100644
index 6ff76ddc2c..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/mutable_constant.hpp
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file mutable_constant.hpp
- * \author Andrey Semashev
- * \date 06.11.2007
- *
- * The header contains implementation of a mutable constant attribute.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_MUTABLE_CONSTANT_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_MUTABLE_CONSTANT_HPP_INCLUDED_
-
-#include <boost/static_assert.hpp>
-#include <boost/smart_ptr/intrusive_ptr.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/locks.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_cast.hpp>
-#include <boost/log/attributes/attribute_value_impl.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-/*!
- * \brief A class of an attribute that holds a single constant value with ability to change it
- *
- * The mutable_constant attribute stores a single value of type, specified as the first template argument.
- * This value is returned on each attribute value acquisition.
- *
- * The attribute also allows to modify the stored value, even if the attribute is registered in an attribute set.
- * In order to ensure thread safety of such modifications the \c mutable_constant class is also parametrized
- * with three additional template arguments: mutex type, scoped write and scoped read lock types. If not specified,
- * the lock types are automatically deduced based on the mutex type.
- *
- * The implementation may avoid using these types to actually create and use the mutex, if a more efficient synchronization method is
- * available (such as atomic operations on the value type). By default no synchronization is done.
- */
-#ifdef BOOST_LOG_DOXYGEN_PASS
-template< typename T, typename MutexT = void, typename ScopedWriteLockT = auto, typename ScopedReadLockT = auto >
-#else // BOOST_LOG_DOXYGEN_PASS
-template<
- typename T,
- typename MutexT = void,
- typename ScopedWriteLockT =
-#ifndef BOOST_LOG_NO_THREADS
- typename mpl::if_c<
- boost::log::aux::is_exclusively_lockable< MutexT >::value,
- boost::log::aux::exclusive_lock_guard< MutexT >,
- void
- >::type,
-#else
- void,
-#endif // BOOST_LOG_NO_THREADS
- typename ScopedReadLockT =
-#ifndef BOOST_LOG_NO_THREADS
- typename mpl::if_c<
- boost::log::aux::is_shared_lockable< MutexT >::value,
- boost::log::aux::shared_lock_guard< MutexT >,
- ScopedWriteLockT
- >::type
-#else
- ScopedWriteLockT
-#endif // BOOST_LOG_NO_THREADS
-#endif // BOOST_LOG_DOXYGEN_PASS
->
-class mutable_constant :
- public attribute
-{
-public:
- //! The attribute value type
- typedef T value_type;
-
-protected:
- //! Factory implementation
- class BOOST_SYMBOL_VISIBLE impl :
- public attribute::impl
- {
- private:
- //! Mutex type
- typedef MutexT mutex_type;
- //! Shared lock type
- typedef ScopedReadLockT scoped_read_lock;
- //! Exclusive lock type
- typedef ScopedWriteLockT scoped_write_lock;
- BOOST_STATIC_ASSERT_MSG(!(is_void< mutex_type >::value || is_void< scoped_read_lock >::value || is_void< scoped_write_lock >::value), "Boost.Log: Mutex and both lock types either must not be void or must all be void");
- //! Attribute value wrapper
- typedef attribute_value_impl< value_type > attr_value;
-
- private:
- //! Thread protection mutex
- mutable mutex_type m_Mutex;
- //! Pointer to the actual attribute value
- intrusive_ptr< attr_value > m_Value;
-
- public:
- /*!
- * Initializing constructor
- */
- explicit impl(value_type const& value) : m_Value(new attr_value(value))
- {
- }
- /*!
- * Initializing constructor
- */
- explicit impl(BOOST_RV_REF(value_type) value) : m_Value(new attr_value(boost::move(value)))
- {
- }
-
- attribute_value get_value()
- {
- scoped_read_lock lock(m_Mutex);
- return attribute_value(m_Value);
- }
-
- void set(value_type const& value)
- {
- intrusive_ptr< attr_value > p = new attr_value(value);
- scoped_write_lock lock(m_Mutex);
- m_Value.swap(p);
- }
-
- void set(BOOST_RV_REF(value_type) value)
- {
- intrusive_ptr< attr_value > p = new attr_value(boost::move(value));
- scoped_write_lock lock(m_Mutex);
- m_Value.swap(p);
- }
-
- value_type get() const
- {
- scoped_read_lock lock(m_Mutex);
- return m_Value->get();
- }
- };
-
-public:
- /*!
- * Constructor with the stored value initialization
- */
- explicit mutable_constant(value_type const& value) : attribute(new impl(value))
- {
- }
- /*!
- * Constructor with the stored value initialization
- */
- explicit mutable_constant(BOOST_RV_REF(value_type) value) : attribute(new impl(boost::move(value)))
- {
- }
- /*!
- * Constructor for casting support
- */
- explicit mutable_constant(cast_source const& source) : attribute(source.as< impl >())
- {
- }
-
- /*!
- * The method sets a new attribute value. The implementation exclusively locks the mutex in order
- * to protect the value assignment.
- */
- void set(value_type const& value)
- {
- get_impl()->set(value);
- }
-
- /*!
- * The method sets a new attribute value.
- */
- void set(BOOST_RV_REF(value_type) value)
- {
- get_impl()->set(boost::move(value));
- }
-
- /*!
- * The method acquires the current attribute value. The implementation non-exclusively locks the mutex in order
- * to protect the value acquisition.
- */
- value_type get() const
- {
- return get_impl()->get();
- }
-
-protected:
- /*!
- * \returns Pointer to the factory implementation
- */
- impl* get_impl() const
- {
- return static_cast< impl* >(attribute::get_impl());
- }
-};
-
-
-/*!
- * \brief Specialization for unlocked case
- *
- * This version of attribute does not perform thread synchronization to access the stored value.
- */
-template< typename T >
-class mutable_constant< T, void, void, void > :
- public attribute
-{
-public:
- //! The attribute value type
- typedef T value_type;
-
-protected:
- //! Factory implementation
- class BOOST_SYMBOL_VISIBLE impl :
- public attribute::impl
- {
- private:
- //! Attribute value wrapper
- typedef attribute_value_impl< value_type > attr_value;
-
- private:
- //! The actual value
- intrusive_ptr< attr_value > m_Value;
-
- public:
- /*!
- * Initializing constructor
- */
- explicit impl(value_type const& value) : m_Value(new attr_value(value))
- {
- }
- /*!
- * Initializing constructor
- */
- explicit impl(BOOST_RV_REF(value_type) value) : m_Value(new attr_value(boost::move(value)))
- {
- }
-
- attribute_value get_value()
- {
- return attribute_value(m_Value);
- }
-
- void set(value_type const& value)
- {
- m_Value = new attr_value(value);
- }
- void set(BOOST_RV_REF(value_type) value)
- {
- m_Value = new attr_value(boost::move(value));
- }
-
- value_type get() const
- {
- return m_Value->get();
- }
- };
-
-public:
- /*!
- * Constructor with the stored value initialization
- */
- explicit mutable_constant(value_type const& value) : attribute(new impl(value))
- {
- }
- /*!
- * Constructor with the stored value initialization
- */
- explicit mutable_constant(BOOST_RV_REF(value_type) value) : attribute(new impl(boost::move(value)))
- {
- }
- /*!
- * Constructor for casting support
- */
- explicit mutable_constant(cast_source const& source) : attribute(source.as< impl >())
- {
- }
-
- /*!
- * The method sets a new attribute value.
- */
- void set(value_type const& value)
- {
- get_impl()->set(value);
- }
-
- /*!
- * The method sets a new attribute value.
- */
- void set(BOOST_RV_REF(value_type) value)
- {
- get_impl()->set(boost::move(value));
- }
-
- /*!
- * The method acquires the current attribute value.
- */
- value_type get() const
- {
- return get_impl()->get();
- }
-
-protected:
- /*!
- * \returns Pointer to the factory implementation
- */
- impl* get_impl() const
- {
- return static_cast< impl* >(attribute::get_impl());
- }
-};
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_MUTABLE_CONSTANT_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/named_scope.hpp b/contrib/restricted/boost/boost/log/attributes/named_scope.hpp
deleted file mode 100644
index dea5c651e8..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/named_scope.hpp
+++ /dev/null
@@ -1,474 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file
- * \author Andrey Semashev
- * \date 24.06.2007
- *
- * The header contains implementation of named scope container and an attribute that allows to
- * put the named scope to log. A number of convenience macros are also provided.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_NAMED_SCOPE_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_NAMED_SCOPE_HPP_INCLUDED_
-
-#include <ostream>
-#include <memory>
-#include <iterator>
-#include <cstddef>
-#include <boost/log/detail/config.hpp>
-#include <boost/current_function.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/log/utility/string_literal.hpp>
-#include <boost/log/utility/unique_identifier_name.hpp>
-#include <boost/log/utility/unused_variable.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_cast.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-namespace aux {
-
- //! Double-linked list node
- struct named_scope_list_node
- {
- mutable named_scope_list_node* _m_pPrev;
- mutable named_scope_list_node* _m_pNext;
-
- named_scope_list_node() BOOST_NOEXCEPT { _m_pPrev = _m_pNext = this; }
- };
-
-} // namespace aux
-
-/*!
- * \brief The structure contains all information about a named scope
- *
- * The named scope entries are stored as elements of \c basic_named_scope_list container, which
- * in turn can be acquired either from the \c basic_named_scope attribute value or from a thread-local
- * instance.
- */
-struct named_scope_entry
- //! \cond
- : public aux::named_scope_list_node
- //! \endcond
-{
- /*!
- * \brief Scope entry type
- *
- * Describes scope name specifics
- */
- enum scope_name_type
- {
- general, //!< The scope name contains some unstructured string that should not be interpreted by the library
- function //!< The scope name contains a function signature
- };
-
- /*!
- * The scope name (e.g. a function signature)
- */
- string_literal scope_name;
- /*!
- * The source file name
- */
- string_literal file_name;
- /*!
- * The line number in the source file
- */
- unsigned int line;
- /*!
- * The scope name type
- */
- scope_name_type type;
-
- /*!
- * Initializing constructor
- *
- * \post <tt>scope_name == sn && file_name == fn && line == ln</tt>
- *
- * \b Throws: Nothing.
- */
- named_scope_entry(string_literal const& sn, string_literal const& fn, unsigned int ln, scope_name_type t = general) BOOST_NOEXCEPT :
- scope_name(sn),
- file_name(fn),
- line(ln),
- type(t)
- {
- }
-};
-
-/*!
- * \brief The class implements the list of scopes
- *
- * The scope list provides a read-only access to a doubly-linked list of scopes.
- */
-class named_scope_list
- //! \cond
- : protected std::allocator< named_scope_entry >
- //! \endcond
-{
-public:
- //! Allocator type
- typedef std::allocator< named_scope_entry > allocator_type;
-
- // Standard types
- typedef named_scope_entry value_type;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef value_type* pointer;
- typedef const value_type* const_pointer;
- typedef value_type& reference;
- typedef value_type const& const_reference;
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-protected:
- //! Iterator class
-#ifndef BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS
- template< bool fConstV > class iter;
- template< bool fConstV > friend class iter;
-#endif
- template< bool fConstV >
- class iter
- {
- friend class iter< !fConstV >;
-
- public:
- // Standard typedefs
- typedef named_scope_list::difference_type difference_type;
- typedef named_scope_list::value_type value_type;
- typedef typename mpl::if_c<
- fConstV,
- named_scope_list::const_reference,
- named_scope_list::reference
- >::type reference;
- typedef typename mpl::if_c<
- fConstV,
- named_scope_list::const_pointer,
- named_scope_list::pointer
- >::type pointer;
- typedef std::bidirectional_iterator_tag iterator_category;
-
- public:
- // Constructors
- iter() : m_pNode(NULL) {}
- explicit iter(aux::named_scope_list_node* pNode) : m_pNode(pNode) {}
- iter(iter< false > const& that) : m_pNode(that.m_pNode) {}
-
- //! Assignment
- template< bool f >
- iter& operator= (iter< f > const& that)
- {
- m_pNode = that.m_pNode;
- return *this;
- }
-
- // Comparison
- template< bool f >
- bool operator== (iter< f > const& that) const { return (m_pNode == that.m_pNode); }
- template< bool f >
- bool operator!= (iter< f > const& that) const { return (m_pNode != that.m_pNode); }
-
- // Modification
- iter& operator++ ()
- {
- m_pNode = m_pNode->_m_pNext;
- return *this;
- }
- iter& operator-- ()
- {
- m_pNode = m_pNode->_m_pPrev;
- return *this;
- }
- iter operator++ (int)
- {
- iter tmp(*this);
- m_pNode = m_pNode->_m_pNext;
- return tmp;
- }
- iter operator-- (int)
- {
- iter tmp(*this);
- m_pNode = m_pNode->_m_pPrev;
- return tmp;
- }
-
- // Dereferencing
- pointer operator-> () const { return static_cast< pointer >(m_pNode); }
- reference operator* () const { return *static_cast< pointer >(m_pNode); }
-
- private:
- aux::named_scope_list_node* m_pNode;
- };
-
-public:
- typedef iter< true > const_iterator;
- typedef iter< false > iterator;
- typedef std::reverse_iterator< const_iterator > const_reverse_iterator;
- typedef std::reverse_iterator< iterator > reverse_iterator;
-
-protected:
- //! The root node of the container
- aux::named_scope_list_node m_RootNode;
- //! The size of the container
- size_type m_Size;
- //! The flag shows if the contained elements are dynamically allocated
- bool m_fNeedToDeallocate;
-
-#else // BOOST_LOG_DOXYGEN_PASS
-
- /*!
- * A constant iterator to the sequence of scopes. Complies to bidirectional iterator requirements.
- */
- typedef implementation_defined const_iterator;
- /*!
- * An iterator to the sequence of scopes. Complies to bidirectional iterator requirements.
- */
- typedef implementation_defined iterator;
- /*!
- * A constant reverse iterator to the sequence of scopes. Complies to bidirectional iterator requirements.
- */
- typedef implementation_defined const_reverse_iterator;
- /*!
- * A reverse iterator to the sequence of scopes. Complies to bidirectional iterator requirements.
- */
- typedef implementation_defined reverse_iterator;
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-public:
- /*!
- * Default constructor
- *
- * \post <tt>empty() == true</tt>
- */
- named_scope_list() : m_Size(0), m_fNeedToDeallocate(false) {}
- /*!
- * Copy constructor
- *
- * \post <tt>std::equal(begin(), end(), that.begin()) == true</tt>
- */
- BOOST_LOG_API named_scope_list(named_scope_list const& that);
- /*!
- * Destructor. Destroys the stored entries.
- */
- BOOST_LOG_API ~named_scope_list();
-
- /*!
- * Assignment operator
- *
- * \post <tt>std::equal(begin(), end(), that.begin()) == true</tt>
- */
- named_scope_list& operator= (named_scope_list const& that)
- {
- if (this != &that)
- {
- named_scope_list tmp(that);
- swap(tmp);
- }
- return *this;
- }
-
- /*!
- * \return Constant iterator to the first element of the container.
- */
- const_iterator begin() const { return const_iterator(m_RootNode._m_pNext); }
- /*!
- * \return Constant iterator to the after-the-last element of the container.
- */
- const_iterator end() const { return const_iterator(const_cast< aux::named_scope_list_node* >(&m_RootNode)); }
- /*!
- * \return Constant iterator to the last element of the container.
- */
- const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); }
- /*!
- * \return Constant iterator to the before-the-first element of the container.
- */
- const_reverse_iterator rend() const { return const_reverse_iterator(begin()); }
-
- /*!
- * \return The number of elements in the container
- */
- size_type size() const { return m_Size; }
- /*!
- * \return true if the container is empty and false otherwise
- */
- bool empty() const { return (m_Size == 0); }
-
- /*!
- * Swaps two instances of the container
- */
- BOOST_LOG_API void swap(named_scope_list& that);
-
- /*!
- * \return Last pushed scope entry
- */
- const_reference back() const { return *rbegin(); }
- /*!
- * \return First pushed scope entry
- */
- const_reference front() const { return *begin(); }
-};
-
-//! Stream output operator
-template< typename CharT, typename TraitsT >
-inline std::basic_ostream< CharT, TraitsT >& operator<< (std::basic_ostream< CharT, TraitsT >& strm, named_scope_list const& sl)
-{
- if (strm.good())
- {
- named_scope_list::const_iterator it = sl.begin(), end = sl.end();
- if (it != end)
- {
- strm << it->scope_name.c_str();
- for (++it; it != end; ++it)
- strm << "->" << it->scope_name.c_str();
- }
- }
- return strm;
-}
-
-/*!
- * \brief A class of an attribute that holds stack of named scopes of the current thread
- *
- * The basic_named_scope attribute is essentially a hook to the thread-specific instance of
- * scope list. This means that the attribute will generate different values if get_value is
- * called in different threads. The attribute generates value with stored type
- * <tt>basic_named_scope_list< CharT ></tt>.
- *
- * The attribute class can also be used to gain access to the scope stack instance, e.g. to
- * get its copy or to push or pop a scope entry. However, it is highly not recommended to
- * maintain scope list manually. Use \c BOOST_LOG_NAMED_SCOPE or \c BOOST_LOG_FUNCTION macros instead.
- */
-class BOOST_LOG_API named_scope :
- public attribute
-{
-public:
- //! Scope names stack (the attribute value type)
- typedef named_scope_list value_type;
- //! Scope entry
- typedef value_type::value_type scope_entry;
-
- //! Sentry object class to automatically push and pop scopes
- struct sentry
- {
- /*!
- * Constructor. Pushes the specified scope to the end of the thread-local list of scopes.
- *
- * \param sn Scope name.
- * \param fn File name, in which the scope is located.
- * \param ln Line number in the file.
- */
- sentry(string_literal const& sn, string_literal const& fn, unsigned int ln, scope_entry::scope_name_type t = scope_entry::general) BOOST_NOEXCEPT :
- m_Entry(sn, fn, ln, t)
- {
- named_scope::push_scope(m_Entry);
- }
-
- /*!
- * Destructor. Removes the last pushed scope from the thread-local list of scopes.
- */
- ~sentry() BOOST_NOEXCEPT
- {
- named_scope::pop_scope();
- }
-
- BOOST_DELETED_FUNCTION(sentry(sentry const&))
- BOOST_DELETED_FUNCTION(sentry& operator= (sentry const&))
-
- private:
- scope_entry m_Entry;
- };
-
-private:
- //! Attribute implementation class
- struct BOOST_SYMBOL_VISIBLE impl;
-
-public:
- /*!
- * Constructor. Creates an attribute.
- */
- named_scope();
- /*!
- * Constructor for casting support
- */
- explicit named_scope(cast_source const& source);
-
- /*!
- * The method pushes the scope to the back of the current thread's scope list
- *
- * \b Throws: Nothing.
- */
- static void push_scope(scope_entry const& entry) BOOST_NOEXCEPT;
- /*!
- * The method pops the last pushed scope from the current thread's scope list
- *
- * \b Throws: Nothing.
- */
- static void pop_scope() BOOST_NOEXCEPT;
-
- /*!
- * \return The current thread's list of scopes
- *
- * \note The returned reference is only valid until the current thread ends. The scopes in the
- * returned container may change if the execution scope is changed (i.e. either \c push_scope
- * or \c pop_scope is called). User has to copy the stack if he wants to keep it intact regardless
- * of the execution scope.
- */
- static value_type const& get_scopes();
-};
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_NAMED_SCOPE_INTERNAL(var, name, file, line, type)\
- BOOST_LOG_UNUSED_VARIABLE(::boost::log::attributes::named_scope::sentry, var, (name, file, line, type));
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * Macro for scope markup. The specified scope name is pushed to the end of the current thread scope list.
- */
-#define BOOST_LOG_NAMED_SCOPE(name)\
- BOOST_LOG_NAMED_SCOPE_INTERNAL(BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_named_scope_sentry_), name, __FILE__, __LINE__, ::boost::log::attributes::named_scope_entry::general)
-
-/*!
- * Macro for function scope markup. The scope name is constructed with help of compiler and contains the current function signature.
- * The scope name is pushed to the end of the current thread scope list.
- *
- * Not all compilers have support for this macro. The exact form of the scope name may vary from one compiler to another.
- */
-#define BOOST_LOG_FUNCTION()\
- BOOST_LOG_NAMED_SCOPE_INTERNAL(BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_named_scope_sentry_), BOOST_CURRENT_FUNCTION, __FILE__, __LINE__, ::boost::log::attributes::named_scope_entry::function)
-
-/*!
- * Macro for function scope markup. The scope name is constructed with help of compiler and contains the current function name. It may be shorter than what \c BOOST_LOG_FUNCTION macro produces.
- * The scope name is pushed to the end of the current thread scope list.
- *
- * Not all compilers have support for this macro. The exact form of the scope name may vary from one compiler to another.
- */
-#if defined(_MSC_VER) || defined(__GNUC__)
-#define BOOST_LOG_FUNC() BOOST_LOG_NAMED_SCOPE(__FUNCTION__)
-#else
-#define BOOST_LOG_FUNC() BOOST_LOG_FUNCTION()
-#endif
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_NAMED_SCOPE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/scoped_attribute.hpp b/contrib/restricted/boost/boost/log/attributes/scoped_attribute.hpp
deleted file mode 100644
index 88dd218e4c..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/scoped_attribute.hpp
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file scoped_attribute.hpp
- * \author Andrey Semashev
- * \date 13.05.2007
- *
- * The header contains definition of facilities to define scoped attributes.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_SCOPED_ATTRIBUTE_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_SCOPED_ATTRIBUTE_HPP_INCLUDED_
-
-#include <utility>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/core/addressof.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/core/core.hpp>
-#include <boost/log/sources/basic_logger.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_set.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/constant.hpp>
-#include <boost/log/utility/unused_variable.hpp>
-#include <boost/log/utility/unique_identifier_name.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! A base class for all scoped attribute guards
-class attribute_scope_guard
-{
-};
-
-} // namespace aux
-
-//! Scoped attribute guard type
-typedef aux::attribute_scope_guard const& scoped_attribute;
-
-namespace aux {
-
-//! A scoped logger attribute guard
-template< typename LoggerT >
-class scoped_logger_attribute :
- public attribute_scope_guard
-{
- BOOST_COPYABLE_AND_MOVABLE_ALT(scoped_logger_attribute)
-
-private:
- //! Logger type
- typedef LoggerT logger_type;
-
-private:
- //! A reference to the logger
- logger_type* m_pLogger;
- //! An iterator to the added attribute
- attribute_set::iterator m_itAttribute;
-
-public:
- //! Constructor
- scoped_logger_attribute(logger_type& l, attribute_name const& name, attribute const& attr) :
- m_pLogger(boost::addressof(l))
- {
- std::pair<
- attribute_set::iterator,
- bool
- > res = l.add_attribute(name, attr);
- if (res.second)
- m_itAttribute = res.first;
- else
- m_pLogger = 0; // if there already is a same-named attribute, don't register anything
- }
- //! Move constructor
- scoped_logger_attribute(BOOST_RV_REF(scoped_logger_attribute) that) :
- m_pLogger(that.m_pLogger),
- m_itAttribute(that.m_itAttribute)
- {
- that.m_pLogger = 0;
- }
-
- //! Destructor
- ~scoped_logger_attribute()
- {
- if (m_pLogger)
- m_pLogger->remove_attribute(m_itAttribute);
- }
-
-#ifndef BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT
- BOOST_DELETED_FUNCTION(scoped_logger_attribute(scoped_logger_attribute const&))
-#else // BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT
- scoped_logger_attribute(scoped_logger_attribute const& that) : m_pLogger(that.m_pLogger), m_itAttribute(that.m_itAttribute)
- {
- const_cast< scoped_logger_attribute& >(that).m_pLogger = 0;
- }
-#endif // BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT
-
- BOOST_DELETED_FUNCTION(scoped_logger_attribute& operator= (scoped_logger_attribute const&))
-};
-
-} // namespace aux
-
-// Generator helper functions
-/*!
- * Registers an attribute in the logger
- *
- * \param l Logger to register the attribute in
- * \param name Attribute name
- * \param attr The attribute. Must not be NULL.
- * \return An unspecified guard object which may be used to initialize a \c scoped_attribute variable.
- */
-template< typename LoggerT >
-BOOST_FORCEINLINE aux::scoped_logger_attribute< LoggerT > add_scoped_logger_attribute(LoggerT& l, attribute_name const& name, attribute const& attr)
-{
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- return aux::scoped_logger_attribute< LoggerT >(l, name, attr);
-#else
- aux::scoped_logger_attribute< LoggerT > guard(l, name, attr);
- return boost::move(guard);
-#endif
-}
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_SCOPED_LOGGER_ATTR_INTERNAL(logger, attr_name, attr, sentry_var_name)\
- BOOST_LOG_UNUSED_VARIABLE(::boost::log::scoped_attribute, sentry_var_name,\
- = ::boost::log::add_scoped_logger_attribute(logger, attr_name, (attr)));
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-//! The macro sets a scoped logger-wide attribute in a more compact way
-#define BOOST_LOG_SCOPED_LOGGER_ATTR(logger, attr_name, attr)\
- BOOST_LOG_SCOPED_LOGGER_ATTR_INTERNAL(\
- logger,\
- attr_name,\
- attr,\
- BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_scoped_logger_attr_sentry_))
-
-//! The macro sets a scoped logger-wide tag in a more compact way
-#define BOOST_LOG_SCOPED_LOGGER_TAG(logger, attr_name, attr_value)\
- BOOST_LOG_SCOPED_LOGGER_ATTR(logger, attr_name, ::boost::log::attributes::make_constant(attr_value))
-
-namespace aux {
-
-//! A scoped thread-specific attribute guard
-class scoped_thread_attribute :
- public attribute_scope_guard
-{
- BOOST_COPYABLE_AND_MOVABLE_ALT(scoped_thread_attribute)
-
-private:
- //! A pointer to the logging core
- core_ptr m_pCore;
- //! An iterator to the added attribute
- attribute_set::iterator m_itAttribute;
-
-public:
- //! Constructor
- scoped_thread_attribute(attribute_name const& name, attribute const& attr) :
- m_pCore(core::get())
- {
- std::pair<
- attribute_set::iterator,
- bool
- > res = m_pCore->add_thread_attribute(name, attr);
- if (res.second)
- m_itAttribute = res.first;
- else
- m_pCore.reset(); // if there already is a same-named attribute, don't register anything
- }
- //! Move constructor
- scoped_thread_attribute(BOOST_RV_REF(scoped_thread_attribute) that) : m_itAttribute(that.m_itAttribute)
- {
- m_pCore.swap(that.m_pCore);
- }
-
- //! Destructor
- ~scoped_thread_attribute()
- {
- if (!!m_pCore)
- m_pCore->remove_thread_attribute(m_itAttribute);
- }
-
-#ifndef BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT
- BOOST_DELETED_FUNCTION(scoped_thread_attribute(scoped_thread_attribute const&))
-#else // BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT
- scoped_thread_attribute(scoped_thread_attribute const& that) : m_itAttribute(that.m_itAttribute)
- {
- m_pCore.swap(const_cast< scoped_thread_attribute& >(that).m_pCore);
- }
-#endif // BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT
-
- BOOST_DELETED_FUNCTION(scoped_thread_attribute& operator= (scoped_thread_attribute const&))
-};
-
-} // namespace aux
-
-// Generator helper functions
-/*!
- * Registers a thread-specific attribute
- *
- * \param name Attribute name
- * \param attr The attribute. Must not be NULL.
- * \return An unspecified guard object which may be used to initialize a \c scoped_attribute variable.
- */
-BOOST_FORCEINLINE aux::scoped_thread_attribute add_scoped_thread_attribute(attribute_name const& name, attribute const& attr)
-{
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- return aux::scoped_thread_attribute(name, attr);
-#else
- aux::scoped_thread_attribute guard(name, attr);
- return boost::move(guard);
-#endif
-}
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_SCOPED_THREAD_ATTR_INTERNAL(attr_name, attr, sentry_var_name)\
- BOOST_LOG_UNUSED_VARIABLE(::boost::log::scoped_attribute, sentry_var_name,\
- = ::boost::log::add_scoped_thread_attribute(attr_name, (attr)));
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-//! The macro sets a scoped thread-wide attribute in a more compact way
-#define BOOST_LOG_SCOPED_THREAD_ATTR(attr_name, attr)\
- BOOST_LOG_SCOPED_THREAD_ATTR_INTERNAL(\
- attr_name,\
- attr,\
- BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_scoped_thread_attr_sentry_))
-
-//! The macro sets a scoped thread-wide tag in a more compact way
-#define BOOST_LOG_SCOPED_THREAD_TAG(attr_name, attr_value)\
- BOOST_LOG_SCOPED_THREAD_ATTR(attr_name, ::boost::log::attributes::make_constant(attr_value))
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_SCOPED_ATTRIBUTE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/time_traits.hpp b/contrib/restricted/boost/boost/log/attributes/time_traits.hpp
deleted file mode 100644
index 4935462fac..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/time_traits.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file time_traits.hpp
- * \author Andrey Semashev
- * \date 01.12.2007
- *
- * The header contains implementation of time traits that are used in various parts of the
- * library to acquire current time.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_TIME_TRAITS_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_TIME_TRAITS_HPP_INCLUDED_
-
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-//! Base class for time traits involving Boost.DateTime.
-struct basic_time_traits
-{
- //! Time type
- typedef posix_time::ptime time_type;
-
- //! Current time source
-#if defined(BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK)
- typedef posix_time::microsec_clock clock_source;
-#else
- typedef posix_time::second_clock clock_source;
-#endif // defined(BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK)
-};
-
-//! Time traits that describes UTC time acquirement via Boost.DateTime facilities
-struct utc_time_traits :
- public basic_time_traits
-{
- /*!
- * \return Current time stamp
- */
- static time_type get_clock()
- {
- return clock_source::universal_time();
- }
-};
-
-//! Time traits that describes local time acquirement via Boost.DateTime facilities
-struct local_time_traits :
- public basic_time_traits
-{
- /*!
- * \return Current time stamp
- */
- static time_type get_clock()
- {
- return clock_source::local_time();
- }
-};
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_TIME_TRAITS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/timer.hpp b/contrib/restricted/boost/boost/log/attributes/timer.hpp
deleted file mode 100644
index 5d3c65c4f9..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/timer.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file timer.hpp
- * \author Andrey Semashev
- * \date 02.12.2007
- *
- * The header contains implementation of a stop watch attribute.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_TIMER_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_TIMER_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_cast.hpp>
-#include <boost/log/attributes/time_traits.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-/*!
- * \brief A class of an attribute that makes an attribute value of the time interval since construction
- *
- * The timer attribute calculates the time passed since its construction and returns it on value acquisition.
- * The attribute value type is <tt>boost::posix_time::time_duration</tt>.
- *
- * On Windows platform there are two implementations of the attribute. The default one is more precise but
- * a bit slower. This version uses <tt>QueryPerformanceFrequence</tt>/<tt>QueryPerformanceCounter</tt> API
- * to calculate elapsed time.
- *
- * There are known problems with these functions when used with some CPUs, notably AMD Athlon with
- * Cool'n'Quiet technology enabled. See the following links for more information and possible resolutions:
- *
- * http://support.microsoft.com/?scid=kb;en-us;895980
- * http://support.microsoft.com/?id=896256
- *
- * In case if none of these solutions apply, you are free to define <tt>BOOST_LOG_NO_QUERY_PERFORMANCE_COUNTER</tt> macro to
- * fall back to another implementation based on Boost.DateTime.
- */
-class BOOST_LOG_API timer :
- public attribute
-{
-public:
- //! Attribute value type
- typedef utc_time_traits::time_type::time_duration_type value_type;
-
-private:
- //! Factory implementation
- class BOOST_SYMBOL_VISIBLE impl;
-
-public:
- /*!
- * Constructor. Starts time counting.
- */
- timer();
- /*!
- * Constructor for casting support
- */
- explicit timer(cast_source const& source);
-};
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_TIMER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/value_extraction.hpp b/contrib/restricted/boost/boost/log/attributes/value_extraction.hpp
deleted file mode 100644
index 87fd1495e3..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/value_extraction.hpp
+++ /dev/null
@@ -1,816 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file value_extraction.hpp
- * \author Andrey Semashev
- * \date 01.03.2008
- *
- * The header contains implementation of tools for extracting an attribute value
- * from the view.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_VALUE_EXTRACTION_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_VALUE_EXTRACTION_HPP_INCLUDED_
-
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/joint_view.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/push_back.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/core/record.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute_value.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/attributes/value_extraction_fwd.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/utility/value_ref.hpp>
-#include <boost/log/utility/type_dispatch/static_type_dispatcher.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace result_of {
-
-/*!
- * \brief A metafunction that allows to acquire the result of the value extraction
- *
- * The metafunction results in a type that is in form of <tt>T const&</tt>, if \c T is
- * not an MPL type sequence and <tt>DefaultT</tt> is the same as <tt>T</tt>,
- * or <tt>value_ref< TypesT, TagT ></tt> otherwise, with
- * \c TypesT being a type sequence comprising the types from sequence \c T and \c DefaultT,
- * if it is not present in \c T already.
- */
-template< typename T, typename DefaultT, typename TagT >
-struct extract_or_default
-{
- typedef typename mpl::eval_if<
- mpl::is_sequence< T >,
- mpl::eval_if<
- mpl::contains< T, DefaultT >,
- mpl::identity< T >,
- mpl::push_back< T, DefaultT >
- >,
- mpl::if_<
- is_same< T, DefaultT >,
- T,
- mpl::vector2< T, DefaultT >
- >
- >::type extracted_type;
-
- typedef typename mpl::if_<
- mpl::is_sequence< extracted_type >,
- value_ref< extracted_type, TagT >,
- extracted_type const&
- >::type type;
-};
-
-/*!
- * \brief A metafunction that allows to acquire the result of the value extraction
- *
- * The metafunction results in a type that is in form of <tt>T const&</tt>, if \c T is
- * not an MPL type sequence, or <tt>value_ref< T, TagT ></tt> otherwise. In the latter
- * case the value reference shall never be empty.
- */
-template< typename T, typename TagT >
-struct extract_or_throw
-{
- typedef typename mpl::if_<
- mpl::is_sequence< T >,
- value_ref< T, TagT >,
- T const&
- >::type type;
-};
-
-/*!
- * \brief A metafunction that allows to acquire the result of the value extraction
- *
- * The metafunction results in a type that is in form of <tt>value_ref< T, TagT ></tt>.
- */
-template< typename T, typename TagT >
-struct extract
-{
- typedef value_ref< T, TagT > type;
-};
-
-} // namespace result_of
-
-namespace aux {
-
-//! The function object initializes the value reference
-template< typename RefT >
-struct value_ref_initializer
-{
- typedef void result_type;
-
- value_ref_initializer(RefT& ref) : m_ref(ref)
- {
- }
-
- template< typename ArgT >
- result_type operator() (ArgT const& arg) const
- {
- m_ref = RefT(arg);
- }
-
-private:
- RefT& m_ref;
-};
-
-//! The function unwraps \c value_ref, if possible
-template< typename T, typename TagT >
-BOOST_FORCEINLINE typename boost::enable_if_c< mpl::is_sequence< T >::value, value_ref< T, TagT > >::type
-unwrap_value_ref(value_ref< T, TagT > const& r)
-{
- return r;
-}
-
-template< typename T, typename TagT >
-BOOST_FORCEINLINE typename boost::disable_if_c< mpl::is_sequence< T >::value, T const& >::type
-unwrap_value_ref(value_ref< T, TagT > const& r)
-{
- return r.get();
-}
-
-} // namespace aux
-
-/*!
- * \brief Generic attribute value extractor
- *
- * Attribute value extractor is a functional object that attempts to find and extract the stored
- * attribute value from the attribute values view or a log record. The extracted value is returned
- * from the extractor.
- */
-template< typename T, typename FallbackPolicyT, typename TagT >
-class value_extractor :
- private FallbackPolicyT
-{
-public:
- //! Fallback policy
- typedef FallbackPolicyT fallback_policy;
- //! Attribute value types
- typedef T value_type;
- //! Function object result type
- typedef value_ref< value_type, TagT > result_type;
-
-public:
- /*!
- * Default constructor
- */
- BOOST_DEFAULTED_FUNCTION(value_extractor(), {})
-
- /*!
- * Copy constructor
- */
- value_extractor(value_extractor const& that) : fallback_policy(static_cast< fallback_policy const& >(that))
- {
- }
-
- /*!
- * Constructor
- *
- * \param arg Fallback policy constructor argument
- */
- template< typename U >
- explicit value_extractor(U const& arg) : fallback_policy(arg) {}
-
- /*!
- * Extraction operator. Attempts to acquire the stored value of one of the supported types. If extraction succeeds,
- * the extracted value is returned.
- *
- * \param attr The attribute value to extract from.
- * \return The extracted value, if extraction succeeded, an empty value otherwise.
- */
- result_type operator() (attribute_value const& attr) const
- {
- result_type res;
- aux::value_ref_initializer< result_type > initializer(res);
- if (!!attr)
- {
- static_type_dispatcher< value_type > disp(initializer);
- if (!attr.dispatch(disp) && !fallback_policy::apply_default(initializer))
- fallback_policy::on_invalid_type(attr.get_type());
- }
- else if (!fallback_policy::apply_default(initializer))
- {
- fallback_policy::on_missing_value();
- }
- return res;
- }
-
- /*!
- * Extraction operator. Looks for an attribute value with the specified name
- * and tries to acquire the stored value of one of the supported types. If extraction succeeds,
- * the extracted value is returned.
- *
- * \param name Attribute value name.
- * \param attrs A set of attribute values in which to look for the specified attribute value.
- * \return The extracted value, if extraction succeeded, an empty value otherwise.
- */
- result_type operator() (attribute_name const& name, attribute_value_set const& attrs) const
- {
- try
- {
- attribute_value_set::const_iterator it = attrs.find(name);
- if (it != attrs.end())
- return operator() (it->second);
- else
- return operator() (attribute_value());
- }
- catch (exception& e)
- {
- // Attach the attribute name to the exception
- boost::log::aux::attach_attribute_name_info(e, name);
- throw;
- }
- }
-
- /*!
- * Extraction operator. Looks for an attribute value with the specified name
- * and tries to acquire the stored value of one of the supported types. If extraction succeeds,
- * the extracted value is returned.
- *
- * \param name Attribute value name.
- * \param rec A log record. The attribute value will be sought among those associated with the record.
- * \return The extracted value, if extraction succeeded, an empty value otherwise.
- */
- result_type operator() (attribute_name const& name, record const& rec) const
- {
- return operator() (name, rec.attribute_values());
- }
-
- /*!
- * Extraction operator. Looks for an attribute value with the specified name
- * and tries to acquire the stored value of one of the supported types. If extraction succeeds,
- * the extracted value is returned.
- *
- * \param name Attribute value name.
- * \param rec A log record view. The attribute value will be sought among those associated with the record.
- * \return The extracted value, if extraction succeeded, an empty value otherwise.
- */
- result_type operator() (attribute_name const& name, record_view const& rec) const
- {
- return operator() (name, rec.attribute_values());
- }
-
- /*!
- * \returns Fallback policy
- */
- fallback_policy const& get_fallback_policy() const
- {
- return *static_cast< fallback_policy const* >(this);
- }
-};
-
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
-#if !defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
-#define BOOST_LOG_AUX_VOID_DEFAULT = void
-#else
-#define BOOST_LOG_AUX_VOID_DEFAULT
-#endif
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param name The name of the attribute value to extract.
- * \param attrs A set of attribute values in which to look for the specified attribute value.
- * \return A \c value_ref that refers to the extracted value, if found. An empty value otherwise.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT >
-inline typename result_of::extract< T, TagT >::type extract(attribute_name const& name, attribute_value_set const& attrs)
-{
- value_extractor< T, fallback_to_none, TagT > extractor;
- return extractor(name, attrs);
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param name The name of the attribute value to extract.
- * \param rec A log record. The attribute value will be sought among those associated with the record.
- * \return A \c value_ref that refers to the extracted value, if found. An empty value otherwise.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT >
-inline typename result_of::extract< T, TagT >::type extract(attribute_name const& name, record const& rec)
-{
- value_extractor< T, fallback_to_none, TagT > extractor;
- return extractor(name, rec);
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param name The name of the attribute value to extract.
- * \param rec A log record view. The attribute value will be sought among those associated with the record.
- * \return A \c value_ref that refers to the extracted value, if found. An empty value otherwise.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT >
-inline typename result_of::extract< T, TagT >::type extract(attribute_name const& name, record_view const& rec)
-{
- value_extractor< T, fallback_to_none, TagT > extractor;
- return extractor(name, rec);
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param value Attribute value.
- * \return A \c value_ref that refers to the extracted value, if found. An empty value otherwise.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT >
-inline typename result_of::extract< T, TagT >::type extract(attribute_value const& value)
-{
- value_extractor< T, fallback_to_none, TagT > extractor;
- return extractor(value);
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param name The name of the attribute value to extract.
- * \param attrs A set of attribute values in which to look for the specified attribute value.
- * \return The extracted value or a non-empty \c value_ref that refers to the value.
- * \throws An exception is thrown if the requested value cannot be extracted.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT >
-inline typename result_of::extract_or_throw< T, TagT >::type extract_or_throw(attribute_name const& name, attribute_value_set const& attrs)
-{
- value_extractor< T, fallback_to_throw, TagT > extractor;
- return aux::unwrap_value_ref(extractor(name, attrs));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param name The name of the attribute value to extract.
- * \param rec A log record. The attribute value will be sought among those associated with the record.
- * \return The extracted value or a non-empty \c value_ref that refers to the value.
- * \throws An exception is thrown if the requested value cannot be extracted.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT >
-inline typename result_of::extract_or_throw< T, TagT >::type extract_or_throw(attribute_name const& name, record const& rec)
-{
- value_extractor< T, fallback_to_throw, TagT > extractor;
- return aux::unwrap_value_ref(extractor(name, rec));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param name The name of the attribute value to extract.
- * \param rec A log record view. The attribute value will be sought among those associated with the record.
- * \return The extracted value or a non-empty \c value_ref that refers to the value.
- * \throws An exception is thrown if the requested value cannot be extracted.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT >
-inline typename result_of::extract_or_throw< T, TagT >::type extract_or_throw(attribute_name const& name, record_view const& rec)
-{
- value_extractor< T, fallback_to_throw, TagT > extractor;
- return aux::unwrap_value_ref(extractor(name, rec));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param value Attribute value.
- * \return The extracted value or a non-empty \c value_ref that refers to the value.
- * \throws An exception is thrown if the requested value cannot be extracted.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT >
-inline typename result_of::extract_or_throw< T, TagT >::type extract_or_throw(attribute_value const& value)
-{
- value_extractor< T, fallback_to_throw, TagT > extractor;
- return aux::unwrap_value_ref(extractor(value));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \note Caution must be exercised if the default value is a temporary object. Because the function returns
- * a reference, if the temporary object is destroyed, the reference may become dangling.
- *
- * \param name The name of the attribute value to extract.
- * \param attrs A set of attribute values in which to look for the specified attribute value.
- * \param def_val The default value
- * \return The extracted value, if found. The default value otherwise.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT, typename DefaultT >
-inline typename result_of::extract_or_default< T, DefaultT, TagT >::type
-extract_or_default(attribute_name const& name, attribute_value_set const& attrs, DefaultT const& def_val)
-{
- typedef typename result_of::extract_or_default< T, DefaultT, TagT >::extracted_type extracted_type;
- value_extractor< extracted_type, fallback_to_default< DefaultT const& >, TagT > extractor(def_val);
- return aux::unwrap_value_ref(extractor(name, attrs));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \note Caution must be exercised if the default value is a temporary object. Because the function returns
- * a reference, if the temporary object is destroyed, the reference may become dangling.
- *
- * \param name The name of the attribute value to extract.
- * \param rec A log record. The attribute value will be sought among those associated with the record.
- * \param def_val The default value
- * \return The extracted value, if found. The default value otherwise.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT, typename DefaultT >
-inline typename result_of::extract_or_default< T, DefaultT, TagT >::type
-extract_or_default(attribute_name const& name, record const& rec, DefaultT const& def_val)
-{
- typedef typename result_of::extract_or_default< T, DefaultT, TagT >::extracted_type extracted_type;
- value_extractor< extracted_type, fallback_to_default< DefaultT const& >, TagT > extractor(def_val);
- return aux::unwrap_value_ref(extractor(name, rec));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \note Caution must be exercised if the default value is a temporary object. Because the function returns
- * a reference, if the temporary object is destroyed, the reference may become dangling.
- *
- * \param name The name of the attribute value to extract.
- * \param rec A log record view. The attribute value will be sought among those associated with the record.
- * \param def_val The default value
- * \return The extracted value, if found. The default value otherwise.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT, typename DefaultT >
-inline typename result_of::extract_or_default< T, DefaultT, TagT >::type
-extract_or_default(attribute_name const& name, record_view const& rec, DefaultT const& def_val)
-{
- typedef typename result_of::extract_or_default< T, DefaultT, TagT >::extracted_type extracted_type;
- value_extractor< extracted_type, fallback_to_default< DefaultT const& >, TagT > extractor(def_val);
- return aux::unwrap_value_ref(extractor(name, rec));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \note Caution must be exercised if the default value is a temporary object. Because the function returns
- * a reference, if the temporary object is destroyed, the reference may become dangling.
- *
- * \param value Attribute value.
- * \param def_val The default value
- * \return The extracted value, if found. The default value otherwise.
- */
-template< typename T, typename TagT BOOST_LOG_AUX_VOID_DEFAULT, typename DefaultT >
-inline typename result_of::extract_or_default< T, DefaultT, TagT >::type extract_or_default(attribute_value const& value, DefaultT const& def_val)
-{
- typedef typename result_of::extract_or_default< T, DefaultT, TagT >::extracted_type extracted_type;
- value_extractor< extracted_type, fallback_to_default< DefaultT const& >, TagT > extractor(def_val);
- return aux::unwrap_value_ref(extractor(value));
-}
-
-#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
-
-template< typename T >
-inline typename result_of::extract< T >::type extract(attribute_name const& name, attribute_value_set const& attrs)
-{
- value_extractor< T, fallback_to_none > extractor;
- return extractor(name, attrs);
-}
-
-template< typename T >
-inline typename result_of::extract< T >::type extract(attribute_name const& name, record const& rec)
-{
- value_extractor< T, fallback_to_none > extractor;
- return extractor(name, rec);
-}
-
-template< typename T >
-inline typename result_of::extract< T >::type extract(attribute_name const& name, record_view const& rec)
-{
- value_extractor< T, fallback_to_none > extractor;
- return extractor(name, rec);
-}
-
-template< typename T >
-inline typename result_of::extract< T >::type extract(attribute_value const& value)
-{
- value_extractor< T, fallback_to_none > extractor;
- return extractor(value);
-}
-
-template< typename T >
-inline typename result_of::extract_or_throw< T >::type extract_or_throw(attribute_name const& name, attribute_value_set const& attrs)
-{
- value_extractor< T, fallback_to_throw > extractor;
- return aux::unwrap_value_ref(extractor(name, attrs));
-}
-
-template< typename T >
-inline typename result_of::extract_or_throw< T >::type extract_or_throw(attribute_name const& name, record const& rec)
-{
- value_extractor< T, fallback_to_throw > extractor;
- return aux::unwrap_value_ref(extractor(name, rec));
-}
-
-template< typename T >
-inline typename result_of::extract_or_throw< T >::type extract_or_throw(attribute_name const& name, record_view const& rec)
-{
- value_extractor< T, fallback_to_throw > extractor;
- return aux::unwrap_value_ref(extractor(name, rec));
-}
-
-template< typename T >
-inline typename result_of::extract_or_throw< T >::type extract_or_throw(attribute_value const& value)
-{
- value_extractor< T, fallback_to_throw > extractor;
- return aux::unwrap_value_ref(extractor(value));
-}
-
-template< typename T, typename DefaultT >
-inline typename result_of::extract_or_default< T, DefaultT >::type extract_or_default(
- attribute_name const& name, attribute_value_set const& attrs, DefaultT const& def_val)
-{
- typedef typename result_of::extract_or_default< T, DefaultT >::extracted_type extracted_type;
- value_extractor< extracted_type, fallback_to_default< DefaultT const& > > extractor(def_val);
- return aux::unwrap_value_ref(extractor(name, attrs));
-}
-
-template< typename T, typename DefaultT >
-inline typename result_of::extract_or_default< T, DefaultT >::type extract_or_default(
- attribute_name const& name, record const& rec, DefaultT const& def_val)
-{
- typedef typename result_of::extract_or_default< T, DefaultT >::extracted_type extracted_type;
- value_extractor< extracted_type, fallback_to_default< DefaultT const& > > extractor(def_val);
- return aux::unwrap_value_ref(extractor(name, rec));
-}
-
-template< typename T, typename DefaultT >
-inline typename result_of::extract_or_default< T, DefaultT >::type extract_or_default(
- attribute_name const& name, record_view const& rec, DefaultT const& def_val)
-{
- typedef typename result_of::extract_or_default< T, DefaultT >::extracted_type extracted_type;
- value_extractor< extracted_type, fallback_to_default< DefaultT const& > > extractor(def_val);
- return aux::unwrap_value_ref(extractor(name, rec));
-}
-
-template< typename T, typename DefaultT >
-inline typename result_of::extract_or_default< T, DefaultT >::type extract_or_default(attribute_value const& value, DefaultT const& def_val)
-{
- typedef typename result_of::extract_or_default< T, DefaultT >::extracted_type extracted_type;
- value_extractor< extracted_type, fallback_to_default< DefaultT const& > > extractor(def_val);
- return aux::unwrap_value_ref(extractor(value));
-}
-
-#endif // defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param keyword The keyword of the attribute value to extract.
- * \param attrs A set of attribute values in which to look for the specified attribute value.
- * \return A \c value_ref that refers to the extracted value, if found. An empty value otherwise.
- */
-template< typename DescriptorT, template< typename > class ActorT >
-inline typename result_of::extract< typename DescriptorT::value_type, DescriptorT >::type
-extract(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, attribute_value_set const& attrs)
-{
- value_extractor< typename DescriptorT::value_type, fallback_to_none, DescriptorT > extractor;
- return extractor(keyword.get_name(), attrs);
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param keyword The keyword of the attribute value to extract.
- * \param rec A log record. The attribute value will be sought among those associated with the record.
- * \return A \c value_ref that refers to the extracted value, if found. An empty value otherwise.
- */
-template< typename DescriptorT, template< typename > class ActorT >
-inline typename result_of::extract< typename DescriptorT::value_type, DescriptorT >::type
-extract(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, record const& rec)
-{
- value_extractor< typename DescriptorT::value_type, fallback_to_none, DescriptorT > extractor;
- return extractor(keyword.get_name(), rec);
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param keyword The keyword of the attribute value to extract.
- * \param rec A log record view. The attribute value will be sought among those associated with the record.
- * \return A \c value_ref that refers to the extracted value, if found. An empty value otherwise.
- */
-template< typename DescriptorT, template< typename > class ActorT >
-inline typename result_of::extract< typename DescriptorT::value_type, DescriptorT >::type
-extract(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, record_view const& rec)
-{
- value_extractor< typename DescriptorT::value_type, fallback_to_none, DescriptorT > extractor;
- return extractor(keyword.get_name(), rec);
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param keyword The keyword of the attribute value to extract.
- * \param attrs A set of attribute values in which to look for the specified attribute value.
- * \return The extracted value or a non-empty \c value_ref that refers to the value.
- * \throws An exception is thrown if the requested value cannot be extracted.
- */
-template< typename DescriptorT, template< typename > class ActorT >
-inline typename result_of::extract_or_throw< typename DescriptorT::value_type, DescriptorT >::type
-extract_or_throw(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, attribute_value_set const& attrs)
-{
- value_extractor< typename DescriptorT::value_type, fallback_to_throw, DescriptorT > extractor;
- return aux::unwrap_value_ref(extractor(keyword.get_name(), attrs));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param keyword The keyword of the attribute value to extract.
- * \param rec A log record. The attribute value will be sought among those associated with the record.
- * \return The extracted value or a non-empty \c value_ref that refers to the value.
- * \throws An exception is thrown if the requested value cannot be extracted.
- */
-template< typename DescriptorT, template< typename > class ActorT >
-inline typename result_of::extract_or_throw< typename DescriptorT::value_type, DescriptorT >::type
-extract_or_throw(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, record const& rec)
-{
- value_extractor< typename DescriptorT::value_type, fallback_to_throw, DescriptorT > extractor;
- return aux::unwrap_value_ref(extractor(keyword.get_name(), rec));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \param keyword The keyword of the attribute value to extract.
- * \param rec A log record view. The attribute value will be sought among those associated with the record.
- * \return The extracted value or a non-empty \c value_ref that refers to the value.
- * \throws An exception is thrown if the requested value cannot be extracted.
- */
-template< typename DescriptorT, template< typename > class ActorT >
-inline typename result_of::extract_or_throw< typename DescriptorT::value_type, DescriptorT >::type
-extract_or_throw(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, record_view const& rec)
-{
- value_extractor< typename DescriptorT::value_type, fallback_to_throw, DescriptorT > extractor;
- return aux::unwrap_value_ref(extractor(keyword.get_name(), rec));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be extracted.
- *
- * \note Caution must be exercised if the default value is a temporary object. Because the function returns
- * a reference, if the temporary object is destroyed, the reference may become dangling.
- *
- * \param keyword The keyword of the attribute value to extract.
- * \param attrs A set of attribute values in which to look for the specified attribute value.
- * \param def_val The default value
- * \return The extracted value, if found. The default value otherwise.
- */
-template< typename DescriptorT, template< typename > class ActorT, typename DefaultT >
-inline typename result_of::extract_or_default< typename DescriptorT::value_type, DefaultT, DescriptorT >::type
-extract_or_default(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, attribute_value_set const& attrs, DefaultT const& def_val)
-{
- typedef typename result_of::extract_or_default< typename DescriptorT::value_type, DefaultT, DescriptorT >::extracted_type extracted_type;
- value_extractor< extracted_type, fallback_to_default< DefaultT const& >, DescriptorT > extractor(def_val);
- return aux::unwrap_value_ref(extractor(keyword.get_name(), attrs));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \note Caution must be exercised if the default value is a temporary object. Because the function returns
- * a reference, if the temporary object is destroyed, the reference may become dangling.
- *
- * \param keyword The keyword of the attribute value to extract.
- * \param rec A log record. The attribute value will be sought among those associated with the record.
- * \param def_val The default value
- * \return The extracted value, if found. The default value otherwise.
- */
-template< typename DescriptorT, template< typename > class ActorT, typename DefaultT >
-inline typename result_of::extract_or_default< typename DescriptorT::value_type, DefaultT, DescriptorT >::type
-extract_or_default(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, record const& rec, DefaultT const& def_val)
-{
- typedef typename result_of::extract_or_default< typename DescriptorT::value_type, DefaultT, DescriptorT >::extracted_type extracted_type;
- value_extractor< extracted_type, fallback_to_default< DefaultT const& >, DescriptorT > extractor(def_val);
- return aux::unwrap_value_ref(extractor(keyword.get_name(), rec));
-}
-
-/*!
- * The function extracts an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \note Caution must be exercised if the default value is a temporary object. Because the function returns
- * a reference, if the temporary object is destroyed, the reference may become dangling.
- *
- * \param keyword The keyword of the attribute value to extract.
- * \param rec A log record view. The attribute value will be sought among those associated with the record.
- * \param def_val The default value
- * \return The extracted value, if found. The default value otherwise.
- */
-template< typename DescriptorT, template< typename > class ActorT, typename DefaultT >
-inline typename result_of::extract_or_default< typename DescriptorT::value_type, DefaultT, DescriptorT >::type
-extract_or_default(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, record_view const& rec, DefaultT const& def_val)
-{
- typedef typename result_of::extract_or_default< typename DescriptorT::value_type, DefaultT, DescriptorT >::extracted_type extracted_type;
- value_extractor< extracted_type, fallback_to_default< DefaultT const& >, DescriptorT > extractor(def_val);
- return aux::unwrap_value_ref(extractor(keyword.get_name(), rec));
-}
-
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
-
-template< typename T, typename TagT >
-inline typename result_of::extract< T, TagT >::type attribute_value::extract() const
-{
- return boost::log::extract< T, TagT >(*this);
-}
-
-template< typename T, typename TagT >
-inline typename result_of::extract_or_throw< T, TagT >::type attribute_value::extract_or_throw() const
-{
- return boost::log::extract_or_throw< T, TagT >(*this);
-}
-
-template< typename T, typename TagT >
-inline typename result_of::extract_or_default< T, T, TagT >::type attribute_value::extract_or_default(T const& def_value) const
-{
- return boost::log::extract_or_default< T, TagT >(*this, def_value);
-}
-
-template< typename T, typename TagT, typename DefaultT >
-inline typename result_of::extract_or_default< T, DefaultT, TagT >::type attribute_value::extract_or_default(DefaultT const& def_value) const
-{
- return boost::log::extract_or_default< T, TagT >(*this, def_value);
-}
-
-#if defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
-
-template< typename T >
-inline typename result_of::extract< T >::type attribute_value::extract() const
-{
- return boost::log::extract< T >(*this);
-}
-
-template< typename T >
-inline typename result_of::extract_or_throw< T >::type attribute_value::extract_or_throw() const
-{
- return boost::log::extract_or_throw< T >(*this);
-}
-
-template< typename T >
-inline typename result_of::extract_or_default< T, T >::type attribute_value::extract_or_default(T const& def_value) const
-{
- return boost::log::extract_or_default< T >(*this, def_value);
-}
-
-template< typename T, typename DefaultT >
-inline typename result_of::extract_or_default< T, DefaultT >::type attribute_value::extract_or_default(DefaultT const& def_value) const
-{
- return boost::log::extract_or_default< T >(*this, def_value);
-}
-
-#endif // defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)
-
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-
-#undef BOOST_LOG_AUX_VOID_DEFAULT
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_VALUE_EXTRACTION_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/value_extraction_fwd.hpp b/contrib/restricted/boost/boost/log/attributes/value_extraction_fwd.hpp
deleted file mode 100644
index 0d9d6bd46b..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/value_extraction_fwd.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file value_extraction_fwd.hpp
- * \author Andrey Semashev
- * \date 01.03.2008
- *
- * The header contains forward declaration of tools for extracting attribute values
- * from the view.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_VALUE_EXTRACTION_FWD_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_VALUE_EXTRACTION_FWD_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/fallback_policy_fwd.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace result_of {
-
-/*!
- * \brief A metafunction that allows to acquire the result of the value extraction
- */
-template< typename T, typename DefaultT = T, typename TagT = void >
-struct extract_or_default;
-
-/*!
- * \brief A metafunction that allows to acquire the result of the value extraction
- */
-template< typename T, typename TagT = void >
-struct extract_or_throw;
-
-/*!
- * \brief A metafunction that allows to acquire the result of the value extraction
- */
-template< typename T, typename TagT = void >
-struct extract;
-
-} // namespace result_of
-
-/*!
- * \brief Generic attribute value extractor
- */
-template< typename T, typename FallbackPolicyT = fallback_to_none, typename TagT = void >
-class value_extractor;
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_ATTRIBUTES_VALUE_EXTRACTION_FWD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/value_visitation.hpp b/contrib/restricted/boost/boost/log/attributes/value_visitation.hpp
deleted file mode 100644
index 4dc9e2da75..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/value_visitation.hpp
+++ /dev/null
@@ -1,372 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file value_visitation.hpp
- * \author Andrey Semashev
- * \date 01.03.2008
- *
- * The header contains implementation of convenience tools to apply visitors to an attribute value
- * in the view.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_VALUE_VISITATION_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_VALUE_VISITATION_HPP_INCLUDED_
-
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/core/record.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute_value.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/attributes/value_visitation_fwd.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/utility/type_dispatch/static_type_dispatcher.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief The class represents attribute value visitation result
- *
- * The main purpose of this class is to provide a convenient interface for checking
- * whether the attribute value visitation succeeded or not. It also allows to discover
- * the actual cause of failure, should the operation fail.
- */
-class visitation_result
-{
-public:
- //! Error codes for attribute value visitation
- enum error_code
- {
- ok, //!< The attribute value has been visited successfully
- value_not_found, //!< The attribute value is not present in the view
- value_has_invalid_type //!< The attribute value is present in the view, but has an unexpected type
- };
-
-private:
- error_code m_code;
-
-public:
- /*!
- * Initializing constructor. Creates the result that is equivalent to the
- * specified error code.
- */
- BOOST_CONSTEXPR visitation_result(error_code code = ok) BOOST_NOEXCEPT : m_code(code) {}
-
- /*!
- * Checks if the visitation was successful.
- *
- * \return \c true if the value was visited successfully, \c false otherwise.
- */
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
- /*!
- * Checks if the visitation was unsuccessful.
- *
- * \return \c false if the value was visited successfully, \c true otherwise.
- */
- bool operator! () const BOOST_NOEXCEPT { return (m_code != ok); }
-
- /*!
- * \return The actual result code of value visitation
- */
- error_code code() const BOOST_NOEXCEPT { return m_code; }
-};
-
-/*!
- * \brief Generic attribute value visitor invoker
- *
- * Attribute value invoker is a functional object that attempts to find and extract the stored
- * attribute value from the attribute value view or a log record. The extracted value is passed to
- * a unary function object (the visitor) provided by user.
- *
- * The invoker can be specialized on one or several attribute value types that should be
- * specified in the second template argument.
- */
-template< typename T, typename FallbackPolicyT >
-class value_visitor_invoker :
- private FallbackPolicyT
-{
- typedef value_visitor_invoker< T, FallbackPolicyT > this_type;
-
-public:
- //! Attribute value types
- typedef T value_type;
-
- //! Fallback policy
- typedef FallbackPolicyT fallback_policy;
-
- //! Function object result type
- typedef visitation_result result_type;
-
-public:
- /*!
- * Default constructor
- */
- BOOST_DEFAULTED_FUNCTION(value_visitor_invoker(), {})
-
- /*!
- * Copy constructor
- */
- value_visitor_invoker(value_visitor_invoker const& that) : fallback_policy(static_cast< fallback_policy const& >(that))
- {
- }
-
- /*!
- * Initializing constructor
- *
- * \param arg Fallback policy argument
- */
- template< typename U >
- explicit value_visitor_invoker(U const& arg) : fallback_policy(arg) {}
-
- /*!
- * Visitation operator. Attempts to acquire the stored value of one of the supported types. If acquisition succeeds,
- * the value is passed to \a visitor.
- *
- * \param attr An attribute value to apply the visitor to.
- * \param visitor A receiving function object to pass the attribute value to.
- * \return The result of visitation.
- */
- template< typename VisitorT >
- result_type operator() (attribute_value const& attr, VisitorT visitor) const
- {
- if (!!attr)
- {
- static_type_dispatcher< value_type > disp(visitor);
- if (attr.dispatch(disp) || fallback_policy::apply_default(visitor))
- {
- return visitation_result::ok;
- }
- else
- {
- fallback_policy::on_invalid_type(attr.get_type());
- return visitation_result::value_has_invalid_type;
- }
- }
-
- if (fallback_policy::apply_default(visitor))
- return visitation_result::ok;
-
- fallback_policy::on_missing_value();
- return visitation_result::value_not_found;
- }
-
- /*!
- * Visitation operator. Looks for an attribute value with the specified name
- * and tries to acquire the stored value of one of the supported types. If acquisition succeeds,
- * the value is passed to \a visitor.
- *
- * \param name Attribute value name.
- * \param attrs A set of attribute values in which to look for the specified attribute value.
- * \param visitor A receiving function object to pass the attribute value to.
- * \return The result of visitation.
- */
- template< typename VisitorT >
- result_type operator() (attribute_name const& name, attribute_value_set const& attrs, VisitorT visitor) const
- {
- try
- {
- attribute_value_set::const_iterator it = attrs.find(name);
- if (it != attrs.end())
- return operator() (it->second, visitor);
- else
- return operator() (attribute_value(), visitor);
- }
- catch (exception& e)
- {
- // Attach the attribute name to the exception
- boost::log::aux::attach_attribute_name_info(e, name);
- throw;
- }
- }
-
- /*!
- * Visitation operator. Looks for an attribute value with the specified name
- * and tries to acquire the stored value of one of the supported types. If acquisition succeeds,
- * the value is passed to \a visitor.
- *
- * \param name Attribute value name.
- * \param rec A log record. The attribute value will be sought among those associated with the record.
- * \param visitor A receiving function object to pass the attribute value to.
- * \return The result of visitation.
- */
- template< typename VisitorT >
- result_type operator() (attribute_name const& name, record const& rec, VisitorT visitor) const
- {
- return operator() (name, rec.attribute_values(), visitor);
- }
-
- /*!
- * Visitation operator. Looks for an attribute value with the specified name
- * and tries to acquire the stored value of one of the supported types. If acquisition succeeds,
- * the value is passed to \a visitor.
- *
- * \param name Attribute value name.
- * \param rec A log record view. The attribute value will be sought among those associated with the record.
- * \param visitor A receiving function object to pass the attribute value to.
- * \return The result of visitation.
- */
- template< typename VisitorT >
- result_type operator() (attribute_name const& name, record_view const& rec, VisitorT visitor) const
- {
- return operator() (name, rec.attribute_values(), visitor);
- }
-
- /*!
- * \returns Fallback policy
- */
- fallback_policy const& get_fallback_policy() const
- {
- return *static_cast< fallback_policy const* >(this);
- }
-};
-
-/*!
- * The function applies a visitor to an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \param name The name of the attribute value to visit.
- * \param attrs A set of attribute values in which to look for the specified attribute value.
- * \param visitor A receiving function object to pass the attribute value to.
- * \return The result of visitation.
- */
-template< typename T, typename VisitorT >
-inline visitation_result
-visit(attribute_name const& name, attribute_value_set const& attrs, VisitorT visitor)
-{
- value_visitor_invoker< T > invoker;
- return invoker(name, attrs, visitor);
-}
-
-/*!
- * The function applies a visitor to an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \param name The name of the attribute value to visit.
- * \param rec A log record. The attribute value will be sought among those associated with the record.
- * \param visitor A receiving function object to pass the attribute value to.
- * \return The result of visitation.
- */
-template< typename T, typename VisitorT >
-inline visitation_result
-visit(attribute_name const& name, record const& rec, VisitorT visitor)
-{
- value_visitor_invoker< T > invoker;
- return invoker(name, rec, visitor);
-}
-
-/*!
- * The function applies a visitor to an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \param name The name of the attribute value to visit.
- * \param rec A log record view. The attribute value will be sought among those associated with the record.
- * \param visitor A receiving function object to pass the attribute value to.
- * \return The result of visitation.
- */
-template< typename T, typename VisitorT >
-inline visitation_result
-visit(attribute_name const& name, record_view const& rec, VisitorT visitor)
-{
- value_visitor_invoker< T > invoker;
- return invoker(name, rec, visitor);
-}
-
-/*!
- * The function applies a visitor to an attribute value. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \param value The attribute value to visit.
- * \param visitor A receiving function object to pass the attribute value to.
- * \return The result of visitation.
- */
-template< typename T, typename VisitorT >
-inline visitation_result
-visit(attribute_value const& value, VisitorT visitor)
-{
- value_visitor_invoker< T > invoker;
- return invoker(value, visitor);
-}
-
-/*!
- * The function applies a visitor to an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \param keyword The keyword of the attribute value to visit.
- * \param attrs A set of attribute values in which to look for the specified attribute value.
- * \param visitor A receiving function object to pass the attribute value to.
- * \return The result of visitation.
- */
-template< typename DescriptorT, template< typename > class ActorT, typename VisitorT >
-inline visitation_result
-visit(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, attribute_value_set const& attrs, VisitorT visitor)
-{
- value_visitor_invoker< typename DescriptorT::value_type > invoker;
- return invoker(keyword.get_name(), attrs, visitor);
-}
-
-/*!
- * The function applies a visitor to an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \param keyword The keyword of the attribute value to visit.
- * \param rec A log record. The attribute value will be sought among those associated with the record.
- * \param visitor A receiving function object to pass the attribute value to.
- * \return The result of visitation.
- */
-template< typename DescriptorT, template< typename > class ActorT, typename VisitorT >
-inline visitation_result
-visit(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, record const& rec, VisitorT visitor)
-{
- value_visitor_invoker< typename DescriptorT::value_type > invoker;
- return invoker(keyword.get_name(), rec, visitor);
-}
-
-/*!
- * The function applies a visitor to an attribute value from the view. The user has to explicitly specify the
- * type or set of possible types of the attribute value to be visited.
- *
- * \param keyword The keyword of the attribute value to visit.
- * \param rec A log record view. The attribute value will be sought among those associated with the record.
- * \param visitor A receiving function object to pass the attribute value to.
- * \return The result of visitation.
- */
-template< typename DescriptorT, template< typename > class ActorT, typename VisitorT >
-inline visitation_result
-visit(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword, record_view const& rec, VisitorT visitor)
-{
- value_visitor_invoker< typename DescriptorT::value_type > invoker;
- return invoker(keyword.get_name(), rec, visitor);
-}
-
-
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
-
-template< typename T, typename VisitorT >
-inline visitation_result attribute_value::visit(VisitorT visitor) const
-{
- return boost::log::visit< T >(*this, visitor);
-}
-
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTES_VALUE_VISITATION_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/attributes/value_visitation_fwd.hpp b/contrib/restricted/boost/boost/log/attributes/value_visitation_fwd.hpp
deleted file mode 100644
index b0d23f5714..0000000000
--- a/contrib/restricted/boost/boost/log/attributes/value_visitation_fwd.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file value_visitation_fwd.hpp
- * \author Andrey Semashev
- * \date 01.03.2008
- *
- * The header contains forward declaration of convenience tools to apply visitors to an attribute value
- * in the view.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTES_VALUE_VISITATION_FWD_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTES_VALUE_VISITATION_FWD_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/fallback_policy_fwd.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief The class represents attribute value visitation result
- */
-class visitation_result;
-
-/*!
- * \brief Generic attribute value visitor invoker
- */
-template< typename T, typename FallbackPolicyT = fallback_to_none >
-class value_visitor_invoker;
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_ATTRIBUTES_VALUE_VISITATION_FWD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/common.hpp b/contrib/restricted/boost/boost/log/common.hpp
deleted file mode 100644
index 2db9c75597..0000000000
--- a/contrib/restricted/boost/boost/log/common.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file common.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * This header includes other Boost.Log headers that are commonly used in logging applications.
- * Note that the header does not include any headers required to setup the library, as usually
- * they aren't needed in more than one translation unit of the application.
- */
-
-#ifndef BOOST_LOG_COMMON_HPP_INCLUDED_
-#define BOOST_LOG_COMMON_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#include <boost/log/core.hpp>
-
-#include <boost/log/sources/global_logger_storage.hpp>
-#include <boost/log/sources/record_ostream.hpp>
-
-#include <boost/log/sources/basic_logger.hpp>
-#include <boost/log/sources/severity_logger.hpp>
-#include <boost/log/sources/channel_logger.hpp>
-#include <boost/log/sources/severity_channel_logger.hpp>
-#include <boost/log/sources/exception_handler_feature.hpp>
-
-#include <boost/log/attributes/constant.hpp>
-#include <boost/log/attributes/named_scope.hpp>
-#include <boost/log/attributes/scoped_attribute.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_LOG_COMMON_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/core.hpp b/contrib/restricted/boost/boost/log/core.hpp
deleted file mode 100644
index 41051a230d..0000000000
--- a/contrib/restricted/boost/boost/log/core.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file log/core.hpp
- * \author Andrey Semashev
- * \date 19.04.2007
- *
- * This header includes Boost.Log headers related to the logging core.
- */
-
-#ifndef BOOST_LOG_CORE_HPP_INCLUDED_
-#define BOOST_LOG_CORE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#include <boost/log/core/core.hpp>
-#include <boost/log/core/record.hpp>
-#include <boost/log/core/record_view.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_LOG_CORE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/core/core.hpp b/contrib/restricted/boost/boost/log/core/core.hpp
deleted file mode 100644
index 84ad1ef3e1..0000000000
--- a/contrib/restricted/boost/boost/log/core/core.hpp
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file core/core.hpp
- * \author Andrey Semashev
- * \date 19.04.2007
- *
- * This header contains logging core class definition.
- */
-
-#ifndef BOOST_LOG_CORE_CORE_HPP_INCLUDED_
-#define BOOST_LOG_CORE_CORE_HPP_INCLUDED_
-
-#include <utility>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/move/core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/core/record.hpp>
-#include <boost/log/attributes/attribute_set.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/expressions/filter.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace sinks {
-
-class sink;
-
-} // namespace sinks
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-class core;
-
-typedef shared_ptr< core > core_ptr;
-
-/*!
- * \brief Logging library core class
- *
- * The logging core is used to interconnect log sources and sinks. It also provides
- * a number of basic features, like global filtering and global and thread-specific attribute storage.
- *
- * The logging core is a singleton. Users can acquire the core instance by calling the static method <tt>get</tt>.
- */
-class core
-{
-public:
- //! Exception handler function type
- typedef boost::log::aux::light_function< void () > exception_handler_type;
-
-private:
- //! Implementation type
- struct implementation;
- friend struct implementation;
-
-private:
- //! A pointer to the implementation
- implementation* m_impl;
-
-private:
- //! \cond
- core();
- //! \endcond
-
-public:
- /*!
- * Destructor. Destroys the core, releases any sinks and attributes that were registered.
- */
- ~core();
-
- /*!
- * \return The method returns a pointer to the logging core singleton instance.
- */
- BOOST_LOG_API static core_ptr get();
-
- /*!
- * The method enables or disables logging.
- *
- * Setting this status to \c false allows you to completely wipe out any logging activity, including
- * filtering and generation of attribute values. It is useful if you want to completely disable logging
- * in a running application. The state of logging does not alter any other properties of the logging
- * library, such as filters or sinks, so you can enable logging with the very same settings that you had
- * when the logging was disabled.
- * This feature may also be useful if you want to perform major changes to logging configuration and
- * don't want your application to block on opening or pushing a log record.
- *
- * By default logging is enabled.
- *
- * \param enabled The actual flag of logging activity.
- * \return The previous value of enabled/disabled logging flag
- */
- BOOST_LOG_API bool set_logging_enabled(bool enabled = true);
- /*!
- * The method allows to detect if logging is enabled. See the comment for \c set_logging_enabled.
- */
- BOOST_LOG_API bool get_logging_enabled() const;
-
- /*!
- * The method sets the global logging filter. The filter is applied to every log record that is processed.
- *
- * \param filter The filter function object to be installed.
- */
- BOOST_LOG_API void set_filter(filter const& filter);
- /*!
- * The method removes the global logging filter. All log records are passed to sinks without global filtering applied.
- */
- BOOST_LOG_API void reset_filter();
-
- /*!
- * The method adds a new sink. The sink is included into logging process immediately after being added and until being removed.
- * No sink can be added more than once at the same time. If the sink is already registered, the call is ignored.
- *
- * \param s The sink to be registered.
- */
- BOOST_LOG_API void add_sink(shared_ptr< sinks::sink > const& s);
- /*!
- * The method removes the sink from the output. The sink will not receive any log records after removal.
- * The call has no effect if the sink is not registered.
- *
- * \param s The sink to be unregistered.
- */
- BOOST_LOG_API void remove_sink(shared_ptr< sinks::sink > const& s);
- /*!
- * The method removes all registered sinks from the output. The sinks will not receive any log records after removal.
- */
- BOOST_LOG_API void remove_all_sinks();
-
- /*!
- * The method performs flush on all registered sinks.
- *
- * \note This method may take long time to complete as it may block until all sinks manage to process all buffered log records.
- * The call will also block all logging attempts until the operation completes.
- */
- BOOST_LOG_API void flush();
-
- /*!
- * The method adds an attribute to the global attribute set. The attribute will be implicitly added to every log record.
- *
- * \param name The attribute name.
- * \param attr The attribute factory.
- * \return A pair of values. If the second member is \c true, then the attribute is added and the first member points to the
- * attribute. Otherwise the attribute was not added and the first member points to the attribute that prevents
- * addition.
- */
- BOOST_LOG_API std::pair< attribute_set::iterator, bool > add_global_attribute(attribute_name const& name, attribute const& attr);
- /*!
- * The method removes an attribute from the global attribute set.
- *
- * \pre The attribute was added with the \c add_global_attribute call.
- * \post The attribute is no longer registered as a global attribute. The iterator is invalidated after removal.
- *
- * \param it Iterator to the previously added attribute.
- */
- BOOST_LOG_API void remove_global_attribute(attribute_set::iterator it);
-
- /*!
- * The method returns a copy of the complete set of currently registered global attributes.
- */
- BOOST_LOG_API attribute_set get_global_attributes() const;
- /*!
- * The method replaces the complete set of currently registered global attributes with the provided set.
- *
- * \note The method invalidates all iterators and references that may have been returned
- * from the \c add_global_attribute method.
- *
- * \param attrs The set of attributes to be installed.
- */
- BOOST_LOG_API void set_global_attributes(attribute_set const& attrs);
-
- /*!
- * The method adds an attribute to the thread-specific attribute set. The attribute will be implicitly added to
- * every log record made in the current thread.
- *
- * \note In single-threaded build the effect is the same as adding the attribute globally. This, however, does
- * not imply that iterators to thread-specific and global attributes are interchangeable.
- *
- * \param name The attribute name.
- * \param attr The attribute factory.
- * \return A pair of values. If the second member is \c true, then the attribute is added and the first member points to the
- * attribute. Otherwise the attribute was not added and the first member points to the attribute that prevents
- * addition.
- */
- BOOST_LOG_API std::pair< attribute_set::iterator, bool > add_thread_attribute(attribute_name const& name, attribute const& attr);
- /*!
- * The method removes an attribute from the thread-specific attribute set.
- *
- * \pre The attribute was added with the \c add_thread_attribute call.
- * \post The attribute is no longer registered as a thread-specific attribute. The iterator is invalidated after removal.
- *
- * \param it Iterator to the previously added attribute.
- */
- BOOST_LOG_API void remove_thread_attribute(attribute_set::iterator it);
-
- /*!
- * The method returns a copy of the complete set of currently registered thread-specific attributes.
- */
- BOOST_LOG_API attribute_set get_thread_attributes() const;
- /*!
- * The method replaces the complete set of currently registered thread-specific attributes with the provided set.
- *
- * \note The method invalidates all iterators and references that may have been returned
- * from the \c add_thread_attribute method.
- *
- * \param attrs The set of attributes to be installed.
- */
- BOOST_LOG_API void set_thread_attributes(attribute_set const& attrs);
-
- /*!
- * The method sets exception handler function. The function will be called with no arguments
- * in case if an exception occurs during either \c open_record or \c push_record method
- * execution. Since exception handler is called from a \c catch statement, the exception
- * can be rethrown in order to determine its type.
- *
- * By default no handler is installed, thus any exception is propagated as usual.
- *
- * \sa See also: <tt>utility/exception_handler.hpp</tt>
- * \param handler Exception handling function
- *
- * \note The exception handler can be invoked in several threads concurrently.
- * Thread interruptions are not affected by exception handlers.
- */
- BOOST_LOG_API void set_exception_handler(exception_handler_type const& handler);
-
- /*!
- * The method attempts to open a new record to be written. While attempting to open a log record all filtering is applied.
- * A successfully opened record can be pushed further to sinks by calling the \c push_record method or simply destroyed by
- * destroying the returned object.
- *
- * More than one open records are allowed, such records exist independently. All attribute values are acquired during opening
- * the record and do not interact between records.
- *
- * The returned records can be copied, however, they must not be passed between different threads.
- *
- * \param source_attributes The set of source-specific attributes to be attached to the record to be opened.
- * \return A valid log record if the record is opened, an invalid record object if not (e.g. because it didn't pass filtering).
- *
- * \b Throws: If an exception handler is installed, only throws if the handler throws. Otherwise may
- * throw if one of the sinks throws, or some system resource limitation is reached.
- */
- BOOST_LOG_API record open_record(attribute_set const& source_attributes);
- /*!
- * The method attempts to open a new record to be written. While attempting to open a log record all filtering is applied.
- * A successfully opened record can be pushed further to sinks by calling the \c push_record method or simply destroyed by
- * destroying the returned object.
- *
- * More than one open records are allowed, such records exist independently. All attribute values are acquired during opening
- * the record and do not interact between records.
- *
- * The returned records can be copied, however, they must not be passed between different threads.
- *
- * \param source_attributes The set of source-specific attribute values to be attached to the record to be opened.
- * \return A valid log record if the record is opened, an invalid record object if not (e.g. because it didn't pass filtering).
- *
- * \b Throws: If an exception handler is installed, only throws if the handler throws. Otherwise may
- * throw if one of the sinks throws, or some system resource limitation is reached.
- */
- BOOST_LOG_API record open_record(attribute_value_set const& source_attributes);
- /*!
- * The method attempts to open a new record to be written. While attempting to open a log record all filtering is applied.
- * A successfully opened record can be pushed further to sinks by calling the \c push_record method or simply destroyed by
- * destroying the returned object.
- *
- * More than one open records are allowed, such records exist independently. All attribute values are acquired during opening
- * the record and do not interact between records.
- *
- * The returned records can be copied, however, they must not be passed between different threads.
- *
- * \param source_attributes The set of source-specific attribute values to be attached to the record to be opened. The contents
- * of this container are unspecified after this call.
- * \return A valid log record if the record is opened, an invalid record object if not (e.g. because it didn't pass filtering).
- *
- * \b Throws: If an exception handler is installed, only throws if the handler throws. Otherwise may
- * throw if one of the sinks throws, or some system resource limitation is reached.
- */
- BOOST_FORCEINLINE record open_record(BOOST_RV_REF(attribute_value_set) source_attributes)
- {
- return open_record_move(static_cast< attribute_value_set& >(source_attributes));
- }
-
- /*!
- * The method pushes the record to sinks. The record is moved from in the process.
- *
- * \pre <tt>!!rec == true</tt>
- * \post <tt>!rec == true</tt>
- * \param rec A previously successfully opened log record.
- *
- * \b Throws: If an exception handler is installed, only throws if the handler throws. Otherwise may
- * throw if one of the sinks throws.
- */
- BOOST_FORCEINLINE void push_record(BOOST_RV_REF(record) rec)
- {
- push_record_move(static_cast< record& >(rec));
- }
-
- BOOST_DELETED_FUNCTION(core(core const&))
- BOOST_DELETED_FUNCTION(core& operator= (core const&))
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-private:
- //! Opens log record. This function is mostly needed to maintain ABI stable between C++03 and C++11.
- BOOST_LOG_API record open_record_move(attribute_value_set& source_attributes);
- //! The method pushes the record to sinks.
- BOOST_LOG_API void push_record_move(record& rec);
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_CORE_CORE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/core/record.hpp b/contrib/restricted/boost/boost/log/core/record.hpp
deleted file mode 100644
index 612d501783..0000000000
--- a/contrib/restricted/boost/boost/log/core/record.hpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file record.hpp
- * \author Andrey Semashev
- * \date 09.03.2009
- *
- * This header contains a logging record class definition.
- */
-
-#ifndef BOOST_LOG_CORE_RECORD_HPP_INCLUDED_
-#define BOOST_LOG_CORE_RECORD_HPP_INCLUDED_
-
-#include <boost/move/core.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-class core;
-
-/*!
- * \brief Logging record class
- *
- * The logging record encapsulates all information related to a single logging statement,
- * in particular, attribute values view and the log message string. The record can be updated before pushing
- * for further processing to the logging core.
- */
-class record
-{
- BOOST_MOVABLE_BUT_NOT_COPYABLE(record)
-
- friend class core;
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-private:
- //! Private data
- typedef record_view::public_data public_data;
-
-private:
- //! A pointer to the log record implementation
- public_data* m_impl;
-
-private:
- // A private constructor, accessible from core
- BOOST_CONSTEXPR explicit record(public_data* impl) BOOST_NOEXCEPT : m_impl(impl) {}
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-public:
- /*!
- * Default constructor. Creates an empty record that is equivalent to the invalid record handle.
- *
- * \post <tt>!*this == true</tt>
- */
- BOOST_CONSTEXPR record() BOOST_NOEXCEPT : m_impl(NULL) {}
-
- /*!
- * Move constructor. Source record contents unspecified after the operation.
- */
- record(BOOST_RV_REF(record) that) BOOST_NOEXCEPT : m_impl(that.m_impl)
- {
- that.m_impl = NULL;
- }
-
- /*!
- * Destructor. Destroys the record, releases any sinks and attribute values that were involved in processing this record.
- */
- ~record() BOOST_NOEXCEPT
- {
- reset();
- }
-
- /*!
- * Move assignment. Source record contents unspecified after the operation.
- */
- record& operator= (BOOST_RV_REF(record) that) BOOST_NOEXCEPT
- {
- swap(static_cast< record& >(that));
- return *this;
- }
-
- /*!
- * \return A reference to the set of attribute values attached to this record
- *
- * \pre <tt>!!*this</tt>
- */
- attribute_value_set& attribute_values() BOOST_NOEXCEPT
- {
- return m_impl->m_attribute_values;
- }
-
- /*!
- * \return A reference to the set of attribute values attached to this record
- *
- * \pre <tt>!!*this</tt>
- */
- attribute_value_set const& attribute_values() const BOOST_NOEXCEPT
- {
- return m_impl->m_attribute_values;
- }
-
- /*!
- * Conversion to an unspecified boolean type
- *
- * \return \c true, if the <tt>*this</tt> identifies a log record, \c false, if the <tt>*this</tt> is not valid
- */
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
-
- /*!
- * Inverted conversion to an unspecified boolean type
- *
- * \return \c false, if the <tt>*this</tt> identifies a log record, \c true, if the <tt>*this</tt> is not valid
- */
- bool operator! () const BOOST_NOEXCEPT
- {
- return !m_impl;
- }
-
- /*!
- * Swaps two handles
- *
- * \param that Another record to swap with
- * <b>Throws:</b> Nothing
- */
- void swap(record& that) BOOST_NOEXCEPT
- {
- public_data* p = m_impl;
- m_impl = that.m_impl;
- that.m_impl = p;
- }
-
- /*!
- * Resets the log record handle. If there are no other handles left, the log record is closed
- * and all resources referenced by the record are released.
- *
- * \post <tt>!*this == true</tt>
- */
- void reset() BOOST_NOEXCEPT
- {
- if (m_impl)
- {
- public_data::destroy(m_impl);
- m_impl = NULL;
- }
- }
-
- /*!
- * Attribute value lookup.
- *
- * \param name Attribute name.
- * \return An \c attribute_value, non-empty if it is found, empty otherwise.
- */
- attribute_value_set::mapped_type operator[] (attribute_value_set::key_type name) const
- {
- return m_impl->m_attribute_values[name];
- }
-
- /*!
- * Attribute value lookup.
- *
- * \param keyword Attribute keyword.
- * \return A \c value_ref with extracted attribute value if it is found, empty \c value_ref otherwise.
- */
- template< typename DescriptorT, template< typename > class ActorT >
- typename result_of::extract< typename expressions::attribute_keyword< DescriptorT, ActorT >::value_type, DescriptorT >::type
- operator[] (expressions::attribute_keyword< DescriptorT, ActorT > const& keyword) const
- {
- return m_impl->m_attribute_values[keyword];
- }
-
- /*!
- * The function ensures that the log record does not depend on any thread-specific data. Then the record contents
- * are used to construct a \c record_view which is returned from the function. The record is no longer valid after the call.
- *
- * \pre <tt>!!*this</tt>
- * \post <tt>!*this</tt>
- * \returns The record view that contains all attribute values from the original record.
- */
- BOOST_LOG_API record_view lock();
-};
-
-/*!
- * A free-standing swap function overload for \c record
- */
-inline void swap(record& left, record& right) BOOST_NOEXCEPT
-{
- left.swap(right);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_CORE_RECORD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/core/record_view.hpp b/contrib/restricted/boost/boost/log/core/record_view.hpp
deleted file mode 100644
index 7a3867760b..0000000000
--- a/contrib/restricted/boost/boost/log/core/record_view.hpp
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file record_view.hpp
- * \author Andrey Semashev
- * \date 09.03.2009
- *
- * This header contains a logging record view class definition.
- */
-
-#ifndef BOOST_LOG_CORE_RECORD_VIEW_HPP_INCLUDED_
-#define BOOST_LOG_CORE_RECORD_VIEW_HPP_INCLUDED_
-
-#include <boost/smart_ptr/intrusive_ptr.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#ifndef BOOST_LOG_NO_THREADS
-#include <boost/detail/atomic_count.hpp>
-#endif // BOOST_LOG_NO_THREADS
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-class core;
-class record;
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \brief Logging record view class
- *
- * The logging record encapsulates all information related to a single logging statement,
- * in particular, attribute values view and the log message string. The view is immutable,
- * it is implemented as a wrapper around a reference-counted implementation.
- */
-class record_view
-{
- BOOST_COPYABLE_AND_MOVABLE(record_view)
-
- friend class core;
- friend class record;
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-private:
- //! Private data
- struct private_data;
- friend struct private_data;
-
- //! Publicly available record data
- struct public_data
- {
- //! Reference counter
-#ifndef BOOST_LOG_NO_THREADS
- mutable boost::detail::atomic_count m_ref_counter;
-#else
- mutable unsigned int m_ref_counter;
-#endif // BOOST_LOG_NO_THREADS
-
- //! Attribute values view
- attribute_value_set m_attribute_values;
-
- //! Constructor from the attribute value set
- explicit public_data(BOOST_RV_REF(attribute_value_set) values) BOOST_NOEXCEPT :
- m_ref_counter(1),
- m_attribute_values(boost::move(values))
- {
- }
-
- //! Destructor
- BOOST_LOG_API static void destroy(const public_data* p) BOOST_NOEXCEPT;
-
- protected:
- ~public_data() {}
-
- BOOST_DELETED_FUNCTION(public_data(public_data const&))
- BOOST_DELETED_FUNCTION(public_data& operator= (public_data const&))
-
- friend void intrusive_ptr_add_ref(const public_data* p) BOOST_NOEXCEPT { ++p->m_ref_counter; }
- friend void intrusive_ptr_release(const public_data* p) BOOST_NOEXCEPT { if (--p->m_ref_counter == 0) public_data::destroy(p); }
- };
-
-private:
- //! A pointer to the log record implementation
- intrusive_ptr< public_data > m_impl;
-
-private:
- // A private constructor, accessible from record
- explicit record_view(public_data* impl) BOOST_NOEXCEPT : m_impl(impl, false) {}
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-public:
- /*!
- * Default constructor. Creates an empty record view that is equivalent to the invalid record handle.
- *
- * \post <tt>!*this == true</tt>
- */
- BOOST_CONSTEXPR record_view() BOOST_NOEXCEPT
-#if !defined(BOOST_LOG_NO_CXX11_DEFAULTED_NOEXCEPT_FUNCTIONS) && !defined(BOOST_LOG_NO_CXX11_DEFAULTED_CONSTEXPR_CONSTRUCTORS)
- = default;
-#else
- {}
-#endif
-
- /*!
- * Copy constructor
- */
- record_view(record_view const& that) BOOST_NOEXCEPT : m_impl(that.m_impl) {}
-
- /*!
- * Move constructor. Source record contents unspecified after the operation.
- */
- record_view(BOOST_RV_REF(record_view) that) BOOST_NOEXCEPT
- {
- m_impl.swap(that.m_impl);
- }
-
- /*!
- * Destructor. Destroys the record, releases any sinks and attribute values that were involved in processing this record.
- */
- ~record_view() BOOST_NOEXCEPT {}
-
- /*!
- * Copy assignment
- */
- record_view& operator= (BOOST_COPY_ASSIGN_REF(record_view) that) BOOST_NOEXCEPT
- {
- m_impl = that.m_impl;
- return *this;
- }
-
- /*!
- * Move assignment. Source record contents unspecified after the operation.
- */
- record_view& operator= (BOOST_RV_REF(record_view) that) BOOST_NOEXCEPT
- {
- m_impl.swap(that.m_impl);
- return *this;
- }
-
- /*!
- * \return A reference to the set of attribute values attached to this record
- *
- * \pre <tt>!!*this</tt>
- */
- attribute_value_set const& attribute_values() const BOOST_NOEXCEPT
- {
- return m_impl->m_attribute_values;
- }
-
- /*!
- * Equality comparison
- *
- * \param that Comparand
- * \return \c true if both <tt>*this</tt> and \a that identify the same log record or both do not
- * identify any record, \c false otherwise.
- */
- bool operator== (record_view const& that) const BOOST_NOEXCEPT
- {
- return m_impl == that.m_impl;
- }
-
- /*!
- * Inequality comparison
- *
- * \param that Comparand
- * \return <tt>!(*this == that)</tt>
- */
- bool operator!= (record_view const& that) const BOOST_NOEXCEPT
- {
- return !operator== (that);
- }
-
- /*!
- * Conversion to an unspecified boolean type
- *
- * \return \c true, if the <tt>*this</tt> identifies a log record, \c false, if the <tt>*this</tt> is not valid
- */
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
-
- /*!
- * Inverted conversion to an unspecified boolean type
- *
- * \return \c false, if the <tt>*this</tt> identifies a log record, \c true, if the <tt>*this</tt> is not valid
- */
- bool operator! () const BOOST_NOEXCEPT
- {
- return !m_impl;
- }
-
- /*!
- * Swaps two handles
- *
- * \param that Another record to swap with
- * <b>Throws:</b> Nothing
- */
- void swap(record_view& that) BOOST_NOEXCEPT
- {
- m_impl.swap(that.m_impl);
- }
-
- /*!
- * Resets the log record handle. If there are no other handles left, the log record is closed
- * and all resources referenced by the record are released.
- *
- * \post <tt>!*this == true</tt>
- */
- void reset() BOOST_NOEXCEPT
- {
- m_impl.reset();
- }
-
- /*!
- * Attribute value lookup.
- *
- * \param name Attribute name.
- * \return An \c attribute_value, non-empty if it is found, empty otherwise.
- */
- attribute_value_set::mapped_type operator[] (attribute_value_set::key_type name) const
- {
- return m_impl->m_attribute_values[name];
- }
-
- /*!
- * Attribute value lookup.
- *
- * \param keyword Attribute keyword.
- * \return A \c value_ref with extracted attribute value if it is found, empty \c value_ref otherwise.
- */
- template< typename DescriptorT, template< typename > class ActorT >
- typename result_of::extract< typename expressions::attribute_keyword< DescriptorT, ActorT >::value_type, DescriptorT >::type
- operator[] (expressions::attribute_keyword< DescriptorT, ActorT > const& keyword) const
- {
- return m_impl->m_attribute_values[keyword];
- }
-};
-
-/*!
- * A free-standing swap function overload for \c record_view
- */
-inline void swap(record_view& left, record_view& right) BOOST_NOEXCEPT
-{
- left.swap(right);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_CORE_RECORD_VIEW_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/adaptive_mutex.hpp b/contrib/restricted/boost/boost/log/detail/adaptive_mutex.hpp
deleted file mode 100644
index 70efd92e7c..0000000000
--- a/contrib/restricted/boost/boost/log/detail/adaptive_mutex.hpp
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file adaptive_mutex.hpp
- * \author Andrey Semashev
- * \date 01.08.2010
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_ADAPTIVE_MUTEX_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_ADAPTIVE_MUTEX_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_NO_THREADS
-
-#include <boost/throw_exception.hpp>
-#include <boost/thread/exceptions.hpp>
-
-#if defined(BOOST_THREAD_POSIX) // This one can be defined by users, so it should go first
-#define BOOST_LOG_ADAPTIVE_MUTEX_USE_PTHREAD
-#elif defined(BOOST_WINDOWS)
-#define BOOST_LOG_ADAPTIVE_MUTEX_USE_WINAPI
-#elif defined(BOOST_HAS_PTHREADS)
-#define BOOST_LOG_ADAPTIVE_MUTEX_USE_PTHREAD
-#endif
-
-#if defined(BOOST_LOG_ADAPTIVE_MUTEX_USE_WINAPI)
-
-#include <boost/log/detail/pause.hpp>
-#include <boost/winapi/thread.hpp>
-#include <boost/detail/interlocked.hpp>
-
-#if defined(__INTEL_COMPILER) || defined(_MSC_VER)
-# if defined(__INTEL_COMPILER)
-# define BOOST_LOG_COMPILER_BARRIER __memory_barrier()
-# else
-extern "C" void _ReadWriteBarrier(void);
-# if defined(BOOST_MSVC)
-# pragma intrinsic(_ReadWriteBarrier)
-# endif
-# define BOOST_LOG_COMPILER_BARRIER _ReadWriteBarrier()
-# endif
-#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
-# define BOOST_LOG_COMPILER_BARRIER __asm__ __volatile__("" : : : "memory")
-#endif
-
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! A mutex that performs spinning or thread yielding in case of contention
-class adaptive_mutex
-{
-private:
- enum state
- {
- initial_pause = 2,
- max_pause = 16
- };
-
- long m_State;
-
-public:
- adaptive_mutex() : m_State(0) {}
-
- bool try_lock()
- {
- return (BOOST_INTERLOCKED_COMPARE_EXCHANGE(&m_State, 1L, 0L) == 0L);
- }
-
- void lock()
- {
-#if defined(BOOST_LOG_AUX_PAUSE)
- unsigned int pause_count = initial_pause;
-#endif
- while (!try_lock())
- {
-#if defined(BOOST_LOG_AUX_PAUSE)
- if (pause_count < max_pause)
- {
- for (unsigned int i = 0; i < pause_count; ++i)
- {
- BOOST_LOG_AUX_PAUSE;
- }
- pause_count += pause_count;
- }
- else
- {
- // Restart spinning after waking up this thread
- pause_count = initial_pause;
- boost::winapi::SwitchToThread();
- }
-#else
- boost::winapi::SwitchToThread();
-#endif
- }
- }
-
- void unlock()
- {
-#if (defined(_M_IX86) || defined(_M_AMD64)) && defined(BOOST_LOG_COMPILER_BARRIER)
- BOOST_LOG_COMPILER_BARRIER;
- m_State = 0L;
- BOOST_LOG_COMPILER_BARRIER;
-#else
- BOOST_INTERLOCKED_EXCHANGE(&m_State, 0L);
-#endif
- }
-
- // Non-copyable
- BOOST_DELETED_FUNCTION(adaptive_mutex(adaptive_mutex const&))
- BOOST_DELETED_FUNCTION(adaptive_mutex& operator= (adaptive_mutex const&))
-};
-
-#undef BOOST_LOG_AUX_PAUSE
-#undef BOOST_LOG_COMPILER_BARRIER
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#elif defined(BOOST_LOG_ADAPTIVE_MUTEX_USE_PTHREAD)
-
-#include <pthread.h>
-#include <boost/assert.hpp>
-#include <boost/log/detail/header.hpp>
-
-#if defined(PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP)
-#define BOOST_LOG_ADAPTIVE_MUTEX_USE_PTHREAD_MUTEX_ADAPTIVE_NP
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! A mutex that performs spinning or thread yielding in case of contention
-class adaptive_mutex
-{
-private:
- pthread_mutex_t m_State;
-
-public:
- adaptive_mutex()
- {
-#if defined(BOOST_LOG_ADAPTIVE_MUTEX_USE_PTHREAD_MUTEX_ADAPTIVE_NP)
- pthread_mutexattr_t attrs;
- pthread_mutexattr_init(&attrs);
- pthread_mutexattr_settype(&attrs, PTHREAD_MUTEX_ADAPTIVE_NP);
-
- const int err = pthread_mutex_init(&m_State, &attrs);
- pthread_mutexattr_destroy(&attrs);
-#else
- const int err = pthread_mutex_init(&m_State, NULL);
-#endif
- if (BOOST_UNLIKELY(err != 0))
- throw_exception< thread_resource_error >(err, "Failed to initialize an adaptive mutex", "adaptive_mutex::adaptive_mutex()", __FILE__, __LINE__);
- }
-
- ~adaptive_mutex()
- {
- BOOST_VERIFY(pthread_mutex_destroy(&m_State) == 0);
- }
-
- bool try_lock()
- {
- const int err = pthread_mutex_trylock(&m_State);
- if (err == 0)
- return true;
- if (BOOST_UNLIKELY(err != EBUSY))
- throw_exception< lock_error >(err, "Failed to lock an adaptive mutex", "adaptive_mutex::try_lock()", __FILE__, __LINE__);
- return false;
- }
-
- void lock()
- {
- const int err = pthread_mutex_lock(&m_State);
- if (BOOST_UNLIKELY(err != 0))
- throw_exception< lock_error >(err, "Failed to lock an adaptive mutex", "adaptive_mutex::lock()", __FILE__, __LINE__);
- }
-
- void unlock()
- {
- BOOST_VERIFY(pthread_mutex_unlock(&m_State) == 0);
- }
-
- // Non-copyable
- BOOST_DELETED_FUNCTION(adaptive_mutex(adaptive_mutex const&))
- BOOST_DELETED_FUNCTION(adaptive_mutex& operator= (adaptive_mutex const&))
-
-private:
- template< typename ExceptionT >
- static BOOST_NOINLINE BOOST_LOG_NORETURN void throw_exception(int err, const char* descr, const char* func, const char* file, int line)
- {
-#if !defined(BOOST_EXCEPTION_DISABLE)
- boost::exception_detail::throw_exception_(ExceptionT(err, descr), func, file, line);
-#else
- boost::throw_exception(ExceptionT(err, descr));
-#endif
- }
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif
-
-#endif // BOOST_LOG_NO_THREADS
-
-#endif // BOOST_LOG_DETAIL_ADAPTIVE_MUTEX_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/allocator_traits.hpp b/contrib/restricted/boost/boost/log/detail/allocator_traits.hpp
deleted file mode 100644
index 3f9501c655..0000000000
--- a/contrib/restricted/boost/boost/log/detail/allocator_traits.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright Andrey Semashev 2018.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file allocator_traits.hpp
- * \author Andrey Semashev
- * \date 03.01.2018
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_ALLOCATOR_TRAITS_HPP_INCLUDED_
-#define BOOST_LOG_ALLOCATOR_TRAITS_HPP_INCLUDED_
-
-#include <memory>
-#include <boost/log/detail/config.hpp>
-#if defined(BOOST_NO_CXX11_ALLOCATOR)
-#include <boost/container/allocator_traits.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-// A portable name for allocator traits
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
-using std::allocator_traits;
-#else
-using boost::container::allocator_traits;
-#endif
-
-/*!
- * \brief A standalone trait to rebind an allocator to another type.
- *
- * The important difference from <tt>std::allocator_traits&lt;Alloc&gt;::rebind_alloc&lt;U&gt;</tt> is that this
- * trait does not require template aliases and thus is compatible with C++03. There is
- * <tt>boost::container::allocator_traits&lt;Alloc&gt;::portable_rebind_alloc&lt;U&gt;</tt>, but it is not present in <tt>std::allocator_traits</tt>.
- * It will also attempt to instantiate the allocator type to test if it provides the nested <tt>rebind</tt> template. We don't want
- * that to happen because it prohibits using <tt>std::allocator&lt;void&gt;</tt> in C++17 and later, which deprecated
- * this allocator specialization. This standalone trait does not use the nested <tt>rebind</tt> template in this case.
- */
-template< typename Allocator, typename U >
-struct rebind_alloc
-{
-#if !defined(BOOST_NO_CXX11_ALLOCATOR)
- typedef typename std::allocator_traits< Allocator >::BOOST_NESTED_TEMPLATE rebind_alloc< U > type;
-#else
- typedef typename boost::container::allocator_traits< Allocator >::BOOST_NESTED_TEMPLATE portable_rebind_alloc< U >::type type;
-#endif
-};
-
-template< typename U >
-struct rebind_alloc< std::allocator< void >, U >
-{
- typedef std::allocator< U > type;
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ALLOCATOR_TRAITS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/asio_fwd.hpp b/contrib/restricted/boost/boost/log/detail/asio_fwd.hpp
deleted file mode 100644
index 57d51b0441..0000000000
--- a/contrib/restricted/boost/boost/log/detail/asio_fwd.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file asio_fwd.hpp
- * \author Andrey Semashev
- * \date 20.04.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- *
- * The header provides forward declarations of Boost.ASIO that are required for the user's
- * code to compile with Boost.Log. The forward declarations allow to avoid including the major
- * part of Boost.ASIO and system headers into user's code.
- */
-
-#ifndef BOOST_LOG_DETAIL_ASIO_FWD_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_ASIO_FWD_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-namespace asio {
-
-namespace ip {
-
-class address;
-
-} // namespace ip
-
-} // namespace asio
-
-} // namespace boost
-
-#endif // BOOST_LOG_DETAIL_ASIO_FWD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/attachable_sstream_buf.hpp b/contrib/restricted/boost/boost/log/detail/attachable_sstream_buf.hpp
deleted file mode 100644
index 198ce90afb..0000000000
--- a/contrib/restricted/boost/boost/log/detail/attachable_sstream_buf.hpp
+++ /dev/null
@@ -1,336 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file attachable_sstream_buf.hpp
- * \author Andrey Semashev
- * \date 29.07.2007
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifdef __GNUC__
-#pragma GCC system_header
-#endif
-
-#ifndef BOOST_LOG_ATTACHABLE_SSTREAM_BUF_HPP_INCLUDED_
-#define BOOST_LOG_ATTACHABLE_SSTREAM_BUF_HPP_INCLUDED_
-
-#include <cstddef>
-#include <memory>
-#include <locale>
-#include <string>
-#include <streambuf>
-#include <boost/assert.hpp>
-#include <boost/type_traits/integral_constant.hpp>
-#include <boost/locale/utf.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! A streambuf that puts the formatted data to an external string
-template<
- typename CharT,
- typename TraitsT = std::char_traits< CharT >,
- typename AllocatorT = std::allocator< CharT >
->
-class basic_ostringstreambuf :
- public std::basic_streambuf< CharT, TraitsT >
-{
- //! Self type
- typedef basic_ostringstreambuf< CharT, TraitsT, AllocatorT > this_type;
- //! Base type
- typedef std::basic_streambuf< CharT, TraitsT > base_type;
-
- //! Buffer size
- enum { buffer_size = 16 };
-
-public:
- //! Character type
- typedef typename base_type::char_type char_type;
- //! Traits type
- typedef typename base_type::traits_type traits_type;
- //! String type
- typedef std::basic_string< char_type, traits_type, AllocatorT > string_type;
- //! Size type
- typedef typename string_type::size_type size_type;
- //! Int type
- typedef typename base_type::int_type int_type;
-
- struct storage_state
- {
- //! A reference to the string that will be filled
- string_type* storage;
- //! Max size of the storage, in characters
- size_type max_size;
- //! Indicates that storage overflow happened
- bool overflow;
-
- BOOST_CONSTEXPR storage_state() BOOST_NOEXCEPT : storage(NULL), max_size(0u), overflow(false)
- {
- }
- };
-
-private:
- //! Buffer storage state
- storage_state m_storage_state;
- //! A buffer used to temporarily store output
- char_type m_buffer[buffer_size];
-
-public:
- //! Constructor
- basic_ostringstreambuf() BOOST_NOEXCEPT
- {
- base_type::setp(m_buffer, m_buffer + (sizeof(m_buffer) / sizeof(*m_buffer)));
- }
- //! Constructor
- explicit basic_ostringstreambuf(string_type& storage) BOOST_NOEXCEPT
- {
- base_type::setp(m_buffer, m_buffer + (sizeof(m_buffer) / sizeof(*m_buffer)));
- attach(storage);
- }
-
- storage_state const& get_storage_state() const BOOST_NOEXCEPT { return m_storage_state; }
- void set_storage_state(storage_state const& st) BOOST_NOEXCEPT { m_storage_state = st; }
-
- //! Detaches the buffer from the string
- void detach()
- {
- if (m_storage_state.storage)
- {
- this_type::sync();
- m_storage_state.storage = NULL;
- m_storage_state.max_size = 0u;
- m_storage_state.overflow = false;
- }
- }
-
- //! Attaches the buffer to another string
- void attach(string_type& storage)
- {
- attach(storage, storage.max_size());
- }
-
- //! Attaches the buffer to another string
- void attach(string_type& storage, size_type max_size)
- {
- detach();
- m_storage_state.storage = &storage;
- this->max_size(max_size);
- }
-
- //! Returns a pointer to the attached string
- string_type* storage() const BOOST_NOEXCEPT { return m_storage_state.storage; }
-
- //! Returns the maximum size of the storage
- size_type max_size() const BOOST_NOEXCEPT { return m_storage_state.max_size; }
- //! Sets the maximum size of the storage
- void max_size(size_type size)
- {
- if (m_storage_state.storage)
- {
- const size_type storage_max_size = m_storage_state.storage->max_size();
- size = size > storage_max_size ? storage_max_size : size;
- }
-
- m_storage_state.max_size = size;
- ensure_max_size();
- }
- //! Makes sure the storage does not exceed the max size limit. Should be called after the storage is modified externally.
- void ensure_max_size()
- {
- if (m_storage_state.storage && m_storage_state.storage->size() > m_storage_state.max_size)
- {
- const size_type len = length_until_boundary(m_storage_state.storage->c_str(), m_storage_state.storage->size(), m_storage_state.max_size);
- m_storage_state.storage->resize(len);
- m_storage_state.overflow = true;
- }
- }
-
- //! Returns true if the max size limit has been exceeded
- bool storage_overflow() const BOOST_NOEXCEPT { return m_storage_state.overflow; }
- //! Sets the overflow flag
- void storage_overflow(bool f) BOOST_NOEXCEPT { m_storage_state.overflow = f; }
-
- //! Returns the size left in the storage
- size_type size_left() const BOOST_NOEXCEPT
- {
- BOOST_ASSERT(m_storage_state.storage != NULL);
-
- const size_type size = m_storage_state.storage->size();
- return size < m_storage_state.max_size ? m_storage_state.max_size - size : static_cast< size_type >(0u);
- }
-
- //! Appends a string to the storage and returns the number of written characters
- size_type append(const char_type* s, size_type n)
- {
- if (!m_storage_state.overflow)
- {
- BOOST_ASSERT(m_storage_state.storage != NULL);
-
- size_type left = size_left();
- BOOST_LOG_ASSUME(left <= m_storage_state.storage->max_size());
- if (BOOST_LIKELY(n <= left))
- {
- m_storage_state.storage->append(s, n);
- return n;
- }
- else
- {
- // We have to find out where the last character that fits before the limit ends
- left = length_until_boundary(s, n, left);
- m_storage_state.storage->append(s, left);
- m_storage_state.overflow = true;
- return left;
- }
- }
- return 0u;
- }
-
- //! Appends the specified number of characters to the storage and returns the number of written characters
- size_type append(size_type n, char_type c)
- {
- if (!m_storage_state.overflow)
- {
- BOOST_ASSERT(m_storage_state.storage != NULL);
-
- const size_type left = size_left();
- BOOST_LOG_ASSUME(left <= m_storage_state.storage->max_size());
- if (BOOST_LIKELY(n <= left))
- {
- m_storage_state.storage->append(n, c);
- return n;
- }
- else
- {
- m_storage_state.storage->append(left, c);
- m_storage_state.overflow = true;
- return left;
- }
- }
- return 0u;
- }
-
- //! Appends a character to the storage and returns the number of written characters
- size_type push_back(char_type c)
- {
- if (!m_storage_state.overflow)
- {
- BOOST_ASSERT(m_storage_state.storage != NULL);
-
- BOOST_LOG_ASSUME(m_storage_state.max_size <= m_storage_state.storage->max_size());
- if (BOOST_LIKELY(m_storage_state.storage->size() < m_storage_state.max_size))
- {
- m_storage_state.storage->push_back(c);
- return 1u;
- }
- else
- {
- m_storage_state.overflow = true;
- return 0u;
- }
- }
- return 0u;
- }
-
-protected:
- //! Puts all buffered data to the string
- int sync()
- {
- char_type* pBase = this->pbase();
- char_type* pPtr = this->pptr();
- if (pBase != pPtr)
- {
- this->append(pBase, static_cast< size_type >(pPtr - pBase));
- this->pbump(static_cast< int >(pBase - pPtr));
- }
- return 0;
- }
- //! Puts an unbuffered character to the string
- int_type overflow(int_type c)
- {
- this_type::sync();
- if (!traits_type::eq_int_type(c, traits_type::eof()))
- {
- this->push_back(traits_type::to_char_type(c));
- return c;
- }
- else
- return traits_type::not_eof(c);
- }
- //! Puts a character sequence to the string
- std::streamsize xsputn(const char_type* s, std::streamsize n)
- {
- this_type::sync();
- return static_cast< std::streamsize >(this->append(s, static_cast< size_type >(n)));
- }
-
- //! Finds the string length so that it includes only complete characters, and does not exceed \a max_size
- size_type length_until_boundary(const char_type* s, size_type n, size_type max_size) const
- {
- BOOST_ASSERT(max_size <= n);
- return length_until_boundary(s, n, max_size, boost::integral_constant< bool, sizeof(char_type) == 1u >());
- }
-
-private:
- //! Finds the string length so that it includes only complete characters, and does not exceed \a max_size
- size_type length_until_boundary(const char_type* s, size_type, size_type max_size, boost::true_type) const
- {
- std::locale loc = this->getloc();
- std::codecvt< wchar_t, char, std::mbstate_t > const& fac = std::use_facet< std::codecvt< wchar_t, char, std::mbstate_t > >(loc);
- std::mbstate_t mbs = std::mbstate_t();
- return static_cast< size_type >(fac.length(mbs, s, s + max_size, ~static_cast< std::size_t >(0u)));
- }
-
- //! Finds the string length so that it includes only complete characters, and does not exceed \a max_size
- static size_type length_until_boundary(const char_type* s, size_type n, size_type max_size, boost::false_type)
- {
- // Note: Although it's not required to be true for wchar_t, here we assume that the string has Unicode encoding.
- // Compilers use some version of Unicode for wchar_t on all tested platforms, and std::locale doesn't offer a way
- // to find the character boundary for character types other than char anyway.
- typedef boost::locale::utf::utf_traits< char_type > utf_traits;
-
- size_type pos = max_size;
- while (pos > 0u)
- {
- --pos;
- if (utf_traits::is_lead(s[pos]))
- {
- const char_type* p = s + pos;
- boost::locale::utf::code_point cp = utf_traits::decode(p, s + n);
- if (boost::locale::utf::is_valid_codepoint(cp) && p <= (s + max_size))
- return static_cast< size_type >(p - s);
- }
- }
-
- return 0u;
- }
-
- //! Copy constructor (closed)
- BOOST_DELETED_FUNCTION(basic_ostringstreambuf(basic_ostringstreambuf const& that))
- //! Assignment (closed)
- BOOST_DELETED_FUNCTION(basic_ostringstreambuf& operator= (basic_ostringstreambuf const& that))
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTACHABLE_SSTREAM_BUF_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/attr_output_impl.hpp b/contrib/restricted/boost/boost/log/detail/attr_output_impl.hpp
deleted file mode 100644
index 5f396be9ab..0000000000
--- a/contrib/restricted/boost/boost/log/detail/attr_output_impl.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attr_output_impl.hpp
- * \author Andrey Semashev
- * \date 12.08.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_ATTR_OUTPUT_IMPL_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_ATTR_OUTPUT_IMPL_HPP_INCLUDED_
-
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/expressions/attr.hpp>
-#include <boost/log/utility/functional/bind_to_log.hpp>
-#include <boost/log/detail/attr_output_terminal.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-template< typename LeftT, typename T, typename FallbackPolicyT, typename TagT >
-struct make_output_expression
-{
- //! Resulting expression
- typedef attribute_output_terminal< LeftT, T, FallbackPolicyT, to_log_fun< TagT > > type;
-
- //! Creates the output expression
- template< typename RightT >
- static BOOST_FORCEINLINE type make(LeftT const& left, RightT const& right)
- {
- return type(left, right.get_name(), to_log_fun< TagT >(), right.get_fallback_policy());
- }
-};
-
-template< typename LeftT, typename RightT, typename ValueT = typename RightT::value_type, bool IsSequenceV = mpl::is_sequence< ValueT >::value >
-struct make_output_actor;
-
-template< template< typename > class ActorT, typename LeftExprT, typename RightT, typename ValueT >
-struct make_output_actor< ActorT< LeftExprT >, RightT, ValueT, false >
-{
- typedef make_output_expression<
- ActorT< LeftExprT >,
- ValueT,
- typename RightT::fallback_policy,
- typename RightT::tag_type
- > make_expression;
-
- typedef ActorT< typename make_expression::type > type;
-
- static BOOST_FORCEINLINE type make(ActorT< LeftExprT > const& left, RightT const& right)
- {
- type res = {{ make_expression::make(left, right) }};
- return res;
- }
-};
-
-template< template< typename > class ActorT, typename LeftExprT, typename RightT, typename ValueT >
-struct make_output_actor< ActorT< LeftExprT >, RightT, ValueT, true >
-{
- typedef attribute_output_terminal< ActorT< LeftExprT >, ValueT, typename RightT::fallback_policy, to_log_fun< typename RightT::tag_type > > expression_type;
-
- typedef ActorT< expression_type > type;
-
- static BOOST_FORCEINLINE type make(ActorT< LeftExprT > const& left, RightT const& right)
- {
- type res = {{ expression_type(left, right.get_name(), to_log_fun< typename RightT::tag_type >(), right.get_fallback_policy()) }};
- return res;
- }
-};
-
-} // namespace aux
-
-#define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\
- template< typename LeftExprT, typename T, typename FallbackPolicyT, typename TagT >\
- BOOST_FORCEINLINE typename aux::make_output_actor< phoenix::actor< LeftExprT >, attribute_actor< T, FallbackPolicyT, TagT, phoenix::actor > >::type\
- operator<< (phoenix::actor< LeftExprT > left_ref left, attribute_actor< T, FallbackPolicyT, TagT, phoenix::actor > right_ref right)\
- {\
- return aux::make_output_actor< phoenix::actor< LeftExprT >, attribute_actor< T, FallbackPolicyT, TagT, phoenix::actor > >::make(left, right);\
- }
-
-#include <boost/log/detail/generate_overloads.hpp>
-
-#undef BOOST_LOG_AUX_OVERLOAD
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_ATTR_OUTPUT_IMPL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/attr_output_terminal.hpp b/contrib/restricted/boost/boost/log/detail/attr_output_terminal.hpp
deleted file mode 100644
index dc89071098..0000000000
--- a/contrib/restricted/boost/boost/log/detail/attr_output_terminal.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_output_terminal.hpp
- * \author Andrey Semashev
- * \date 06.11.2012
- *
- * The header contains implementation of a generic output manipulator in template expressions.
- */
-
-#ifndef BOOST_LOG_DETAIL_ATTR_OUTPUT_TERMINAL_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_ATTR_OUTPUT_TERMINAL_HPP_INCLUDED_
-
-#include <boost/mpl/bool.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/utility/functional/bind.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-//! Attribute stream output expression
-template< typename LeftT, typename T, typename FallbackPolicyT, typename ImplT >
-class attribute_output_terminal
-{
-private:
- //! Self type
- typedef attribute_output_terminal< LeftT, T, FallbackPolicyT, ImplT > this_type;
- //! Attribute value visitor invoker
- typedef value_visitor_invoker< T, FallbackPolicyT > visitor_invoker_type;
- //! Manipulator implementation
- typedef ImplT impl_type;
-
-public:
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-
- //! Result type definition
- template< typename >
- struct result;
-
- template< typename ThisT, typename ContextT >
- struct result< ThisT(ContextT) >
- {
- typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type;
- typedef typename phoenix::evaluator::impl<
- typename LeftT::proto_base_expr&,
- context_type,
- phoenix::unused
- >::result_type type;
- };
-
-private:
- //! Left argument actor
- LeftT m_left;
- //! Attribute name
- const attribute_name m_name;
- //! Attribute value visitor invoker
- visitor_invoker_type m_visitor_invoker;
- //! Manipulator implementation
- impl_type m_impl;
-
-public:
- //! Initializing constructor
- attribute_output_terminal(LeftT const& left, attribute_name const& name) : m_left(left), m_name(name)
- {
- }
-
- //! Initializing constructor
- attribute_output_terminal(LeftT const& left, attribute_name const& name, impl_type const& impl) : m_left(left), m_name(name), m_impl(impl)
- {
- }
-
- //! Initializing constructor
- template< typename U >
- attribute_output_terminal(LeftT const& left, attribute_name const& name, impl_type const& impl, U const& arg) :
- m_left(left), m_name(name), m_visitor_invoker(arg), m_impl(impl)
- {
- }
-
- //! Copy constructor
- attribute_output_terminal(attribute_output_terminal const& that) :
- m_left(that.m_left), m_name(that.m_name), m_visitor_invoker(that.m_visitor_invoker), m_impl(that.m_impl)
- {
- }
-
- //! Invokation operator
- template< typename ContextT >
- typename result< this_type(ContextT const&) >::type operator() (ContextT const& ctx)
- {
- typedef typename result< this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- m_visitor_invoker(m_name, fusion::at_c< 0 >(phoenix::env(ctx).args()), binder1st< impl_type&, result_type >(m_impl, strm));
- return strm;
- }
-
- //! Invokation operator
- template< typename ContextT >
- typename result< const this_type(ContextT const&) >::type operator() (ContextT const& ctx) const
- {
- typedef typename result< const this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- m_visitor_invoker(m_name, fusion::at_c< 0 >(phoenix::env(ctx).args()), binder1st< impl_type const&, result_type >(m_impl, strm));
- return strm;
- }
-
- BOOST_DELETED_FUNCTION(attribute_output_terminal())
-};
-
-} // namespace aux
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-namespace result_of {
-
-template< typename LeftT, typename T, typename FallbackPolicyT, typename ImplT >
-struct is_nullary< custom_terminal< boost::log::expressions::aux::attribute_output_terminal< LeftT, T, FallbackPolicyT, ImplT > > > :
- public mpl::false_
-{
-};
-
-} // namespace result_of
-
-} // namespace phoenix
-
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_ATTR_OUTPUT_TERMINAL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/attribute_get_value_impl.hpp b/contrib/restricted/boost/boost/log/detail/attribute_get_value_impl.hpp
deleted file mode 100644
index 8d4840e7d3..0000000000
--- a/contrib/restricted/boost/boost/log/detail/attribute_get_value_impl.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_get_value_impl.hpp
- * \author Andrey Semashev
- * \date 04.08.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_ATTRIBUTE_GET_VALUE_IMPL_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_ATTRIBUTE_GET_VALUE_IMPL_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_value.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-inline attribute_value attribute::get_value() const
-{
- return m_pImpl->get_value();
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_ATTRIBUTE_GET_VALUE_IMPL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/attribute_predicate.hpp b/contrib/restricted/boost/boost/log/detail/attribute_predicate.hpp
deleted file mode 100644
index 20820effb3..0000000000
--- a/contrib/restricted/boost/boost/log/detail/attribute_predicate.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_predicate.hpp
- * \author Andrey Semashev
- * \date 02.09.2012
- *
- * The header contains implementation of a generic predicate in template expressions.
- */
-
-#ifndef BOOST_LOG_DETAIL_ATTRIBUTE_PREDICATE_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_ATTRIBUTE_PREDICATE_HPP_INCLUDED_
-
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/utility/functional/bind.hpp>
-#include <boost/log/utility/functional/save_result.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-/*!
- * The predicate checks if the attribute value satisfies a predicate.
- */
-template< typename T, typename ArgT, typename PredicateT, typename FallbackPolicyT = fallback_to_none >
-class attribute_predicate
-{
-public:
- //! Function result_type
- typedef bool result_type;
- //! Expected attribute value type
- typedef T value_type;
- //! Predicate type
- typedef PredicateT predicate_type;
- //! Argument type for the predicate
- typedef ArgT argument_type;
- //! Fallback policy
- typedef FallbackPolicyT fallback_policy;
-
-private:
- //! Argument for the predicate
- const argument_type m_arg;
- //! Attribute value name
- const attribute_name m_name;
- //! Visitor invoker
- value_visitor_invoker< value_type, fallback_policy > m_visitor_invoker;
-
-public:
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param pred_arg The predicate argument
- */
- attribute_predicate(attribute_name const& name, argument_type const& pred_arg) : m_arg(pred_arg), m_name(name)
- {
- }
-
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param pred_arg The predicate argument
- * \param arg Additional parameter for the fallback policy
- */
- template< typename U >
- attribute_predicate(attribute_name const& name, argument_type const& pred_arg, U const& arg) : m_arg(pred_arg), m_name(name), m_visitor_invoker(arg)
- {
- }
-
- /*!
- * Checking operator
- *
- * \param arg A set of attribute values or a log record
- * \return \c true if the log record contains the sought attribute value, \c false otherwise
- */
- template< typename ArgumentT >
- result_type operator() (ArgumentT const& arg) const
- {
- typedef binder2nd< predicate_type, argument_type const& > visitor_type;
-
- bool res = false;
- m_visitor_invoker(m_name, arg, boost::log::save_result(visitor_type(predicate_type(), m_arg), res));
- return res;
- }
-};
-
-} // namespace aux
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_ATTRIBUTE_PREDICATE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/c_str.hpp b/contrib/restricted/boost/boost/log/detail/c_str.hpp
deleted file mode 100644
index 049d1c389e..0000000000
--- a/contrib/restricted/boost/boost/log/detail/c_str.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file c_str.hpp
- * \author Andrey Semashev
- * \date 23.02.2016
- *
- * This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_C_STR_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_C_STR_HPP_INCLUDED_
-
-#include <string>
-#include <boost/core/enable_if.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/is_character_type.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename T >
-inline typename boost::enable_if_c< is_character_type< T >::value, const T* >::type c_str(const T* str) BOOST_NOEXCEPT
-{
- return str;
-}
-
-template< typename T, typename TraitsT, typename AllocatorT >
-inline typename boost::enable_if_c< is_character_type< T >::value, const T* >::type c_str(std::basic_string< T, TraitsT, AllocatorT > const& str) BOOST_NOEXCEPT
-{
- return str.c_str();
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_C_STR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/cleanup_scope_guard.hpp b/contrib/restricted/boost/boost/log/detail/cleanup_scope_guard.hpp
deleted file mode 100644
index 5d9736204a..0000000000
--- a/contrib/restricted/boost/boost/log/detail/cleanup_scope_guard.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file cleanup_scope_guard.hpp
- * \author Andrey Semashev
- * \date 11.03.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_CLEANUP_SCOPE_GUARD_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_CLEANUP_SCOPE_GUARD_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Cleanup scope guard
-template< typename T >
-struct cleanup_guard
-{
- explicit cleanup_guard(T& obj) : m_Obj(obj) {}
- ~cleanup_guard() { m_Obj.clear(); }
-
- // Copying prohibited
- BOOST_DELETED_FUNCTION(cleanup_guard(cleanup_guard const&))
- BOOST_DELETED_FUNCTION(cleanup_guard& operator= (cleanup_guard const&))
-
-private:
- T& m_Obj;
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_CLEANUP_SCOPE_GUARD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/code_conversion.hpp b/contrib/restricted/boost/boost/log/detail/code_conversion.hpp
deleted file mode 100644
index b39970d022..0000000000
--- a/contrib/restricted/boost/boost/log/detail/code_conversion.hpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file code_conversion.hpp
- * \author Andrey Semashev
- * \date 08.11.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_CODE_CONVERSION_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_CODE_CONVERSION_HPP_INCLUDED_
-
-#include <cstddef>
-#include <locale>
-#include <string>
-#include <boost/core/enable_if.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/is_character_type.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-// Implementation note: We have to implement char<->wchar_t conversions even in the absence of the native wchar_t
-// type. These conversions are used in sinks, e.g. to convert multibyte strings to wide-character filesystem paths.
-
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const wchar_t* str1, std::size_t len, std::string& str2, std::size_t max_size, std::locale const& loc = std::locale());
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char* str1, std::size_t len, std::wstring& str2, std::size_t max_size, std::locale const& loc = std::locale());
-
-#if !defined(BOOST_LOG_NO_CXX11_CODECVT_FACETS)
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char16_t* str1, std::size_t len, std::string& str2, std::size_t max_size, std::locale const& loc = std::locale());
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char* str1, std::size_t len, std::u16string& str2, std::size_t max_size, std::locale const& loc = std::locale());
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char16_t* str1, std::size_t len, std::wstring& str2, std::size_t max_size, std::locale const& loc = std::locale());
-#endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char32_t* str1, std::size_t len, std::string& str2, std::size_t max_size, std::locale const& loc = std::locale());
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char* str1, std::size_t len, std::u32string& str2, std::size_t max_size, std::locale const& loc = std::locale());
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char32_t* str1, std::size_t len, std::wstring& str2, std::size_t max_size, std::locale const& loc = std::locale());
-#endif
-#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_CHAR32_T)
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char16_t* str1, std::size_t len, std::u32string& str2, std::size_t max_size, std::locale const& loc = std::locale());
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char32_t* str1, std::size_t len, std::u16string& str2, std::size_t max_size, std::locale const& loc = std::locale());
-#endif
-#endif // !defined(BOOST_LOG_NO_CXX11_CODECVT_FACETS)
-
-//! The function converts one string to the character type of another
-template< typename SourceCharT, typename TargetCharT, typename TargetTraitsT, typename TargetAllocatorT >
-inline typename boost::enable_if_c< is_character_type< SourceCharT >::value && is_character_type< TargetCharT >::value && sizeof(SourceCharT) == sizeof(TargetCharT), bool >::type
-code_convert(const SourceCharT* str1, std::size_t len, std::basic_string< TargetCharT, TargetTraitsT, TargetAllocatorT >& str2, std::size_t max_size, std::locale const& = std::locale())
-{
- std::size_t size_left = str2.size() < max_size ? max_size - str2.size() : static_cast< std::size_t >(0u);
- const bool overflow = len > size_left;
- str2.append(reinterpret_cast< const TargetCharT* >(str1), overflow ? size_left : len);
- return !overflow;
-}
-
-//! The function converts one string to the character type of another
-template< typename SourceCharT, typename SourceTraitsT, typename SourceAllocatorT, typename TargetCharT, typename TargetTraitsT, typename TargetAllocatorT >
-inline typename boost::enable_if_c< is_character_type< SourceCharT >::value && is_character_type< TargetCharT >::value && sizeof(SourceCharT) == sizeof(TargetCharT), bool >::type
-code_convert(std::basic_string< SourceCharT, SourceTraitsT, SourceAllocatorT > const& str1, std::basic_string< TargetCharT, TargetTraitsT, TargetAllocatorT >& str2, std::size_t max_size, std::locale const& loc = std::locale())
-{
- return aux::code_convert(str1.data(), str1.size(), str2, max_size, loc);
-}
-
-//! The function converts one string to the character type of another
-template< typename SourceCharT, typename SourceTraitsT, typename SourceAllocatorT, typename TargetCharT, typename TargetTraitsT, typename TargetAllocatorT >
-inline typename boost::enable_if_c< is_character_type< SourceCharT >::value && is_character_type< TargetCharT >::value && sizeof(SourceCharT) == sizeof(TargetCharT), bool >::type
-code_convert(std::basic_string< SourceCharT, SourceTraitsT, SourceAllocatorT > const& str1, std::basic_string< TargetCharT, TargetTraitsT, TargetAllocatorT >& str2, std::locale const& loc = std::locale())
-{
- return aux::code_convert(str1.data(), str1.size(), str2, str2.max_size(), loc);
-}
-//! The function converts one string to the character type of another
-template< typename SourceCharT, typename TargetCharT, typename TargetTraitsT, typename TargetAllocatorT >
-inline typename boost::enable_if_c< is_character_type< SourceCharT >::value && is_character_type< TargetCharT >::value && sizeof(SourceCharT) == sizeof(TargetCharT), bool >::type
-code_convert(const SourceCharT* str1, std::size_t len, std::basic_string< TargetCharT, TargetTraitsT, TargetAllocatorT >& str2, std::locale const& loc = std::locale())
-{
- return aux::code_convert(str1, len, str2, str2.max_size(), loc);
-}
-
-//! The function converts one string to the character type of another
-template< typename SourceCharT, typename SourceTraitsT, typename SourceAllocatorT, typename TargetCharT, typename TargetTraitsT, typename TargetAllocatorT >
-inline typename boost::enable_if_c< is_character_type< SourceCharT >::value && is_character_type< TargetCharT >::value && sizeof(SourceCharT) != sizeof(TargetCharT), bool >::type
-code_convert(std::basic_string< SourceCharT, SourceTraitsT, SourceAllocatorT > const& str1, std::basic_string< TargetCharT, TargetTraitsT, TargetAllocatorT >& str2, std::locale const& loc = std::locale())
-{
- return aux::code_convert_impl(str1.c_str(), str1.size(), str2, str2.max_size(), loc);
-}
-
-//! The function converts one string to the character type of another
-template< typename SourceCharT, typename TargetCharT, typename TargetTraitsT, typename TargetAllocatorT >
-inline typename boost::enable_if_c< is_character_type< SourceCharT >::value && is_character_type< TargetCharT >::value && sizeof(SourceCharT) != sizeof(TargetCharT), bool >::type
-code_convert(const SourceCharT* str1, std::size_t len, std::basic_string< TargetCharT, TargetTraitsT, TargetAllocatorT >& str2, std::locale const& loc = std::locale())
-{
- return aux::code_convert_impl(str1, len, str2, str2.max_size(), loc);
-}
-
-//! The function converts one string to the character type of another
-template< typename SourceCharT, typename SourceTraitsT, typename SourceAllocatorT, typename TargetCharT, typename TargetTraitsT, typename TargetAllocatorT >
-inline typename boost::enable_if_c< is_character_type< SourceCharT >::value && is_character_type< TargetCharT >::value && sizeof(SourceCharT) != sizeof(TargetCharT), bool >::type
-code_convert(std::basic_string< SourceCharT, SourceTraitsT, SourceAllocatorT > const& str1, std::basic_string< TargetCharT, TargetTraitsT, TargetAllocatorT >& str2, std::size_t max_size, std::locale const& loc = std::locale())
-{
- return aux::code_convert_impl(str1.c_str(), str1.size(), str2, max_size, loc);
-}
-
-//! The function converts one string to the character type of another
-template< typename SourceCharT, typename TargetCharT, typename TargetTraitsT, typename TargetAllocatorT >
-inline typename boost::enable_if_c< is_character_type< SourceCharT >::value && is_character_type< TargetCharT >::value && sizeof(SourceCharT) != sizeof(TargetCharT), bool >::type
-code_convert(const SourceCharT* str1, std::size_t len, std::basic_string< TargetCharT, TargetTraitsT, TargetAllocatorT >& str2, std::size_t max_size, std::locale const& loc = std::locale())
-{
- return aux::code_convert_impl(str1, len, str2, max_size, loc);
-}
-
-//! The function converts the passed string to the narrow-character encoding
-inline std::string const& to_narrow(std::string const& str)
-{
- return str;
-}
-
-//! The function converts the passed string to the narrow-character encoding
-inline std::string const& to_narrow(std::string const& str, std::locale const&)
-{
- return str;
-}
-
-//! The function converts the passed string to the narrow-character encoding
-inline std::string to_narrow(std::wstring const& str, std::locale const& loc = std::locale())
-{
- std::string res;
- aux::code_convert_impl(str.c_str(), str.size(), res, res.max_size(), loc);
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_NRVO)
- return static_cast< std::string&& >(res);
-#else
- return res;
-#endif
-}
-
-//! The function converts the passed string to the wide-character encoding
-inline std::wstring const& to_wide(std::wstring const& str)
-{
- return str;
-}
-
-//! The function converts the passed string to the wide-character encoding
-inline std::wstring const& to_wide(std::wstring const& str, std::locale const&)
-{
- return str;
-}
-
-//! The function converts the passed string to the wide-character encoding
-inline std::wstring to_wide(std::string const& str, std::locale const& loc = std::locale())
-{
- std::wstring res;
- aux::code_convert_impl(str.c_str(), str.size(), res, res.max_size(), loc);
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_HAS_NRVO)
- return static_cast< std::wstring&& >(res);
-#else
- return res;
-#endif
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_CODE_CONVERSION_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/config.hpp b/contrib/restricted/boost/boost/log/detail/config.hpp
deleted file mode 100644
index 8db321baad..0000000000
--- a/contrib/restricted/boost/boost/log/detail/config.hpp
+++ /dev/null
@@ -1,389 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file config.hpp
- * \author Andrey Semashev
- * \date 08.03.2007
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. In this file
- * internal configuration macros are defined.
- */
-
-#ifndef BOOST_LOG_DETAIL_CONFIG_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_CONFIG_HPP_INCLUDED_
-
-// This check must be before any system headers are included, or __MSVCRT_VERSION__ may get defined to 0x0600
-#if defined(__MINGW32__) && !defined(__MSVCRT_VERSION__)
-// Target MinGW headers to at least MSVC 7.0 runtime by default. This will enable some useful functions.
-#define __MSVCRT_VERSION__ 0x0700
-#endif
-
-#include <boost/predef/os.h>
-
-// Try including WinAPI config as soon as possible so that any other headers don't include Windows SDK headers
-#if defined(BOOST_OS_WINDOWS_AVAILABLE)
-#include <boost/winapi/config.hpp>
-#endif
-
-#include <limits.h> // To bring in libc macros
-#include <boost/config.hpp>
-
-// The library requires dynamic_cast in a few places
-#if defined(BOOST_NO_RTTI)
-# error Boost.Log: RTTI is required by the library
-#endif
-
-#if defined(_MSC_VER) && _MSC_VER >= 1600
-# define BOOST_LOG_HAS_PRAGMA_DETECT_MISMATCH
-#endif
-
-#if defined(BOOST_LOG_HAS_PRAGMA_DETECT_MISMATCH)
-#include <boost/preprocessor/stringize.hpp>
-#endif
-
-#if !defined(BOOST_WINDOWS)
-# ifndef BOOST_LOG_WITHOUT_DEBUG_OUTPUT
-# define BOOST_LOG_WITHOUT_DEBUG_OUTPUT
-# endif
-# ifndef BOOST_LOG_WITHOUT_EVENT_LOG
-# define BOOST_LOG_WITHOUT_EVENT_LOG
-# endif
-#endif
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_MSVC)
- // For some reason MSVC 9.0 fails to link the library if static integral constants are defined in cpp
-# define BOOST_LOG_BROKEN_STATIC_CONSTANTS_LINKAGE
-# if _MSC_VER <= 1310
- // MSVC 7.1 sometimes fails to match out-of-class template function definitions with
- // their declarations if the return type or arguments of the functions involve typename keyword
- // and depend on the template parameters.
-# define BOOST_LOG_BROKEN_TEMPLATE_DEFINITION_MATCHING
-# endif
-# if _MSC_VER <= 1400
- // Older MSVC versions reject friend declarations for class template specializations
-# define BOOST_LOG_BROKEN_FRIEND_TEMPLATE_SPECIALIZATIONS
-# endif
-# if _MSC_VER <= 1600
- // MSVC up to 10.0 attempts to invoke copy constructor when initializing a const reference from rvalue returned from a function.
- // This fails when the returned value cannot be copied (only moved):
- //
- // class base {};
- // class derived : public base { BOOST_MOVABLE_BUT_NOT_COPYABLE(derived) };
- // derived foo();
- // base const& var = foo(); // attempts to call copy constructor of derived
-# define BOOST_LOG_BROKEN_REFERENCE_FROM_RVALUE_INIT
-# endif
-# if !defined(_STLPORT_VERSION)
- // MSVC 9.0 mandates packaging of STL classes, which apparently affects alignment and
- // makes alignment_of< T >::value no longer be a power of 2 for types that derive from STL classes.
- // This breaks type_with_alignment and everything that relies on it.
- // This doesn't happen with non-native STLs, such as STLPort. Strangely, this doesn't show with
- // STL classes themselves or most of the user-defined derived classes.
- // Not sure if that happens with other MSVC versions.
- // See: http://svn.boost.org/trac/boost/ticket/1946
-# define BOOST_LOG_BROKEN_STL_ALIGNMENT
-# endif
-#endif
-
-#if defined(BOOST_INTEL) || defined(__SUNPRO_CC)
- // Intel compiler and Sun Studio 12.3 have problems with friend declarations for nested class templates
-# define BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS
-#endif
-
-#if defined(BOOST_MSVC) && BOOST_MSVC <= 1600
- // MSVC cannot interpret constant expressions in certain contexts, such as non-type template parameters
-# define BOOST_LOG_BROKEN_CONSTANT_EXPRESSIONS
-#endif
-
-#if defined(BOOST_NO_CXX11_HDR_CODECVT)
- // The compiler does not support std::codecvt<char16_t> and std::codecvt<char32_t> specializations.
- // The BOOST_NO_CXX11_HDR_CODECVT means there's no usable <codecvt>, which is slightly different from this macro.
- // But in order for <codecvt> to be implemented the std::codecvt specializations have to be implemented as well.
-# define BOOST_LOG_NO_CXX11_CODECVT_FACETS
-#endif
-
-#if defined(__CYGWIN__)
- // Boost.ASIO is broken on Cygwin
-# define BOOST_LOG_NO_ASIO
-#endif
-
-#if !defined(BOOST_LOG_USE_NATIVE_SYSLOG) && defined(BOOST_LOG_NO_ASIO)
-# ifndef BOOST_LOG_WITHOUT_SYSLOG
-# define BOOST_LOG_WITHOUT_SYSLOG
-# endif
-#endif
-
-#if defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 2)
- // GCC 4.1 and 4.2 have buggy anonymous namespaces support, which interferes with symbol linkage
-# define BOOST_LOG_ANONYMOUS_NAMESPACE namespace anonymous {} using namespace anonymous; namespace anonymous
-#else
-# define BOOST_LOG_ANONYMOUS_NAMESPACE namespace
-#endif
-
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || (defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 6))
-// GCC up to 4.6 (inclusively) did not support expanding template argument packs into non-variadic template arguments
-#define BOOST_LOG_NO_CXX11_ARG_PACKS_TO_NON_VARIADIC_ARGS_EXPANSION
-#endif
-
-#if defined(BOOST_NO_CXX11_CONSTEXPR) || (defined(BOOST_GCC) && ((BOOST_GCC+0) / 100) <= 406)
-// GCC 4.6 does not support in-class brace initializers for static constexpr array members
-#define BOOST_LOG_NO_CXX11_CONSTEXPR_DATA_MEMBER_BRACE_INITIALIZERS
-#endif
-
-#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || (defined(BOOST_GCC) && ((BOOST_GCC+0) / 100) <= 406)
-// GCC 4.6 cannot handle a defaulted function with noexcept specifier
-#define BOOST_LOG_NO_CXX11_DEFAULTED_NOEXCEPT_FUNCTIONS
-#endif
-
-#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || (defined(BOOST_CLANG) && (((__clang_major__+0) == 3) && ((__clang_minor__+0) <= 1)))
-// Clang 3.1 cannot handle a defaulted constexpr constructor in some cases (presumably, if the class contains a member with a constexpr constructor)
-#define BOOST_LOG_NO_CXX11_DEFAULTED_CONSTEXPR_CONSTRUCTORS
-#endif
-
-#if defined(_MSC_VER)
-# define BOOST_LOG_NO_VTABLE __declspec(novtable)
-#elif defined(__GNUC__)
-# define BOOST_LOG_NO_VTABLE
-#else
-# define BOOST_LOG_NO_VTABLE
-#endif
-
-// An MS-like compilers' extension that allows to optimize away the needless code
-#if defined(_MSC_VER)
-# define BOOST_LOG_ASSUME(expr) __assume(expr)
-#else
-# define BOOST_LOG_ASSUME(expr)
-#endif
-
-// The statement marking unreachable branches of code to avoid warnings
-#if defined(BOOST_CLANG)
-# if __has_builtin(__builtin_unreachable)
-# define BOOST_LOG_UNREACHABLE() __builtin_unreachable()
-# endif
-#elif defined(__GNUC__)
-# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
-# define BOOST_LOG_UNREACHABLE() __builtin_unreachable()
-# endif
-#elif defined(_MSC_VER)
-# define BOOST_LOG_UNREACHABLE() __assume(0)
-#endif
-#if !defined(BOOST_LOG_UNREACHABLE)
-# define BOOST_LOG_UNREACHABLE()
-# define BOOST_LOG_UNREACHABLE_RETURN(r) return r
-#else
-# define BOOST_LOG_UNREACHABLE_RETURN(r) BOOST_LOG_UNREACHABLE()
-#endif
-
-// The macro efficiently returns a local lvalue from a function.
-// It employs NRVO, if supported by compiler, or uses a move constructor otherwise.
-#if defined(BOOST_HAS_NRVO)
-#define BOOST_LOG_NRVO_RESULT(x) x
-#else
-#define BOOST_LOG_NRVO_RESULT(x) boost::move(x)
-#endif
-
-// Some compilers support a special attribute that shows that a function won't return
-#if defined(__GNUC__) || (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x590)
- // GCC and Sun Studio 12 support attribute syntax
-# define BOOST_LOG_NORETURN __attribute__((noreturn))
-#elif defined (_MSC_VER)
- // Microsoft-compatible compilers go here
-# define BOOST_LOG_NORETURN __declspec(noreturn)
-#else
- // The rest compilers might emit bogus warnings about missing return statements
- // in functions with non-void return types when throw_exception is used.
-# define BOOST_LOG_NORETURN
-#endif
-
-// Some compilers may require marking types that may alias other types
-#define BOOST_LOG_MAY_ALIAS BOOST_MAY_ALIAS
-
-#if !defined(BOOST_LOG_BUILDING_THE_LIB)
-
-// Detect if we're dealing with dll
-# if defined(BOOST_LOG_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
-# define BOOST_LOG_DLL
-# endif
-
-# if defined(BOOST_LOG_DLL)
-# define BOOST_LOG_API BOOST_SYMBOL_IMPORT
-# else
-# define BOOST_LOG_API
-# endif
-//
-// Automatically link to the correct build variant where possible.
-//
-# if !defined(BOOST_ALL_NO_LIB)
-# if !defined(BOOST_LOG_NO_LIB)
-# define BOOST_LIB_NAME boost_log
-# if defined(BOOST_LOG_DLL)
-# define BOOST_DYN_LINK
-# endif
-# include <boost/config/auto_link.hpp>
-# endif
- // In static-library builds compilers ignore auto-link comments from Boost.Log binary to
- // other Boost libraries. We explicitly add comments here for other libraries.
- // In dynamic-library builds this is not needed.
-# if !defined(BOOST_LOG_DLL)
-# include <boost/system/config.hpp>
-# include <boost/filesystem/config.hpp>
-# if !defined(BOOST_DATE_TIME_NO_LIB) && !defined(BOOST_DATE_TIME_SOURCE)
-# define BOOST_LIB_NAME boost_date_time
-# if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_DATE_TIME_DYN_LINK)
-# define BOOST_DYN_LINK
-# endif
-# include <boost/config/auto_link.hpp>
-# endif
- // Boost.Thread's config is included below, if needed
-# endif
-# endif // auto-linking disabled
-
-#else // !defined(BOOST_LOG_BUILDING_THE_LIB)
-
-# if defined(BOOST_LOG_DLL)
-# define BOOST_LOG_API BOOST_SYMBOL_EXPORT
-# else
-# define BOOST_LOG_API BOOST_SYMBOL_VISIBLE
-# endif
-
-#endif // !defined(BOOST_LOG_BUILDING_THE_LIB)
-
-// By default we provide support for both char and wchar_t
-#if !defined(BOOST_LOG_WITHOUT_CHAR)
-# define BOOST_LOG_USE_CHAR
-#endif
-#if !defined(BOOST_LOG_WITHOUT_WCHAR_T)
-# define BOOST_LOG_USE_WCHAR_T
-#endif
-
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
- // Check if multithreading is supported
-# if !defined(BOOST_LOG_NO_THREADS) && !defined(BOOST_HAS_THREADS)
-# define BOOST_LOG_NO_THREADS
-# endif // !defined(BOOST_LOG_NO_THREADS) && !defined(BOOST_HAS_THREADS)
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-
-#if !defined(BOOST_LOG_NO_THREADS)
- // We need this header to (i) enable auto-linking with Boost.Thread and
- // (ii) to bring in configuration macros of Boost.Thread.
-# include <boost/thread/detail/config.hpp>
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-#if !defined(BOOST_LOG_NO_THREADS)
-# define BOOST_LOG_EXPR_IF_MT(expr) expr
-#else
-# undef BOOST_LOG_USE_COMPILER_TLS
-# define BOOST_LOG_EXPR_IF_MT(expr)
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
-# if defined(__GNUC__) || defined(__SUNPRO_CC)
-# define BOOST_LOG_TLS __thread
-# elif defined(BOOST_MSVC)
-# define BOOST_LOG_TLS __declspec(thread)
-# else
-# undef BOOST_LOG_USE_COMPILER_TLS
-# endif
-#endif // defined(BOOST_LOG_USE_COMPILER_TLS)
-
-#ifndef BOOST_LOG_CPU_CACHE_LINE_SIZE
-//! The macro defines the CPU cache line size for the target architecture. This is mostly used for optimization.
-#define BOOST_LOG_CPU_CACHE_LINE_SIZE 64
-#endif
-
-namespace boost {
-
-// Setup namespace name
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
-# if defined(BOOST_LOG_DLL)
-# if defined(BOOST_LOG_NO_THREADS)
-# define BOOST_LOG_VERSION_NAMESPACE v2_st
-# else
-# if defined(BOOST_THREAD_PLATFORM_PTHREAD)
-# define BOOST_LOG_VERSION_NAMESPACE v2_mt_posix
-# elif defined(BOOST_THREAD_PLATFORM_WIN32)
-# if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-# define BOOST_LOG_VERSION_NAMESPACE v2_mt_nt6
-# else
-# define BOOST_LOG_VERSION_NAMESPACE v2_mt_nt5
-# endif
-# else
-# define BOOST_LOG_VERSION_NAMESPACE v2_mt
-# endif
-# endif // defined(BOOST_LOG_NO_THREADS)
-# else
-# if defined(BOOST_LOG_NO_THREADS)
-# define BOOST_LOG_VERSION_NAMESPACE v2s_st
-# else
-# if defined(BOOST_THREAD_PLATFORM_PTHREAD)
-# define BOOST_LOG_VERSION_NAMESPACE v2s_mt_posix
-# elif defined(BOOST_THREAD_PLATFORM_WIN32)
-# if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-# define BOOST_LOG_VERSION_NAMESPACE v2s_mt_nt6
-# else
-# define BOOST_LOG_VERSION_NAMESPACE v2s_mt_nt5
-# endif
-# else
-# define BOOST_LOG_VERSION_NAMESPACE v2s_mt
-# endif
-# endif // defined(BOOST_LOG_NO_THREADS)
-# endif // defined(BOOST_LOG_DLL)
-
-
-namespace log {
-
-# if !defined(BOOST_NO_CXX11_INLINE_NAMESPACES)
-
-inline namespace BOOST_LOG_VERSION_NAMESPACE {}
-
-# define BOOST_LOG_OPEN_NAMESPACE namespace log { inline namespace BOOST_LOG_VERSION_NAMESPACE {
-# define BOOST_LOG_CLOSE_NAMESPACE }}
-
-# elif defined(BOOST_GCC) && (BOOST_GCC+0) >= 40400
-
-// GCC 7 deprecated strong using directives but allows inline namespaces in C++03 mode since GCC 4.4.
-__extension__ inline namespace BOOST_LOG_VERSION_NAMESPACE {}
-
-# define BOOST_LOG_OPEN_NAMESPACE namespace log { __extension__ inline namespace BOOST_LOG_VERSION_NAMESPACE {
-# define BOOST_LOG_CLOSE_NAMESPACE }}
-
-# else
-
-namespace BOOST_LOG_VERSION_NAMESPACE {}
-
-using namespace BOOST_LOG_VERSION_NAMESPACE
-# if defined(__GNUC__) && (__GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) && !defined(__clang__)
-__attribute__((__strong__))
-# endif
-;
-
-# define BOOST_LOG_OPEN_NAMESPACE namespace log { namespace BOOST_LOG_VERSION_NAMESPACE {
-# define BOOST_LOG_CLOSE_NAMESPACE }}
-# endif
-
-} // namespace log
-
-#else // !defined(BOOST_LOG_DOXYGEN_PASS)
-
-namespace log {}
-# define BOOST_LOG_OPEN_NAMESPACE namespace log {
-# define BOOST_LOG_CLOSE_NAMESPACE }
-
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-
-#if defined(BOOST_LOG_HAS_PRAGMA_DETECT_MISMATCH)
-#pragma detect_mismatch("boost_log_abi", BOOST_PP_STRINGIZE(BOOST_LOG_VERSION_NAMESPACE))
-#endif
-
-} // namespace boost
-
-#endif // BOOST_LOG_DETAIL_CONFIG_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/copy_cv.hpp b/contrib/restricted/boost/boost/log/detail/copy_cv.hpp
deleted file mode 100644
index a03d5297f4..0000000000
--- a/contrib/restricted/boost/boost/log/detail/copy_cv.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file copy_cv.hpp
- * \author Andrey Semashev
- * \date 16.03.2014
- *
- * The header defines \c copy_cv type trait which copies const/volatile qualifiers from one type to another
- */
-
-#ifndef BOOST_LOG_DETAIL_COPY_CV_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_COPY_CV_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The type trait copies top level const/volatile qualifiers from \c FromT to \c ToT
-template< typename FromT, typename ToT >
-struct copy_cv
-{
- typedef ToT type;
-};
-
-template< typename FromT, typename ToT >
-struct copy_cv< const FromT, ToT >
-{
- typedef const ToT type;
-};
-
-template< typename FromT, typename ToT >
-struct copy_cv< volatile FromT, ToT >
-{
- typedef volatile ToT type;
-};
-
-template< typename FromT, typename ToT >
-struct copy_cv< const volatile FromT, ToT >
-{
- typedef const volatile ToT type;
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_COPY_CV_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/custom_terminal_spec.hpp b/contrib/restricted/boost/boost/log/detail/custom_terminal_spec.hpp
deleted file mode 100644
index a1332f5ff0..0000000000
--- a/contrib/restricted/boost/boost/log/detail/custom_terminal_spec.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file custom_terminal_spec.hpp
- * \author Andrey Semashev
- * \date 29.01.2012
- *
- * The header contains Boost.Phoenix custom terminal specialization for Boost.Log terminals.
- */
-
-#ifndef BOOST_LOG_DETAIL_CUSTOM_TERMINAL_SPEC_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_CUSTOM_TERMINAL_SPEC_HPP_INCLUDED_
-
-#include <boost/mpl/bool.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/terminal.hpp> // needed for terminal-related part of the grammar
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-namespace phoenix {
-
-template< typename T >
-struct is_custom_terminal< T, typename T::_is_boost_log_terminal > :
- public mpl::true_
-{
-};
-
-template< typename T >
-struct custom_terminal< T, typename T::_is_boost_log_terminal >
-{
- typedef custom_terminal< T, typename T::_is_boost_log_terminal > this_type;
-
- template< typename >
- struct result;
-
- template< typename ThisT, typename TermT, typename ContextT >
- struct result< ThisT(TermT, ContextT) >
- {
- typedef typename remove_cv< typename remove_reference< TermT >::type >::type term;
- typedef typename boost::result_of< const term(ContextT) >::type type;
- };
-
- template< typename ContextT >
- typename result< const this_type(T const&, ContextT&) >::type operator() (T const& term, ContextT& ctx) const
- {
- return term(ctx);
- }
-};
-
-} // namespace phoenix
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_CUSTOM_TERMINAL_SPEC_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/date_time_fmt_gen_traits_fwd.hpp b/contrib/restricted/boost/boost/log/detail/date_time_fmt_gen_traits_fwd.hpp
deleted file mode 100644
index 733535e610..0000000000
--- a/contrib/restricted/boost/boost/log/detail/date_time_fmt_gen_traits_fwd.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file date_time_fmt_gen_traits_fwd.hpp
- * \author Andrey Semashev
- * \date 07.11.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_DATE_TIME_FMT_GEN_TRAITS_FWD_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_DATE_TIME_FMT_GEN_TRAITS_FWD_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-template< typename T, typename CharT, typename VoidT = void >
-struct date_time_formatter_generator_traits;
-
-} // namespace aux
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_DETAIL_DATE_TIME_FMT_GEN_TRAITS_FWD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/date_time_format_parser.hpp b/contrib/restricted/boost/boost/log/detail/date_time_format_parser.hpp
deleted file mode 100644
index 3219690025..0000000000
--- a/contrib/restricted/boost/boost/log/detail/date_time_format_parser.hpp
+++ /dev/null
@@ -1,486 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file date_time_format_parser.hpp
- * \author Andrey Semashev
- * \date 16.09.2012
- *
- * The header contains a parser for date and time format strings.
- */
-
-#ifndef BOOST_LOG_DETAIL_DATE_TIME_FORMAT_PARSER_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_DATE_TIME_FORMAT_PARSER_HPP_INCLUDED_
-
-#include <string>
-#include <boost/range/as_literal.hpp>
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-/*!
- * This is the interface the parser will use to notify the caller about various components of date in the format string.
- */
-template< typename CharT >
-struct date_format_parser_callback
-{
- //! Character type used by the parser
- typedef CharT char_type;
-
- //! Destructor
- virtual ~date_format_parser_callback() {}
-
- /*!
- * \brief The function is called when the parser discovers a string literal in the format string
- *
- * \param lit The string of characters not interpreted as a placeholder
- */
- virtual void on_literal(iterator_range< const char_type* > const& lit) = 0;
-
- /*!
- * \brief The method is called when an unknown placeholder is found in the format string
- *
- * \param ph The placeholder with the leading percent sign
- */
- virtual void on_placeholder(iterator_range< const char_type* > const& ph)
- {
- // By default interpret all unrecognized placeholders as literals
- on_literal(ph);
- }
-
- /*!
- * \brief The function is called when the short year placeholder is found in the format string
- */
- virtual void on_short_year()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('y'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the full year placeholder is found in the format string
- */
- virtual void on_full_year()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('Y'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the numeric month placeholder is found in the format string
- */
- virtual void on_numeric_month()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('m'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the short alphabetic month placeholder is found in the format string
- */
- virtual void on_short_month()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('b'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the full alphabetic month placeholder is found in the format string
- */
- virtual void on_full_month()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('B'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the numeric day of month placeholder is found in the format string
- *
- * \param leading_zero If \c true, the day should be formatted with leading zero, otherwise with leading space
- */
- virtual void on_month_day(bool leading_zero)
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), (leading_zero ? static_cast< char_type >('d') : static_cast< char_type >('e')), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the numeric day of week placeholder is found in the format string
- */
- virtual void on_numeric_week_day()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('w'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the short alphabetic day of week placeholder is found in the format string
- */
- virtual void on_short_week_day()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('a'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the full alphabetic day of week placeholder is found in the format string
- */
- virtual void on_full_week_day()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('A'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the ISO-formatted date is found in the format string
- */
- virtual void on_iso_date()
- {
- on_full_year();
- on_numeric_month();
- on_month_day(true);
- }
-
- /*!
- * \brief The function is called when the extended ISO-formatted date is found in the format string
- */
- virtual void on_extended_iso_date()
- {
- const char_type delimiter[2] = { static_cast< char_type >('-'), static_cast< char_type >('\0') };
- on_full_year();
- on_literal(boost::as_literal(delimiter));
- on_numeric_month();
- on_literal(boost::as_literal(delimiter));
- on_month_day(true);
- }
-};
-
-/*!
- * This is the interface the parser will use to notify the caller about various components of date in the format string.
- */
-template< typename CharT >
-struct time_format_parser_callback
-{
- //! Character type used by the parser
- typedef CharT char_type;
-
- //! Destructor
- virtual ~time_format_parser_callback() {}
-
- /*!
- * \brief The function is called when the parser discovers a string literal in the format string
- *
- * \param lit The string of characters not interpreted as a placeholder
- */
- virtual void on_literal(iterator_range< const char_type* > const& lit) = 0;
-
- /*!
- * \brief The method is called when an unknown placeholder is found in the format string
- *
- * \param ph The placeholder with the leading percent sign
- */
- virtual void on_placeholder(iterator_range< const char_type* > const& ph)
- {
- // By default interpret all unrecognized placeholders as literals
- on_literal(ph);
- }
-
- /*!
- * \brief The function is called when the hours placeholder is found in the format string
- *
- * The placeholder is used for 24-hour clock and duration formatting.
- *
- * \param leading_zero If \c true, the one-digit number of hours should be formatted with leading zero, otherwise with leading space
- */
- virtual void on_hours(bool leading_zero)
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), (leading_zero ? static_cast< char_type >('O') : static_cast< char_type >('k')), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the hours placeholder is found in the format string
- *
- * The placeholder is used for 12-hour clock formatting. It should not be used for duration formatting.
- *
- * \param leading_zero If \c true, the one-digit number of hours should be formatted with leading zero, otherwise with leading space
- */
- virtual void on_hours_12(bool leading_zero)
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), (leading_zero ? static_cast< char_type >('I') : static_cast< char_type >('l')), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the minutes placeholder is found in the format string
- */
- virtual void on_minutes()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('M'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the seconds placeholder is found in the format string
- */
- virtual void on_seconds()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('S'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the fractional seconds placeholder is found in the format string
- */
- virtual void on_fractional_seconds()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('f'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the day period (AM/PM) placeholder is found in the format string
- *
- * The placeholder is used for 12-hour clock formatting. It should not be used for duration formatting.
- *
- * \param upper_case If \c true, the day period will be upper case, and lower case otherwise
- */
- virtual void on_am_pm(bool upper_case)
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), (upper_case ? static_cast< char_type >('p') : static_cast< char_type >('P')), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the time duration sign placeholder is found in the format string
- *
- * The placeholder is used for duration formatting. It should not be used for time point formatting.
- *
- * \param display_positive If \c true, the positive sign will be explicitly displayed, otherwise only negative sign will be displayed
- */
- virtual void on_duration_sign(bool display_positive)
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), (display_positive ? static_cast< char_type >('+') : static_cast< char_type >('-')), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the ISO time zone placeholder is found in the format string
- */
- virtual void on_iso_time_zone()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('q'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the extended ISO time zone placeholder is found in the format string
- */
- virtual void on_extended_iso_time_zone()
- {
- const char_type placeholder[3] = { static_cast< char_type >('%'), static_cast< char_type >('Q'), static_cast< char_type >('\0') };
- on_placeholder(boost::as_literal(placeholder));
- }
-
- /*!
- * \brief The function is called when the ISO-formatted time is found in the format string
- */
- virtual void on_iso_time()
- {
- on_hours(true);
- on_minutes();
- on_seconds();
- }
-
- /*!
- * \brief The function is called when the extended ISO-formatted time is found in the format string
- */
- virtual void on_extended_iso_time()
- {
- const char_type delimiter[2] = { static_cast< char_type >(':'), static_cast< char_type >('\0') };
- on_hours(true);
- on_literal(boost::as_literal(delimiter));
- on_minutes();
- on_literal(boost::as_literal(delimiter));
- on_seconds();
- }
-
- /*!
- * \brief The function is called when the extended ISO-formatted time with fractional seconds is found in the format string
- */
- virtual void on_default_time()
- {
- on_extended_iso_time();
-
- const char_type delimiter[2] = { static_cast< char_type >('.'), static_cast< char_type >('\0') };
- on_literal(boost::as_literal(delimiter));
- on_fractional_seconds();
- }
-};
-
-/*!
- * This is the interface the parser will use to notify the caller about various components of date in the format string.
- */
-template< typename CharT >
-struct date_time_format_parser_callback :
- public date_format_parser_callback< CharT >,
- public time_format_parser_callback< CharT >
-{
- //! Character type used by the parser
- typedef CharT char_type;
-
- //! Destructor
- virtual ~date_time_format_parser_callback() {}
-
- /*!
- * \brief The function is called when the parser discovers a string literal in the format string
- *
- * \param lit The string of characters not interpreted as a placeholder
- */
- virtual void on_literal(iterator_range< const char_type* > const& lit) = 0;
-
- /*!
- * \brief The method is called when an unknown placeholder is found in the format string
- *
- * \param ph The placeholder with the leading percent sign
- */
- virtual void on_placeholder(iterator_range< const char_type* > const& ph)
- {
- // By default interpret all unrecognized placeholders as literals
- on_literal(ph);
- }
-};
-
-/*!
- * \brief Parses the date format string and invokes the callback object
- *
- * \pre <tt>begin <= end</tt>, both pointers must not be \c NULL
- * \param begin Pointer to the first character of the sequence
- * \param end Pointer to the after-the-last character of the sequence
- * \param callback Reference to the callback object that will be invoked by the parser as it processes the input
- */
-template< typename CharT >
-BOOST_LOG_API void parse_date_format(const CharT* begin, const CharT* end, date_format_parser_callback< CharT >& callback);
-
-/*!
- * \brief Parses the date format string and invokes the callback object
- *
- * \param str The format string to parse
- * \param callback Reference to the callback object that will be invoked by the parser as it processes the input
- */
-template< typename CharT, typename TraitsT, typename AllocatorT >
-inline void parse_date_format(std::basic_string< CharT, TraitsT, AllocatorT > const& str, date_format_parser_callback< CharT >& callback)
-{
- const CharT* p = str.c_str();
- return parse_date_format(p, p + str.size(), callback);
-}
-
-/*!
- * \brief Parses the date format string and invokes the callback object
- *
- * \pre <tt>str != NULL</tt>, <tt>str</tt> points to a zero-terminated string.
- * \param str The format string to parse
- * \param callback Reference to the callback object that will be invoked by the parser as it processes the input
- */
-template< typename CharT >
-inline void parse_date_format(const CharT* str, date_format_parser_callback< CharT >& callback)
-{
- return parse_date_format(str, str + std::char_traits< CharT >::length(str), callback);
-}
-
-/*!
- * \brief Parses the time format string and invokes the callback object
- *
- * \pre <tt>begin <= end</tt>, both pointers must not be \c NULL
- * \param begin Pointer to the first character of the sequence
- * \param end Pointer to the after-the-last character of the sequence
- * \param callback Reference to the callback object that will be invoked by the parser as it processes the input
- */
-template< typename CharT >
-BOOST_LOG_API void parse_time_format(const CharT* begin, const CharT* end, time_format_parser_callback< CharT >& callback);
-
-/*!
- * \brief Parses the time format string and invokes the callback object
- *
- * \param str The format string to parse
- * \param callback Reference to the callback object that will be invoked by the parser as it processes the input
- */
-template< typename CharT, typename TraitsT, typename AllocatorT >
-inline void parse_time_format(std::basic_string< CharT, TraitsT, AllocatorT > const& str, time_format_parser_callback< CharT >& callback)
-{
- const CharT* p = str.c_str();
- return parse_time_format(p, p + str.size(), callback);
-}
-
-/*!
- * \brief Parses the time format string and invokes the callback object
- *
- * \pre <tt>str != NULL</tt>, <tt>str</tt> points to a zero-terminated string.
- * \param str The format string to parse
- * \param callback Reference to the callback object that will be invoked by the parser as it processes the input
- */
-template< typename CharT >
-inline void parse_time_format(const CharT* str, time_format_parser_callback< CharT >& callback)
-{
- return parse_time_format(str, str + std::char_traits< CharT >::length(str), callback);
-}
-
-/*!
- * \brief Parses the date and time format string and invokes the callback object
- *
- * \pre <tt>begin <= end</tt>, both pointers must not be \c NULL
- * \param begin Pointer to the first character of the sequence
- * \param end Pointer to the after-the-last character of the sequence
- * \param callback Reference to the callback object that will be invoked by the parser as it processes the input
- */
-template< typename CharT >
-BOOST_LOG_API void parse_date_time_format(const CharT* begin, const CharT* end, date_time_format_parser_callback< CharT >& callback);
-
-/*!
- * \brief Parses the date and time format string and invokes the callback object
- *
- * \param str The format string to parse
- * \param callback Reference to the callback object that will be invoked by the parser as it processes the input
- */
-template< typename CharT, typename TraitsT, typename AllocatorT >
-inline void parse_date_time_format(std::basic_string< CharT, TraitsT, AllocatorT > const& str, date_time_format_parser_callback< CharT >& callback)
-{
- const CharT* p = str.c_str();
- return parse_date_time_format(p, p + str.size(), callback);
-}
-
-/*!
- * \brief Parses the date and time format string and invokes the callback object
- *
- * \pre <tt>str != NULL</tt>, <tt>str</tt> points to a zero-terminated string.
- * \param str The format string to parse
- * \param callback Reference to the callback object that will be invoked by the parser as it processes the input
- */
-template< typename CharT >
-inline void parse_date_time_format(const CharT* str, date_time_format_parser_callback< CharT >& callback)
-{
- return parse_date_time_format(str, str + std::char_traits< CharT >::length(str), callback);
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_DATE_TIME_FORMAT_PARSER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/decomposed_time.hpp b/contrib/restricted/boost/boost/log/detail/decomposed_time.hpp
deleted file mode 100644
index 0328106edc..0000000000
--- a/contrib/restricted/boost/boost/log/detail/decomposed_time.hpp
+++ /dev/null
@@ -1,439 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file decomposed_time.hpp
- * \author Andrey Semashev
- * \date 07.11.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_DECOMPOSED_TIME_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_DECOMPOSED_TIME_HPP_INCLUDED_
-
-#include <ctime>
-#include <string>
-#include <vector>
-#include <locale>
-#include <boost/cstdint.hpp>
-#include <boost/move/core.hpp>
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/date_time_format_parser.hpp>
-#include <boost/log/detail/attachable_sstream_buf.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Date and time suitable for formatting
-struct decomposed_time
-{
- // Subseconds are microseconds
- enum _
- {
- subseconds_per_second = 1000000,
- subseconds_digits10 = 6
- };
-
- uint32_t year, month, day, hours, minutes, seconds, subseconds;
- bool negative;
-
- decomposed_time() : year(0), month(1), day(1), hours(0), minutes(0), seconds(0), subseconds(0), negative(false)
- {
- }
-
- decomposed_time(uint32_t y, uint32_t mo, uint32_t d, uint32_t h, uint32_t mi, uint32_t s, uint32_t ss = 0, bool neg = false) :
- year(y), month(mo), day(d), hours(h), minutes(mi), seconds(s), subseconds(ss), negative(neg)
- {
- }
-
- unsigned int week_day() const
- {
- unsigned int a = (14u - month) / 12u;
- unsigned int y = year - a;
- unsigned int m = month + 12u * a - 2u;
- return (day + y + (y / 4u) - (y / 100u) + (y / 400u) + (31u * m) / 12u) % 7u;
- }
-
- unsigned int year_day() const
- {
- bool is_leap_year = (!(year % 4u)) && ((year % 100u) || (!(year % 400u)));
- static const unsigned int first_day_offset[] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 };
- return first_day_offset[month - 1] + day + (month > 2 && is_leap_year);
- }
-};
-
-inline std::tm to_tm(decomposed_time const& t)
-{
- std::tm res = {};
- res.tm_year = static_cast< int >(t.year) - 1900;
- res.tm_mon = t.month - 1;
- res.tm_mday = t.day;
- res.tm_hour = t.hours;
- res.tm_min = t.minutes;
- res.tm_sec = t.seconds;
- res.tm_wday = t.week_day();
- res.tm_yday = t.year_day();
- res.tm_isdst = -1;
-
- return res;
-}
-
-template< typename T >
-struct decomposed_time_wrapper :
- public boost::log::aux::decomposed_time
-{
- typedef boost::log::aux::decomposed_time base_type;
- typedef T value_type;
- value_type m_time;
-
- BOOST_DEFAULTED_FUNCTION(decomposed_time_wrapper(), {})
-
- explicit decomposed_time_wrapper(value_type const& time) : m_time(time)
- {
- }
-};
-
-template< typename CharT >
-BOOST_LOG_API void put_integer(boost::log::aux::basic_ostringstreambuf< CharT >& strbuf, uint32_t value, unsigned int width, CharT fill_char);
-
-template< typename T, typename CharT >
-class date_time_formatter
-{
- BOOST_COPYABLE_AND_MOVABLE_ALT(date_time_formatter)
-
-protected:
- // Note: This typedef is needed to work around MSVC 2012 crappy name lookup in the derived classes
- typedef date_time_formatter date_time_formatter_;
-
-public:
- typedef void result_type;
- typedef T value_type;
- typedef CharT char_type;
- typedef std::basic_string< char_type > string_type;
- typedef basic_formatting_ostream< char_type > stream_type;
-
- struct context
- {
- date_time_formatter const& self;
- stream_type& strm;
- value_type const& value;
- unsigned int literal_index, literal_pos;
-
- context(date_time_formatter const& self_, stream_type& strm_, value_type const& value_) :
- self(self_),
- strm(strm_),
- value(value_),
- literal_index(0),
- literal_pos(0)
- {
- }
-
- BOOST_DELETED_FUNCTION(context(context const&))
- BOOST_DELETED_FUNCTION(context& operator=(context const&))
- };
-
-private:
- typedef void (*formatter_type)(context&);
- typedef std::vector< formatter_type > formatters;
- typedef std::vector< unsigned int > literal_lens;
-
-protected:
- formatters m_formatters;
- literal_lens m_literal_lens;
- string_type m_literal_chars;
-
-public:
- BOOST_DEFAULTED_FUNCTION(date_time_formatter(), {})
- date_time_formatter(date_time_formatter const& that) :
- m_formatters(that.m_formatters),
- m_literal_lens(that.m_literal_lens),
- m_literal_chars(that.m_literal_chars)
- {
- }
- date_time_formatter(BOOST_RV_REF(date_time_formatter) that) BOOST_NOEXCEPT
- {
- this->swap(static_cast< date_time_formatter& >(that));
- }
-
- date_time_formatter& operator= (date_time_formatter that) BOOST_NOEXCEPT
- {
- this->swap(that);
- return *this;
- }
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- // Some formatters will put characters directly to the underlying string, so we have to flush stream buffers before formatting
- strm.flush();
- context ctx(*this, strm, value);
- for (typename formatters::const_iterator it = m_formatters.begin(), end = m_formatters.end(); strm.good() && it != end; ++it)
- {
- (*it)(ctx);
- }
- }
-
- void add_formatter(formatter_type fun)
- {
- m_formatters.push_back(fun);
- }
-
- void add_literal(iterator_range< const char_type* > const& lit)
- {
- m_literal_chars.append(lit.begin(), lit.end());
- m_literal_lens.push_back(static_cast< unsigned int >(lit.size()));
- m_formatters.push_back(&date_time_formatter_::format_literal);
- }
-
- void swap(date_time_formatter& that) BOOST_NOEXCEPT
- {
- m_formatters.swap(that.m_formatters);
- m_literal_lens.swap(that.m_literal_lens);
- m_literal_chars.swap(that.m_literal_chars);
- }
-
-public:
- template< char FormatCharV >
- static void format_through_locale(context& ctx)
- {
- typedef std::time_put< char_type > facet_type;
- typedef typename facet_type::iter_type iter_type;
- std::tm t = to_tm(static_cast< decomposed_time const& >(ctx.value));
- std::use_facet< facet_type >(ctx.strm.getloc()).put(iter_type(ctx.strm.stream()), ctx.strm.stream(), ' ', &t, FormatCharV);
- ctx.strm.flush();
- }
-
- static void format_full_year(context& ctx)
- {
- (put_integer)(*ctx.strm.rdbuf(), ctx.value.year, 4, static_cast< char_type >('0'));
- }
-
- static void format_short_year(context& ctx)
- {
- (put_integer)(*ctx.strm.rdbuf(), ctx.value.year % 100u, 2, static_cast< char_type >('0'));
- }
-
- static void format_numeric_month(context& ctx)
- {
- (put_integer)(*ctx.strm.rdbuf(), ctx.value.month, 2, static_cast< char_type >('0'));
- }
-
- template< char_type FillCharV >
- static void format_month_day(context& ctx)
- {
- (put_integer)(*ctx.strm.rdbuf(), ctx.value.day, 2, static_cast< char_type >(FillCharV));
- }
-
- static void format_week_day(context& ctx)
- {
- (put_integer)(*ctx.strm.rdbuf(), static_cast< decomposed_time const& >(ctx.value).week_day(), 1, static_cast< char_type >('0'));
- }
-
- template< char_type FillCharV >
- static void format_hours(context& ctx)
- {
- (put_integer)(*ctx.strm.rdbuf(), ctx.value.hours, 2, static_cast< char_type >(FillCharV));
- }
-
- template< char_type FillCharV >
- static void format_hours_12(context& ctx)
- {
- (put_integer)(*ctx.strm.rdbuf(), ctx.value.hours % 12u + 1u, 2, static_cast< char_type >(FillCharV));
- }
-
- static void format_minutes(context& ctx)
- {
- (put_integer)(*ctx.strm.rdbuf(), ctx.value.minutes, 2, static_cast< char_type >('0'));
- }
-
- static void format_seconds(context& ctx)
- {
- (put_integer)(*ctx.strm.rdbuf(), ctx.value.seconds, 2, static_cast< char_type >('0'));
- }
-
- static void format_fractional_seconds(context& ctx)
- {
- (put_integer)(*ctx.strm.rdbuf(), ctx.value.subseconds, decomposed_time::subseconds_digits10, static_cast< char_type >('0'));
- }
-
- template< bool UpperCaseV >
- static void format_am_pm(context& ctx)
- {
- static const char_type am[] = { static_cast< char_type >(UpperCaseV ? 'A' : 'a'), static_cast< char_type >(UpperCaseV ? 'M' : 'm'), static_cast< char_type >(0) };
- static const char_type pm[] = { static_cast< char_type >(UpperCaseV ? 'P' : 'p'), static_cast< char_type >(UpperCaseV ? 'M' : 'm'), static_cast< char_type >(0) };
-
- ctx.strm.rdbuf()->append(((static_cast< decomposed_time const& >(ctx.value).hours > 11) ? pm : am), 2u);
- }
-
- template< bool DisplayPositiveV >
- static void format_sign(context& ctx)
- {
- if (static_cast< decomposed_time const& >(ctx.value).negative)
- ctx.strm.rdbuf()->push_back('-');
- else if (DisplayPositiveV)
- ctx.strm.rdbuf()->push_back('+');
- }
-
-private:
- static void format_literal(context& ctx)
- {
- unsigned int len = ctx.self.m_literal_lens[ctx.literal_index], pos = ctx.literal_pos;
- ++ctx.literal_index;
- ctx.literal_pos += len;
- const char_type* lit = ctx.self.m_literal_chars.c_str();
- ctx.strm.rdbuf()->append(lit + pos, len);
- }
-};
-
-template< typename FormatterT, typename CharT >
-class decomposed_time_formatter_builder :
- public date_time_format_parser_callback< CharT >
-{
-public:
- typedef date_time_format_parser_callback< CharT > base_type;
- typedef typename base_type::char_type char_type;
- typedef FormatterT formatter_type;
- typedef typename formatter_type::value_type value_type;
- typedef typename formatter_type::stream_type stream_type;
- typedef typename stream_type::string_type string_type;
-
-protected:
- formatter_type& m_formatter;
-
-public:
- explicit decomposed_time_formatter_builder(formatter_type& fmt) : m_formatter(fmt)
- {
- }
-
- void on_literal(iterator_range< const char_type* > const& lit)
- {
- m_formatter.add_literal(lit);
- }
-
- void on_short_year()
- {
- m_formatter.add_formatter(&formatter_type::format_short_year);
- }
-
- void on_full_year()
- {
- m_formatter.add_formatter(&formatter_type::format_full_year);
- }
-
- void on_numeric_month()
- {
- m_formatter.add_formatter(&formatter_type::format_numeric_month);
- }
-
- void on_short_month()
- {
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_through_locale< 'b' >);
- }
-
- void on_full_month()
- {
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_through_locale< 'B' >);
- }
-
- void on_month_day(bool leading_zero)
- {
- if (leading_zero)
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_month_day< '0' >);
- else
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_month_day< ' ' >);
- }
-
- void on_numeric_week_day()
- {
- m_formatter.add_formatter(&formatter_type::format_week_day);
- }
-
- void on_short_week_day()
- {
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_through_locale< 'a' >);
- }
-
- void on_full_week_day()
- {
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_through_locale< 'A' >);
- }
-
- void on_hours(bool leading_zero)
- {
- if (leading_zero)
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_hours< '0' >);
- else
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_hours< ' ' >);
- }
-
- void on_hours_12(bool leading_zero)
- {
- if (leading_zero)
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_hours_12< '0' >);
- else
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_hours_12< ' ' >);
- }
-
- void on_minutes()
- {
- m_formatter.add_formatter(&formatter_type::format_minutes);
- }
-
- void on_seconds()
- {
- m_formatter.add_formatter(&formatter_type::format_seconds);
- }
-
- void on_fractional_seconds()
- {
- m_formatter.add_formatter(&formatter_type::format_fractional_seconds);
- }
-
- void on_am_pm(bool upper_case)
- {
- if (upper_case)
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_am_pm< true >);
- else
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_am_pm< false >);
- }
-
- void on_duration_sign(bool display_positive)
- {
- if (display_positive)
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_sign< true >);
- else
- m_formatter.add_formatter(&formatter_type::BOOST_NESTED_TEMPLATE format_sign< false >);
- }
-
- void on_iso_time_zone()
- {
- }
-
- void on_extended_iso_time_zone()
- {
- }
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_DECOMPOSED_TIME_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/deduce_char_type.hpp b/contrib/restricted/boost/boost/log/detail/deduce_char_type.hpp
deleted file mode 100644
index a47947f91c..0000000000
--- a/contrib/restricted/boost/boost/log/detail/deduce_char_type.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file deduce_char_type.hpp
- * \author Andrey Semashev
- * \date 17.11.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_DEDUCE_CHAR_TYPE_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_DEDUCE_CHAR_TYPE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename T >
-struct deduced_char_type;
-
-template< >
-struct deduced_char_type< char >
-{
- typedef char type;
-};
-
-template< >
-struct deduced_char_type< const char >
-{
- typedef char type;
-};
-
-template< >
-struct deduced_char_type< wchar_t >
-{
- typedef wchar_t type;
-};
-
-template< >
-struct deduced_char_type< const wchar_t >
-{
- typedef wchar_t type;
-};
-
-//! Auxiliary traits to detect character type from a string
-template< typename RangeT >
-struct deduce_char_type :
- public deduced_char_type< typename RangeT::value_type >
-{
-};
-
-template< typename T >
-struct deduce_char_type< T* > :
- public deduced_char_type< T >
-{
-};
-
-template< typename T >
-struct deduce_char_type< T* const > :
- public deduced_char_type< T >
-{
-};
-
-template< typename T, unsigned int CountV >
-struct deduce_char_type< T[CountV] > :
- public deduced_char_type< T >
-{
-};
-
-template< typename T >
-struct deduce_char_type< T& > :
- public deduce_char_type< T >
-{
-};
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-template< typename T >
-struct deduce_char_type< T&& > :
- public deduce_char_type< T >
-{
-};
-
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_DEDUCE_CHAR_TYPE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/default_attribute_names.hpp b/contrib/restricted/boost/boost/log/detail/default_attribute_names.hpp
deleted file mode 100644
index b24e2e54fa..0000000000
--- a/contrib/restricted/boost/boost/log/detail/default_attribute_names.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file default_attribute_names.hpp
- * \author Andrey Semashev
- * \date 15.01.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_DEFAULT_ATTRIBUTE_NAMES_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_DEFAULT_ATTRIBUTE_NAMES_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-namespace default_attribute_names {
-
-BOOST_LOG_API attribute_name severity();
-BOOST_LOG_API attribute_name channel();
-BOOST_LOG_API attribute_name message();
-BOOST_LOG_API attribute_name line_id();
-BOOST_LOG_API attribute_name timestamp();
-BOOST_LOG_API attribute_name process_id();
-BOOST_LOG_API attribute_name thread_id();
-
-} // namespace default_attribute_names
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_DEFAULT_ATTRIBUTE_NAMES_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/embedded_string_type.hpp b/contrib/restricted/boost/boost/log/detail/embedded_string_type.hpp
deleted file mode 100644
index 2525dd6182..0000000000
--- a/contrib/restricted/boost/boost/log/detail/embedded_string_type.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file embedded_string_type.hpp
- * \author Andrey Semashev
- * \date 16.08.2009
- *
- * This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_EMBEDDED_STRING_TYPE_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_EMBEDDED_STRING_TYPE_HPP_INCLUDED_
-
-#include <string>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename T, typename ArgT >
-struct make_embedded_string_type_impl
-{
- typedef ArgT type;
-};
-
-template< typename ArgT >
-struct make_embedded_string_type_impl< char, ArgT >
-{
- typedef std::basic_string< char > type;
-};
-
-template< typename ArgT >
-struct make_embedded_string_type_impl< const char, ArgT >
-{
- typedef std::basic_string< char > type;
-};
-
-template< typename ArgT >
-struct make_embedded_string_type_impl< wchar_t, ArgT >
-{
- typedef std::basic_string< wchar_t > type;
-};
-
-template< typename ArgT >
-struct make_embedded_string_type_impl< const wchar_t, ArgT >
-{
- typedef std::basic_string< wchar_t > type;
-};
-
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
-template< typename ArgT >
-struct make_embedded_string_type_impl< char16_t, ArgT >
-{
- typedef std::basic_string< char16_t > type;
-};
-
-template< typename ArgT >
-struct make_embedded_string_type_impl< const char16_t, ArgT >
-{
- typedef std::basic_string< char16_t > type;
-};
-#endif
-
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
-template< typename ArgT >
-struct make_embedded_string_type_impl< char32_t, ArgT >
-{
- typedef std::basic_string< char32_t > type;
-};
-
-template< typename ArgT >
-struct make_embedded_string_type_impl< const char32_t, ArgT >
-{
- typedef std::basic_string< char32_t > type;
-};
-#endif
-
-//! An auxiliary type translator to store strings by value in function objects and attribute values
-template< typename ArgT >
-struct make_embedded_string_type :
- public remove_cv< ArgT >
-{
-};
-
-template< typename ArgT >
-struct make_embedded_string_type< ArgT* > :
- public make_embedded_string_type_impl< ArgT, ArgT* >
-{
-};
-
-template< typename ArgT, unsigned int CountV >
-struct make_embedded_string_type< ArgT[CountV] > :
- public make_embedded_string_type_impl< ArgT, ArgT[CountV] >
-{
-};
-
-template< typename ArgT, unsigned int CountV >
-struct make_embedded_string_type< ArgT(&)[CountV] > :
- public make_embedded_string_type_impl< ArgT, ArgT(&)[CountV] >
-{
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_EMBEDDED_STRING_TYPE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/enqueued_record.hpp b/contrib/restricted/boost/boost/log/detail/enqueued_record.hpp
deleted file mode 100644
index f4821363a2..0000000000
--- a/contrib/restricted/boost/boost/log/detail/enqueued_record.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file enqueued_record.hpp
- * \author Andrey Semashev
- * \date 01.04.2014
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. In this file
- * internal configuration macros are defined.
- */
-
-#ifndef BOOST_LOG_DETAIL_ENQUEUED_RECORD_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_ENQUEUED_RECORD_HPP_INCLUDED_
-
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/timestamp.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-namespace aux {
-
-//! Log record with enqueueing timestamp
-class enqueued_record
-{
- BOOST_COPYABLE_AND_MOVABLE(enqueued_record)
-
-public:
- //! Ordering predicate
- template< typename OrderT >
- struct order :
- public OrderT
- {
- typedef typename OrderT::result_type result_type;
-
- order() {}
- order(order const& that) : OrderT(static_cast< OrderT const& >(that)) {}
- order(OrderT const& that) : OrderT(that) {}
-
- result_type operator() (enqueued_record const& left, enqueued_record const& right) const
- {
- // std::priority_queue requires ordering with semantics of std::greater, so we swap arguments
- return OrderT::operator() (right.m_record, left.m_record);
- }
- };
-
- boost::log::aux::timestamp m_timestamp;
- record_view m_record;
-
- enqueued_record(enqueued_record const& that) : m_timestamp(that.m_timestamp), m_record(that.m_record)
- {
- }
- enqueued_record(BOOST_RV_REF(enqueued_record) that) :
- m_timestamp(that.m_timestamp),
- m_record(boost::move(that.m_record))
- {
- }
- explicit enqueued_record(record_view const& rec) :
- m_timestamp(boost::log::aux::get_timestamp()),
- m_record(rec)
- {
- }
- enqueued_record& operator= (BOOST_COPY_ASSIGN_REF(enqueued_record) that)
- {
- m_timestamp = that.m_timestamp;
- m_record = that.m_record;
- return *this;
- }
- enqueued_record& operator= (BOOST_RV_REF(enqueued_record) that)
- {
- m_timestamp = that.m_timestamp;
- m_record = boost::move(that.m_record);
- return *this;
- }
-};
-
-} // namespace aux
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_ENQUEUED_RECORD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/event.hpp b/contrib/restricted/boost/boost/log/detail/event.hpp
deleted file mode 100644
index 0168e170e7..0000000000
--- a/contrib/restricted/boost/boost/log/detail/event.hpp
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file detail/event.hpp
- * \author Andrey Semashev
- * \date 24.07.2011
- */
-
-#ifndef BOOST_LOG_DETAIL_EVENT_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_EVENT_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_NO_THREADS
-
-#if defined(BOOST_THREAD_PLATFORM_PTHREAD)
-# include <boost/atomic/capabilities.hpp>
-# if (defined(linux) || defined(__linux) || defined(__linux__)) && BOOST_ATOMIC_INT_LOCK_FREE == 2
-# include <boost/atomic/atomic.hpp>
-# define BOOST_LOG_EVENT_USE_FUTEX
-# elif defined(_POSIX_SEMAPHORES) && (_POSIX_SEMAPHORES + 0) > 0 && BOOST_ATOMIC_FLAG_LOCK_FREE == 2
-# include <semaphore.h>
-# include <boost/cstdint.hpp>
-# include <boost/atomic/atomic_flag.hpp>
-# define BOOST_LOG_EVENT_USE_POSIX_SEMAPHORE
-# endif
-#elif defined(BOOST_THREAD_PLATFORM_WIN32)
-# include <boost/cstdint.hpp>
-# define BOOST_LOG_EVENT_USE_WINAPI
-#endif
-
-#if !defined(BOOST_LOG_EVENT_USE_POSIX_SEMAPHORE) && !defined(BOOST_LOG_EVENT_USE_WINAPI)
-# include <boost/thread/mutex.hpp>
-# include <boost/thread/condition_variable.hpp>
-# define BOOST_LOG_EVENT_USE_BOOST_CONDITION
-#endif
-
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-#if defined(BOOST_LOG_EVENT_USE_FUTEX)
-
-class futex_based_event
-{
-private:
- boost::atomic< int > m_state;
-
-public:
- //! Default constructor
- BOOST_LOG_API futex_based_event();
- //! Destructor
- BOOST_LOG_API ~futex_based_event();
-
- //! Waits for the object to become signalled
- BOOST_LOG_API void wait();
- //! Sets the object to a signalled state
- BOOST_LOG_API void set_signalled();
-
- // Copying prohibited
- BOOST_DELETED_FUNCTION(futex_based_event(futex_based_event const&))
- BOOST_DELETED_FUNCTION(futex_based_event& operator= (futex_based_event const&))
-};
-
-typedef futex_based_event event;
-
-#elif defined(BOOST_LOG_EVENT_USE_POSIX_SEMAPHORE)
-
-class sem_based_event
-{
-private:
- boost::atomic_flag m_state;
- sem_t m_semaphore;
-
-public:
- //! Default constructor
- BOOST_LOG_API sem_based_event();
- //! Destructor
- BOOST_LOG_API ~sem_based_event();
-
- //! Waits for the object to become signalled
- BOOST_LOG_API void wait();
- //! Sets the object to a signalled state
- BOOST_LOG_API void set_signalled();
-
- // Copying prohibited
- BOOST_DELETED_FUNCTION(sem_based_event(sem_based_event const&))
- BOOST_DELETED_FUNCTION(sem_based_event& operator= (sem_based_event const&))
-};
-
-typedef sem_based_event event;
-
-#elif defined(BOOST_LOG_EVENT_USE_WINAPI)
-
-class winapi_based_event
-{
-private:
- boost::uint32_t m_state;
- void* m_event;
-
-public:
- //! Default constructor
- BOOST_LOG_API winapi_based_event();
- //! Destructor
- BOOST_LOG_API ~winapi_based_event();
-
- //! Waits for the object to become signalled
- BOOST_LOG_API void wait();
- //! Sets the object to a signalled state
- BOOST_LOG_API void set_signalled();
-
- // Copying prohibited
- BOOST_DELETED_FUNCTION(winapi_based_event(winapi_based_event const&))
- BOOST_DELETED_FUNCTION(winapi_based_event& operator= (winapi_based_event const&))
-};
-
-typedef winapi_based_event event;
-
-#else
-
-class generic_event
-{
-private:
- boost::mutex m_mutex;
- boost::condition_variable m_cond;
- bool m_state;
-
-public:
- //! Default constructor
- BOOST_LOG_API generic_event();
- //! Destructor
- BOOST_LOG_API ~generic_event();
-
- //! Waits for the object to become signalled
- BOOST_LOG_API void wait();
- //! Sets the object to a signalled state
- BOOST_LOG_API void set_signalled();
-
- // Copying prohibited
- BOOST_DELETED_FUNCTION(generic_event(generic_event const&))
- BOOST_DELETED_FUNCTION(generic_event& operator= (generic_event const&))
-};
-
-typedef generic_event event;
-
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_NO_THREADS
-
-#endif // BOOST_LOG_DETAIL_EVENT_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/fake_mutex.hpp b/contrib/restricted/boost/boost/log/detail/fake_mutex.hpp
deleted file mode 100644
index 58011a5c59..0000000000
--- a/contrib/restricted/boost/boost/log/detail/fake_mutex.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file fake_mutex.hpp
- * \author Andrey Semashev
- * \date 31.07.2011
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_FAKE_MUTEX_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_FAKE_MUTEX_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Fake mutex that doesn't do anything. Note: we're not using \c null_mutex from Boost.Thread in order not to introduce false dependencies on Boost.Thread and Boost.Chrono.
-class fake_mutex
-{
-public:
- BOOST_DEFAULTED_FUNCTION(fake_mutex(), {})
- void lock() {}
- bool try_lock() { return true; }
- template< typename T >
- bool timed_lock(T const&) { return true; }
- void unlock() {}
-
- // Copying prohibited
- BOOST_DELETED_FUNCTION(fake_mutex(fake_mutex const&))
- BOOST_DELETED_FUNCTION(fake_mutex& operator=(fake_mutex const&))
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_FAKE_MUTEX_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/footer.hpp b/contrib/restricted/boost/boost/log/detail/footer.hpp
deleted file mode 100644
index ba0d2f0cb4..0000000000
--- a/contrib/restricted/boost/boost/log/detail/footer.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-
-#if !defined(BOOST_LOG_ENABLE_WARNINGS)
-
-#if defined(_MSC_VER)
-
-#pragma warning(pop)
-
-#elif defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 406
-
-#pragma GCC diagnostic pop
-
-#endif
-
-#endif // !defined(BOOST_LOG_ENABLE_WARNINGS)
-
-#include <boost/config/abi_suffix.hpp>
diff --git a/contrib/restricted/boost/boost/log/detail/format.hpp b/contrib/restricted/boost/boost/log/detail/format.hpp
deleted file mode 100644
index 449f85edfa..0000000000
--- a/contrib/restricted/boost/boost/log/detail/format.hpp
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file format.hpp
- * \author Andrey Semashev
- * \date 15.11.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_FORMAT_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_FORMAT_HPP_INCLUDED_
-
-#include <string>
-#include <vector>
-#include <iosfwd>
-#include <boost/assert.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/unhandled_exception_count.hpp>
-#include <boost/log/detail/cleanup_scope_guard.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! An element (either literal or placeholder) of the format string
-struct format_element
-{
- //! Argument placeholder number or -1 if it's not a placeholder (i.e. a literal)
- int arg_number;
- //! If the element describes a constant literal, the starting character and length of the literal
- unsigned int literal_start_pos, literal_len;
-
- format_element() : arg_number(0), literal_start_pos(0), literal_len(0)
- {
- }
-
- static format_element literal(unsigned int start_pos, unsigned int len)
- {
- format_element el;
- el.arg_number = -1;
- el.literal_start_pos = start_pos;
- el.literal_len = len;
- return el;
- }
-
- static format_element positional_argument(unsigned int arg_n)
- {
- format_element el;
- el.arg_number = arg_n;
- return el;
- }
-};
-
-//! Parsed format string description
-template< typename CharT >
-struct format_description
-{
- BOOST_COPYABLE_AND_MOVABLE_ALT(format_description)
-
-public:
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
-
- //! Array of format element descriptors
- typedef std::vector< format_element > format_element_list;
-
- //! Characters of all literal parts of the format string
- string_type literal_chars;
- //! Format element descriptors
- format_element_list format_elements;
-
- BOOST_DEFAULTED_FUNCTION(format_description(), {})
-
- format_description(format_description const& that) : literal_chars(that.literal_chars), format_elements(that.format_elements)
- {
- }
-
- format_description(BOOST_RV_REF(format_description) that)
- {
- literal_chars.swap(that.literal_chars);
- format_elements.swap(that.format_elements);
- }
-
- format_description& operator= (format_description that)
- {
- literal_chars.swap(that.literal_chars);
- format_elements.swap(that.format_elements);
- return *this;
- }
-};
-
-//! Parses format string
-template< typename CharT >
-BOOST_LOG_API format_description< CharT > parse_format(const CharT* begin, const CharT* end);
-
-//! Parses format string
-template< typename CharT >
-BOOST_FORCEINLINE format_description< CharT > parse_format(const CharT* begin)
-{
- return parse_format(begin, begin + std::char_traits< CharT >::length(begin));
-}
-
-//! Parses format string
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_FORCEINLINE format_description< CharT > parse_format(std::basic_string< CharT, TraitsT, AllocatorT > const& fmt)
-{
- const CharT* begin = fmt.c_str();
- return parse_format(begin, begin + fmt.size());
-}
-
-//! Formatter object
-template< typename CharT >
-class basic_format
-{
-public:
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Stream type
- typedef basic_formatting_ostream< char_type > stream_type;
- //! Format description type
- typedef format_description< char_type > format_description_type;
-
- //! The pump receives arguments and formats them into strings. At destruction the pump composes the final string in the attached stream.
- class pump;
- friend class pump;
-
-private:
- //! Formatting params for a single placeholder in the format string
- struct formatting_params
- {
- //! Formatting element index in the format description
- unsigned int element_idx;
- //! Formatting result
- string_type target;
-
- formatting_params() : element_idx(~0u) {}
- };
- typedef std::vector< formatting_params > formatting_params_list;
-
-private:
- //! Format string description
- format_description_type m_format;
- //! Formatting parameters for all placeholders
- formatting_params_list m_formatting_params;
- //! Current formatting position
- unsigned int m_current_idx;
-
-public:
- //! Initializing constructor
- explicit basic_format(string_type const& fmt) : m_format(aux::parse_format(fmt)), m_current_idx(0)
- {
- init_params();
- }
- //! Initializing constructor
- explicit basic_format(const char_type* fmt) : m_format(aux::parse_format(fmt)), m_current_idx(0)
- {
- init_params();
- }
-
- //! Clears all formatted strings and resets the current formatting position
- void clear() BOOST_NOEXCEPT
- {
- for (typename formatting_params_list::iterator it = m_formatting_params.begin(), end = m_formatting_params.end(); it != end; ++it)
- {
- it->target.clear();
- }
- m_current_idx = 0;
- }
-
- //! Creates a pump that will receive all format arguments and put the formatted string into the stream
- pump make_pump(stream_type& strm)
- {
- // Flush the stream beforehand so that the pump can safely switch the stream storage string
- strm.flush();
- return pump(*this, strm);
- }
-
- //! Composes the final string from the formatted pieces
- string_type str() const
- {
- string_type result;
- compose(result);
- return BOOST_LOG_NRVO_RESULT(result);
- }
-
-private:
- //! Initializes the formatting params
- void init_params()
- {
- typename format_description_type::format_element_list::const_iterator it = m_format.format_elements.begin(), end = m_format.format_elements.end();
- for (; it != end; ++it)
- {
- if (it->arg_number >= 0)
- {
- if (static_cast< unsigned int >(it->arg_number) >= m_formatting_params.size())
- m_formatting_params.resize(it->arg_number + 1);
- m_formatting_params[it->arg_number].element_idx = static_cast< unsigned int >(it - m_format.format_elements.begin());
- }
- }
- }
-
- //! Composes the final string from the formatted pieces
- template< typename T >
- void compose(T& str) const
- {
- typename format_description_type::format_element_list::const_iterator it = m_format.format_elements.begin(), end = m_format.format_elements.end();
- for (; it != end; ++it)
- {
- if (it->arg_number >= 0)
- {
- // This is a placeholder
- string_type const& target = m_formatting_params[it->arg_number].target;
- str.append(target.data(), target.size());
- }
- else
- {
- // This is a literal
- const char_type* p = m_format.literal_chars.c_str() + it->literal_start_pos;
- str.append(p, it->literal_len);
- }
- }
- }
-};
-
-//! The pump receives arguments and formats them into strings. At destruction the pump composes the final string in the attached stream.
-template< typename CharT >
-class basic_format< CharT >::pump
-{
- BOOST_MOVABLE_BUT_NOT_COPYABLE(pump)
-
-private:
- //! The guard temporarily replaces storage string in the specified stream
- struct scoped_storage
- {
- scoped_storage(stream_type& strm, string_type& storage) : m_stream(strm), m_storage_state_backup(strm.rdbuf()->get_storage_state())
- {
- strm.attach(storage);
- }
- ~scoped_storage()
- {
- m_stream.rdbuf()->set_storage_state(m_storage_state_backup);
- }
-
- private:
- stream_type& m_stream;
- typename stream_type::streambuf_type::storage_state m_storage_state_backup;
- };
-
-private:
- //! Reference to the owner
- basic_format* m_owner;
- //! Reference to the stream
- stream_type* m_stream;
- //! Unhandled exception count
- const unsigned int m_exception_count;
-
-public:
- //! Initializing constructor
- pump(basic_format& owner, stream_type& strm) BOOST_NOEXCEPT : m_owner(&owner), m_stream(&strm), m_exception_count(unhandled_exception_count())
- {
- }
-
- //! Move constructor
- pump(BOOST_RV_REF(pump) that) BOOST_NOEXCEPT : m_owner(that.m_owner), m_stream(that.m_stream), m_exception_count(that.m_exception_count)
- {
- that.m_owner = NULL;
- that.m_stream = NULL;
- }
-
- //! Destructor
- ~pump() BOOST_NOEXCEPT_IF(false)
- {
- if (m_owner)
- {
- // Whether or not the destructor is called because of an exception, the format object has to be cleared
- boost::log::aux::cleanup_guard< basic_format< char_type > > cleanup1(*m_owner);
-
- BOOST_ASSERT(m_stream != NULL);
- if (m_exception_count >= unhandled_exception_count())
- {
- // Compose the final string in the stream buffer
- m_stream->flush();
- m_owner->compose(*m_stream->rdbuf());
- }
- }
- }
-
- /*!
- * Puts an argument to the formatter. Note the pump has to be returned by value and not by reference in order this to
- * work with Boost.Phoenix expressions. Otherwise the pump that is returned from \c basic_format::make_pump is
- * destroyed after the first call to \c operator%, and the returned reference becomes dangling.
- */
- template< typename T >
- pump operator% (T const& val)
- {
- BOOST_ASSERT_MSG(m_owner != NULL && m_stream != NULL, "Boost.Log: This basic_format::pump has already been moved from");
-
- if (m_owner->m_current_idx < m_owner->m_formatting_params.size())
- {
- scoped_storage storage_guard(*m_stream, m_owner->m_formatting_params[m_owner->m_current_idx].target);
-
- *m_stream << val;
- m_stream->flush();
-
- ++m_owner->m_current_idx;
- }
-
- return boost::move(*this);
- }
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_FORMAT_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/function_traits.hpp b/contrib/restricted/boost/boost/log/detail/function_traits.hpp
deleted file mode 100644
index 8f99624fd2..0000000000
--- a/contrib/restricted/boost/boost/log/detail/function_traits.hpp
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file function_traits.hpp
- * \author Andrey Semashev
- * \date 30.08.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_FUNCTION_TRAITS_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_FUNCTION_TRAITS_HPP_INCLUDED_
-
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/log/detail/config.hpp>
-
-#if defined(BOOST_NO_SFINAE) || defined(BOOST_MPL_CFG_NO_HAS_XXX)
-# if !defined(BOOST_LOG_NO_FUNCTION_TRAITS)
-# define BOOST_LOG_NO_FUNCTION_TRAITS
-# endif
-#else
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/front.hpp>
-#include <boost/mpl/pop_front.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/function_types/function_arity.hpp>
-#include <boost/function_types/parameter_types.hpp>
-#include <boost/function_types/is_nonmember_callable_builtin.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
- // A number of traits to deal with functors
- BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_argument_type, argument_type, false)
- BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_first_argument_type, first_argument_type, false)
- BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_second_argument_type, second_argument_type, false)
- BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_arg1_type, arg1_type, false)
- BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_arg2_type, arg2_type, false)
-
- namespace has_arity_no_adl {
-
- typedef char yes_type;
- struct no_type
- {
- char dummy[2];
- };
-
- template< typename FunT, int ArityV = FunT::arity >
- struct checker
- {
- };
-
- template< typename FunT >
- yes_type has_arity_impl(FunT const&, checker< FunT >*);
- template< typename FunT >
- no_type has_arity_impl(FunT const&, ...);
-
- } // namespace has_arity_no_adl
-
- //! The metafunction detects if the type has an arity static constant member
- template< typename FunT >
- struct has_arity
- {
- static FunT const& get_FunT();
-
- enum value_t { value = (sizeof(has_arity_no_adl::has_arity_impl(get_FunT(), 0)) == sizeof(has_arity_no_adl::yes_type)) };
- typedef mpl::bool_< value > type;
- };
-
- //! The metafunction results in an unqualified type with removed reference
- template< typename T >
- struct root_type :
- public remove_cv<
- typename remove_reference<
- T
- >::type
- >
- {
- };
-
- template<
- typename FunT,
- bool = function_types::is_nonmember_callable_builtin< FunT >::value,
- bool = has_argument_type< FunT >::value,
- bool = has_first_argument_type< FunT >::value,
- bool = has_arg1_type< FunT >::value
- >
- struct first_argument_type_of_impl
- {
- };
- template< typename FunT >
- struct first_argument_type_of_impl< FunT, true, false, false, false >
- {
- typedef typename root_type<
- typename mpl::front<
- typename function_types::parameter_types< FunT >::type
- >::type
- >::type type;
- };
- template< typename FunT, bool HasFirstArgumentV, bool HasArg1V >
- struct first_argument_type_of_impl< FunT, false, true, HasFirstArgumentV, HasArg1V >
- {
- typedef typename root_type<
- typename FunT::argument_type
- >::type type;
- };
- template< typename FunT, bool HasArg1V >
- struct first_argument_type_of_impl< FunT, false, false, true, HasArg1V >
- {
- typedef typename root_type<
- typename FunT::first_argument_type
- >::type type;
- };
- template< typename FunT >
- struct first_argument_type_of_impl< FunT, false, false, false, true >
- {
- typedef typename root_type<
- typename FunT::arg1_type
- >::type type;
- };
-
- //! The metafunction returns the first argument type of a function
- template< typename FunT >
- struct first_argument_type_of :
- public first_argument_type_of_impl< FunT >
- {
- };
-
-
- template<
- typename FunT,
- bool = function_types::is_nonmember_callable_builtin< FunT >::value,
- bool = has_second_argument_type< FunT >::value,
- bool = has_arg2_type< FunT >::value
- >
- struct second_argument_type_of_impl
- {
- };
- template< typename FunT >
- struct second_argument_type_of_impl< FunT, true, false, false >
- {
- typedef typename root_type<
- typename mpl::front<
- typename mpl::pop_front<
- typename function_types::parameter_types< FunT >::type
- >::type
- >::type
- >::type type;
- };
- template< typename FunT, bool HasArg2V >
- struct second_argument_type_of_impl< FunT, false, true, HasArg2V >
- {
- typedef typename root_type<
- typename FunT::second_argument_type
- >::type type;
- };
- template< typename FunT >
- struct second_argument_type_of_impl< FunT, false, false, true >
- {
- typedef typename root_type<
- typename FunT::arg2_type
- >::type type;
- };
-
- //! The metafunction returns the second argument type of a function
- template< typename FunT >
- struct second_argument_type_of :
- public second_argument_type_of_impl< FunT >
- {
- };
-
-
- template<
- typename FunT,
- bool = function_types::is_nonmember_callable_builtin< FunT >::value,
- bool = has_arity< FunT >::value,
- bool = has_argument_type< FunT >::value,
- bool = has_second_argument_type< FunT >::value
- >
- struct arity_of_impl
- {
- };
- template< typename FunT >
- struct arity_of_impl< FunT, true, false, false, false > :
- public function_types::function_arity< FunT >
- {
- };
- template< typename FunT, bool HasArgumentTypeV, bool HasSecondArgumentTypeV >
- struct arity_of_impl< FunT, false, true, HasArgumentTypeV, HasSecondArgumentTypeV > :
- public mpl::int_< FunT::arity >
- {
- };
- template< typename FunT, bool HasArgumentTypeV >
- struct arity_of_impl< FunT, false, false, HasArgumentTypeV, true > :
- public mpl::int_< 2 >
- {
- };
- template< typename FunT >
- struct arity_of_impl< FunT, false, false, true, false > :
- public mpl::int_< 1 >
- {
- };
-
- //! The metafunction returns the arity of a function
- template< typename FunT >
- struct arity_of :
- public arity_of_impl< FunT >
- {
- };
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // defined(BOOST_NO_SFINAE) || defined(BOOST_MPL_CFG_NO_HAS_XXX)
-
-#endif // BOOST_LOG_DETAIL_FUNCTION_TRAITS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/generate_overloads.hpp b/contrib/restricted/boost/boost/log/detail/generate_overloads.hpp
deleted file mode 100644
index 8571e06412..0000000000
--- a/contrib/restricted/boost/boost/log/detail/generate_overloads.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-
-BOOST_LOG_AUX_OVERLOAD(const&, const&)
-BOOST_LOG_AUX_OVERLOAD(&, const&)
-BOOST_LOG_AUX_OVERLOAD(const&, &)
-BOOST_LOG_AUX_OVERLOAD(&, &)
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-BOOST_LOG_AUX_OVERLOAD(const&&, const&&)
-BOOST_LOG_AUX_OVERLOAD(&&, const&&)
-BOOST_LOG_AUX_OVERLOAD(const&&, &&)
-BOOST_LOG_AUX_OVERLOAD(&&, &&)
-
-BOOST_LOG_AUX_OVERLOAD(const&&, const&)
-BOOST_LOG_AUX_OVERLOAD(&&, const&)
-BOOST_LOG_AUX_OVERLOAD(const&&, &)
-BOOST_LOG_AUX_OVERLOAD(&&, &)
-
-BOOST_LOG_AUX_OVERLOAD(const&, const&&)
-BOOST_LOG_AUX_OVERLOAD(&, const&&)
-BOOST_LOG_AUX_OVERLOAD(const&, &&)
-BOOST_LOG_AUX_OVERLOAD(&, &&)
-
-#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
diff --git a/contrib/restricted/boost/boost/log/detail/header.hpp b/contrib/restricted/boost/boost/log/detail/header.hpp
deleted file mode 100644
index 95984ff402..0000000000
--- a/contrib/restricted/boost/boost/log/detail/header.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-
-#include <boost/config/abi_prefix.hpp>
-
-#if !defined(BOOST_LOG_ENABLE_WARNINGS)
-
-#if defined(_MSC_VER)
-
-#pragma warning(push, 3)
-// 'm_A' : class 'A' needs to have dll-interface to be used by clients of class 'B'
-#pragma warning(disable: 4251)
-// non dll-interface class 'A' used as base for dll-interface class 'B'
-#pragma warning(disable: 4275)
-// switch statement contains 'default' but no 'case' labels
-#pragma warning(disable: 4065)
-// 'this' : used in base member initializer list
-#pragma warning(disable: 4355)
-// 'int' : forcing value to bool 'true' or 'false' (performance warning)
-#pragma warning(disable: 4800)
-// unreferenced formal parameter
-#pragma warning(disable: 4100)
-// conditional expression is constant
-#pragma warning(disable: 4127)
-// default constructor could not be generated
-#pragma warning(disable: 4510)
-// copy constructor could not be generated
-#pragma warning(disable: 4511)
-// assignment operator could not be generated
-#pragma warning(disable: 4512)
-// struct 'A' can never be instantiated - user defined constructor required
-#pragma warning(disable: 4610)
-// function marked as __forceinline not inlined
-#pragma warning(disable: 4714)
-// decorated name length exceeded, name was truncated
-#pragma warning(disable: 4503)
-// declaration of 'A' hides previous local declaration
-#pragma warning(disable: 4456)
-// declaration of 'A' hides global declaration
-#pragma warning(disable: 4459)
-// 'X': This function or variable may be unsafe. Consider using Y instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
-#pragma warning(disable: 4996)
-
-#elif defined(__GNUC__) && !(defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)) \
- && (__GNUC__ * 100 + __GNUC_MINOR__) >= 406
-
-#pragma GCC diagnostic push
-// 'var' defined but not used
-#pragma GCC diagnostic ignored "-Wunused-variable"
-// unused parameter 'arg'
-#pragma GCC diagnostic ignored "-Wunused-parameter"
-// missing initializer for member var
-#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
-
-#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407
-// typedef 'foo' locally defined but not used
-#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
-#endif
-
-#endif
-
-#endif // !defined(BOOST_LOG_ENABLE_WARNINGS)
diff --git a/contrib/restricted/boost/boost/log/detail/id.hpp b/contrib/restricted/boost/boost/log/detail/id.hpp
deleted file mode 100644
index d467824beb..0000000000
--- a/contrib/restricted/boost/boost/log/detail/id.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file id.hpp
- * \author Andrey Semashev
- * \date 08.01.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_ID_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_ID_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Generic identifier class
-template< typename DescriptorT >
-class id
-{
-public:
- //! Native type of the process id
- typedef typename DescriptorT::native_type native_type;
-
-private:
- native_type m_NativeID;
-
-public:
- BOOST_CONSTEXPR id() BOOST_NOEXCEPT : m_NativeID(0) {}
-
- explicit id(native_type native) BOOST_NOEXCEPT : m_NativeID(native) {}
-
- native_type native_id() const BOOST_NOEXCEPT { return m_NativeID; }
-
- bool operator== (id const& that) const BOOST_NOEXCEPT
- {
- return (m_NativeID == that.m_NativeID);
- }
- bool operator!= (id const& that) const BOOST_NOEXCEPT
- {
- return (m_NativeID != that.m_NativeID);
- }
- bool operator< (id const& that) const BOOST_NOEXCEPT
- {
- return (m_NativeID < that.m_NativeID);
- }
- bool operator> (id const& that) const BOOST_NOEXCEPT
- {
- return (m_NativeID > that.m_NativeID);
- }
- bool operator<= (id const& that) const BOOST_NOEXCEPT
- {
- return (m_NativeID <= that.m_NativeID);
- }
- bool operator>= (id const& that) const BOOST_NOEXCEPT
- {
- return (m_NativeID >= that.m_NativeID);
- }
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_ID_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/is_character_type.hpp b/contrib/restricted/boost/boost/log/detail/is_character_type.hpp
deleted file mode 100644
index 9b5e9ee2c4..0000000000
--- a/contrib/restricted/boost/boost/log/detail/is_character_type.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file is_character_type.hpp
- * \author Andrey Semashev
- * \date 25.07.2015
- *
- * The header defines \c is_character_type trait which checks if the type is one of the character types
- */
-
-#ifndef BOOST_LOG_DETAIL_IS_CHARACTER_TYPE_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_IS_CHARACTER_TYPE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename T >
-struct is_character_type
-{
- static BOOST_CONSTEXPR_OR_CONST bool value = false;
-};
-
-template< >
-struct is_character_type< char >
-{
- static BOOST_CONSTEXPR_OR_CONST bool value = true;
-};
-
-template< >
-struct is_character_type< wchar_t >
-{
- static BOOST_CONSTEXPR_OR_CONST bool value = true;
-};
-
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
-template< >
-struct is_character_type< char16_t >
-{
- static BOOST_CONSTEXPR_OR_CONST bool value = true;
-};
-#endif
-
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
-template< >
-struct is_character_type< char32_t >
-{
- static BOOST_CONSTEXPR_OR_CONST bool value = true;
-};
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_IS_CHARACTER_TYPE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/is_ostream.hpp b/contrib/restricted/boost/boost/log/detail/is_ostream.hpp
deleted file mode 100644
index 2131baebb5..0000000000
--- a/contrib/restricted/boost/boost/log/detail/is_ostream.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file is_ostream.hpp
- * \author Andrey Semashev
- * \date 05.07.2015
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. In this file
- * internal configuration macros are defined.
- */
-
-#ifndef BOOST_LOG_DETAIL_IS_OSTREAM_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_IS_OSTREAM_HPP_INCLUDED_
-
-#include <iosfwd>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/type_traits/has_left_shift.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/formatting_ostream_fwd.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename T >
-struct is_ostream
-{
- static BOOST_CONSTEXPR_OR_CONST bool value = is_base_of< std::ios_base, T >::value && has_left_shift< T, int >::value;
-};
-
-template< typename CharT, typename TraitsT, typename AllocatorT >
-struct is_ostream< basic_formatting_ostream< CharT, TraitsT, AllocatorT > >
-{
- static BOOST_CONSTEXPR_OR_CONST bool value = true;
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_IS_OSTREAM_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/light_function.hpp b/contrib/restricted/boost/boost/log/detail/light_function.hpp
deleted file mode 100644
index 5319119f4c..0000000000
--- a/contrib/restricted/boost/boost/log/detail/light_function.hpp
+++ /dev/null
@@ -1,521 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file light_function.hpp
- * \author Andrey Semashev
- * \date 20.06.2010
- *
- * \brief This header is the Boost.Log library impl, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- *
- * The file contains a lightweight alternative of Boost.Function. It does not provide all
- * features of Boost.Function but doesn't introduce dependency on Boost.Bind.
- */
-
-#ifndef BOOST_LOG_DETAIL_LIGHT_FUNCTION_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_LIGHT_FUNCTION_HPP_INCLUDED_
-
-#include <cstddef>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_binary_params.hpp>
-#endif
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#include <boost/log/detail/sfinae_tools.hpp>
-#else
-#include <boost/type_traits/remove_reference.hpp>
-#endif
-#if defined(BOOST_NO_CXX11_NULLPTR)
-#include <boost/assert.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_LIGHT_FUNCTION_LIMIT
-#define BOOST_LOG_LIGHT_FUNCTION_LIMIT 2
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-template< typename T, typename ThisT >
-struct is_cv_same { enum _ { value = false }; };
-template< typename T >
-struct is_cv_same< T, T > { enum _ { value = true }; };
-template< typename T >
-struct is_cv_same< T, const T > { enum _ { value = true }; };
-template< typename T >
-struct is_cv_same< T, volatile T > { enum _ { value = true }; };
-template< typename T >
-struct is_cv_same< T, const volatile T > { enum _ { value = true }; };
-
-template< typename T, typename ThisT >
-struct is_rv_or_same { enum _ { value = false }; };
-template< typename T >
-struct is_rv_or_same< T, T > { enum _ { value = true }; };
-template< typename T, typename ThisT >
-struct is_rv_or_same< boost::rv< T >, ThisT > { enum _ { value = true }; };
-
-#endif
-
-template< typename SignatureT >
-class light_function;
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-template< typename ResultT, typename... ArgsT >
-class light_function< ResultT (ArgsT...) >
-{
- typedef light_function this_type;
- BOOST_COPYABLE_AND_MOVABLE(this_type)
-
-public:
- typedef ResultT result_type;
-
-private:
- struct impl_base
- {
- typedef result_type (*invoke_type)(void*, ArgsT...);
- const invoke_type invoke;
-
- typedef impl_base* (*clone_type)(const void*);
- const clone_type clone;
-
- typedef void (*destroy_type)(void*);
- const destroy_type destroy;
-
- impl_base(invoke_type inv, clone_type cl, destroy_type dstr) : invoke(inv), clone(cl), destroy(dstr)
- {
- }
-
- BOOST_DELETED_FUNCTION(impl_base(impl_base const&))
- BOOST_DELETED_FUNCTION(impl_base& operator= (impl_base const&))
- };
-
-#if !defined(BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS)
- template< typename FunT >
- class impl;
- template< typename FunT >
- friend class impl;
-#endif
-
- template< typename FunT >
- class impl :
- public impl_base
- {
- typedef impl< FunT > this_type;
-
- FunT m_Function;
-
- public:
- explicit impl(FunT const& fun) :
- impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl),
- m_Function(fun)
- {
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- explicit impl(FunT&& fun) :
- impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl),
- m_Function(boost::move(fun))
- {
- }
-#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
- static void destroy_impl(void* self)
- {
- delete static_cast< impl* >(static_cast< impl_base* >(self));
- }
- static impl_base* clone_impl(const void* self)
- {
- return new impl(static_cast< const impl* >(static_cast< const impl_base* >(self))->m_Function);
- }
- static result_type invoke_impl(void* self, ArgsT... args)
- {
- return static_cast< impl* >(static_cast< impl_base* >(self))->m_Function(args...);
- }
-
- BOOST_DELETED_FUNCTION(impl(impl const&))
- BOOST_DELETED_FUNCTION(impl& operator= (impl const&))
- };
-
-private:
- impl_base* m_pImpl;
-
-public:
- BOOST_CONSTEXPR light_function() BOOST_NOEXCEPT : m_pImpl(NULL)
- {
- }
- light_function(this_type const& that)
- {
- if (that.m_pImpl)
- m_pImpl = that.m_pImpl->clone(that.m_pImpl);
- else
- m_pImpl = NULL;
- }
-
- light_function(BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT
- {
- m_pImpl = that.m_pImpl;
- that.m_pImpl = NULL;
- }
-
- light_function(BOOST_RV_REF(const this_type) that) BOOST_NOEXCEPT
- {
- m_pImpl = that.m_pImpl;
- ((this_type&)that).m_pImpl = NULL;
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- light_function(FunT&& fun) :
- m_pImpl(new impl< typename remove_cv< typename remove_reference< FunT >::type >::type >(boost::forward< FunT >(fun)))
- {
- }
-#else
- template< typename FunT >
- light_function(FunT const& fun, typename boost::disable_if_c< is_rv_or_same< FunT, this_type >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :
- m_pImpl(new impl< FunT >(fun))
- {
- }
- template< typename FunT >
- light_function(BOOST_RV_REF(FunT) fun, typename boost::disable_if_c< is_cv_same< FunT, this_type >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :
- m_pImpl(new impl< typename remove_cv< FunT >::type >(fun))
- {
- }
-#endif
-
- //! Constructor from NULL
-#if !defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_CONSTEXPR light_function(std::nullptr_t) BOOST_NOEXCEPT
-#else
- BOOST_CONSTEXPR light_function(int p) BOOST_NOEXCEPT
-#endif
- : m_pImpl(NULL)
- {
-#if defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_ASSERT(p == 0);
-#endif
- }
- ~light_function()
- {
- clear();
- }
-
- light_function& operator= (BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT
- {
- this->swap(that);
- return *this;
- }
- light_function& operator= (BOOST_COPY_ASSIGN_REF(this_type) that)
- {
- light_function tmp = static_cast< this_type const& >(that);
- this->swap(tmp);
- return *this;
- }
- //! Assignment of NULL
-#if !defined(BOOST_NO_CXX11_NULLPTR)
- light_function& operator= (std::nullptr_t)
-#else
- light_function& operator= (int p)
-#endif
- {
-#if defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_ASSERT(p == 0);
-#endif
- clear();
- return *this;
- }
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- light_function& operator= (FunT&& fun)
- {
- light_function tmp(boost::forward< FunT >(fun));
- this->swap(tmp);
- return *this;
- }
-#else
- template< typename FunT >
- typename boost::disable_if_c< is_rv_or_same< FunT, this_type >::value, this_type& >::type
- operator= (FunT const& fun)
- {
- light_function tmp(fun);
- this->swap(tmp);
- return *this;
- }
-#endif
-
- result_type operator() (ArgsT... args) const
- {
- return m_pImpl->invoke(m_pImpl, args...);
- }
-
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
- bool operator! () const BOOST_NOEXCEPT { return (m_pImpl == NULL); }
- bool empty() const BOOST_NOEXCEPT { return (m_pImpl == NULL); }
- void clear() BOOST_NOEXCEPT
- {
- if (m_pImpl)
- {
- m_pImpl->destroy(m_pImpl);
- m_pImpl = NULL;
- }
- }
-
- void swap(this_type& that) BOOST_NOEXCEPT
- {
- impl_base* p = m_pImpl;
- m_pImpl = that.m_pImpl;
- that.m_pImpl = p;
- }
-};
-
-template< typename... ArgsT >
-class light_function< void (ArgsT...) >
-{
- typedef light_function this_type;
- BOOST_COPYABLE_AND_MOVABLE(this_type)
-
-public:
- typedef void result_type;
-
-private:
- struct impl_base
- {
- typedef void (*invoke_type)(void*, ArgsT...);
- const invoke_type invoke;
-
- typedef impl_base* (*clone_type)(const void*);
- const clone_type clone;
-
- typedef void (*destroy_type)(void*);
- const destroy_type destroy;
-
- impl_base(invoke_type inv, clone_type cl, destroy_type dstr) : invoke(inv), clone(cl), destroy(dstr)
- {
- }
-
- BOOST_DELETED_FUNCTION(impl_base(impl_base const&))
- BOOST_DELETED_FUNCTION(impl_base& operator= (impl_base const&))
- };
-
-#if !defined(BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS)
- template< typename FunT >
- class impl;
- template< typename FunT >
- friend class impl;
-#endif
-
- template< typename FunT >
- class impl :
- public impl_base
- {
- typedef impl< FunT > this_type;
-
- FunT m_Function;
-
- public:
- explicit impl(FunT const& fun) :
- impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl),
- m_Function(fun)
- {
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- explicit impl(FunT&& fun) :
- impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl),
- m_Function(boost::move(fun))
- {
- }
-#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
- static void destroy_impl(void* self)
- {
- delete static_cast< impl* >(static_cast< impl_base* >(self));
- }
- static impl_base* clone_impl(const void* self)
- {
- return new impl(static_cast< const impl* >(static_cast< const impl_base* >(self))->m_Function);
- }
- static result_type invoke_impl(void* self, ArgsT... args)
- {
- static_cast< impl* >(static_cast< impl_base* >(self))->m_Function(args...);
- }
-
- BOOST_DELETED_FUNCTION(impl(impl const&))
- BOOST_DELETED_FUNCTION(impl& operator= (impl const&))
- };
-
-private:
- impl_base* m_pImpl;
-
-public:
- BOOST_CONSTEXPR light_function() BOOST_NOEXCEPT : m_pImpl(NULL)
- {
- }
- light_function(this_type const& that)
- {
- if (that.m_pImpl)
- m_pImpl = that.m_pImpl->clone(that.m_pImpl);
- else
- m_pImpl = NULL;
- }
- light_function(BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT
- {
- m_pImpl = that.m_pImpl;
- that.m_pImpl = NULL;
- }
-
- light_function(BOOST_RV_REF(const this_type) that) BOOST_NOEXCEPT
- {
- m_pImpl = that.m_pImpl;
- ((this_type&)that).m_pImpl = NULL;
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- light_function(FunT&& fun) :
- m_pImpl(new impl< typename remove_cv< typename remove_reference< FunT >::type >::type >(boost::forward< FunT >(fun)))
- {
- }
-#else
- template< typename FunT >
- light_function(FunT const& fun, typename boost::disable_if_c< is_rv_or_same< FunT, this_type >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :
- m_pImpl(new impl< FunT >(fun))
- {
- }
- template< typename FunT >
- light_function(BOOST_RV_REF(FunT) fun, typename boost::disable_if_c< is_cv_same< FunT, this_type >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :
- m_pImpl(new impl< typename remove_cv< FunT >::type >(fun))
- {
- }
-#endif
-
- //! Constructor from NULL
-#if !defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_CONSTEXPR light_function(std::nullptr_t) BOOST_NOEXCEPT
-#else
- BOOST_CONSTEXPR light_function(int p) BOOST_NOEXCEPT
-#endif
- : m_pImpl(NULL)
- {
-#if defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_ASSERT(p == 0);
-#endif
- }
- ~light_function()
- {
- clear();
- }
-
- light_function& operator= (BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT
- {
- this->swap(that);
- return *this;
- }
- light_function& operator= (BOOST_COPY_ASSIGN_REF(this_type) that)
- {
- light_function tmp = static_cast< this_type const& >(that);
- this->swap(tmp);
- return *this;
- }
- //! Assignment of NULL
-#if !defined(BOOST_NO_CXX11_NULLPTR)
- light_function& operator= (std::nullptr_t)
-#else
- light_function& operator= (int p)
-#endif
- {
-#if defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_ASSERT(p == 0);
-#endif
- clear();
- return *this;
- }
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- light_function& operator= (FunT&& fun)
- {
- light_function tmp(boost::forward< FunT >(fun));
- this->swap(tmp);
- return *this;
- }
-#else
- template< typename FunT >
- typename boost::disable_if_c< is_rv_or_same< FunT, this_type >::value, this_type& >::type
- operator= (FunT const& fun)
- {
- light_function tmp(fun);
- this->swap(tmp);
- return *this;
- }
-#endif
-
- result_type operator() (ArgsT... args) const
- {
- m_pImpl->invoke(m_pImpl, args...);
- }
-
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
- bool operator! () const BOOST_NOEXCEPT { return (m_pImpl == NULL); }
- bool empty() const BOOST_NOEXCEPT { return (m_pImpl == NULL); }
- void clear() BOOST_NOEXCEPT
- {
- if (m_pImpl)
- {
- m_pImpl->destroy(m_pImpl);
- m_pImpl = NULL;
- }
- }
-
- void swap(this_type& that) BOOST_NOEXCEPT
- {
- impl_base* p = m_pImpl;
- m_pImpl = that.m_pImpl;
- that.m_pImpl = p;
- }
-};
-
-#else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-#define BOOST_PP_FILENAME_1 <boost/log/detail/light_function_pp.hpp>
-#define BOOST_PP_ITERATION_LIMITS (0, BOOST_LOG_LIGHT_FUNCTION_LIMIT)
-#include BOOST_PP_ITERATE()
-
-#endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-template< typename SignatureT >
-inline void swap(light_function< SignatureT >& left, light_function< SignatureT >& right)
-{
- left.swap(right);
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_LIGHT_FUNCTION_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/light_function_pp.hpp b/contrib/restricted/boost/boost/log/detail/light_function_pp.hpp
deleted file mode 100644
index 9bf5f573fe..0000000000
--- a/contrib/restricted/boost/boost/log/detail/light_function_pp.hpp
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-
-template<
- typename ResultT
- BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), typename ArgT)
->
-class light_function< ResultT (BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), ArgT)) >
-{
- typedef light_function this_type;
- BOOST_COPYABLE_AND_MOVABLE(this_type)
-
-public:
- typedef ResultT result_type;
-
-private:
- struct impl_base
- {
- typedef result_type (*invoke_type)(void* BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), ArgT));
- const invoke_type invoke;
-
- typedef impl_base* (*clone_type)(const void*);
- const clone_type clone;
-
- typedef void (*destroy_type)(void*);
- const destroy_type destroy;
-
- impl_base(invoke_type inv, clone_type cl, destroy_type dstr) : invoke(inv), clone(cl), destroy(dstr)
- {
- }
-
- BOOST_DELETED_FUNCTION(impl_base(impl_base const&))
- BOOST_DELETED_FUNCTION(impl_base& operator= (impl_base const&))
- };
-
-#if !defined(BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS)
- template< typename FunT >
- class impl;
- template< typename FunT >
- friend class impl;
-#endif
-
- template< typename FunT >
- class impl :
- public impl_base
- {
- typedef impl< FunT > this_type;
-
- FunT m_Function;
-
- public:
- explicit impl(FunT const& fun) :
- impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl),
- m_Function(fun)
- {
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- explicit impl(FunT&& fun) :
- impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl),
- m_Function(boost::move(fun))
- {
- }
-#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
- static void destroy_impl(void* self)
- {
- delete static_cast< impl* >(static_cast< impl_base* >(self));
- }
- static impl_base* clone_impl(const void* self)
- {
- return new impl(static_cast< const impl* >(static_cast< const impl_base* >(self))->m_Function);
- }
- static result_type invoke_impl(void* self BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(BOOST_PP_ITERATION(), ArgT, arg))
- {
- return static_cast< impl* >(static_cast< impl_base* >(self))->m_Function(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), arg));
- }
-
- BOOST_DELETED_FUNCTION(impl(impl const&))
- BOOST_DELETED_FUNCTION(impl& operator= (impl const&))
- };
-
-private:
- impl_base* m_pImpl;
-
-public:
- BOOST_CONSTEXPR light_function() BOOST_NOEXCEPT : m_pImpl(NULL)
- {
- }
- light_function(this_type const& that)
- {
- if (that.m_pImpl)
- m_pImpl = that.m_pImpl->clone(that.m_pImpl);
- else
- m_pImpl = NULL;
- }
-
- light_function(BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT
- {
- m_pImpl = that.m_pImpl;
- that.m_pImpl = NULL;
- }
-
- light_function(BOOST_RV_REF(const this_type) that) BOOST_NOEXCEPT
- {
- m_pImpl = that.m_pImpl;
- ((this_type&)that).m_pImpl = NULL;
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- light_function(FunT&& fun) :
- m_pImpl(new impl< typename remove_cv< typename remove_reference< FunT >::type >::type >(boost::forward< FunT >(fun)))
- {
- }
-#else
- template< typename FunT >
- light_function(FunT const& fun, typename boost::disable_if_c< is_rv_or_same< FunT, this_type >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :
- m_pImpl(new impl< FunT >(fun))
- {
- }
- template< typename FunT >
- light_function(BOOST_RV_REF(FunT) fun, typename boost::disable_if_c< is_cv_same< FunT, this_type >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :
- m_pImpl(new impl< typename remove_cv< FunT >::type >(fun))
- {
- }
-#endif
-
- //! Constructor from NULL
-#if !defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_CONSTEXPR light_function(std::nullptr_t) BOOST_NOEXCEPT
-#else
- BOOST_CONSTEXPR light_function(int p) BOOST_NOEXCEPT
-#endif
- : m_pImpl(NULL)
- {
-#if defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_ASSERT(p == 0);
-#endif
- }
- ~light_function()
- {
- clear();
- }
-
- light_function& operator= (BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT
- {
- this->swap(that);
- return *this;
- }
- light_function& operator= (BOOST_COPY_ASSIGN_REF(this_type) that)
- {
- light_function tmp = static_cast< this_type const& >(that);
- this->swap(tmp);
- return *this;
- }
- //! Assignment of NULL
-#if !defined(BOOST_NO_CXX11_NULLPTR)
- light_function& operator= (std::nullptr_t)
-#else
- light_function& operator= (int p)
-#endif
- {
-#if defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_ASSERT(p == 0);
-#endif
- clear();
- return *this;
- }
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- light_function& operator= (FunT&& fun)
- {
- light_function tmp(boost::forward< FunT >(fun));
- this->swap(tmp);
- return *this;
- }
-#else
- template< typename FunT >
- typename boost::disable_if_c< is_rv_or_same< FunT, this_type >::value, this_type& >::type
- operator= (FunT const& fun)
- {
- light_function tmp(fun);
- this->swap(tmp);
- return *this;
- }
-#endif
-
- result_type operator() (BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), ArgT, arg)) const
- {
- return m_pImpl->invoke(m_pImpl BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), arg));
- }
-
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
- bool operator! () const BOOST_NOEXCEPT { return (m_pImpl == NULL); }
- bool empty() const BOOST_NOEXCEPT { return (m_pImpl == NULL); }
- void clear() BOOST_NOEXCEPT
- {
- if (m_pImpl)
- {
- m_pImpl->destroy(m_pImpl);
- m_pImpl = NULL;
- }
- }
-
- void swap(this_type& that) BOOST_NOEXCEPT
- {
- impl_base* p = m_pImpl;
- m_pImpl = that.m_pImpl;
- that.m_pImpl = p;
- }
-};
-
-template<
- BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename ArgT)
->
-class light_function< void (BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), ArgT)) >
-{
- typedef light_function this_type;
- BOOST_COPYABLE_AND_MOVABLE(this_type)
-
-public:
- typedef void result_type;
-
-private:
- struct impl_base
- {
- typedef void (*invoke_type)(void* BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), ArgT));
- const invoke_type invoke;
-
- typedef impl_base* (*clone_type)(const void*);
- const clone_type clone;
-
- typedef void (*destroy_type)(void*);
- const destroy_type destroy;
-
- impl_base(invoke_type inv, clone_type cl, destroy_type dstr) : invoke(inv), clone(cl), destroy(dstr)
- {
- }
-
- BOOST_DELETED_FUNCTION(impl_base(impl_base const&))
- BOOST_DELETED_FUNCTION(impl_base& operator= (impl_base const&))
- };
-
-#if !defined(BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS)
- template< typename FunT >
- class impl;
- template< typename FunT >
- friend class impl;
-#endif
-
- template< typename FunT >
- class impl :
- public impl_base
- {
- typedef impl< FunT > this_type;
-
- FunT m_Function;
-
- public:
- explicit impl(FunT const& fun) :
- impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl),
- m_Function(fun)
- {
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- explicit impl(FunT&& fun) :
- impl_base(&this_type::invoke_impl, &this_type::clone_impl, &this_type::destroy_impl),
- m_Function(boost::move(fun))
- {
- }
-#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
- static void destroy_impl(void* self)
- {
- delete static_cast< impl* >(static_cast< impl_base* >(self));
- }
- static impl_base* clone_impl(const void* self)
- {
- return new impl(static_cast< const impl* >(static_cast< const impl_base* >(self))->m_Function);
- }
- static result_type invoke_impl(void* self BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(BOOST_PP_ITERATION(), ArgT, arg))
- {
- static_cast< impl* >(static_cast< impl_base* >(self))->m_Function(BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), arg));
- }
-
- BOOST_DELETED_FUNCTION(impl(impl const&))
- BOOST_DELETED_FUNCTION(impl& operator= (impl const&))
- };
-
-private:
- impl_base* m_pImpl;
-
-public:
- BOOST_CONSTEXPR light_function() BOOST_NOEXCEPT : m_pImpl(NULL)
- {
- }
- light_function(this_type const& that)
- {
- if (that.m_pImpl)
- m_pImpl = that.m_pImpl->clone(that.m_pImpl);
- else
- m_pImpl = NULL;
- }
- light_function(BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT
- {
- m_pImpl = that.m_pImpl;
- that.m_pImpl = NULL;
- }
-
- light_function(BOOST_RV_REF(const this_type) that) BOOST_NOEXCEPT
- {
- m_pImpl = that.m_pImpl;
- ((this_type&)that).m_pImpl = NULL;
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- light_function(FunT&& fun) :
- m_pImpl(new impl< typename remove_cv< typename remove_reference< FunT >::type >::type >(boost::forward< FunT >(fun)))
- {
- }
-#else
- template< typename FunT >
- light_function(FunT const& fun, typename boost::disable_if_c< is_rv_or_same< FunT, this_type >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :
- m_pImpl(new impl< FunT >(fun))
- {
- }
- template< typename FunT >
- light_function(BOOST_RV_REF(FunT) fun, typename boost::disable_if_c< is_cv_same< FunT, this_type >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :
- m_pImpl(new impl< typename remove_cv< FunT >::type >(fun))
- {
- }
-#endif
-
- //! Constructor from NULL
-#if !defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_CONSTEXPR light_function(std::nullptr_t) BOOST_NOEXCEPT
-#else
- BOOST_CONSTEXPR light_function(int p) BOOST_NOEXCEPT
-#endif
- : m_pImpl(NULL)
- {
-#if defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_ASSERT(p == 0);
-#endif
- }
- ~light_function()
- {
- clear();
- }
-
- light_function& operator= (BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT
- {
- this->swap(that);
- return *this;
- }
- light_function& operator= (BOOST_COPY_ASSIGN_REF(this_type) that)
- {
- light_function tmp = static_cast< this_type const& >(that);
- this->swap(tmp);
- return *this;
- }
- //! Assignment of NULL
-#if !defined(BOOST_NO_CXX11_NULLPTR)
- light_function& operator= (std::nullptr_t)
-#else
- light_function& operator= (int p)
-#endif
- {
-#if defined(BOOST_NO_CXX11_NULLPTR)
- BOOST_ASSERT(p == 0);
-#endif
- clear();
- return *this;
- }
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- light_function& operator= (FunT&& fun)
- {
- light_function tmp(boost::forward< FunT >(fun));
- this->swap(tmp);
- return *this;
- }
-#else
- template< typename FunT >
- typename boost::disable_if_c< is_rv_or_same< FunT, this_type >::value, this_type& >::type
- operator= (FunT const& fun)
- {
- light_function tmp(fun);
- this->swap(tmp);
- return *this;
- }
-#endif
-
- result_type operator() (BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), ArgT, arg)) const
- {
- m_pImpl->invoke(m_pImpl BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_ITERATION(), arg));
- }
-
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
- bool operator! () const BOOST_NOEXCEPT { return (m_pImpl == NULL); }
- bool empty() const BOOST_NOEXCEPT { return (m_pImpl == NULL); }
- void clear() BOOST_NOEXCEPT
- {
- if (m_pImpl)
- {
- m_pImpl->destroy(m_pImpl);
- m_pImpl = NULL;
- }
- }
-
- void swap(this_type& that) BOOST_NOEXCEPT
- {
- impl_base* p = m_pImpl;
- m_pImpl = that.m_pImpl;
- that.m_pImpl = p;
- }
-};
diff --git a/contrib/restricted/boost/boost/log/detail/light_rw_mutex.hpp b/contrib/restricted/boost/boost/log/detail/light_rw_mutex.hpp
deleted file mode 100644
index d7f99cb350..0000000000
--- a/contrib/restricted/boost/boost/log/detail/light_rw_mutex.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file light_rw_mutex.hpp
- * \author Andrey Semashev
- * \date 24.03.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_LIGHT_RW_MUTEX_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_LIGHT_RW_MUTEX_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_NO_THREADS
-
-#include <boost/log/detail/header.hpp>
-
-#if defined(BOOST_THREAD_POSIX) // This one can be defined by users, so it should go first
-#define BOOST_LOG_LWRWMUTEX_USE_PTHREAD
-#elif defined(BOOST_WINDOWS) && (BOOST_USE_WINAPI_VERSION+0) >= (BOOST_WINAPI_VERSION_WIN6+0)
-#define BOOST_LOG_LWRWMUTEX_USE_SRWLOCK
-#elif defined(BOOST_HAS_PTHREADS)
-#define BOOST_LOG_LWRWMUTEX_USE_PTHREAD
-#endif
-
-#if defined(BOOST_LOG_LWRWMUTEX_USE_SRWLOCK)
-
-#include <boost/winapi/srw_lock.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! A light read/write mutex that uses WinNT 6 and later APIs
-class light_rw_mutex
-{
- boost::winapi::SRWLOCK_ m_Mutex;
-
-public:
- light_rw_mutex()
- {
- boost::winapi::InitializeSRWLock(&m_Mutex);
- }
- void lock_shared()
- {
- boost::winapi::AcquireSRWLockShared(&m_Mutex);
- }
- void unlock_shared()
- {
- boost::winapi::ReleaseSRWLockShared(&m_Mutex);
- }
- void lock()
- {
- boost::winapi::AcquireSRWLockExclusive(&m_Mutex);
- }
- void unlock()
- {
- boost::winapi::ReleaseSRWLockExclusive(&m_Mutex);
- }
-
- // Noncopyable
- BOOST_DELETED_FUNCTION(light_rw_mutex(light_rw_mutex const&))
- BOOST_DELETED_FUNCTION(light_rw_mutex& operator= (light_rw_mutex const&))
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#elif defined(BOOST_LOG_LWRWMUTEX_USE_PTHREAD)
-
-#include <pthread.h>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! A light read/write mutex that maps directly onto POSIX threading library
-class light_rw_mutex
-{
- pthread_rwlock_t m_Mutex;
-
-public:
- light_rw_mutex()
- {
- pthread_rwlock_init(&m_Mutex, NULL);
- }
- ~light_rw_mutex()
- {
- pthread_rwlock_destroy(&m_Mutex);
- }
- void lock_shared()
- {
- pthread_rwlock_rdlock(&m_Mutex);
- }
- void unlock_shared()
- {
- pthread_rwlock_unlock(&m_Mutex);
- }
- void lock()
- {
- pthread_rwlock_wrlock(&m_Mutex);
- }
- void unlock()
- {
- pthread_rwlock_unlock(&m_Mutex);
- }
-
- // Noncopyable
- BOOST_DELETED_FUNCTION(light_rw_mutex(light_rw_mutex const&))
- BOOST_DELETED_FUNCTION(light_rw_mutex& operator= (light_rw_mutex const&))
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#else
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! A light read/write mutex
-class light_rw_mutex
-{
- struct BOOST_LOG_MAY_ALIAS mutex_state { void* p; } m_Mutex;
-
-public:
- BOOST_LOG_API light_rw_mutex();
- BOOST_LOG_API ~light_rw_mutex();
- BOOST_LOG_API void lock_shared();
- BOOST_LOG_API void unlock_shared();
- BOOST_LOG_API void lock();
- BOOST_LOG_API void unlock();
-
- // Noncopyable
- BOOST_DELETED_FUNCTION(light_rw_mutex(light_rw_mutex const&))
- BOOST_DELETED_FUNCTION(light_rw_mutex& operator= (light_rw_mutex const&))
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_NO_THREADS
-
-#endif // BOOST_LOG_DETAIL_LIGHT_RW_MUTEX_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/locking_ptr.hpp b/contrib/restricted/boost/boost/log/detail/locking_ptr.hpp
deleted file mode 100644
index 7790c4dceb..0000000000
--- a/contrib/restricted/boost/boost/log/detail/locking_ptr.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file locking_ptr.hpp
- * \author Andrey Semashev
- * \date 15.07.2009
- *
- * This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_LOCKING_PTR_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_LOCKING_PTR_HPP_INCLUDED_
-
-#include <cstddef>
-#include <boost/move/core.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/thread/lock_options.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! A pointer type that locks the backend until it's destroyed
-template< typename T, typename LockableT >
-class locking_ptr
-{
- typedef locking_ptr this_type;
- BOOST_COPYABLE_AND_MOVABLE_ALT(this_type)
-
-public:
- //! Pointed type
- typedef T element_type;
-
-private:
- //! Lockable type
- typedef LockableT lockable_type;
-
-private:
- //! The pointer to the backend
- shared_ptr< element_type > m_pElement;
- //! Reference to the shared lock control object
- lockable_type* m_pLock;
-
-public:
- //! Default constructor
- locking_ptr() BOOST_NOEXCEPT : m_pLock(NULL)
- {
- }
- //! Constructor
- locking_ptr(shared_ptr< element_type > const& p, lockable_type& l) : m_pElement(p), m_pLock(&l)
- {
- m_pLock->lock();
- }
- //! Constructor
- locking_ptr(shared_ptr< element_type > const& p, lockable_type& l, try_to_lock_t const&) : m_pElement(p), m_pLock(&l)
- {
- if (!m_pLock->try_lock())
- {
- m_pElement.reset();
- m_pLock = NULL;
- }
- }
- //! Copy constructor
- locking_ptr(locking_ptr const& that) : m_pElement(that.m_pElement), m_pLock(that.m_pLock)
- {
- if (m_pLock)
- m_pLock->lock();
- }
- //! Move constructor
- locking_ptr(BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT : m_pLock(that.m_pLock)
- {
- m_pElement.swap(that.m_pElement);
- that.m_pLock = NULL;
- }
-
- //! Destructor
- ~locking_ptr()
- {
- if (m_pLock)
- m_pLock->unlock();
- }
-
- //! Assignment
- locking_ptr& operator= (locking_ptr that) BOOST_NOEXCEPT
- {
- this->swap(that);
- return *this;
- }
-
- //! Indirection
- element_type* operator-> () const BOOST_NOEXCEPT { return m_pElement.get(); }
- //! Dereferencing
- element_type& operator* () const BOOST_NOEXCEPT { return *m_pElement; }
-
- //! Accessor to the raw pointer
- element_type* get() const BOOST_NOEXCEPT { return m_pElement.get(); }
-
- //! Checks for null pointer
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
- //! Checks for null pointer
- bool operator! () const BOOST_NOEXCEPT { return !m_pElement; }
-
- //! Swaps two pointers
- void swap(locking_ptr& that) BOOST_NOEXCEPT
- {
- m_pElement.swap(that.m_pElement);
- lockable_type* p = m_pLock;
- m_pLock = that.m_pLock;
- that.m_pLock = p;
- }
-};
-
-//! Free raw pointer getter to assist generic programming
-template< typename T, typename LockableT >
-inline T* get_pointer(locking_ptr< T, LockableT > const& p) BOOST_NOEXCEPT
-{
- return p.get();
-}
-//! Free swap operation
-template< typename T, typename LockableT >
-inline void swap(locking_ptr< T, LockableT >& left, locking_ptr< T, LockableT >& right) BOOST_NOEXCEPT
-{
- left.swap(right);
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_LOCKING_PTR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/locks.hpp b/contrib/restricted/boost/boost/log/detail/locks.hpp
deleted file mode 100644
index 224d8e59bb..0000000000
--- a/contrib/restricted/boost/boost/log/detail/locks.hpp
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file locks.hpp
- * \author Andrey Semashev
- * \date 30.05.2010
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_LOCKS_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_LOCKS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-#ifndef BOOST_LOG_NO_THREADS
-
-// Forward declaration of Boost.Thread locks. Specified here to avoid including Boost.Thread,
-// which would bring in many dependent headers, including a great deal of Boost.DateTime.
-template< typename >
-class lock_guard;
-template< typename >
-class shared_lock_guard;
-template< typename >
-class shared_lock;
-template< typename >
-class upgrade_lock;
-template< typename >
-class unique_lock;
-
-template< typename >
-struct is_mutex_type;
-
-#endif // BOOST_LOG_NO_THREADS
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! An auxiliary pseudo-lock to express no locking requirements in logger features
-template< typename MutexT >
-class no_lock
-{
-public:
- /*!
- * Constructs the pseudo-lock. The mutex is not affected during the construction.
- */
- explicit no_lock(MutexT&) {}
-
-private:
- no_lock(no_lock const&);
- no_lock& operator= (no_lock const&);
-};
-
-namespace aux {
-
-#ifndef BOOST_LOG_NO_THREADS
-
-//! A trait to detect if the mutex supports exclusive locking
-template< typename MutexT >
-struct is_exclusively_lockable
-{
- typedef char true_type;
- struct false_type { char t[2]; };
-
- template< typename T >
- static true_type check_lockable(T*, void (T::*)() = &T::lock, void (T::*)() = &T::unlock);
- static false_type check_lockable(void*);
-
- enum value_t { value = sizeof(check_lockable((MutexT*)NULL)) == sizeof(true_type) };
-};
-
-//! A trait to detect if the mutex supports shared locking
-template< typename MutexT >
-struct is_shared_lockable
-{
- typedef char true_type;
- struct false_type { char t[2]; };
-
- template< typename T >
- static true_type check_shared_lockable(T*, void (T::*)() = &T::lock_shared, void (T::*)() = &T::unlock_shared);
- static false_type check_shared_lockable(void*);
-
- enum value_t { value = sizeof(check_shared_lockable((MutexT*)NULL)) == sizeof(true_type) };
-};
-
-//! A scope guard that automatically unlocks the mutex on destruction
-template< typename MutexT >
-struct exclusive_auto_unlocker
-{
- explicit exclusive_auto_unlocker(MutexT& m) BOOST_NOEXCEPT : m_Mutex(m)
- {
- }
- ~exclusive_auto_unlocker()
- {
- m_Mutex.unlock();
- }
-
- BOOST_DELETED_FUNCTION(exclusive_auto_unlocker(exclusive_auto_unlocker const&))
- BOOST_DELETED_FUNCTION(exclusive_auto_unlocker& operator= (exclusive_auto_unlocker const&))
-
-protected:
- MutexT& m_Mutex;
-};
-
-//! An analogue to the minimalistic \c lock_guard template. Defined here to avoid including Boost.Thread.
-template< typename MutexT >
-struct exclusive_lock_guard
-{
- explicit exclusive_lock_guard(MutexT& m) : m_Mutex(m)
- {
- m.lock();
- }
- ~exclusive_lock_guard()
- {
- m_Mutex.unlock();
- }
-
- BOOST_DELETED_FUNCTION(exclusive_lock_guard(exclusive_lock_guard const&))
- BOOST_DELETED_FUNCTION(exclusive_lock_guard& operator= (exclusive_lock_guard const&))
-
-private:
- MutexT& m_Mutex;
-};
-
-//! An analogue to the minimalistic \c lock_guard template that locks \c shared_mutex with shared ownership.
-template< typename MutexT >
-struct shared_lock_guard
-{
- explicit shared_lock_guard(MutexT& m) : m_Mutex(m)
- {
- m.lock_shared();
- }
- ~shared_lock_guard()
- {
- m_Mutex.unlock_shared();
- }
-
- BOOST_DELETED_FUNCTION(shared_lock_guard(shared_lock_guard const&))
- BOOST_DELETED_FUNCTION(shared_lock_guard& operator= (shared_lock_guard const&))
-
-private:
- MutexT& m_Mutex;
-};
-
-//! A deadlock-safe lock type that exclusively locks two mutexes
-template< typename MutexT1, typename MutexT2 >
-class multiple_unique_lock2
-{
-public:
- multiple_unique_lock2(MutexT1& m1, MutexT2& m2) :
- m_p1(&m1),
- m_p2(&m2)
- {
- // Yes, it's not conforming, but it works
- // and it doesn't require to #include <functional>
- if (static_cast< void* >(m_p1) < static_cast< void* >(m_p2))
- {
- m_p1->lock();
- m_p2->lock();
- }
- else
- {
- m_p2->lock();
- m_p1->lock();
- }
- }
- ~multiple_unique_lock2()
- {
- m_p2->unlock();
- m_p1->unlock();
- }
-
-private:
- MutexT1* m_p1;
- MutexT2* m_p2;
-};
-
-#endif // BOOST_LOG_NO_THREADS
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_LOCKS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/named_scope_fmt_pp.hpp b/contrib/restricted/boost/boost/log/detail/named_scope_fmt_pp.hpp
deleted file mode 100644
index 16e4508919..0000000000
--- a/contrib/restricted/boost/boost/log/detail/named_scope_fmt_pp.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-
-template< BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename ArgT) >
-BOOST_FORCEINLINE format_named_scope_actor<
- fallback_to_none,
- typename boost::log::aux::deduce_char_type<
- typename parameter::binding<
- typename boost::log::aux::make_arg_list< BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), ArgT) >::type,
- keywords::tag::format,
- void
- >::type
- >::type
-> format_named_scope(attribute_name const& name, BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), ArgT, const& arg))
-{
- typedef typename boost::log::aux::deduce_char_type<
- typename parameter::binding<
- typename boost::log::aux::make_arg_list< BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), ArgT) >::type,
- keywords::tag::format,
- void
- >::type
- >::type char_type;
- return aux::format_named_scope< char_type, phoenix::actor >(name, fallback_to_none(), (BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), arg)));
-}
-
-template< typename DescriptorT, template< typename > class ActorT, BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename ArgT) >
-BOOST_FORCEINLINE format_named_scope_actor<
- fallback_to_none,
- typename boost::log::aux::deduce_char_type<
- typename parameter::binding<
- typename boost::log::aux::make_arg_list< BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), ArgT) >::type,
- keywords::tag::format,
- void
- >::type
- >::type,
- ActorT
->
-format_named_scope(attribute_keyword< DescriptorT, ActorT > const& keyword, BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), ArgT, const& arg))
-{
- BOOST_STATIC_ASSERT_MSG((is_same< typename DescriptorT::value_type, attributes::named_scope::value_type >::value),\
- "Boost.Log: Named scope formatter only accepts attribute values of type attributes::named_scope::value_type.");
-
- typedef typename boost::log::aux::deduce_char_type<
- typename parameter::binding<
- typename boost::log::aux::make_arg_list< BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), ArgT) >::type,
- keywords::tag::format,
- void
- >::type
- >::type char_type;
- return aux::format_named_scope< char_type, ActorT >(keyword.get_name(), fallback_to_none(), (BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), arg)));
-}
-
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), typename ArgT) >
-BOOST_FORCEINLINE format_named_scope_actor<
- FallbackPolicyT,
- typename boost::log::aux::deduce_char_type<
- typename parameter::binding<
- typename boost::log::aux::make_arg_list< BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), ArgT) >::type,
- keywords::tag::format,
- void
- >::type
- >::type,
- ActorT
->
-format_named_scope(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& placeholder, BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_ITERATION(), ArgT, const& arg))
-{
- BOOST_STATIC_ASSERT_MSG((is_same< T, attributes::named_scope::value_type >::value),\
- "Boost.Log: Named scope formatter only accepts attribute values of type attributes::named_scope::value_type.");
-
- typedef typename boost::log::aux::deduce_char_type<
- typename parameter::binding<
- typename boost::log::aux::make_arg_list< BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), ArgT) >::type,
- keywords::tag::format,
- void
- >::type
- >::type char_type;
- return aux::format_named_scope< char_type, ActorT >(placeholder.get_name(), placeholder.get_fallback_policy(), (BOOST_PP_ENUM_PARAMS(BOOST_PP_ITERATION(), arg)));
-}
diff --git a/contrib/restricted/boost/boost/log/detail/native_typeof.hpp b/contrib/restricted/boost/boost/log/detail/native_typeof.hpp
deleted file mode 100644
index 3a49d68491..0000000000
--- a/contrib/restricted/boost/boost/log/detail/native_typeof.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file native_typeof.hpp
- * \author Andrey Semashev
- * \date 08.03.2009
- *
- * This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_NATIVE_TYPEOF_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_NATIVE_TYPEOF_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined(BOOST_NO_CXX11_DECLTYPE)
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename T >
-T get_root_type(T const&);
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#define BOOST_LOG_TYPEOF(x) decltype(::boost::log::aux::get_root_type(x))
-
-#elif defined(__COMO__) && defined(__GNUG__)
-
-#define BOOST_LOG_TYPEOF(x) typeof(x)
-
-#elif defined(__GNUC__) || defined(__MWERKS__)
-
-#define BOOST_LOG_TYPEOF(x) __typeof__(x)
-
-#endif
-
-
-#if !defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)
-#define BOOST_LOG_AUTO(var, expr) auto var = (expr)
-#endif
-
-#if !defined(BOOST_LOG_AUTO) && defined(BOOST_LOG_TYPEOF)
-#define BOOST_LOG_AUTO(var, expr) BOOST_LOG_TYPEOF((expr)) var = (expr)
-#endif
-
-#endif // BOOST_LOG_DETAIL_NATIVE_TYPEOF_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/parameter_tools.hpp b/contrib/restricted/boost/boost/log/detail/parameter_tools.hpp
deleted file mode 100644
index 55695e3cde..0000000000
--- a/contrib/restricted/boost/boost/log/detail/parameter_tools.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file parameter_tools.hpp
- * \author Andrey Semashev
- * \date 28.06.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_PARAMETER_TOOLS_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_PARAMETER_TOOLS_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/preprocessor/facilities/intercept.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/sfinae_tools.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_MAX_PARAMETER_ARGS
-//! The maximum number of named arguments that are accepted by constructors and functions
-#define BOOST_LOG_MAX_PARAMETER_ARGS 16
-#endif
-
-// The macro applies the passed macro with the specified arguments BOOST_LOG_MAX_PARAMETER_ARGS times
-#define BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN(macro, args)\
- public:\
- BOOST_PP_REPEAT_FROM_TO(1, BOOST_LOG_MAX_PARAMETER_ARGS, macro, args)
-
-#define BOOST_LOG_CTOR_FORWARD_1(n, types)\
- template< typename T0 >\
- explicit BOOST_PP_TUPLE_ELEM(2, 0, types)(T0 const& arg0, typename boost::log::aux::enable_if_named_parameters< T0, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :\
- BOOST_PP_TUPLE_ELEM(2, 1, types)((BOOST_PP_ENUM_PARAMS(n, arg))) {}
-
-#define BOOST_LOG_CTOR_FORWARD_N(n, types)\
- template< BOOST_PP_ENUM_PARAMS(n, typename T) >\
- explicit BOOST_PP_TUPLE_ELEM(2, 0, types)(BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& arg)) :\
- BOOST_PP_TUPLE_ELEM(2, 1, types)((BOOST_PP_ENUM_PARAMS(n, arg))) {}
-
-#define BOOST_LOG_CTOR_FORWARD(z, n, types)\
- BOOST_PP_IF(BOOST_PP_EQUAL(n, 1), BOOST_LOG_CTOR_FORWARD_1, BOOST_LOG_CTOR_FORWARD_N)(n, types)
-
-// The macro expands to a number of templated constructors that aggregate their named arguments
-// into an ArgumentsPack and pass it to the base class constructor.
-#define BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_FORWARD(class_type, base_type)\
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN(BOOST_LOG_CTOR_FORWARD, (class_type, base_type))
-
-#define BOOST_LOG_CTOR_CALL_1(n, types)\
- template< typename T0 >\
- explicit BOOST_PP_TUPLE_ELEM(2, 0, types)(T0 const& arg0, typename boost::log::aux::enable_if_named_parameters< T0, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy())\
- { BOOST_PP_TUPLE_ELEM(2, 1, types)((BOOST_PP_ENUM_PARAMS(n, arg))); }
-
-#define BOOST_LOG_CTOR_CALL_N(n, types)\
- template< BOOST_PP_ENUM_PARAMS(n, typename T) >\
- explicit BOOST_PP_TUPLE_ELEM(2, 0, types)(BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& arg))\
- { BOOST_PP_TUPLE_ELEM(2, 1, types)((BOOST_PP_ENUM_PARAMS(n, arg))); }
-
-#define BOOST_LOG_CTOR_CALL(z, n, types)\
- BOOST_PP_IF(BOOST_PP_EQUAL(n, 1), BOOST_LOG_CTOR_CALL_1, BOOST_LOG_CTOR_CALL_N)(n, types)
-
-// The macro expands to a number of templated constructors that aggregate their named arguments
-// into an ArgumentsPack and pass it to a function call.
-#define BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_CALL(class_type, fun)\
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN(BOOST_LOG_CTOR_CALL, (class_type, fun))
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-// Yeah, not too cute. The empty_arg_list class should really be public.
-// https://svn.boost.org/trac/boost/ticket/7247
-typedef boost::parameter::aux::empty_arg_list empty_arg_list;
-
-#if !(defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_LOG_NO_CXX11_ARG_PACKS_TO_NON_VARIADIC_ARGS_EXPANSION))
-
-//! The metafunction generates argument pack
-template< typename ArgT0, typename... ArgsT >
-struct make_arg_list
-{
- typedef boost::parameter::aux::arg_list< ArgT0, typename make_arg_list< ArgsT... >::type > type;
-};
-
-template< typename ArgT0 >
-struct make_arg_list< ArgT0 >
-{
- typedef boost::parameter::aux::arg_list< ArgT0 > type;
-};
-
-#else
-
-//! The metafunction generates argument pack
-template< typename ArgT0, BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PP_DEC(BOOST_LOG_MAX_PARAMETER_ARGS), typename T, = void BOOST_PP_INTERCEPT) >
-struct make_arg_list
-{
- typedef boost::parameter::aux::arg_list< ArgT0, typename make_arg_list< BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(BOOST_LOG_MAX_PARAMETER_ARGS), T) >::type > type;
-};
-
-template< typename ArgT0 >
-struct make_arg_list< ArgT0, BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(BOOST_LOG_MAX_PARAMETER_ARGS), void BOOST_PP_INTERCEPT) >
-{
- typedef boost::parameter::aux::arg_list< ArgT0 > type;
-};
-
-#endif
-
-template< typename T, typename R >
-struct enable_if_named_parameters {};
-
-template< typename R >
-struct enable_if_named_parameters< empty_arg_list, R >
-{
- typedef R type;
-};
-
-template< typename Keyword, typename Arg, typename R >
-struct enable_if_named_parameters< boost::parameter::aux::tagged_argument< Keyword, Arg >, R >
-{
- typedef R type;
-};
-
-template< typename TaggedArg, typename Next, typename R >
-struct enable_if_named_parameters< boost::parameter::aux::arg_list< TaggedArg, Next >, R >
-{
- typedef R type;
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_PARAMETER_TOOLS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/pause.hpp b/contrib/restricted/boost/boost/log/detail/pause.hpp
deleted file mode 100644
index c1b43498f0..0000000000
--- a/contrib/restricted/boost/boost/log/detail/pause.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file pause.hpp
- * \author Andrey Semashev
- * \date 06.01.2016
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_PAUSE_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_PAUSE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(__INTEL_COMPILER) || defined(_MSC_VER)
-# if defined(_M_IX86)
-# define BOOST_LOG_AUX_PAUSE __asm { pause }
-# elif defined(_M_AMD64)
-extern "C" void _mm_pause(void);
-# if defined(BOOST_MSVC)
-# pragma intrinsic(_mm_pause)
-# endif
-# define BOOST_LOG_AUX_PAUSE _mm_pause()
-# endif
-#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
-# define BOOST_LOG_AUX_PAUSE __asm__ __volatile__("pause;")
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_FORCEINLINE void pause() BOOST_NOEXCEPT
-{
-#if defined(BOOST_LOG_AUX_PAUSE)
- BOOST_LOG_AUX_PAUSE;
-#endif
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_PAUSE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/pp_identity.hpp b/contrib/restricted/boost/boost/log/detail/pp_identity.hpp
deleted file mode 100644
index b3e35d1494..0000000000
--- a/contrib/restricted/boost/boost/log/detail/pp_identity.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file pp_identity.hpp
- * \author Andrey Semashev
- * \date 12.02.2011
- *
- * This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_PP_IDENTITY_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_PP_IDENTITY_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#define BOOST_LOG_PP_IDENTITY(z, n, data) data
-
-#endif // BOOST_LOG_DETAIL_PP_IDENTITY_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/process_id.hpp b/contrib/restricted/boost/boost/log/detail/process_id.hpp
deleted file mode 100644
index 5a498e7f9d..0000000000
--- a/contrib/restricted/boost/boost/log/detail/process_id.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file process_id.hpp
- * \author Andrey Semashev
- * \date 12.09.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_PROCESS_ID_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_PROCESS_ID_HPP_INCLUDED_
-
-#include <iosfwd>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/id.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The process id descriptor
-struct process
-{
- typedef unsigned long native_type;
- typedef boost::log::aux::id< process > id;
-};
-
-namespace this_process {
-
-//! The function returns current process identifier
-BOOST_LOG_API process::id get_id();
-
-} // namespace this_process
-
-template< typename CharT, typename TraitsT >
-BOOST_LOG_API std::basic_ostream< CharT, TraitsT >&
-operator<< (std::basic_ostream< CharT, TraitsT >& strm, process::id const& pid);
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_PROCESS_ID_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/setup_config.hpp b/contrib/restricted/boost/boost/log/detail/setup_config.hpp
deleted file mode 100644
index 8fde5b3e86..0000000000
--- a/contrib/restricted/boost/boost/log/detail/setup_config.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file setup_config.hpp
- * \author Andrey Semashev
- * \date 14.09.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. In this file
- * internal configuration macros are defined.
- */
-
-#ifndef BOOST_LOG_DETAIL_SETUP_CONFIG_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_SETUP_CONFIG_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined(BOOST_LOG_SETUP_BUILDING_THE_LIB)
-
-// Detect if we're dealing with dll
-# if defined(BOOST_LOG_SETUP_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
-# define BOOST_LOG_SETUP_DLL
-# endif
-
-# if defined(BOOST_LOG_SETUP_DLL)
-# define BOOST_LOG_SETUP_API BOOST_SYMBOL_IMPORT
-# else
-# define BOOST_LOG_SETUP_API
-# endif
-
-//
-// Automatically link to the correct build variant where possible.
-//
-# if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_LOG_SETUP_NO_LIB)
-# define BOOST_LIB_NAME boost_log_setup
-# if defined(BOOST_LOG_SETUP_DLL)
-# define BOOST_DYN_LINK
-# endif
-# include <boost/config/auto_link.hpp>
-# endif // auto-linking disabled
-
-#else // !defined(BOOST_LOG_SETUP_BUILDING_THE_LIB)
-
-# if defined(BOOST_LOG_SETUP_DLL)
-# define BOOST_LOG_SETUP_API BOOST_SYMBOL_EXPORT
-# else
-# define BOOST_LOG_SETUP_API BOOST_SYMBOL_VISIBLE
-# endif
-
-#endif // !defined(BOOST_LOG_SETUP_BUILDING_THE_LIB)
-
-#endif // BOOST_LOG_DETAIL_SETUP_CONFIG_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/sfinae_tools.hpp b/contrib/restricted/boost/boost/log/detail/sfinae_tools.hpp
deleted file mode 100644
index e9f2735b25..0000000000
--- a/contrib/restricted/boost/boost/log/detail/sfinae_tools.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file sfinae_tools.hpp
- * \author Andrey Semashev
- * \date 23.02.2016
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_SFINAE_TOOLS_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_SFINAE_TOOLS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! A distinct type that can be used as a fake argument type in constructors filtered by SFINAE
-struct sfinae_dummy {};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_SFINAE_TOOLS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/singleton.hpp b/contrib/restricted/boost/boost/log/detail/singleton.hpp
deleted file mode 100644
index 282c71651b..0000000000
--- a/contrib/restricted/boost/boost/log/detail/singleton.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file singleton.hpp
- * \author Andrey Semashev
- * \date 20.04.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_SINGLETON_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_SINGLETON_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/once_block.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! A base class for singletons, constructed on-demand
-template< typename DerivedT, typename StorageT = DerivedT >
-class lazy_singleton
-{
-public:
- BOOST_DEFAULTED_FUNCTION(lazy_singleton(), {})
-
- //! Returns the singleton instance
- static StorageT& get()
- {
- BOOST_LOG_ONCE_BLOCK()
- {
- DerivedT::init_instance();
- }
- return get_instance();
- }
-
- //! Initializes the singleton instance
- static void init_instance()
- {
- get_instance();
- }
-
- BOOST_DELETED_FUNCTION(lazy_singleton(lazy_singleton const&))
- BOOST_DELETED_FUNCTION(lazy_singleton& operator= (lazy_singleton const&))
-
-protected:
- //! Returns the singleton instance (not thread-safe)
- static StorageT& get_instance()
- {
- static StorageT instance;
- return instance;
- }
-};
-
-//! A base class for singletons, constructed on namespace scope initialization stage
-template< typename DerivedT, typename StorageT = DerivedT >
-class singleton :
- public lazy_singleton< DerivedT, StorageT >
-{
-public:
- static StorageT& instance;
-};
-
-template< typename DerivedT, typename StorageT >
-StorageT& singleton< DerivedT, StorageT >::instance =
- lazy_singleton< DerivedT, StorageT >::get();
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_SINGLETON_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/sink_init_helpers.hpp b/contrib/restricted/boost/boost/log/detail/sink_init_helpers.hpp
deleted file mode 100644
index a3bbe0e8a1..0000000000
--- a/contrib/restricted/boost/boost/log/detail/sink_init_helpers.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file sink_init_helpers.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_SINK_INIT_HELPERS_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_SINK_INIT_HELPERS_HPP_INCLUDED_
-
-#include <string>
-#include <boost/mpl/bool.hpp>
-#include <boost/parameter/binding.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/phoenix/core/is_actor.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/core/core.hpp>
-#include <boost/log/expressions/filter.hpp>
-#include <boost/log/expressions/formatter.hpp>
-#include <boost/log/utility/setup/filter_parser.hpp>
-#include <boost/log/utility/setup/formatter_parser.hpp>
-#include <boost/log/keywords/filter.hpp>
-#include <boost/log/keywords/format.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-// The function creates a filter functional object from the provided argument
-template< typename CharT >
-inline filter acquire_filter(const CharT* filter)
-{
- return boost::log::parse_filter(filter);
-}
-template< typename CharT, typename TraitsT, typename AllocatorT >
-inline filter acquire_filter(std::basic_string< CharT, TraitsT, AllocatorT > const& filter)
-{
- return boost::log::parse_filter(filter);
-}
-template< typename FilterT >
-inline typename boost::enable_if_c<
- phoenix::is_actor< FilterT >::value,
- FilterT const&
->::type acquire_filter(FilterT const& filter)
-{
- return filter;
-}
-
-// The function installs filter into the sink, if provided in the arguments pack
-template< typename SinkT, typename ArgsT >
-inline void setup_filter(SinkT&, ArgsT const&, mpl::true_)
-{
-}
-
-template< typename SinkT, typename ArgsT >
-inline void setup_filter(SinkT& s, ArgsT const& args, mpl::false_)
-{
- s.set_filter(aux::acquire_filter(args[keywords::filter]));
-}
-
-
-// The function creates a filter functional object from the provided argument
-template< typename CharT >
-inline basic_formatter< CharT > acquire_formatter(const CharT* formatter)
-{
- return boost::log::parse_formatter(formatter);
-}
-template< typename CharT, typename TraitsT, typename AllocatorT >
-inline basic_formatter< CharT > acquire_formatter(std::basic_string< CharT, TraitsT, AllocatorT > const& formatter)
-{
- return boost::log::parse_formatter(formatter);
-}
-template< typename FormatterT >
-inline typename boost::enable_if_c<
- phoenix::is_actor< FormatterT >::value,
- FormatterT const&
->::type acquire_formatter(FormatterT const& formatter)
-{
- return formatter;
-}
-
-// The function installs filter into the sink, if provided in the arguments pack
-template< typename SinkT, typename ArgsT >
-inline void setup_formatter(SinkT&, ArgsT const&, mpl::true_)
-{
-}
-
-template< typename SinkT, typename ArgsT >
-inline void setup_formatter(SinkT& s, ArgsT const& args, mpl::false_)
-{
- s.set_formatter(aux::acquire_formatter(args[keywords::format]));
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_SINK_INIT_HELPERS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/snprintf.hpp b/contrib/restricted/boost/boost/log/detail/snprintf.hpp
deleted file mode 100644
index 14c6a6b1dc..0000000000
--- a/contrib/restricted/boost/boost/log/detail/snprintf.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file snprintf.hpp
- * \author Andrey Semashev
- * \date 20.02.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_SNPRINTF_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_SNPRINTF_HPP_INCLUDED_
-
-#include <stdio.h>
-#include <cstddef>
-#include <cstdarg>
-#include <boost/log/detail/config.hpp>
-#ifdef BOOST_LOG_USE_WCHAR_T
-#include <wchar.h>
-#endif // BOOST_LOG_USE_WCHAR_T
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-#if defined(_MSC_VER) || (defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR))
-
-// MSVC snprintfs are not conforming but they are good enough for our cases.
-// MinGW32, at least the older versions up until gcc 4.7, also provide the non-conforming interface.
-inline int vsnprintf(char* buf, std::size_t size, const char* format, std::va_list args)
-{
- int n = _vsnprintf(buf, size, format, args);
- if (static_cast< unsigned int >(n) >= size)
- {
- n = static_cast< int >(size);
- buf[size - 1] = '\0';
- }
- return n;
-}
-
-# ifdef BOOST_LOG_USE_WCHAR_T
-inline int vswprintf(wchar_t* buf, std::size_t size, const wchar_t* format, std::va_list args)
-{
- int n = _vsnwprintf(buf, size, format, args);
- if (static_cast< unsigned int >(n) >= size)
- {
- n = static_cast< int >(size);
- buf[size - 1] = L'\0';
- }
- return n;
-}
-# endif // BOOST_LOG_USE_WCHAR_T
-
-inline int snprintf(char* buf, std::size_t size, const char* format, ...)
-{
- std::va_list args;
- va_start(args, format);
- int n = vsnprintf(buf, size, format, args);
- va_end(args);
- return n;
-}
-
-# ifdef BOOST_LOG_USE_WCHAR_T
-inline int swprintf(wchar_t* buf, std::size_t size, const wchar_t* format, ...)
-{
- std::va_list args;
- va_start(args, format);
- int n = vswprintf(buf, size, format, args);
- va_end(args);
- return n;
-}
-# endif // BOOST_LOG_USE_WCHAR_T
-
-#else
-
-// Standard-conforming compilers already have the correct snprintfs
-using ::snprintf;
-using ::vsnprintf;
-
-# ifdef BOOST_LOG_USE_WCHAR_T
-using ::swprintf;
-using ::vswprintf;
-# endif // BOOST_LOG_USE_WCHAR_T
-
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_SNPRINTF_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/tagged_integer.hpp b/contrib/restricted/boost/boost/log/detail/tagged_integer.hpp
deleted file mode 100644
index 82c9706863..0000000000
--- a/contrib/restricted/boost/boost/log/detail/tagged_integer.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file tagged_integer.hpp
- * \author Andrey Semashev
- * \date 11.01.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_TAGGED_INTEGER_HPP_INCLUDED_
-#define BOOST_LOG_TAGGED_INTEGER_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! A tagged integer wrapper for type safety
-template< typename IntT, typename TagT >
-struct tagged_integer
-{
- //! Contained value type
- typedef IntT integer_type;
- //! Tag
- typedef TagT tag;
-
- //! Contained value
- integer_type value;
-
- //! Conversion operator
- BOOST_CONSTEXPR operator integer_type() const BOOST_NOEXCEPT { return value; }
-
- // Increment
- tagged_integer& operator++ () BOOST_NOEXCEPT { ++value; return *this; }
- tagged_integer operator++ (int) BOOST_NOEXCEPT { tagged_integer temp = *this; ++value; return temp; }
- // Decrement
- tagged_integer& operator-- () BOOST_NOEXCEPT { --value; return *this; }
- tagged_integer operator-- (int) BOOST_NOEXCEPT { tagged_integer temp = *this; --value; return temp; }
-
-#define BOOST_LOG_TAGGED_INTEGER_OP(op)\
- tagged_integer& operator op (tagged_integer const& that) BOOST_NOEXCEPT { value op that.value; return *this; }
-
- BOOST_LOG_TAGGED_INTEGER_OP(|=)
- BOOST_LOG_TAGGED_INTEGER_OP(&=)
- BOOST_LOG_TAGGED_INTEGER_OP(^=)
- BOOST_LOG_TAGGED_INTEGER_OP(+=)
- BOOST_LOG_TAGGED_INTEGER_OP(-=)
- BOOST_LOG_TAGGED_INTEGER_OP(*=)
- BOOST_LOG_TAGGED_INTEGER_OP(/=)
- BOOST_LOG_TAGGED_INTEGER_OP(%=)
-
-#undef BOOST_LOG_TAGGED_INTEGER_OP
-
- //! Inversion operator
- tagged_integer& operator~ () BOOST_NOEXCEPT { ~value; return *this; }
-
- // Shift operators
- template< typename T >
- tagged_integer& operator<<= (T const& that) BOOST_NOEXCEPT { value <<= that; return *this; }
- template< typename T >
- tagged_integer& operator>>= (T const& that) BOOST_NOEXCEPT { value >>= that; return *this; }
-
-private:
- // Protection against improper usage
- template< typename T1, typename T2 >
- tagged_integer& operator<<= (tagged_integer< T1, T2 > const&);
- template< typename T1, typename T2 >
- tagged_integer& operator>>= (tagged_integer< T1, T2 > const&);
-};
-
- // Relational operators
-#define BOOST_LOG_TAGGED_INTEGER_OP(op)\
- template< typename IntT, typename TagT >\
- inline bool operator op (\
- tagged_integer< IntT, TagT > const& left, tagged_integer< IntT, TagT > const& right) BOOST_NOEXCEPT\
- {\
- return (left.value op right.value);\
- }
-
-BOOST_LOG_TAGGED_INTEGER_OP(==)
-BOOST_LOG_TAGGED_INTEGER_OP(!=)
-BOOST_LOG_TAGGED_INTEGER_OP(<)
-BOOST_LOG_TAGGED_INTEGER_OP(>)
-BOOST_LOG_TAGGED_INTEGER_OP(<=)
-BOOST_LOG_TAGGED_INTEGER_OP(>=)
-
-#undef BOOST_LOG_TAGGED_INTEGER_OP
-
-#define BOOST_LOG_TAGGED_INTEGER_OP(op)\
- template< typename IntT, typename TagT >\
- inline tagged_integer< IntT, TagT > operator op (\
- tagged_integer< IntT, TagT > const& left, tagged_integer< IntT, TagT > const& right) BOOST_NOEXCEPT\
- {\
- tagged_integer< IntT, TagT > temp = left;\
- temp op##= right;\
- return temp;\
- }
-
-BOOST_LOG_TAGGED_INTEGER_OP(|)
-BOOST_LOG_TAGGED_INTEGER_OP(&)
-BOOST_LOG_TAGGED_INTEGER_OP(^)
-BOOST_LOG_TAGGED_INTEGER_OP(+)
-BOOST_LOG_TAGGED_INTEGER_OP(-)
-BOOST_LOG_TAGGED_INTEGER_OP(*)
-BOOST_LOG_TAGGED_INTEGER_OP(/)
-BOOST_LOG_TAGGED_INTEGER_OP(%)
-
-#undef BOOST_LOG_TAGGED_INTEGER_OP
-
-#define BOOST_LOG_TAGGED_INTEGER_OP(op)\
- template< typename IntT, typename TagT, typename T >\
- inline tagged_integer< IntT, TagT > operator op (\
- tagged_integer< IntT, TagT > const& left, T const& right) BOOST_NOEXCEPT\
- {\
- tagged_integer< IntT, TagT > temp = left;\
- temp op##= right;\
- return temp;\
- }
-
-BOOST_LOG_TAGGED_INTEGER_OP(<<)
-BOOST_LOG_TAGGED_INTEGER_OP(>>)
-
-#undef BOOST_LOG_TAGGED_INTEGER_OP
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_TAGGED_INTEGER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/thread_id.hpp b/contrib/restricted/boost/boost/log/detail/thread_id.hpp
deleted file mode 100644
index 792e1f992d..0000000000
--- a/contrib/restricted/boost/boost/log/detail/thread_id.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file thread_id.hpp
- * \author Andrey Semashev
- * \date 08.01.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_THREAD_ID_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_THREAD_ID_HPP_INCLUDED_
-
-#include <iosfwd>
-#include <boost/cstdint.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/id.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The thread id descriptor
-struct thread
-{
-#if defined(BOOST_WINDOWS)
- typedef uint32_t native_type;
-#else
- typedef uintmax_t native_type;
-#endif
- typedef boost::log::aux::id< thread > id;
-};
-
-namespace this_thread {
-
-//! The function returns current thread identifier
-BOOST_LOG_API thread::id const& get_id();
-
-} // namespace this_thread
-
-template< typename CharT, typename TraitsT >
-BOOST_LOG_API std::basic_ostream< CharT, TraitsT >&
-operator<< (std::basic_ostream< CharT, TraitsT >& strm, thread::id const& tid);
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_THREAD_ID_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/thread_specific.hpp b/contrib/restricted/boost/boost/log/detail/thread_specific.hpp
deleted file mode 100644
index 7e38be5aab..0000000000
--- a/contrib/restricted/boost/boost/log/detail/thread_specific.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file thread_specific.hpp
- * \author Andrey Semashev
- * \date 01.03.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_THREAD_SPECIFIC_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_THREAD_SPECIFIC_HPP_INCLUDED_
-
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_pod.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Base class for TLS to hide platform-specific storage management
-class thread_specific_base
-{
-private:
-#if defined(BOOST_THREAD_PLATFORM_WIN32)
- typedef unsigned long key_storage;
-#else
- typedef void* key_storage;
-#endif
-
- key_storage m_Key;
-
-protected:
- BOOST_LOG_API thread_specific_base();
- BOOST_LOG_API ~thread_specific_base();
- BOOST_LOG_API void* get_content() const;
- BOOST_LOG_API void set_content(void* value) const;
-
- // Copying prohibited
- BOOST_DELETED_FUNCTION(thread_specific_base(thread_specific_base const&))
- BOOST_DELETED_FUNCTION(thread_specific_base& operator= (thread_specific_base const&))
-};
-
-//! A TLS wrapper for small POD types with least possible overhead
-template< typename T >
-class thread_specific :
- public thread_specific_base
-{
- BOOST_STATIC_ASSERT_MSG(sizeof(T) <= sizeof(void*) && is_pod< T >::value, "Boost.Log: Thread-specific values must be PODs and must not exceed the size of a pointer");
-
- //! Union to perform type casting
- union value_storage
- {
- void* as_pointer;
- T as_value;
- };
-
-public:
- //! Default constructor
- BOOST_DEFAULTED_FUNCTION(thread_specific(), {})
- //! Initializing constructor
- thread_specific(T const& value)
- {
- set(value);
- }
- //! Assignment
- thread_specific& operator= (T const& value)
- {
- set(value);
- return *this;
- }
-
- //! Accessor
- T get() const
- {
- value_storage cast = {};
- cast.as_pointer = thread_specific_base::get_content();
- return cast.as_value;
- }
-
- //! Setter
- void set(T const& value)
- {
- value_storage cast = {};
- cast.as_value = value;
- thread_specific_base::set_content(cast.as_pointer);
- }
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-#endif // BOOST_LOG_DETAIL_THREAD_SPECIFIC_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/threadsafe_queue.hpp b/contrib/restricted/boost/boost/log/detail/threadsafe_queue.hpp
deleted file mode 100644
index b747ed4c5d..0000000000
--- a/contrib/restricted/boost/boost/log/detail/threadsafe_queue.hpp
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file threadsafe_queue.hpp
- * \author Andrey Semashev
- * \date 05.11.2010
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_THREADSAFE_QUEUE_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_THREADSAFE_QUEUE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_NO_THREADS
-
-#include <new>
-#include <memory>
-#include <cstddef>
-#include <boost/aligned_storage.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/type_traits/type_with_alignment.hpp>
-#include <boost/log/detail/allocator_traits.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Base class for the thread-safe queue implementation
-struct threadsafe_queue_impl
-{
- struct BOOST_LOG_MAY_ALIAS pointer_storage
- {
- union
- {
- void* data[2];
- type_with_alignment< 2 * sizeof(void*) >::type alignment;
- };
- };
-
- struct node_base
- {
- pointer_storage next;
- };
-
- static BOOST_LOG_API threadsafe_queue_impl* create(node_base* first_node);
-
- static BOOST_LOG_API void* operator new (std::size_t size);
- static BOOST_LOG_API void operator delete (void* p, std::size_t);
-
- virtual ~threadsafe_queue_impl() {}
- virtual node_base* reset_last_node() = 0;
- virtual bool unsafe_empty() = 0;
- virtual void push(node_base* p) = 0;
- virtual bool try_pop(node_base*& node_to_free, node_base*& node_with_value) = 0;
-};
-
-//! Thread-safe queue node type
-template< typename T >
-struct threadsafe_queue_node :
- public threadsafe_queue_impl::node_base
-{
- typedef typename aligned_storage< sizeof(T), alignment_of< T >::value >::type storage_type;
- storage_type storage;
-
- BOOST_DEFAULTED_FUNCTION(threadsafe_queue_node(), {})
- explicit threadsafe_queue_node(T const& val) { new (storage.address()) T(val); }
- T& value() BOOST_NOEXCEPT { return *static_cast< T* >(storage.address()); }
- void destroy() BOOST_NOEXCEPT { static_cast< T* >(storage.address())->~T(); }
-
- // Copying and assignment is prohibited
- BOOST_DELETED_FUNCTION(threadsafe_queue_node(threadsafe_queue_node const&))
- BOOST_DELETED_FUNCTION(threadsafe_queue_node& operator= (threadsafe_queue_node const&))
-};
-
-/*!
- * \brief An unbounded thread-safe queue
- *
- * The implementation is based on algorithms published in the "Simple, Fast,
- * and Practical Non-Blocking and Blocking Concurrent Queue Algorithms" article
- * in PODC96 by Maged M. Michael and Michael L. Scott. Pseudocode is available here:
- * http://www.cs.rochester.edu/research/synchronization/pseudocode/queues.html
- *
- * The implementation provides thread-safe \c push and \c try_pop operations, as well as
- * a thread-unsafe \c empty operation. The queue imposes the following requirements
- * on the element type:
- *
- * \li Default constructible, the default constructor must not throw.
- * \li Copy constructible.
- * \li Movable (i.e. there should be an efficient move assignment for this type).
- *
- * The last requirement is not mandatory but is crucial for decent performance.
- */
-template< typename T, typename AllocatorT = std::allocator< void > >
-class threadsafe_queue :
- private boost::log::aux::rebind_alloc< AllocatorT, threadsafe_queue_node< T > >::type
-{
-private:
- typedef threadsafe_queue_node< T > node;
-
-public:
- typedef typename boost::log::aux::rebind_alloc< AllocatorT, node >::type allocator_type;
- typedef T value_type;
- typedef T& reference;
- typedef T const& const_reference;
- typedef T* pointer;
- typedef T const* const_pointer;
- typedef std::ptrdiff_t difference_type;
- typedef std::size_t size_type;
-
-private:
- typedef boost::log::aux::allocator_traits< allocator_type > alloc_traits;
-
- //! A simple scope guard to automate memory reclaiming
- struct auto_deallocate;
- friend struct auto_deallocate;
- struct auto_deallocate
- {
- auto_deallocate(allocator_type* alloc, node* dealloc, node* destr) BOOST_NOEXCEPT :
- m_pAllocator(alloc),
- m_pDeallocate(dealloc),
- m_pDestroy(destr)
- {
- }
- ~auto_deallocate() BOOST_NOEXCEPT
- {
- alloc_traits::destroy(*m_pAllocator, m_pDeallocate);
- alloc_traits::deallocate(*m_pAllocator, m_pDeallocate, 1);
- m_pDestroy->destroy();
- }
-
- private:
- allocator_type* m_pAllocator;
- node* m_pDeallocate;
- node* m_pDestroy;
- };
-
-public:
- /*!
- * Default constructor, creates an empty queue. Unlike most containers,
- * the constructor requires memory allocation.
- *
- * \throw std::bad_alloc if there is not sufficient memory
- */
- threadsafe_queue(allocator_type const& alloc = allocator_type()) :
- allocator_type(alloc)
- {
- node* p = alloc_traits::allocate(get_allocator(), 1);
- if (p)
- {
- try
- {
- alloc_traits::construct(get_allocator(), p);
- try
- {
- m_pImpl = threadsafe_queue_impl::create(p);
- }
- catch (...)
- {
- alloc_traits::destroy(get_allocator(), p);
- throw;
- }
- }
- catch (...)
- {
- alloc_traits::deallocate(get_allocator(), p, 1);
- throw;
- }
- }
- else
- throw std::bad_alloc();
- }
- /*!
- * Destructor
- */
- ~threadsafe_queue() BOOST_NOEXCEPT
- {
- // Clear the queue
- if (!unsafe_empty())
- {
- value_type value;
- while (try_pop(value));
- }
-
- // Remove the last dummy node
- node* p = static_cast< node* >(m_pImpl->reset_last_node());
- alloc_traits::destroy(get_allocator(), p);
- alloc_traits::deallocate(get_allocator(), p, 1);
-
- delete m_pImpl;
- }
-
- /*!
- * Checks if the queue is empty. Not thread-safe, the returned result may not be actual.
- */
- bool unsafe_empty() const { return m_pImpl->unsafe_empty(); }
-
- /*!
- * Puts a new element to the end of the queue. Thread-safe, can be called
- * concurrently by several threads, and concurrently with the \c pop operation.
- */
- void push(const_reference value)
- {
- node* p = alloc_traits::allocate(get_allocator(), 1);
- if (p)
- {
- try
- {
- alloc_traits::construct(get_allocator(), p, value);
- }
- catch (...)
- {
- alloc_traits::deallocate(get_allocator(), p, 1);
- throw;
- }
- m_pImpl->push(p);
- }
- else
- throw std::bad_alloc();
- }
-
- /*!
- * Attempts to pop an element from the beginning of the queue. Thread-safe, can
- * be called concurrently with the \c push operation. Should not be called by
- * several threads concurrently.
- */
- bool try_pop(reference value)
- {
- threadsafe_queue_impl::node_base *dealloc, *destr;
- if (m_pImpl->try_pop(dealloc, destr))
- {
- node* p = static_cast< node* >(destr);
- auto_deallocate guard(static_cast< allocator_type* >(this), static_cast< node* >(dealloc), p);
- value = boost::move(p->value());
- return true;
- }
- else
- return false;
- }
-
- // Copying and assignment is prohibited
- BOOST_DELETED_FUNCTION(threadsafe_queue(threadsafe_queue const&))
- BOOST_DELETED_FUNCTION(threadsafe_queue& operator= (threadsafe_queue const&))
-
-private:
- //! Returns the allocator instance
- allocator_type& get_allocator() BOOST_NOEXCEPT { return *static_cast< allocator_type* >(this); }
-
-private:
- //! Pointer to the implementation
- threadsafe_queue_impl* m_pImpl;
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_NO_THREADS
-
-#endif // BOOST_LOG_DETAIL_THREADSAFE_QUEUE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/timestamp.hpp b/contrib/restricted/boost/boost/log/detail/timestamp.hpp
deleted file mode 100644
index 9bd006136d..0000000000
--- a/contrib/restricted/boost/boost/log/detail/timestamp.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file timestamp.hpp
- * \author Andrey Semashev
- * \date 31.07.2011
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_TIMESTAMP_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_TIMESTAMP_HPP_INCLUDED_
-
-#include <boost/cstdint.hpp>
-#include <boost/log/detail/config.hpp>
-#if defined(BOOST_WINDOWS) && !defined(__CYGWIN__)
-#include <boost/winapi/basic_types.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-/*!
- * Duration between two timestamps
- */
-class duration
-{
- int64_t m_ticks;
-
-public:
- explicit duration(int64_t ticks = 0) : m_ticks(ticks) {}
-
-#if defined(BOOST_WINDOWS) && !defined(__CYGWIN__)
- int64_t milliseconds() const { return m_ticks; }
-#else
- BOOST_LOG_API int64_t milliseconds() const;
-#endif
-};
-
-/*!
- * Opaque timestamp class
- */
-class timestamp
-{
- uint64_t m_ticks;
-
-public:
- explicit timestamp(uint64_t ticks = 0) : m_ticks(ticks) {}
-
- duration operator- (timestamp that) const
- {
- return duration(m_ticks - that.m_ticks);
- }
-};
-
-/*!
- * \fn get_timestamp
- *
- * The function returns a timestamp, in opaque units since an unspecified
- * time point. This timer is guaranteed to be monotonic, it should not
- * be affected by clock changes, either manual or seasonal. Also, it
- * should be as fast as possible.
- */
-#if defined(BOOST_WINDOWS) && !defined(__CYGWIN__)
-
-typedef uint64_t (WINAPI* get_tick_count_t)();
-extern BOOST_LOG_API get_tick_count_t get_tick_count;
-
-inline timestamp get_timestamp()
-{
- return timestamp(get_tick_count());
-}
-
-#else
-
-typedef timestamp (*get_timestamp_t)();
-extern BOOST_LOG_API get_timestamp_t get_timestamp;
-
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_TIMESTAMP_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/trivial_keyword.hpp b/contrib/restricted/boost/boost/log/detail/trivial_keyword.hpp
deleted file mode 100644
index f14a6d810e..0000000000
--- a/contrib/restricted/boost/boost/log/detail/trivial_keyword.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file trivial_keyword.hpp
- * \author Andrey Semashev
- * \date 02.12.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_TRIVIAL_KEYWORD_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_TRIVIAL_KEYWORD_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace trivial {
-
-//! Trivial severity keyword
-BOOST_LOG_ATTRIBUTE_KEYWORD(severity, "Severity", severity_level)
-
-} // namespace trivial
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_TRIVIAL_KEYWORD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/unary_function_terminal.hpp b/contrib/restricted/boost/boost/log/detail/unary_function_terminal.hpp
deleted file mode 100644
index 58a87ec172..0000000000
--- a/contrib/restricted/boost/boost/log/detail/unary_function_terminal.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file unary_function_terminal.hpp
- * \author Andrey Semashev
- * \date 21.07.2012
- *
- * The header contains attribute value extractor adapter for constructing expression template terminals.
- */
-
-#ifndef BOOST_LOG_DETAIL_UNARY_FUNCTION_TERMINAL_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_UNARY_FUNCTION_TERMINAL_HPP_INCLUDED_
-
-#include <boost/mpl/bool.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/fusion/sequence/intrinsic/at_c.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/copy_cv.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-/*!
- * \brief An adapter for a unary function to be used as a terminal in a Boost.Phoenix expression
- *
- * This class is an adapter between Boost.Phoenix expression invocation protocol and
- * a unary function. It forwards the call to the base function, passing only the first argument
- * from the original call. This allows to embed value extractors in template expressions.
- */
-template< typename FunT >
-class unary_function_terminal
-{
-private:
- //! Adopted function type
- typedef FunT function_type;
- //! Self type
- typedef unary_function_terminal< function_type > this_type;
-
-public:
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-
- //! Function result type
- template< typename >
- struct result;
-
- template< typename ThisT, typename ContextT >
- struct result< ThisT(ContextT) >
- {
- typedef typename remove_cv<
- typename remove_reference< typename phoenix::result_of::env< ContextT >::type >::type
- >::type env_type;
- typedef typename env_type::args_type args_type;
- typedef typename boost::log::aux::copy_cv< ThisT, function_type >::type cv_function_type;
-
- typedef typename boost::result_of< cv_function_type(typename fusion::result_of::at_c< args_type, 0 >::type) >::type type;
- };
-
-private:
- //! Adopted function
- function_type m_fun;
-
-public:
- //! Default constructor
- BOOST_DEFAULTED_FUNCTION(unary_function_terminal(), {})
- //! Copy constructor
- unary_function_terminal(unary_function_terminal const& that) : m_fun(that.m_fun) {}
- //! Initializing constructor
- template< typename ArgT1 >
- explicit unary_function_terminal(ArgT1 const& arg1) : m_fun(arg1) {}
- //! Initializing constructor
- template< typename ArgT1, typename ArgT2 >
- unary_function_terminal(ArgT1 const& arg1, ArgT2 const& arg2) : m_fun(arg1, arg2) {}
- //! Initializing constructor
- template< typename ArgT1, typename ArgT2, typename ArgT3 >
- unary_function_terminal(ArgT1 const& arg1, ArgT2 const& arg2, ArgT3 const& arg3) : m_fun(arg1, arg2, arg3) {}
-
- //! The operator forwards the call to the base function
- template< typename ContextT >
- typename result< this_type(ContextT const&) >::type
- operator() (ContextT const& ctx)
- {
- return m_fun(fusion::at_c< 0 >(phoenix::env(ctx).args()));
- }
-
- //! The operator forwards the call to the base function
- template< typename ContextT >
- typename result< const this_type(ContextT const&) >::type
- operator() (ContextT const& ctx) const
- {
- return m_fun(fusion::at_c< 0 >(phoenix::env(ctx).args()));
- }
-};
-
-} // namespace aux
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-namespace result_of {
-
-template< typename FunT >
-struct is_nullary< custom_terminal< boost::log::expressions::aux::unary_function_terminal< FunT > > > :
- public mpl::false_
-{
-};
-
-} // namespace result_of
-
-} // namespace phoenix
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_UNARY_FUNCTION_TERMINAL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/unhandled_exception_count.hpp b/contrib/restricted/boost/boost/log/detail/unhandled_exception_count.hpp
deleted file mode 100644
index 129b02214b..0000000000
--- a/contrib/restricted/boost/boost/log/detail/unhandled_exception_count.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file unhandled_exception_count.hpp
- * \author Andrey Semashev
- * \date 05.11.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DETAIL_UNHANDLED_EXCEPTION_COUNT_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_UNHANDLED_EXCEPTION_COUNT_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Returns the number of currently pending exceptions
-BOOST_LOG_API unsigned int unhandled_exception_count() BOOST_NOEXCEPT;
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_DETAIL_UNHANDLED_EXCEPTION_COUNT_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/detail/value_ref_visitation.hpp b/contrib/restricted/boost/boost/log/detail/value_ref_visitation.hpp
deleted file mode 100644
index 8ac598913a..0000000000
--- a/contrib/restricted/boost/boost/log/detail/value_ref_visitation.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file value_ref_visitation.hpp
- * \author Andrey Semashev
- * \date 28.07.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html. In this file
- * internal configuration macros are defined.
- */
-
-#ifndef BOOST_LOG_DETAIL_VALUE_REF_VISITATION_HPP_INCLUDED_
-#define BOOST_LOG_DETAIL_VALUE_REF_VISITATION_HPP_INCLUDED_
-
-#include <boost/mpl/at.hpp>
-#include <boost/mpl/begin.hpp>
-#include <boost/mpl/end.hpp>
-#include <boost/mpl/advance.hpp>
-#include <boost/mpl/erase.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/preprocessor/arithmetic/inc.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifndef BOOST_LOG_VALUE_REF_VISITATION_UNROLL_COUNT
-#define BOOST_LOG_VALUE_REF_VISITATION_UNROLL_COUNT 8
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename SequenceT, typename VisitorT, unsigned int SizeV = mpl::size< SequenceT >::value >
-struct apply_visitor_dispatch
-{
- typedef typename VisitorT::result_type result_type;
-
- static BOOST_FORCEINLINE result_type call(const void* p, unsigned int type_index, VisitorT& visitor)
- {
- typedef typename mpl::begin< SequenceT >::type begin_type;
- typedef typename mpl::advance_c< begin_type, SizeV / 2u >::type middle_type;
- if (type_index < (SizeV / 2u))
- {
- typedef typename mpl::erase< SequenceT, middle_type, typename mpl::end< SequenceT >::type >::type new_sequence;
- typedef apply_visitor_dispatch< new_sequence, VisitorT > new_dispatch;
- return new_dispatch::call(p, type_index, visitor);
- }
- else
- {
- typedef typename mpl::erase< SequenceT, begin_type, middle_type >::type new_sequence;
- typedef apply_visitor_dispatch< new_sequence, VisitorT > new_dispatch;
- return new_dispatch::call(p, type_index - (SizeV / 2u), visitor);
- }
- }
-};
-
-#define BOOST_LOG_AUX_CASE_ENTRY(z, i, data)\
- case i: return visitor(*static_cast< typename mpl::at_c< SequenceT, i >::type const* >(p));
-
-#define BOOST_PP_FILENAME_1 <boost/log/detail/value_ref_visitation.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, BOOST_PP_INC(BOOST_LOG_VALUE_REF_VISITATION_VTABLE_SIZE))
-#include BOOST_PP_ITERATE()
-
-#undef BOOST_LOG_AUX_CASE_ENTRY
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DETAIL_VALUE_REF_VISITATION_HPP_INCLUDED_
-
-#ifdef BOOST_PP_IS_ITERATING
-
-#define BOOST_LOG_AUX_SWITCH_SIZE BOOST_PP_ITERATION()
-
-template< typename SequenceT, typename VisitorT >
-struct apply_visitor_dispatch< SequenceT, VisitorT, BOOST_LOG_AUX_SWITCH_SIZE >
-{
- typedef typename VisitorT::result_type result_type;
-
- static BOOST_FORCEINLINE result_type call(const void* p, unsigned int type_index, VisitorT& visitor)
- {
- switch (type_index)
- {
- BOOST_PP_REPEAT_FROM_TO(1, BOOST_LOG_AUX_SWITCH_SIZE, BOOST_LOG_AUX_CASE_ENTRY, ~)
- default:
- return visitor(*static_cast< typename mpl::at_c< SequenceT, 0 >::type const* >(p));
- }
- }
-};
-
-#undef BOOST_LOG_AUX_SWITCH_SIZE
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/contrib/restricted/boost/boost/log/exceptions.hpp b/contrib/restricted/boost/boost/log/exceptions.hpp
deleted file mode 100644
index a3a057a2c2..0000000000
--- a/contrib/restricted/boost/boost/log/exceptions.hpp
+++ /dev/null
@@ -1,469 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file
- * \author Andrey Semashev
- * \date 31.10.2009
- *
- * The header contains exception classes declarations.
- */
-
-#ifndef BOOST_LOG_EXCEPTIONS_HPP_INCLUDED_
-#define BOOST_LOG_EXCEPTIONS_HPP_INCLUDED_
-
-#include <cstddef>
-#include <string>
-#include <stdexcept>
-#include <boost/type_index.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/system/system_error.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-// Forward-declaration of an exception base class from Boost.Exception
-#if defined(__GNUC__)
-# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4)
-# pragma GCC visibility push (default)
-
-class exception;
-
-# pragma GCC visibility pop
-# else
-
-class exception;
-
-# endif
-#else
-
-class BOOST_SYMBOL_VISIBLE exception;
-
-#endif
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Attaches attribute name exception information
-BOOST_LOG_API void attach_attribute_name_info(exception& e, attribute_name const& name);
-
-} // namespace aux
-
-/*!
- * \brief Base class for memory allocation errors
- *
- * Exceptions derived from this class indicate problems with memory allocation.
- */
-class BOOST_LOG_API bad_alloc :
- public std::bad_alloc
-{
-private:
- std::string m_message;
-
-public:
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit bad_alloc(const char* descr);
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit bad_alloc(std::string const& descr);
- /*!
- * Destructor
- */
- ~bad_alloc();
-
- /*!
- * Error message accessor.
- */
- const char* what() const noexcept;
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
-#endif
-};
-
-/*!
- * \brief The exception is used to indicate reaching a storage capacity limit
- */
-class BOOST_LOG_API capacity_limit_reached :
- public bad_alloc
-{
-public:
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit capacity_limit_reached(const char* descr);
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit capacity_limit_reached(std::string const& descr);
- /*!
- * Destructor
- */
- ~capacity_limit_reached();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
-#endif
-};
-
-/*!
- * \brief Base class for runtime exceptions from the logging library
- *
- * Exceptions derived from this class indicate a problem that may not directly
- * be caused by the user's code that interacts with the library, such as
- * errors caused by input data.
- */
-class BOOST_LOG_API runtime_error :
- public std::runtime_error
-{
-public:
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit runtime_error(std::string const& descr);
- /*!
- * Destructor
- */
- ~runtime_error();
-};
-
-/*!
- * \brief Exception class that is used to indicate errors of missing values
- */
-class BOOST_LOG_API missing_value :
- public runtime_error
-{
-public:
- /*!
- * Default constructor. Creates an exception with the default error message.
- */
- missing_value();
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit missing_value(std::string const& descr);
- /*!
- * Destructor
- */
- ~missing_value();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr, attribute_name const& name);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr, attribute_name const& name);
-#endif
-};
-
-/*!
- * \brief Exception class that is used to indicate errors of incorrect type of an object
- */
-class BOOST_LOG_API invalid_type :
- public runtime_error
-{
-public:
- /*!
- * Default constructor. Creates an exception with the default error message.
- */
- invalid_type();
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit invalid_type(std::string const& descr);
- /*!
- * Destructor
- */
- ~invalid_type();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr, attribute_name const& name);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr, attribute_name const& name);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr, typeindex::type_index const& type);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr, typeindex::type_index const& type);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr, attribute_name const& name, typeindex::type_index const& type);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr, attribute_name const& name, typeindex::type_index const& type);
-#endif
-};
-
-/*!
- * \brief Exception class that is used to indicate errors of incorrect value of an object
- */
-class BOOST_LOG_API invalid_value :
- public runtime_error
-{
-public:
- /*!
- * Default constructor. Creates an exception with the default error message.
- */
- invalid_value();
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit invalid_value(std::string const& descr);
- /*!
- * Destructor
- */
- ~invalid_value();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
-#endif
-};
-
-/*!
- * \brief Exception class that is used to indicate parsing errors
- */
-class BOOST_LOG_API parse_error :
- public runtime_error
-{
-public:
- /*!
- * Default constructor. Creates an exception with the default error message.
- */
- parse_error();
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit parse_error(std::string const& descr);
- /*!
- * Destructor
- */
- ~parse_error();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr, std::size_t content_line);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr, std::size_t content_line);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr, attribute_name const& name);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr, attribute_name const& name);
-#endif
-};
-
-/*!
- * \brief Exception class that is used to indicate conversion errors
- */
-class BOOST_LOG_API conversion_error :
- public runtime_error
-{
-public:
- /*!
- * Default constructor. Creates an exception with the default error message.
- */
- conversion_error();
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit conversion_error(std::string const& descr);
- /*!
- * Destructor
- */
- ~conversion_error();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
-#endif
-};
-
-/*!
- * \brief Exception class that is used to indicate underlying OS API errors
- */
-class BOOST_LOG_API system_error :
- public boost::system::system_error
-{
-public:
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- system_error(boost::system::error_code code, std::string const& descr);
- /*!
- * Destructor
- */
- ~system_error();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr, int system_error_code);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr, int system_error_code);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr, boost::system::error_code code);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr, boost::system::error_code code);
-#endif
-};
-
-/*!
- * \brief Base class for logic exceptions from the logging library
- *
- * Exceptions derived from this class usually indicate errors on the user's side, such as
- * incorrect library usage.
- */
-class BOOST_LOG_API logic_error :
- public std::logic_error
-{
-public:
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit logic_error(std::string const& descr);
- /*!
- * Destructor
- */
- ~logic_error();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
-#endif
-};
-
-/*!
- * \brief Exception class that is used to indicate ODR violation
- */
-class BOOST_LOG_API odr_violation :
- public logic_error
-{
-public:
- /*!
- * Default constructor. Creates an exception with the default error message.
- */
- odr_violation();
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit odr_violation(std::string const& descr);
- /*!
- * Destructor
- */
- ~odr_violation();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
-#endif
-};
-
-/*!
- * \brief Exception class that is used to indicate invalid call sequence
- */
-class BOOST_LOG_API unexpected_call :
- public logic_error
-{
-public:
- /*!
- * Default constructor. Creates an exception with the default error message.
- */
- unexpected_call();
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit unexpected_call(std::string const& descr);
- /*!
- * Destructor
- */
- ~unexpected_call();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
-#endif
-};
-
-/*!
- * \brief Exception class that is used to indicate invalid library setup
- */
-class BOOST_LOG_API setup_error :
- public logic_error
-{
-public:
- /*!
- * Default constructor. Creates an exception with the default error message.
- */
- setup_error();
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit setup_error(std::string const& descr);
- /*!
- * Destructor
- */
- ~setup_error();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
-#endif
-};
-
-/*!
- * \brief Exception class that is used to indicate library limitation
- */
-class BOOST_LOG_API limitation_error :
- public logic_error
-{
-public:
- /*!
- * Default constructor. Creates an exception with the default error message.
- */
- limitation_error();
- /*!
- * Initializing constructor. Creates an exception with the specified error message.
- */
- explicit limitation_error(std::string const& descr);
- /*!
- * Destructor
- */
- ~limitation_error();
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, const char* descr);
- static BOOST_LOG_NORETURN void throw_(const char* file, std::size_t line, std::string const& descr);
-#endif
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_THROW(ex)\
- ex::throw_(__FILE__, static_cast< std::size_t >(__LINE__))
-
-#define BOOST_LOG_THROW_DESCR(ex, descr)\
- ex::throw_(__FILE__, static_cast< std::size_t >(__LINE__), descr)
-
-#define BOOST_LOG_THROW_DESCR_PARAMS(ex, descr, params)\
- ex::throw_(__FILE__, static_cast< std::size_t >(__LINE__), descr, BOOST_PP_SEQ_ENUM(params))
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXCEPTIONS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions.hpp b/contrib/restricted/boost/boost/log/expressions.hpp
deleted file mode 100644
index b60bafef9c..0000000000
--- a/contrib/restricted/boost/boost/log/expressions.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file expressions.hpp
- * \author Andrey Semashev
- * \date 10.11.2012
- *
- * This header includes other Boost.Log headers with all template expression tools.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#include <boost/log/expressions/attr.hpp>
-#include <boost/log/expressions/keyword.hpp>
-#include <boost/log/expressions/message.hpp>
-#include <boost/log/expressions/record.hpp>
-
-#include <boost/log/expressions/predicates.hpp>
-#include <boost/log/expressions/formatters.hpp>
-
-#include <boost/log/expressions/filter.hpp>
-#include <boost/log/expressions/formatter.hpp>
-
-// Boost.Phoenix operators are likely to be used with Boost.Log expression nodes anyway
-#include <boost/phoenix/operator.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_LOG_EXPRESSIONS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/attr.hpp b/contrib/restricted/boost/boost/log/expressions/attr.hpp
deleted file mode 100644
index 60540e7d77..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/attr.hpp
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attr.hpp
- * \author Andrey Semashev
- * \date 21.07.2012
- *
- * The header contains implementation of a generic attribute placeholder in template expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_ATTR_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_ATTR_HPP_INCLUDED_
-
-#include <boost/mpl/bool.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/fusion/sequence/intrinsic/at_c.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/copy_cv.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/value_extraction.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/expressions/attr_fwd.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * An attribute value extraction terminal
- */
-template< typename T, typename FallbackPolicyT, typename TagT >
-class attribute_terminal
-{
-private:
- //! Value extractor type
- typedef value_extractor< T, FallbackPolicyT, TagT > value_extractor_type;
- //! Self type
- typedef attribute_terminal< T, FallbackPolicyT, TagT > this_type;
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Attribute tag type
- typedef TagT tag_type;
- //! Attribute value type
- typedef typename value_extractor_type::value_type value_type;
- //! Fallback policy type
- typedef typename value_extractor_type::fallback_policy fallback_policy;
-
- //! Function result type
- template< typename >
- struct result;
-
- template< typename ThisT, typename ContextT >
- struct result< ThisT(ContextT) >
- {
- typedef typename remove_cv<
- typename remove_reference< typename phoenix::result_of::env< ContextT >::type >::type
- >::type env_type;
- typedef typename env_type::args_type args_type;
- typedef typename boost::log::aux::copy_cv< ThisT, value_extractor_type >::type cv_value_extractor_type;
-
- typedef typename boost::result_of< cv_value_extractor_type(attribute_name const&, typename fusion::result_of::at_c< args_type, 0 >::type) >::type type;
- };
-
-private:
- //! Attribute value name
- const attribute_name m_name;
- //! Attribute value extractor
- value_extractor_type m_value_extractor;
-
-public:
- /*!
- * Initializing constructor
- */
- explicit attribute_terminal(attribute_name const& name) : m_name(name)
- {
- }
-
- /*!
- * Initializing constructor
- */
- template< typename U >
- attribute_terminal(attribute_name const& name, U const& arg) : m_name(name), m_value_extractor(arg)
- {
- }
-
- /*!
- * \returns Attribute value name
- */
- attribute_name get_name() const
- {
- return m_name;
- }
-
- /*!
- * \returns Fallback policy
- */
- fallback_policy const& get_fallback_policy() const
- {
- return m_value_extractor.get_fallback_policy();
- }
-
- /*!
- * The operator extracts attribute value
- */
- template< typename ContextT >
- typename result< this_type(ContextT const&) >::type
- operator() (ContextT const& ctx)
- {
- return m_value_extractor(m_name, fusion::at_c< 0 >(phoenix::env(ctx).args()));
- }
-
- /*!
- * The operator extracts attribute value
- */
- template< typename ContextT >
- typename result< const this_type(ContextT const&) >::type
- operator() (ContextT const& ctx) const
- {
- return m_value_extractor(m_name, fusion::at_c< 0 >(phoenix::env(ctx).args()));
- }
-
- BOOST_DELETED_FUNCTION(attribute_terminal())
-};
-
-/*!
- * An attribute value extraction terminal actor
- */
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT >
-class attribute_actor :
- public ActorT< attribute_terminal< T, FallbackPolicyT, TagT > >
-{
-public:
- //! Attribute tag type
- typedef TagT tag_type;
- //! Fallback policy
- typedef FallbackPolicyT fallback_policy;
- //! Base terminal type
- typedef attribute_terminal< T, fallback_policy, tag_type > terminal_type;
- //! Attribute value type
- typedef typename terminal_type::value_type value_type;
-
- //! Base actor type
- typedef ActorT< terminal_type > base_type;
-
-public:
- //! Initializing constructor
- explicit attribute_actor(base_type const& act) : base_type(act)
- {
- }
-
- /*!
- * \returns The attribute name
- */
- attribute_name get_name() const
- {
- return this->proto_expr_.child0.get_name();
- }
-
- /*!
- * \returns Fallback policy
- */
- fallback_policy const& get_fallback_policy() const
- {
- return this->proto_expr_.child0.get_fallback_policy();
- }
-
- //! Expression with cached attribute name
- typedef attribute_actor< value_type, fallback_to_none, tag_type, ActorT > or_none_result_type;
-
- //! Generates an expression that extracts the attribute value or a default value
- or_none_result_type or_none() const
- {
- typedef typename or_none_result_type::terminal_type result_terminal;
- typename or_none_result_type::base_type act = {{ result_terminal(get_name()) }};
- return or_none_result_type(act);
- }
-
- //! Expression with cached attribute name
- typedef attribute_actor< value_type, fallback_to_throw, tag_type, ActorT > or_throw_result_type;
-
- //! Generates an expression that extracts the attribute value or throws an exception
- or_throw_result_type or_throw() const
- {
- typedef typename or_throw_result_type::terminal_type result_terminal;
- typename or_throw_result_type::base_type act = {{ result_terminal(get_name()) }};
- return or_throw_result_type(act);
- }
-
- //! Generates an expression that extracts the attribute value or a default value
- template< typename DefaultT >
- attribute_actor< value_type, fallback_to_default< DefaultT >, tag_type, ActorT > or_default(DefaultT const& def_val) const
- {
- typedef attribute_actor< value_type, fallback_to_default< DefaultT >, tag_type, ActorT > or_default_result_type;
- typedef typename or_default_result_type::terminal_type result_terminal;
- typename or_default_result_type::base_type act = {{ result_terminal(get_name(), def_val) }};
- return or_default_result_type(act);
- }
-};
-
-/*!
- * The function generates a terminal node in a template expression. The node will extract the value of the attribute
- * with the specified name and type.
- */
-template< typename AttributeValueT >
-BOOST_FORCEINLINE attribute_actor< AttributeValueT > attr(attribute_name const& name)
-{
- typedef attribute_actor< AttributeValueT > result_type;
- typedef typename result_type::terminal_type result_terminal;
- typename result_type::base_type act = {{ result_terminal(name) }};
- return result_type(act);
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will extract the value of the attribute
- * with the specified name and type.
- */
-template< typename AttributeValueT, typename TagT >
-BOOST_FORCEINLINE attribute_actor< AttributeValueT, fallback_to_none, TagT > attr(attribute_name const& name)
-{
- typedef attribute_actor< AttributeValueT, fallback_to_none, TagT > result_type;
- typedef typename result_type::terminal_type result_terminal;
- typename result_type::base_type act = {{ result_terminal(name) }};
- return result_type(act);
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-namespace result_of {
-
-template< typename T, typename FallbackPolicyT, typename TagT >
-struct is_nullary< custom_terminal< boost::log::expressions::attribute_terminal< T, FallbackPolicyT, TagT > > > :
- public mpl::false_
-{
-};
-
-} // namespace result_of
-
-} // namespace phoenix
-
-#endif
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-#if defined(BOOST_LOG_EXPRESSIONS_FORMATTERS_STREAM_HPP_INCLUDED_)
-#include <boost/log/detail/attr_output_impl.hpp>
-#endif
-
-#endif // BOOST_LOG_EXPRESSIONS_ATTR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/attr_fwd.hpp b/contrib/restricted/boost/boost/log/expressions/attr_fwd.hpp
deleted file mode 100644
index 10d268b0e1..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/attr_fwd.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attr_fwd.hpp
- * \author Andrey Semashev
- * \date 21.07.2012
- *
- * The header contains forward declaration of a generic attribute placeholder in template expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_ATTR_FWD_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_ATTR_FWD_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/fallback_policy_fwd.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-template< typename >
-struct actor;
-
-} // namespace phoenix
-
-#endif
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * An attribute value extraction terminal
- */
-template<
- typename T,
- typename FallbackPolicyT = fallback_to_none,
- typename TagT = void
->
-class attribute_terminal;
-
-/*!
- * An attribute value extraction terminal actor
- */
-template<
- typename T,
- typename FallbackPolicyT = fallback_to_none,
- typename TagT = void,
- template< typename > class ActorT = phoenix::actor
->
-class attribute_actor;
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_EXPRESSIONS_ATTR_FWD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/filter.hpp b/contrib/restricted/boost/boost/log/expressions/filter.hpp
deleted file mode 100644
index 1e53f5c3bd..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/filter.hpp
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file filter.hpp
- * \author Andrey Semashev
- * \date 13.07.2012
- *
- * The header contains a filter function object definition.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FILTER_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FILTER_HPP_INCLUDED_
-
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/log/detail/sfinae_tools.hpp>
-#endif
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * Log record filter function wrapper.
- */
-class filter
-{
- BOOST_COPYABLE_AND_MOVABLE(filter)
-
-public:
- //! Result type
- typedef bool result_type;
-
-private:
- //! Filter function type
- typedef boost::log::aux::light_function< bool (attribute_value_set const&) > filter_type;
-
- //! Default filter, always returns \c true
- struct default_filter
- {
- typedef bool result_type;
- result_type operator() (attribute_value_set const&) const { return true; }
- };
-
-private:
- //! Filter function
- filter_type m_Filter;
-
-public:
- /*!
- * Default constructor. Creates a filter that always returns \c true.
- */
- filter() : m_Filter(default_filter())
- {
- }
- /*!
- * Copy constructor
- */
- filter(filter const& that) : m_Filter(that.m_Filter)
- {
- }
- /*!
- * Move constructor. The moved-from filter is left in an unspecified state.
- */
- filter(BOOST_RV_REF(filter) that) BOOST_NOEXCEPT : m_Filter(boost::move(that.m_Filter))
- {
- }
-
- /*!
- * Initializing constructor. Creates a filter which will invoke the specified function object.
- */
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- filter(FunT&& fun) : m_Filter(boost::forward< FunT >(fun))
- {
- }
-#elif !defined(BOOST_MSVC) || BOOST_MSVC >= 1600
- template< typename FunT >
- filter(FunT const& fun, typename boost::disable_if_c< move_detail::is_rv< FunT >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) : m_Filter(fun)
- {
- }
-#else
- // MSVC 9 and older blows up in unexpected ways if we use SFINAE to disable constructor instantiation
- template< typename FunT >
- filter(FunT const& fun) : m_Filter(fun)
- {
- }
- template< typename FunT >
- filter(rv< FunT >& fun) : m_Filter(fun)
- {
- }
- template< typename FunT >
- filter(rv< FunT > const& fun) : m_Filter(static_cast< FunT const& >(fun))
- {
- }
- filter(rv< filter > const& that) : m_Filter(that.m_Filter)
- {
- }
-#endif
-
- /*!
- * Move assignment. The moved-from filter is left in an unspecified state.
- */
- filter& operator= (BOOST_RV_REF(filter) that) BOOST_NOEXCEPT
- {
- m_Filter.swap(that.m_Filter);
- return *this;
- }
- /*!
- * Copy assignment.
- */
- filter& operator= (BOOST_COPY_ASSIGN_REF(filter) that)
- {
- m_Filter = that.m_Filter;
- return *this;
- }
- /*!
- * Initializing assignment. Sets the specified function object to the filter.
- */
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- filter& operator= (FunT const& fun)
-#else
- template< typename FunT >
- typename boost::disable_if_c< is_same< typename remove_cv< FunT >::type, filter >::value, filter& >::type
- operator= (FunT const& fun)
-#endif
- {
- filter(fun).swap(*this);
- return *this;
- }
-
- /*!
- * Filtering operator.
- *
- * \param values Attribute values of the log record.
- * \return \c true if the log record passes the filter, \c false otherwise.
- */
- result_type operator() (attribute_value_set const& values) const
- {
- return m_Filter(values);
- }
-
- /*!
- * Resets the filter to the default. The default filter always returns \c true.
- */
- void reset()
- {
- m_Filter = default_filter();
- }
-
- /*!
- * Swaps two filters
- */
- void swap(filter& that) BOOST_NOEXCEPT
- {
- m_Filter.swap(that.m_Filter);
- }
-};
-
-inline void swap(filter& left, filter& right) BOOST_NOEXCEPT
-{
- left.swap(right);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FILTER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatter.hpp b/contrib/restricted/boost/boost/log/expressions/formatter.hpp
deleted file mode 100644
index bc80dfa250..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatter.hpp
+++ /dev/null
@@ -1,484 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatter.hpp
- * \author Andrey Semashev
- * \date 13.07.2012
- *
- * The header contains a formatter function object definition.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTER_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTER_HPP_INCLUDED_
-
-#include <locale>
-#include <ostream>
-#include <boost/ref.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/log/detail/sfinae_tools.hpp>
-#endif
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/utility/functional/bind_output.hpp>
-#include <boost/log/expressions/message.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-// This reference class is a workaround for a Boost.Phoenix bug: https://svn.boost.org/trac/boost/ticket/9363
-// It is needed to pass output streams by non-const reference to function objects wrapped in phoenix::bind and phoenix::function.
-// It's an implementation detail and will be removed when Boost.Phoenix is fixed.
-template< typename StreamT >
-class stream_ref :
- public reference_wrapper< StreamT >
-{
-public:
- typedef typename StreamT::char_type char_type;
- typedef typename StreamT::traits_type traits_type;
- typedef typename StreamT::allocator_type allocator_type;
- typedef typename StreamT::streambuf_type streambuf_type;
- typedef typename StreamT::string_type string_type;
- typedef typename StreamT::ostream_type ostream_type;
- typedef typename StreamT::pos_type pos_type;
- typedef typename StreamT::off_type off_type;
- typedef typename StreamT::int_type int_type;
-
- typedef typename StreamT::failure failure;
- typedef typename StreamT::fmtflags fmtflags;
- typedef typename StreamT::iostate iostate;
- typedef typename StreamT::openmode openmode;
- typedef typename StreamT::seekdir seekdir;
- typedef typename StreamT::Init Init;
-
- typedef typename StreamT::event event;
- typedef typename StreamT::event_callback event_callback;
-
- typedef typename StreamT::sentry sentry;
-
- static BOOST_CONSTEXPR_OR_CONST fmtflags boolalpha = StreamT::boolalpha;
- static BOOST_CONSTEXPR_OR_CONST fmtflags dec = StreamT::dec;
- static BOOST_CONSTEXPR_OR_CONST fmtflags fixed = StreamT::fixed;
- static BOOST_CONSTEXPR_OR_CONST fmtflags hex = StreamT::hex;
- static BOOST_CONSTEXPR_OR_CONST fmtflags internal = StreamT::internal;
- static BOOST_CONSTEXPR_OR_CONST fmtflags left = StreamT::left;
- static BOOST_CONSTEXPR_OR_CONST fmtflags oct = StreamT::oct;
- static BOOST_CONSTEXPR_OR_CONST fmtflags right = StreamT::right;
- static BOOST_CONSTEXPR_OR_CONST fmtflags scientific = StreamT::scientific;
- static BOOST_CONSTEXPR_OR_CONST fmtflags showbase = StreamT::showbase;
- static BOOST_CONSTEXPR_OR_CONST fmtflags showpoint = StreamT::showpoint;
- static BOOST_CONSTEXPR_OR_CONST fmtflags skipws = StreamT::skipws;
- static BOOST_CONSTEXPR_OR_CONST fmtflags unitbuf = StreamT::unitbuf;
- static BOOST_CONSTEXPR_OR_CONST fmtflags uppercase = StreamT::uppercase;
- static BOOST_CONSTEXPR_OR_CONST fmtflags adjustfield = StreamT::adjustfield;
- static BOOST_CONSTEXPR_OR_CONST fmtflags basefield = StreamT::basefield;
- static BOOST_CONSTEXPR_OR_CONST fmtflags floatfield = StreamT::floatfield;
-
- static BOOST_CONSTEXPR_OR_CONST iostate badbit = StreamT::badbit;
- static BOOST_CONSTEXPR_OR_CONST iostate eofbit = StreamT::eofbit;
- static BOOST_CONSTEXPR_OR_CONST iostate failbit = StreamT::failbit;
- static BOOST_CONSTEXPR_OR_CONST iostate goodbit = StreamT::goodbit;
-
- static BOOST_CONSTEXPR_OR_CONST openmode app = StreamT::app;
- static BOOST_CONSTEXPR_OR_CONST openmode ate = StreamT::ate;
- static BOOST_CONSTEXPR_OR_CONST openmode binary = StreamT::binary;
- static BOOST_CONSTEXPR_OR_CONST openmode in = StreamT::in;
- static BOOST_CONSTEXPR_OR_CONST openmode out = StreamT::out;
- static BOOST_CONSTEXPR_OR_CONST openmode trunc = StreamT::trunc;
-
- static BOOST_CONSTEXPR_OR_CONST seekdir beg = StreamT::beg;
- static BOOST_CONSTEXPR_OR_CONST seekdir cur = StreamT::cur;
- static BOOST_CONSTEXPR_OR_CONST seekdir end = StreamT::end;
-
- static BOOST_CONSTEXPR_OR_CONST event erase_event = StreamT::erase_event;
- static BOOST_CONSTEXPR_OR_CONST event imbue_event = StreamT::imbue_event;
- static BOOST_CONSTEXPR_OR_CONST event copyfmt_event = StreamT::copyfmt_event;
-
-
- BOOST_FORCEINLINE explicit stream_ref(StreamT& strm) : reference_wrapper< StreamT >(strm)
- {
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename T >
- BOOST_FORCEINLINE StreamT& operator<< (T&& val) const
- {
- StreamT& strm = this->get();
- strm << static_cast< T&& >(val);
- return strm;
- }
-#if defined(BOOST_MSVC) && BOOST_MSVC < 1800
- // MSVC 10 and 11 generate broken code for the perfect forwarding version above if T is an array type (e.g. a string literal)
- template< typename T, unsigned int N >
- BOOST_FORCEINLINE StreamT& operator<< (T (&val)[N]) const
- {
- StreamT& strm = this->get();
- strm << val;
- return strm;
- }
-#endif
-#else
- template< typename T >
- BOOST_FORCEINLINE StreamT& operator<< (T& val) const
- {
- StreamT& strm = this->get();
- strm << val;
- return strm;
- }
-
- template< typename T >
- BOOST_FORCEINLINE StreamT& operator<< (T const& val) const
- {
- StreamT& strm = this->get();
- strm << val;
- return strm;
- }
-#endif
-
- BOOST_FORCEINLINE void attach(string_type& str) const { this->get().attach(str); }
- BOOST_FORCEINLINE void detach() const { this->get().detach(); }
- BOOST_FORCEINLINE string_type const& str() const { return this->get().str(); }
- BOOST_FORCEINLINE ostream_type& stream() const { return this->get().stream(); }
- BOOST_FORCEINLINE fmtflags flags() const { return this->get().flags(); }
- BOOST_FORCEINLINE fmtflags flags(fmtflags f) const { return this->get().flags(f); }
- BOOST_FORCEINLINE fmtflags setf(fmtflags f) const { return this->get().setf(f); }
- BOOST_FORCEINLINE fmtflags setf(fmtflags f, fmtflags mask) const { return this->get().setf(f, mask); }
- BOOST_FORCEINLINE void unsetf(fmtflags f) const { this->get().unsetf(f); }
-
- BOOST_FORCEINLINE std::streamsize precision() const { return this->get().precision(); }
- BOOST_FORCEINLINE std::streamsize precision(std::streamsize p) const { return this->get().precision(p); }
-
- BOOST_FORCEINLINE std::streamsize width() const { return this->get().width(); }
- BOOST_FORCEINLINE std::streamsize width(std::streamsize w) const { return this->get().width(w); }
-
- BOOST_FORCEINLINE std::locale getloc() const { return this->get().getloc(); }
- BOOST_FORCEINLINE std::locale imbue(std::locale const& loc) const { return this->get().imbue(loc); }
-
- static BOOST_FORCEINLINE int xalloc() { return StreamT::xalloc(); }
- BOOST_FORCEINLINE long& iword(int index) const { return this->get().iword(index); }
- BOOST_FORCEINLINE void*& pword(int index) const { return this->get().pword(index); }
-
- BOOST_FORCEINLINE void register_callback(event_callback fn, int index) const { this->get().register_callback(fn, index); }
-
- static BOOST_FORCEINLINE bool sync_with_stdio(bool sync = true) { return StreamT::sync_with_stdio(sync); }
-
- BOOST_EXPLICIT_OPERATOR_BOOL()
- BOOST_FORCEINLINE bool operator! () const { return !this->get(); }
-
- BOOST_FORCEINLINE iostate rdstate() const { return this->get().rdstate(); }
- BOOST_FORCEINLINE void clear(iostate state = goodbit) const { this->get().clear(state); }
- BOOST_FORCEINLINE void setstate(iostate state) const { this->get().setstate(state); }
- BOOST_FORCEINLINE bool good() const { return this->get().good(); }
- BOOST_FORCEINLINE bool eof() const { return this->get().eof(); }
- BOOST_FORCEINLINE bool fail() const { return this->get().fail(); }
- BOOST_FORCEINLINE bool bad() const { return this->get().bad(); }
-
- BOOST_FORCEINLINE iostate exceptions() const { return this->get().exceptions(); }
- BOOST_FORCEINLINE void exceptions(iostate s) const { this->get().exceptions(s); }
-
- BOOST_FORCEINLINE ostream_type* tie() const { return this->get().tie(); }
- BOOST_FORCEINLINE ostream_type* tie(ostream_type* strm) const { return this->get().tie(strm); }
-
- BOOST_FORCEINLINE streambuf_type* rdbuf() const { return this->get().rdbuf(); }
-
- BOOST_FORCEINLINE StreamT& copyfmt(std::basic_ios< char_type, traits_type >& rhs) const { return this->get().copyfmt(rhs); }
- BOOST_FORCEINLINE StreamT& copyfmt(StreamT& rhs) const { return this->get().copyfmt(rhs); }
-
- BOOST_FORCEINLINE char_type fill() const { return this->get().fill(); }
- BOOST_FORCEINLINE char_type fill(char_type ch) const { return this->get().fill(ch); }
-
- BOOST_FORCEINLINE char narrow(char_type ch, char def) const { return this->get().narrow(ch, def); }
- BOOST_FORCEINLINE char_type widen(char ch) const { return this->get().widen(ch); }
-
- BOOST_FORCEINLINE StreamT& flush() const { return this->get().flush(); }
-
- BOOST_FORCEINLINE pos_type tellp() const { return this->get().tellp(); }
- BOOST_FORCEINLINE StreamT& seekp(pos_type pos) const { return this->get().seekp(pos); }
- BOOST_FORCEINLINE StreamT& seekp(off_type off, std::ios_base::seekdir dir) const { return this->get().seekp(off, dir); }
-
- template< typename CharT >
- BOOST_FORCEINLINE typename boost::log::aux::enable_if_streamable_char_type< CharT, StreamT& >::type
- put(CharT c) const { return this->get().put(c); }
-
- template< typename CharT >
- BOOST_FORCEINLINE typename boost::log::aux::enable_if_streamable_char_type< CharT, StreamT& >::type
- write(const CharT* p, std::streamsize size) const { return this->get().write(p, size); }
-};
-
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::boolalpha;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::dec;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::fixed;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::hex;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::internal;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::left;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::oct;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::right;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::scientific;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::showbase;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::showpoint;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::skipws;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::unitbuf;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::uppercase;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::adjustfield;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::basefield;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::fmtflags stream_ref< StreamT >::floatfield;
-
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::iostate stream_ref< StreamT >::badbit;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::iostate stream_ref< StreamT >::eofbit;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::iostate stream_ref< StreamT >::failbit;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::iostate stream_ref< StreamT >::goodbit;
-
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::openmode stream_ref< StreamT >::app;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::openmode stream_ref< StreamT >::ate;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::openmode stream_ref< StreamT >::binary;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::openmode stream_ref< StreamT >::in;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::openmode stream_ref< StreamT >::out;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::openmode stream_ref< StreamT >::trunc;
-
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::seekdir stream_ref< StreamT >::beg;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::seekdir stream_ref< StreamT >::cur;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::seekdir stream_ref< StreamT >::end;
-
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::event stream_ref< StreamT >::erase_event;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::event stream_ref< StreamT >::imbue_event;
-template< typename StreamT >
-BOOST_CONSTEXPR_OR_CONST typename stream_ref< StreamT >::event stream_ref< StreamT >::copyfmt_event;
-
-//! Default log record message formatter
-struct message_formatter
-{
- typedef void result_type;
-
- message_formatter() : m_MessageName(expressions::tag::message::get_name())
- {
- }
-
- template< typename StreamT >
- BOOST_FORCEINLINE result_type operator() (record_view const& rec, StreamT& strm) const
- {
- boost::log::visit< expressions::tag::message::value_type >(m_MessageName, rec, boost::log::bind_output(strm));
- }
-
-private:
- const attribute_name m_MessageName;
-};
-
-} // namespace aux
-
-} // namespace expressions
-
-/*!
- * Log record formatter function wrapper.
- */
-template< typename CharT >
-class basic_formatter
-{
- typedef basic_formatter this_type;
- BOOST_COPYABLE_AND_MOVABLE(this_type)
-
-public:
- //! Result type
- typedef void result_type;
-
- //! Character type
- typedef CharT char_type;
- //! Output stream type
- typedef basic_formatting_ostream< char_type > stream_type;
-
-private:
- //! Filter function type
- typedef boost::log::aux::light_function< void (record_view const&, expressions::aux::stream_ref< stream_type >) > formatter_type;
-
-private:
- //! Formatter function
- formatter_type m_Formatter;
-
-public:
- /*!
- * Default constructor. Creates a formatter that only outputs log message.
- */
- basic_formatter() : m_Formatter(expressions::aux::message_formatter())
- {
- }
- /*!
- * Copy constructor
- */
- basic_formatter(basic_formatter const& that) : m_Formatter(that.m_Formatter)
- {
- }
- /*!
- * Move constructor. The moved-from formatter is left in an unspecified state.
- */
- basic_formatter(BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT : m_Formatter(boost::move(that.m_Formatter))
- {
- }
-
- /*!
- * Initializing constructor. Creates a formatter which will invoke the specified function object.
- */
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- basic_formatter(FunT&& fun) : m_Formatter(boost::forward< FunT >(fun))
- {
- }
-#elif !defined(BOOST_MSVC) || BOOST_MSVC >= 1600
- template< typename FunT >
- basic_formatter(FunT const& fun, typename boost::disable_if_c< move_detail::is_rv< FunT >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) : m_Formatter(fun)
- {
- }
-#else
- // MSVC 9 and older blows up in unexpected ways if we use SFINAE to disable constructor instantiation
- template< typename FunT >
- basic_formatter(FunT const& fun) : m_Formatter(fun)
- {
- }
- template< typename FunT >
- basic_formatter(rv< FunT >& fun) : m_Formatter(fun)
- {
- }
- template< typename FunT >
- basic_formatter(rv< FunT > const& fun) : m_Formatter(static_cast< FunT const& >(fun))
- {
- }
- basic_formatter(rv< this_type > const& that) : m_Formatter(that.m_Formatter)
- {
- }
-#endif
-
- /*!
- * Move assignment. The moved-from formatter is left in an unspecified state.
- */
- basic_formatter& operator= (BOOST_RV_REF(this_type) that) BOOST_NOEXCEPT
- {
- m_Formatter.swap(that.m_Formatter);
- return *this;
- }
- /*!
- * Copy assignment.
- */
- basic_formatter& operator= (BOOST_COPY_ASSIGN_REF(this_type) that)
- {
- m_Formatter = that.m_Formatter;
- return *this;
- }
- /*!
- * Initializing assignment. Sets the specified function object to the formatter.
- */
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- basic_formatter& operator= (FunT&& fun)
- {
- this_type(boost::forward< FunT >(fun)).swap(*this);
- return *this;
- }
-#else
- template< typename FunT >
- typename boost::disable_if_c< is_same< typename remove_cv< FunT >::type, this_type >::value, this_type& >::type
- operator= (FunT const& fun)
- {
- this_type(fun).swap(*this);
- return *this;
- }
-#endif
-
- /*!
- * Formatting operator.
- *
- * \param rec A log record to format.
- * \param strm A stream to put the formatted characters to.
- */
- result_type operator() (record_view const& rec, stream_type& strm) const
- {
- m_Formatter(rec, expressions::aux::stream_ref< stream_type >(strm));
- }
-
- /*!
- * Resets the formatter to the default. The default formatter only outputs message text.
- */
- void reset()
- {
- m_Formatter = expressions::aux::message_formatter();
- }
-
- /*!
- * Swaps two formatters
- */
- void swap(basic_formatter& that) BOOST_NOEXCEPT
- {
- m_Formatter.swap(that.m_Formatter);
- }
-};
-
-template< typename CharT >
-inline void swap(basic_formatter< CharT >& left, basic_formatter< CharT >& right) BOOST_NOEXCEPT
-{
- left.swap(right);
-}
-
-#ifdef BOOST_LOG_USE_CHAR
-typedef basic_formatter< char > formatter;
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-typedef basic_formatter< wchar_t > wformatter;
-#endif
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters.hpp b/contrib/restricted/boost/boost/log/expressions/formatters.hpp
deleted file mode 100644
index f85cb7903b..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatters.hpp
- * \author Andrey Semashev
- * \date 10.11.2012
- *
- * The header includes all template expression formatters.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#include <boost/log/expressions/formatters/stream.hpp>
-#include <boost/log/expressions/formatters/format.hpp>
-
-#include <boost/log/expressions/formatters/date_time.hpp>
-#include <boost/log/expressions/formatters/named_scope.hpp>
-
-#include <boost/log/expressions/formatters/char_decorator.hpp>
-#include <boost/log/expressions/formatters/xml_decorator.hpp>
-#include <boost/log/expressions/formatters/csv_decorator.hpp>
-#include <boost/log/expressions/formatters/c_decorator.hpp>
-#include <boost/log/expressions/formatters/max_size_decorator.hpp>
-
-#include <boost/log/expressions/formatters/if.hpp>
-#include <boost/log/expressions/formatters/wrap_formatter.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters/c_decorator.hpp b/contrib/restricted/boost/boost/log/expressions/formatters/c_decorator.hpp
deleted file mode 100644
index ec3f485405..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters/c_decorator.hpp
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatters/c_decorator.hpp
- * \author Andrey Semashev
- * \date 18.11.2012
- *
- * The header contains implementation of C-style character decorators.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_C_DECORATOR_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_C_DECORATOR_HPP_INCLUDED_
-
-#include <limits>
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/snprintf.hpp>
-#include <boost/log/expressions/formatters/char_decorator.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-template< typename >
-struct c_decorator_traits;
-
-#ifdef BOOST_LOG_USE_CHAR
-template< >
-struct c_decorator_traits< char >
-{
- static boost::iterator_range< const char* const* > get_patterns()
- {
- static const char* const patterns[] =
- {
- "\\", "\a", "\b", "\f", "\n", "\r", "\t", "\v", "'", "\"", "?"
- };
- return boost::make_iterator_range(patterns);
- }
- static boost::iterator_range< const char* const* > get_replacements()
- {
- static const char* const replacements[] =
- {
- "\\\\", "\\a", "\\b", "\\f", "\\n", "\\r", "\\t", "\\v", "\\'", "\\\"", "\\?"
- };
- return boost::make_iterator_range(replacements);
- }
- template< unsigned int N >
- static std::size_t print_escaped(char (&buf)[N], char c)
- {
- int n = boost::log::aux::snprintf(buf, N, "\\x%.2X", static_cast< unsigned int >(static_cast< uint8_t >(c)));
- if (n < 0)
- {
- n = 0;
- buf[0] = '\0';
- }
- return static_cast< unsigned int >(n) >= N ? N - 1 : static_cast< unsigned int >(n);
- }
-};
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-template< >
-struct c_decorator_traits< wchar_t >
-{
- static boost::iterator_range< const wchar_t* const* > get_patterns()
- {
- static const wchar_t* const patterns[] =
- {
- L"\\", L"\a", L"\b", L"\f", L"\n", L"\r", L"\t", L"\v", L"'", L"\"", L"?"
- };
- return boost::make_iterator_range(patterns);
- }
- static boost::iterator_range< const wchar_t* const* > get_replacements()
- {
- static const wchar_t* const replacements[] =
- {
- L"\\\\", L"\\a", L"\\b", L"\\f", L"\\n", L"\\r", L"\\t", L"\\v", L"\\'", L"\\\"", L"\\?"
- };
- return boost::make_iterator_range(replacements);
- }
- template< unsigned int N >
- static std::size_t print_escaped(wchar_t (&buf)[N], wchar_t c)
- {
- const wchar_t* format;
- unsigned int val;
- if (sizeof(wchar_t) == 1)
- {
- format = L"\\x%.2X";
- val = static_cast< uint8_t >(c);
- }
- else if (sizeof(wchar_t) == 2)
- {
- format = L"\\x%.4X";
- val = static_cast< uint16_t >(c);
- }
- else
- {
- format = L"\\x%.8X";
- val = static_cast< uint32_t >(c);
- }
-
- int n = boost::log::aux::swprintf(buf, N, format, val);
- if (n < 0)
- {
- n = 0;
- buf[0] = L'\0';
- }
- return static_cast< unsigned int >(n) >= N ? N - 1 : static_cast< unsigned int >(n);
- }
-};
-#endif // BOOST_LOG_USE_WCHAR_T
-
-template< typename CharT >
-struct c_decorator_gen
-{
- typedef CharT char_type;
-
- template< typename SubactorT >
- BOOST_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const
- {
- typedef c_decorator_traits< char_type > traits_type;
- typedef pattern_replacer< char_type > replacer_type;
- typedef char_decorator_actor< SubactorT, replacer_type > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(subactor, replacer_type(traits_type::get_patterns(), traits_type::get_replacements())) }};
- return result_type(act);
- }
-};
-
-} // namespace aux
-
-/*!
- * C-style decorator generator object. The decorator replaces characters with specific meaning in C
- * language with the corresponding escape sequences. The generator provides <tt>operator[]</tt> that
- * can be used to construct the actual decorator. For example:
- *
- * <code>
- * c_decor[ stream << attr< std::string >("MyAttr") ]
- * </code>
- *
- * For wide-character formatting there is the similar \c wc_decor decorator generator object.
- */
-#ifdef BOOST_LOG_USE_CHAR
-const aux::c_decorator_gen< char > c_decor = {};
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-const aux::c_decorator_gen< wchar_t > wc_decor = {};
-#endif
-
-/*!
- * The function creates a C-style decorator generator for arbitrary character type.
- */
-template< typename CharT >
-BOOST_FORCEINLINE aux::c_decorator_gen< CharT > make_c_decor()
-{
- return aux::c_decorator_gen< CharT >();
-}
-
-/*!
- * A character decorator implementation that escapes all non-prontable and non-ASCII characters
- * in the output with C-style escape sequences.
- */
-template< typename CharT >
-class c_ascii_pattern_replacer :
- public pattern_replacer< CharT >
-{
-private:
- //! Base type
- typedef pattern_replacer< CharT > base_type;
-
-public:
- //! Result type
- typedef typename base_type::result_type result_type;
- //! Character type
- typedef typename base_type::char_type char_type;
- //! String type
- typedef typename base_type::string_type string_type;
-
-private:
- //! Traits type
- typedef aux::c_decorator_traits< char_type > traits_type;
-
-public:
- //! Default constructor
- c_ascii_pattern_replacer() : base_type(traits_type::get_patterns(), traits_type::get_replacements())
- {
- }
-
- //! Applies string replacements starting from the specified position
- result_type operator() (string_type& str, typename string_type::size_type start_pos = 0) const
- {
- base_type::operator() (str, start_pos);
-
- typedef typename string_type::iterator string_iterator;
- for (string_iterator it = str.begin() + start_pos, end = str.end(); it != end; ++it)
- {
- char_type c = *it;
- if (c < 0x20 || c > 0x7e)
- {
- char_type buf[(std::numeric_limits< char_type >::digits + 3) / 4 + 3];
- std::size_t n = traits_type::print_escaped(buf, c);
- std::size_t pos = it - str.begin();
- str.replace(pos, 1, buf, n);
- it = str.begin() + n - 1;
- end = str.end();
- }
- }
- }
-};
-
-namespace aux {
-
-template< typename CharT >
-struct c_ascii_decorator_gen
-{
- typedef CharT char_type;
-
- template< typename SubactorT >
- BOOST_FORCEINLINE char_decorator_actor< SubactorT, c_ascii_pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const
- {
- typedef c_ascii_pattern_replacer< char_type > replacer_type;
- typedef char_decorator_actor< SubactorT, replacer_type > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(subactor, replacer_type()) }};
- return result_type(act);
- }
-};
-
-} // namespace aux
-
-/*!
- * C-style decorator generator object. Acts similarly to \c c_decor, except that \c c_ascii_decor also
- * converts all non-ASCII and non-printable ASCII characters, except for space character, into
- * C-style hexadecimal escape sequences. The generator provides <tt>operator[]</tt> that
- * can be used to construct the actual decorator. For example:
- *
- * <code>
- * c_ascii_decor[ stream << attr< std::string >("MyAttr") ]
- * </code>
- *
- * For wide-character formatting there is the similar \c wc_ascii_decor decorator generator object.
- */
-#ifdef BOOST_LOG_USE_CHAR
-const aux::c_ascii_decorator_gen< char > c_ascii_decor = {};
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-const aux::c_ascii_decorator_gen< wchar_t > wc_ascii_decor = {};
-#endif
-
-/*!
- * The function creates a C-style decorator generator for arbitrary character type.
- */
-template< typename CharT >
-BOOST_FORCEINLINE aux::c_ascii_decorator_gen< CharT > make_c_ascii_decor()
-{
- return aux::c_ascii_decorator_gen< CharT >();
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_C_DECORATOR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters/char_decorator.hpp b/contrib/restricted/boost/boost/log/expressions/formatters/char_decorator.hpp
deleted file mode 100644
index 229e72ae89..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters/char_decorator.hpp
+++ /dev/null
@@ -1,645 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatters/char_decorator.hpp
- * \author Andrey Semashev
- * \date 17.11.2012
- *
- * The header contains implementation of a character decorator.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_CHAR_DECORATOR_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_CHAR_DECORATOR_HPP_INCLUDED_
-
-#include <vector>
-#include <string>
-#include <iterator>
-#include <boost/assert.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/range/size.hpp>
-#include <boost/range/const_iterator.hpp>
-#include <boost/range/value_type.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/core/addressof.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/phoenix/support/vector.hpp>
-#include <boost/fusion/sequence/intrinsic/at_c.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/detail/deduce_char_type.hpp>
-#include <boost/log/detail/sfinae_tools.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-template< typename RangeT >
-struct string_const_iterator : range_const_iterator< RangeT > {};
-template< >
-struct string_const_iterator< char* > { typedef char* type; };
-template< >
-struct string_const_iterator< const char* > { typedef const char* type; };
-template< >
-struct string_const_iterator< wchar_t* > { typedef wchar_t* type; };
-template< >
-struct string_const_iterator< const wchar_t* > { typedef const wchar_t* type; };
-
-} // namespace aux
-
-/*!
- * A simple character decorator implementation. This implementation replaces string patterns in the source string with
- * the fixed replacements. Source patterns and replacements can be specified at the object construction.
- */
-template< typename CharT >
-class pattern_replacer
-{
-public:
- //! Result type
- typedef void result_type;
-
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
-
-private:
- //! Lengths of source pattern and replacement
- struct string_lengths
- {
- unsigned int from_len, to_len;
- };
-
- //! List of the decorations to apply
- typedef std::vector< string_lengths > string_lengths_list;
-
-private:
- //! Characters of the interleaved source patterns and replacements
- string_type m_decoration_chars;
- //! List of the decorations to apply
- string_lengths_list m_string_lengths;
-
-public:
- /*!
- * Initializing constructor. Creates a pattern replacer with the specified \a decorations.
- * The provided decorations must be a sequence of \c std::pair of strings. The first element
- * of each pair is the source pattern, and the second one is the corresponding replacement.
- */
- template< typename RangeT >
- explicit pattern_replacer(RangeT const& decorations
-#ifndef BOOST_LOG_DOXYGEN_PASS
- // This is needed for a workaround against an MSVC-10 and older bug in constructor overload resolution
- , typename boost::enable_if_has_type< typename range_const_iterator< RangeT >::type, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()
-#endif
- )
- {
- typedef typename range_const_iterator< RangeT >::type iterator;
- for (iterator it = boost::begin(decorations), end_ = boost::end(decorations); it != end_; ++it)
- {
- string_lengths lens;
- {
- typedef typename aux::string_const_iterator< typename range_value< RangeT >::type::first_type >::type first_iterator;
- first_iterator b = string_begin(it->first), e = string_end(it->first);
- lens.from_len = static_cast< unsigned int >(std::distance(b, e));
- m_decoration_chars.append(b, e);
- }
- {
- typedef typename aux::string_const_iterator< typename range_value< RangeT >::type::second_type >::type second_iterator;
- second_iterator b = string_begin(it->second), e = string_end(it->second);
- lens.to_len = static_cast< unsigned int >(std::distance(b, e));
- m_decoration_chars.append(b, e);
- }
- m_string_lengths.push_back(lens);
- }
- }
- /*!
- * Initializing constructor. Creates a pattern replacer with decorations specified
- * in form of two same-sized string sequences. Each <tt>i</tt>'th decoration will be
- * <tt>from[i]</tt> -> <tt>to[i]</tt>.
- */
- template< typename FromRangeT, typename ToRangeT >
- pattern_replacer(FromRangeT const& from, ToRangeT const& to)
- {
- typedef typename range_const_iterator< FromRangeT >::type iterator1;
- typedef typename range_const_iterator< ToRangeT >::type iterator2;
- iterator1 it1 = boost::begin(from), end1 = boost::end(from);
- iterator2 it2 = boost::begin(to), end2 = boost::end(to);
- for (; it1 != end1 && it2 != end2; ++it1, ++it2)
- {
- string_lengths lens;
- {
- typedef typename aux::string_const_iterator< typename range_value< FromRangeT >::type >::type from_iterator;
- from_iterator b = string_begin(*it1), e = string_end(*it1);
- lens.from_len = static_cast< unsigned int >(std::distance(b, e));
- m_decoration_chars.append(b, e);
- }
- {
- typedef typename aux::string_const_iterator< typename range_value< ToRangeT >::type >::type to_iterator;
- to_iterator b = string_begin(*it2), e = string_end(*it2);
- lens.to_len = static_cast< unsigned int >(std::distance(b, e));
- m_decoration_chars.append(b, e);
- }
- m_string_lengths.push_back(lens);
- }
-
- // Both sequences should be of the same size
- BOOST_ASSERT(it1 == end1);
- BOOST_ASSERT(it2 == end2);
- }
- //! Copy constructor
- pattern_replacer(pattern_replacer const& that) : m_decoration_chars(that.m_decoration_chars), m_string_lengths(that.m_string_lengths)
- {
- }
-
- //! Applies string replacements starting from the specified position
- result_type operator() (string_type& str, typename string_type::size_type start_pos = 0) const
- {
- typedef typename string_type::size_type size_type;
-
- const char_type* from_chars = m_decoration_chars.c_str();
- for (typename string_lengths_list::const_iterator it = m_string_lengths.begin(), end = m_string_lengths.end(); it != end; ++it)
- {
- const unsigned int from_len = it->from_len, to_len = it->to_len;
- const char_type* const to_chars = from_chars + from_len;
- for (size_type pos = str.find(from_chars, start_pos, from_len); pos != string_type::npos; pos = str.find(from_chars, pos, from_len))
- {
- str.replace(pos, from_len, to_chars, to_len);
- pos += to_len;
- }
- from_chars = to_chars + to_len;
- }
- }
-
-private:
- static char_type* string_begin(char_type* p)
- {
- return p;
- }
- static const char_type* string_begin(const char_type* p)
- {
- return p;
- }
- template< typename RangeT >
- static typename range_const_iterator< RangeT >::type string_begin(RangeT const& r)
- {
- return boost::begin(r);
- }
-
- static char_type* string_end(char_type* p)
- {
- return p + std::char_traits< char_type >::length(p);
- }
- static const char_type* string_end(const char_type* p)
- {
- return p + std::char_traits< char_type >::length(p);
- }
- template< typename RangeT >
- static typename range_const_iterator< RangeT >::type string_end(RangeT const& r)
- {
- return boost::end(r);
- }
-};
-
-namespace aux {
-
-//! Character decorator stream output terminal
-template< typename LeftT, typename SubactorT, typename ImplT >
-class char_decorator_output_terminal
-{
-private:
- //! Self type
- typedef char_decorator_output_terminal< LeftT, SubactorT, ImplT > this_type;
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Implementation type
- typedef ImplT impl_type;
-
- //! Character type
- typedef typename impl_type::char_type char_type;
- //! String type
- typedef typename impl_type::string_type string_type;
- //! Adopted actor type
- typedef SubactorT subactor_type;
-
- //! Result type definition
- template< typename >
- struct result;
-
- template< typename ThisT, typename ContextT >
- struct result< ThisT(ContextT) >
- {
- typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type;
- typedef typename phoenix::evaluator::impl<
- typename LeftT::proto_base_expr&,
- context_type,
- phoenix::unused
- >::result_type type;
- };
-
-private:
- //! Left argument actor
- LeftT m_left;
- //! Adopted formatter actor
- subactor_type m_subactor;
- //! Implementation type
- impl_type m_impl;
-
-public:
- /*!
- * Initializing constructor. Creates decorator of the \a fmt formatter with the specified \a decorations.
- */
- char_decorator_output_terminal(LeftT const& left, subactor_type const& sub, impl_type const& impl) :
- m_left(left), m_subactor(sub), m_impl(impl)
- {
- }
- /*!
- * Copy constructor
- */
- char_decorator_output_terminal(char_decorator_output_terminal const& that) :
- m_left(that.m_left), m_subactor(that.m_subactor), m_impl(that.m_impl)
- {
- }
-
- /*!
- * Invokation operator
- */
- template< typename ContextT >
- typename result< this_type(ContextT const&) >::type operator() (ContextT const& ctx)
- {
- // Flush the stream and keep the current write position in the target string
- typedef typename result< this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- strm.flush();
- typename string_type::size_type const start_pos = strm.rdbuf()->storage()->size();
-
- // Invoke the adopted formatter
- phoenix::eval(m_subactor, ctx);
-
- // Flush the buffered characters and apply decorations
- strm.flush();
- m_impl(*strm.rdbuf()->storage(), start_pos);
- strm.rdbuf()->ensure_max_size();
-
- return strm;
- }
-
- /*!
- * Invokation operator
- */
- template< typename ContextT >
- typename result< const this_type(ContextT const&) >::type operator() (ContextT const& ctx) const
- {
- // Flush the stream and keep the current write position in the target string
- typedef typename result< const this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- strm.flush();
- typename string_type::size_type const start_pos = strm.rdbuf()->storage()->size();
-
- // Invoke the adopted formatter
- phoenix::eval(m_subactor, ctx);
-
- // Flush the buffered characters and apply decorations
- strm.flush();
- m_impl(*strm.rdbuf()->storage(), start_pos);
- strm.rdbuf()->ensure_max_size();
-
- return strm;
- }
-
- BOOST_DELETED_FUNCTION(char_decorator_output_terminal())
-};
-
-} // namespace aux
-
-/*!
- * Character decorator terminal class. This formatter allows to modify strings generated by other
- * formatters on character level. The most obvious application of decorators is replacing
- * a certain set of characters with decorated equivalents to satisfy requirements of
- * text-based sinks.
- *
- * The \c char_decorator_terminal class aggregates the formatter being decorated, and a set
- * of string pairs that are used as decorations. All decorations are applied sequentially.
- * The \c char_decorator_terminal class is a formatter itself, so it can be used to construct
- * more complex formatters, including nesting decorators.
- */
-template< typename SubactorT, typename ImplT >
-class char_decorator_terminal
-{
-private:
- //! Self type
- typedef char_decorator_terminal< SubactorT, ImplT > this_type;
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Implementation type
- typedef ImplT impl_type;
- //! Character type
- typedef typename impl_type::char_type char_type;
- //! String type
- typedef typename impl_type::string_type string_type;
- //! Stream type
- typedef basic_formatting_ostream< char_type > stream_type;
- //! Adopted actor type
- typedef SubactorT subactor_type;
-
- //! Result type definition
- typedef string_type result_type;
-
-private:
- //! Adopted formatter actor
- subactor_type m_subactor;
- //! Implementation
- impl_type m_impl;
-
-public:
- /*!
- * Initializing constructor.
- */
- char_decorator_terminal(subactor_type const& sub, impl_type const& impl) : m_subactor(sub), m_impl(impl)
- {
- }
- /*!
- * Copy constructor
- */
- char_decorator_terminal(char_decorator_terminal const& that) : m_subactor(that.m_subactor), m_impl(that.m_impl)
- {
- }
-
- /*!
- * \returns Adopted subactor
- */
- subactor_type const& get_subactor() const
- {
- return m_subactor;
- }
-
- /*!
- * \returns Implementation
- */
- impl_type const& get_impl() const
- {
- return m_impl;
- }
-
- /*!
- * Invokation operator
- */
- template< typename ContextT >
- result_type operator() (ContextT const& ctx)
- {
- string_type str;
- stream_type strm(str);
-
- // Invoke the adopted formatter
- typedef phoenix::vector3<
- subactor_type*,
- typename fusion::result_of::at_c<
- typename remove_cv<
- typename remove_reference<
- typename phoenix::result_of::env< ContextT const& >::type
- >::type
- >::type::args_type,
- 0
- >::type,
- stream_type&
- > env_type;
- env_type env = { boost::addressof(m_subactor), fusion::at_c< 0 >(phoenix::env(ctx).args()), strm };
- phoenix::eval(m_subactor, phoenix::make_context(env, phoenix::actions(ctx)));
-
- // Flush the buffered characters and apply decorations
- strm.flush();
- m_impl(*strm.rdbuf()->storage());
-
- return BOOST_LOG_NRVO_RESULT(str);
- }
-
- /*!
- * Invokation operator
- */
- template< typename ContextT >
- result_type operator() (ContextT const& ctx) const
- {
- string_type str;
- stream_type strm(str);
-
- // Invoke the adopted formatter
- typedef phoenix::vector3<
- const subactor_type*,
- typename fusion::result_of::at_c<
- typename remove_cv<
- typename remove_reference<
- typename phoenix::result_of::env< ContextT const& >::type
- >::type
- >::type::args_type,
- 0
- >::type,
- stream_type&
- > env_type;
- env_type env = { boost::addressof(m_subactor), fusion::at_c< 0 >(phoenix::env(ctx).args()), strm };
- phoenix::eval(m_subactor, phoenix::make_context(env, phoenix::actions(ctx)));
-
- // Flush the buffered characters and apply decorations
- strm.flush();
- m_impl(*strm.rdbuf()->storage());
-
- return BOOST_LOG_NRVO_RESULT(str);
- }
-
- BOOST_DELETED_FUNCTION(char_decorator_terminal())
-};
-
-/*!
- * Character decorator actor
- */
-template< typename SubactorT, typename ImplT, template< typename > class ActorT = phoenix::actor >
-class char_decorator_actor :
- public ActorT< char_decorator_terminal< SubactorT, ImplT > >
-{
-public:
- //! Base terminal type
- typedef char_decorator_terminal< SubactorT, ImplT > terminal_type;
- //! Character type
- typedef typename terminal_type::char_type char_type;
-
- //! Base actor type
- typedef ActorT< terminal_type > base_type;
-
-public:
- //! Initializing constructor
- explicit char_decorator_actor(base_type const& act) : base_type(act)
- {
- }
-
- //! Returns reference to the terminal
- terminal_type const& get_terminal() const
- {
- return this->proto_expr_.child0;
- }
-};
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\
- template< typename LeftExprT, typename SubactorT, typename ImplT, template< typename > class ActorT >\
- BOOST_FORCEINLINE phoenix::actor< aux::char_decorator_output_terminal< phoenix::actor< LeftExprT >, SubactorT, ImplT > >\
- operator<< (phoenix::actor< LeftExprT > left_ref left, char_decorator_actor< SubactorT, ImplT, ActorT > right_ref right)\
- {\
- typedef aux::char_decorator_output_terminal< phoenix::actor< LeftExprT >, SubactorT, ImplT > terminal_type;\
- phoenix::actor< terminal_type > actor = {{ terminal_type(left, right.get_terminal().get_subactor(), right.get_terminal().get_impl()) }};\
- return actor;\
- }
-
-#include <boost/log/detail/generate_overloads.hpp>
-
-#undef BOOST_LOG_AUX_OVERLOAD
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-namespace aux {
-
-template< typename RangeT >
-class char_decorator_gen1
-{
- RangeT const& m_decorations;
-
- typedef typename boost::log::aux::deduce_char_type< typename range_value< RangeT >::type::first_type >::type char_type;
-
-public:
- explicit char_decorator_gen1(RangeT const& decorations) : m_decorations(decorations)
- {
- }
-
- template< typename SubactorT >
- BOOST_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const
- {
- typedef pattern_replacer< char_type > replacer_type;
- typedef char_decorator_actor< SubactorT, replacer_type > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(subactor, replacer_type(m_decorations)) }};
- return result_type(act);
- }
-};
-
-template< typename FromRangeT, typename ToRangeT >
-class char_decorator_gen2
-{
- FromRangeT const& m_from;
- ToRangeT const& m_to;
-
- typedef typename boost::log::aux::deduce_char_type< typename range_value< FromRangeT >::type >::type from_char_type;
- typedef typename boost::log::aux::deduce_char_type< typename range_value< ToRangeT >::type >::type to_char_type;
- BOOST_STATIC_ASSERT_MSG((is_same< from_char_type, to_char_type >::value), "Boost.Log: character decorator cannot be instantiated with different character types for source and replacement strings");
-
-public:
- char_decorator_gen2(FromRangeT const& from, ToRangeT const& to) : m_from(from), m_to(to)
- {
- }
-
- template< typename SubactorT >
- BOOST_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< from_char_type > > operator[] (SubactorT const& subactor) const
- {
- typedef pattern_replacer< from_char_type > replacer_type;
- typedef char_decorator_actor< SubactorT, replacer_type > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(subactor, replacer_type(m_from, m_to)) }};
- return result_type(act);
- }
-};
-
-} // namespace aux
-
-/*!
- * The function returns a decorator generator object. The generator provides <tt>operator[]</tt> that can be used
- * to construct the actual decorator.
- *
- * \param decorations A sequence of string pairs that will be used as decorations. Every <tt>decorations[i].first</tt>
- * substring occurrence in the output will be replaced with <tt>decorations[i].second</tt>.
- */
-template< typename RangeT >
-BOOST_FORCEINLINE aux::char_decorator_gen1< RangeT > char_decor(RangeT const& decorations)
-{
- return aux::char_decorator_gen1< RangeT >(decorations);
-}
-
-/*!
- * The function returns a decorator generator object. The generator provides <tt>operator[]</tt> that can be used
- * to construct the actual decorator.
- *
- * \param from A sequence of strings that will be sought in the output.
- * \param to A sequence of strings that will be used as replacements.
- *
- * \note The \a from and \a to sequences mush be of the same size. Every <tt>from[i]</tt>
- * substring occurrence in the output will be replaced with <tt>to[i]</tt>.
- */
-template< typename FromRangeT, typename ToRangeT >
-BOOST_FORCEINLINE aux::char_decorator_gen2< FromRangeT, ToRangeT > char_decor(FromRangeT const& from, ToRangeT const& to)
-{
- return aux::char_decorator_gen2< FromRangeT, ToRangeT >(from, to);
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-namespace result_of {
-
-template< typename SubactorT, typename ImplT >
-struct is_nullary< custom_terminal< boost::log::expressions::char_decorator_terminal< SubactorT, ImplT > > > :
- public mpl::false_
-{
-};
-
-template< typename LeftT, typename SubactorT, typename ImplT >
-struct is_nullary< custom_terminal< boost::log::expressions::aux::char_decorator_output_terminal< LeftT, SubactorT, ImplT > > > :
- public mpl::false_
-{
-};
-
-} // namespace result_of
-
-} // namespace phoenix
-
-#endif
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_CHAR_DECORATOR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters/csv_decorator.hpp b/contrib/restricted/boost/boost/log/expressions/formatters/csv_decorator.hpp
deleted file mode 100644
index a4c1c28399..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters/csv_decorator.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatters/csv_decorator.hpp
- * \author Andrey Semashev
- * \date 18.11.2012
- *
- * The header contains implementation of a CSV-style character decorator.
- * See: http://en.wikipedia.org/wiki/Comma-separated_values
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_CSV_DECORATOR_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_CSV_DECORATOR_HPP_INCLUDED_
-
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/expressions/formatters/char_decorator.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-template< typename >
-struct csv_decorator_traits;
-
-#ifdef BOOST_LOG_USE_CHAR
-template< >
-struct csv_decorator_traits< char >
-{
- static boost::iterator_range< const char* const* > get_patterns()
- {
- static const char* const patterns[] =
- {
- "\""
- };
- return boost::make_iterator_range(patterns);
- }
- static boost::iterator_range< const char* const* > get_replacements()
- {
- static const char* const replacements[] =
- {
- "\"\""
- };
- return boost::make_iterator_range(replacements);
- }
-};
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-template< >
-struct csv_decorator_traits< wchar_t >
-{
- static boost::iterator_range< const wchar_t* const* > get_patterns()
- {
- static const wchar_t* const patterns[] =
- {
- L"\""
- };
- return boost::make_iterator_range(patterns);
- }
- static boost::iterator_range< const wchar_t* const* > get_replacements()
- {
- static const wchar_t* const replacements[] =
- {
- L"\"\""
- };
- return boost::make_iterator_range(replacements);
- }
-};
-#endif // BOOST_LOG_USE_WCHAR_T
-
-template< typename CharT >
-struct csv_decorator_gen
-{
- typedef CharT char_type;
-
- template< typename SubactorT >
- BOOST_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const
- {
- typedef csv_decorator_traits< char_type > traits_type;
- typedef pattern_replacer< char_type > replacer_type;
- typedef char_decorator_actor< SubactorT, replacer_type > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(subactor, replacer_type(traits_type::get_patterns(), traits_type::get_replacements())) }};
- return result_type(act);
- }
-};
-
-} // namespace aux
-
-/*!
- * CSV-style decorator generator object. The decorator doubles double quotes that may be found
- * in the output. See http://en.wikipedia.org/wiki/Comma-separated_values for more information on
- * the CSV format. The generator provides <tt>operator[]</tt> that can be used to construct
- * the actual decorator. For example:
- *
- * <code>
- * csv_decor[ stream << attr< std::string >("MyAttr") ]
- * </code>
- *
- * For wide-character formatting there is the similar \c wcsv_decor decorator generator object.
- */
-#ifdef BOOST_LOG_USE_CHAR
-const aux::csv_decorator_gen< char > csv_decor = {};
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-const aux::csv_decorator_gen< wchar_t > wcsv_decor = {};
-#endif
-
-/*!
- * The function creates an CSV-style decorator generator for arbitrary character type.
- */
-template< typename CharT >
-BOOST_FORCEINLINE aux::csv_decorator_gen< CharT > make_csv_decor()
-{
- return aux::csv_decorator_gen< CharT >();
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_CSV_DECORATOR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters/date_time.hpp b/contrib/restricted/boost/boost/log/expressions/formatters/date_time.hpp
deleted file mode 100644
index b8de0b4cb7..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters/date_time.hpp
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatters/date_time.hpp
- * \author Andrey Semashev
- * \date 16.09.2012
- *
- * The header contains a formatter function for date and time attribute values.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_DATE_TIME_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_DATE_TIME_HPP_INCLUDED_
-
-#include <string>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/fusion/sequence/intrinsic/at_c.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/detail/date_time_fmt_gen_traits_fwd.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/detail/attr_output_terminal.hpp>
-#include <boost/log/expressions/attr_fwd.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/utility/functional/bind.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * Date and time formatter terminal.
- */
-template< typename T, typename FallbackPolicyT, typename CharT >
-class format_date_time_terminal
-{
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Attribute value type
- typedef T value_type;
- //! Fallback policy
- typedef FallbackPolicyT fallback_policy;
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Formatting stream type
- typedef basic_formatting_ostream< char_type > stream_type;
-
- //! Formatter function
- typedef boost::log::aux::light_function< void (stream_type&, value_type const&) > formatter_function_type;
-
- //! Function result type
- typedef string_type result_type;
-
-private:
- //! Formatter generator traits
- typedef aux::date_time_formatter_generator_traits< value_type, char_type > formatter_generator;
- //! Attribute value visitor invoker
- typedef value_visitor_invoker< value_type, fallback_policy > visitor_invoker_type;
-
-private:
- //! Attribute name
- attribute_name m_name;
- //! Formattr function
- formatter_function_type m_formatter;
- //! Attribute value visitor invoker
- visitor_invoker_type m_visitor_invoker;
-
-public:
- //! Initializing constructor
- format_date_time_terminal(attribute_name const& name, fallback_policy const& fallback, string_type const& format) :
- m_name(name), m_formatter(formatter_generator::parse(format)), m_visitor_invoker(fallback)
- {
- }
- //! Copy constructor
- format_date_time_terminal(format_date_time_terminal const& that) :
- m_name(that.m_name), m_formatter(that.m_formatter), m_visitor_invoker(that.m_visitor_invoker)
- {
- }
-
- //! Returns attribute name
- attribute_name get_name() const
- {
- return m_name;
- }
-
- //! Returns fallback policy
- fallback_policy const& get_fallback_policy() const
- {
- return m_visitor_invoker.get_fallback_policy();
- }
-
- //! Retruns formatter function
- formatter_function_type const& get_formatter_function() const
- {
- return m_formatter;
- }
-
- //! Invokation operator
- template< typename ContextT >
- result_type operator() (ContextT const& ctx)
- {
- string_type str;
- stream_type strm(str);
- m_visitor_invoker(m_name, fusion::at_c< 0 >(phoenix::env(ctx).args()), binder1st< formatter_function_type&, stream_type& >(m_formatter, strm));
- strm.flush();
- return BOOST_LOG_NRVO_RESULT(str);
- }
-
- //! Invokation operator
- template< typename ContextT >
- result_type operator() (ContextT const& ctx) const
- {
- string_type str;
- stream_type strm(str);
- m_visitor_invoker(m_name, fusion::at_c< 0 >(phoenix::env(ctx).args()), binder1st< formatter_function_type const&, stream_type& >(m_formatter, strm));
- strm.flush();
- return BOOST_LOG_NRVO_RESULT(str);
- }
-
- BOOST_DELETED_FUNCTION(format_date_time_terminal())
-};
-
-/*!
- * Date and time formatter actor.
- */
-template< typename T, typename FallbackPolicyT, typename CharT, template< typename > class ActorT = phoenix::actor >
-class format_date_time_actor :
- public ActorT< format_date_time_terminal< T, FallbackPolicyT, CharT > >
-{
-public:
- //! Attribute value type
- typedef T value_type;
- //! Character type
- typedef CharT char_type;
- //! Fallback policy
- typedef FallbackPolicyT fallback_policy;
- //! Base terminal type
- typedef format_date_time_terminal< value_type, fallback_policy, char_type > terminal_type;
- //! Formatter function
- typedef typename terminal_type::formatter_function_type formatter_function_type;
-
- //! Base actor type
- typedef ActorT< terminal_type > base_type;
-
-public:
- //! Initializing constructor
- explicit format_date_time_actor(base_type const& act) : base_type(act)
- {
- }
-
- /*!
- * \returns The attribute name
- */
- attribute_name get_name() const
- {
- return this->proto_expr_.child0.get_name();
- }
-
- /*!
- * \returns Fallback policy
- */
- fallback_policy const& get_fallback_policy() const
- {
- return this->proto_expr_.child0.get_fallback_policy();
- }
-
- /*!
- * \returns Formatter function
- */
- formatter_function_type const& get_formatter_function() const
- {
- return this->proto_expr_.child0.get_formatter_function();
- }
-};
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\
- template< typename LeftExprT, typename T, typename FallbackPolicyT, typename CharT >\
- BOOST_FORCEINLINE phoenix::actor< aux::attribute_output_terminal< phoenix::actor< LeftExprT >, T, FallbackPolicyT, typename format_date_time_actor< T, FallbackPolicyT, CharT >::formatter_function_type > >\
- operator<< (phoenix::actor< LeftExprT > left_ref left, format_date_time_actor< T, FallbackPolicyT, CharT > right_ref right)\
- {\
- typedef aux::attribute_output_terminal< phoenix::actor< LeftExprT >, T, FallbackPolicyT, typename format_date_time_actor< T, FallbackPolicyT, CharT >::formatter_function_type > terminal_type;\
- phoenix::actor< terminal_type > actor = {{ terminal_type(left, right.get_name(), right.get_formatter_function(), right.get_fallback_policy()) }};\
- return actor;\
- }
-
-#include <boost/log/detail/generate_overloads.hpp>
-
-#undef BOOST_LOG_AUX_OVERLOAD
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param name Attribute name
- * \param format Format string
- */
-template< typename AttributeValueT, typename CharT >
-BOOST_FORCEINLINE format_date_time_actor< AttributeValueT, fallback_to_none, CharT > format_date_time(attribute_name const& name, const CharT* format)
-{
- typedef format_date_time_actor< AttributeValueT, fallback_to_none, CharT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(name, fallback_to_none(), format) }};
- return actor_type(act);
-}
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param name Attribute name
- * \param format Format string
- */
-template< typename AttributeValueT, typename CharT >
-BOOST_FORCEINLINE format_date_time_actor< AttributeValueT, fallback_to_none, CharT > format_date_time(attribute_name const& name, std::basic_string< CharT > const& format)
-{
- typedef format_date_time_actor< AttributeValueT, fallback_to_none, CharT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(name, fallback_to_none(), format) }};
- return actor_type(act);
-}
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param keyword Attribute keyword
- * \param format Format string
- */
-template< typename DescriptorT, template< typename > class ActorT, typename CharT >
-BOOST_FORCEINLINE format_date_time_actor< typename DescriptorT::value_type, fallback_to_none, CharT, ActorT >
-format_date_time(attribute_keyword< DescriptorT, ActorT > const& keyword, const CharT* format)
-{
- typedef format_date_time_actor< typename DescriptorT::value_type, fallback_to_none, CharT, ActorT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(keyword.get_name(), fallback_to_none(), format) }};
- return actor_type(act);
-}
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param keyword Attribute keyword
- * \param format Format string
- */
-template< typename DescriptorT, template< typename > class ActorT, typename CharT >
-BOOST_FORCEINLINE format_date_time_actor< typename DescriptorT::value_type, fallback_to_none, CharT, ActorT >
-format_date_time(attribute_keyword< DescriptorT, ActorT > const& keyword, std::basic_string< CharT > const& format)
-{
- typedef format_date_time_actor< typename DescriptorT::value_type, fallback_to_none, CharT, ActorT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(keyword.get_name(), fallback_to_none(), format) }};
- return actor_type(act);
-}
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param placeholder Attribute placeholder
- * \param format Format string
- */
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename CharT >
-BOOST_FORCEINLINE format_date_time_actor< T, FallbackPolicyT, CharT, ActorT >
-format_date_time(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& placeholder, const CharT* format)
-{
- typedef format_date_time_actor< T, FallbackPolicyT, CharT, ActorT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(placeholder.get_name(), placeholder.get_fallback_policy(), format) }};
- return actor_type(act);
-}
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param placeholder Attribute placeholder
- * \param format Format string
- */
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename CharT >
-BOOST_FORCEINLINE format_date_time_actor< T, FallbackPolicyT, CharT, ActorT >
-format_date_time(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& placeholder, std::basic_string< CharT > const& format)
-{
- typedef format_date_time_actor< T, FallbackPolicyT, CharT, ActorT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(placeholder.get_name(), placeholder.get_fallback_policy(), format) }};
- return actor_type(act);
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-namespace result_of {
-
-template< typename T, typename FallbackPolicyT, typename CharT >
-struct is_nullary< custom_terminal< boost::log::expressions::format_date_time_terminal< T, FallbackPolicyT, CharT > > > :
- public mpl::false_
-{
-};
-
-} // namespace result_of
-
-} // namespace phoenix
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_DATE_TIME_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters/format.hpp b/contrib/restricted/boost/boost/log/expressions/formatters/format.hpp
deleted file mode 100644
index d312d8e36d..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters/format.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatters/format.hpp
- * \author Andrey Semashev
- * \date 15.11.2012
- *
- * The header contains a generic log record formatter function.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_FORMAT_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_FORMAT_HPP_INCLUDED_
-
-#include <string>
-#include <boost/mpl/bool.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/fusion/sequence/intrinsic/at_c.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/format.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * \brief Template expressions terminal node with Boost.Format-like formatter
- */
-template< typename CharT >
-class format_terminal
-{
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Character type
- typedef CharT char_type;
- //! Boost.Format formatter type
- typedef boost::log::aux::basic_format< char_type > format_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
-
- //! Terminal result type
- typedef typename format_type::pump result_type;
-
-private:
- //! Formatter object
- mutable format_type m_format;
-
-public:
- //! Initializing constructor
- explicit format_terminal(const char_type* format) : m_format(format) {}
-
- //! Invokation operator
- template< typename ContextT >
- result_type operator() (ContextT const& ctx) const
- {
- return m_format.make_pump(fusion::at_c< 1 >(phoenix::env(ctx).args()));
- }
-
- BOOST_DELETED_FUNCTION(format_terminal())
-};
-
-/*!
- * The function generates a terminal node in a template expression. The node will perform log record formatting
- * according to the provided format string.
- */
-template< typename CharT >
-BOOST_FORCEINLINE phoenix::actor< format_terminal< CharT > > format(const CharT* fmt)
-{
- typedef format_terminal< CharT > terminal_type;
- phoenix::actor< terminal_type > act = {{ terminal_type(fmt) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will perform log record formatting
- * according to the provided format string.
- */
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_FORCEINLINE phoenix::actor< format_terminal< CharT > > format(std::basic_string< CharT, TraitsT, AllocatorT > const& fmt)
-{
- typedef format_terminal< CharT > terminal_type;
- phoenix::actor< terminal_type > act = {{ terminal_type(fmt.c_str()) }};
- return act;
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-namespace result_of {
-
-template< typename CharT >
-struct is_nullary< custom_terminal< boost::log::expressions::format_terminal< CharT > > > :
- public mpl::false_
-{
-};
-
-} // namespace result_of
-
-} // namespace phoenix
-
-#endif
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_FORMAT_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters/if.hpp b/contrib/restricted/boost/boost/log/expressions/formatters/if.hpp
deleted file mode 100644
index 3e1e1abc5a..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters/if.hpp
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatters/if.hpp
- * \author Andrey Semashev
- * \date 17.11.2012
- *
- * The header contains implementation of a conditional formatter.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_IF_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_IF_HPP_INCLUDED_
-
-#include <boost/mpl/bool.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/fusion/sequence/intrinsic/at_c.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-template< typename LeftT, typename CondT, typename ThenT >
-class if_output_terminal
-{
-private:
- //! Self type
- typedef if_output_terminal this_type;
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Result type definition
- template< typename >
- struct result;
-
- template< typename ThisT, typename ContextT >
- struct result< ThisT(ContextT) >
- {
- typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type;
- typedef typename phoenix::evaluator::impl<
- typename LeftT::proto_base_expr&,
- context_type,
- phoenix::unused
- >::result_type type;
- };
-
-private:
- //! Left argument actor
- LeftT m_left;
- //! Condition expression
- CondT m_cond;
- //! Positive branch
- ThenT m_then;
-
-public:
- //! Initializing constructor
- if_output_terminal(LeftT const& left, CondT const& cond, ThenT const& then_) : m_left(left), m_cond(cond), m_then(then_)
- {
- }
-
- //! Invokation operator
- template< typename ContextT >
- typename result< this_type(ContextT const&) >::type operator() (ContextT const& ctx)
- {
- typedef typename result< this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- if (phoenix::eval(m_cond, ctx))
- phoenix::eval(m_then, ctx);
- return strm;
- }
-
- //! Invokation operator
- template< typename ContextT >
- typename result< const this_type(ContextT const&) >::type operator() (ContextT const& ctx) const
- {
- typedef typename result< const this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- if (phoenix::eval(m_cond, ctx))
- phoenix::eval(m_then, ctx);
- return strm;
- }
-
- BOOST_DELETED_FUNCTION(if_output_terminal())
-};
-
-template< typename LeftT, typename CondT, typename ThenT, typename ElseT >
-class if_else_output_terminal
-{
-private:
- //! Self type
- typedef if_else_output_terminal this_type;
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Result type definition
- template< typename >
- struct result;
-
- template< typename ThisT, typename ContextT >
- struct result< ThisT(ContextT) >
- {
- typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type;
- typedef typename phoenix::evaluator::impl<
- typename LeftT::proto_base_expr&,
- context_type,
- phoenix::unused
- >::result_type type;
- };
-
-private:
- //! Left argument actor
- LeftT m_left;
- //! Condition expression
- CondT m_cond;
- //! Positive branch
- ThenT m_then;
- //! Negative branch
- ElseT m_else;
-
-public:
- //! Initializing constructor
- if_else_output_terminal(LeftT const& left, CondT const& cond, ThenT const& then_, ElseT const& else_) : m_left(left), m_cond(cond), m_then(then_), m_else(else_)
- {
- }
-
- //! Invokation operator
- template< typename ContextT >
- typename result< this_type(ContextT const&) >::type operator() (ContextT const& ctx)
- {
- typedef typename result< this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- if (phoenix::eval(m_cond, ctx))
- phoenix::eval(m_then, ctx);
- else
- phoenix::eval(m_else, ctx);
- return strm;
- }
-
- //! Invokation operator
- template< typename ContextT >
- typename result< const this_type(ContextT const&) >::type operator() (ContextT const& ctx) const
- {
- typedef typename result< const this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- if (phoenix::eval(m_cond, ctx))
- phoenix::eval(m_then, ctx);
- else
- phoenix::eval(m_else, ctx);
- return strm;
- }
-
- BOOST_DELETED_FUNCTION(if_else_output_terminal())
-};
-
-
-template< typename CondT, typename ThenT, typename ElseT >
-struct if_then_else_gen
-{
- CondT m_cond;
- ThenT m_then;
- ElseT m_else;
-
- if_then_else_gen(CondT const& cond, ThenT const& then_, ElseT const& else_) : m_cond(cond), m_then(then_), m_else(else_)
- {
- }
-};
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\
- template< typename LeftExprT, typename CondT, typename ThenT, typename ElseT >\
- BOOST_FORCEINLINE phoenix::actor< if_else_output_terminal< phoenix::actor< LeftExprT >, CondT, ThenT, ElseT > >\
- operator<< (phoenix::actor< LeftExprT > left_ref left, if_then_else_gen< CondT, ThenT, ElseT > right_ref right)\
- {\
- typedef if_else_output_terminal< phoenix::actor< LeftExprT >, CondT, ThenT, ElseT > terminal_type;\
- phoenix::actor< terminal_type > actor = {{ terminal_type(left, right.m_cond, right.m_then, right.m_else) }};\
- return actor;\
- }
-
-#include <boost/log/detail/generate_overloads.hpp>
-
-#undef BOOST_LOG_AUX_OVERLOAD
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-template< typename CondT, typename ThenT >
-struct if_then_gen
-{
- struct else_gen
- {
- CondT m_cond;
- ThenT m_then;
-
- else_gen(CondT const& cond, ThenT const& then_) : m_cond(cond), m_then(then_)
- {
- }
-
- template< typename ElseT >
- BOOST_FORCEINLINE if_then_else_gen< CondT, ThenT, ElseT > operator[] (ElseT const& el)
- {
- return if_then_else_gen< CondT, ThenT, ElseT >(m_cond, m_then, el);
- }
- }
- else_;
-
- if_then_gen(CondT const& cond, ThenT const& then_) : else_(cond, then_) {}
-};
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\
- template< typename LeftExprT, typename CondT, typename ThenT >\
- BOOST_FORCEINLINE phoenix::actor< if_output_terminal< phoenix::actor< LeftExprT >, CondT, ThenT > >\
- operator<< (phoenix::actor< LeftExprT > left_ref left, if_then_gen< CondT, ThenT > right_ref right)\
- {\
- typedef if_output_terminal< phoenix::actor< LeftExprT >, CondT, ThenT > terminal_type;\
- phoenix::actor< terminal_type > actor = {{ terminal_type(left, right.else_.m_cond, right.else_.m_then) }};\
- return actor;\
- }
-
-#include <boost/log/detail/generate_overloads.hpp>
-
-#undef BOOST_LOG_AUX_OVERLOAD
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-template< typename CondT >
-class if_gen
-{
-private:
- CondT const& m_cond;
-
-public:
- explicit if_gen(CondT const& cond) : m_cond(cond)
- {
- }
-
- template< typename ThenT >
- BOOST_FORCEINLINE if_then_gen< CondT, ThenT > operator[] (ThenT const& then_) const
- {
- return if_then_gen< CondT, ThenT >(m_cond, then_);
- }
-};
-
-} // namespace aux
-
-/*!
- * The function returns a conditional formatter generator object. The generator provides <tt>operator[]</tt> that can be used
- * to construct the actual formatter. The formatter must participate in a streaming expression.
- *
- * \param cond A filter expression that will be used as the condition
- */
-template< typename CondT >
-BOOST_FORCEINLINE aux::if_gen< CondT > if_(CondT const& cond)
-{
- return aux::if_gen< CondT >(cond);
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-namespace result_of {
-
-template< typename LeftT, typename CondT, typename ThenT >
-struct is_nullary< custom_terminal< boost::log::expressions::aux::if_output_terminal< LeftT, CondT, ThenT > > > :
- public mpl::false_
-{
-};
-
-template< typename LeftT, typename CondT, typename ThenT, typename ElseT >
-struct is_nullary< custom_terminal< boost::log::expressions::aux::if_else_output_terminal< LeftT, CondT, ThenT, ElseT > > > :
- public mpl::false_
-{
-};
-
-} // namespace result_of
-
-} // namespace phoenix
-
-#endif
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_IF_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters/max_size_decorator.hpp b/contrib/restricted/boost/boost/log/expressions/formatters/max_size_decorator.hpp
deleted file mode 100644
index 0ab44d6fa4..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters/max_size_decorator.hpp
+++ /dev/null
@@ -1,561 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file formatters/max_size_decorator.hpp
- * \author Andrey Semashev
- * \date 06.07.2016
- *
- * The header contains implementation of a string length limiting decorator.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_MAX_SIZE_DECORATOR_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_MAX_SIZE_DECORATOR_HPP_INCLUDED_
-
-#include <cstddef>
-#include <string>
-#include <boost/assert.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/core/addressof.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/phoenix/support/vector.hpp>
-#include <boost/fusion/sequence/intrinsic/at_c.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-//! String size limiting decorator stream output terminal
-template< typename LeftT, typename SubactorT, typename CharT >
-class max_size_decorator_output_terminal
-{
-private:
- //! Self type
- typedef max_size_decorator_output_terminal< LeftT, SubactorT, CharT > this_type;
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! String size type
- typedef std::size_t size_type;
- //! Adopted actor type
- typedef SubactorT subactor_type;
-
- //! Result type definition
- template< typename >
- struct result;
-
- template< typename ThisT, typename ContextT >
- struct result< ThisT(ContextT) >
- {
- typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type;
- typedef typename phoenix::evaluator::impl<
- typename LeftT::proto_base_expr&,
- context_type,
- phoenix::unused
- >::result_type type;
- };
-
-private:
- //! Left argument actor
- LeftT m_left;
- //! Adopted formatter actor
- subactor_type m_subactor;
- //! Max size of the formatted string produced by the adopted formatter
- size_type m_max_size;
- //! Overflow marker
- string_type m_overflow_marker;
-
-public:
- /*!
- * Initializing constructor. Creates decorator of the \a fmt formatter with the specified \a decorations.
- */
- max_size_decorator_output_terminal(LeftT const& left, subactor_type const& sub, size_type max_size, string_type const& overflow_marker = string_type()) :
- m_left(left), m_subactor(sub), m_max_size(max_size), m_overflow_marker(overflow_marker)
- {
- BOOST_ASSERT(overflow_marker.size() <= max_size);
- }
- /*!
- * Copy constructor
- */
- max_size_decorator_output_terminal(max_size_decorator_output_terminal const& that) :
- m_left(that.m_left), m_subactor(that.m_subactor), m_max_size(that.m_max_size), m_overflow_marker(that.m_overflow_marker)
- {
- }
-
- /*!
- * Invokation operator
- */
- template< typename ContextT >
- typename result< this_type(ContextT const&) >::type operator() (ContextT const& ctx)
- {
- // Flush the stream and keep the current write position in the target string
- typedef typename result< this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- strm.flush();
-
- if (!strm.rdbuf()->storage_overflow())
- {
- const size_type old_max_size = strm.rdbuf()->max_size();
- const size_type start_pos = strm.rdbuf()->storage()->size(), max_size_left = strm.rdbuf()->storage()->max_size() - start_pos;
- strm.rdbuf()->max_size(start_pos + (m_max_size <= max_size_left ? m_max_size : max_size_left));
-
- try
- {
- // Invoke the adopted formatter
- phoenix::eval(m_subactor, ctx);
-
- // Flush the buffered characters and apply decorations
- strm.flush();
-
- if (strm.rdbuf()->storage_overflow())
- {
- if (!m_overflow_marker.empty())
- {
- // Free up space for the overflow marker
- strm.rdbuf()->max_size(strm.rdbuf()->max_size() - m_overflow_marker.size());
-
- // Append the marker
- strm.rdbuf()->max_size(strm.rdbuf()->storage()->max_size());
- strm.rdbuf()->storage_overflow(false);
- strm.rdbuf()->append(m_overflow_marker.data(), m_overflow_marker.size());
- }
- else
- {
- strm.rdbuf()->storage_overflow(false);
- }
- }
-
- // Restore the original size limit
- strm.rdbuf()->max_size(old_max_size);
- }
- catch (...)
- {
- strm.rdbuf()->storage_overflow(false);
- strm.rdbuf()->max_size(old_max_size);
- throw;
- }
- }
-
- return strm;
- }
-
- /*!
- * Invokation operator
- */
- template< typename ContextT >
- typename result< const this_type(ContextT const&) >::type operator() (ContextT const& ctx) const
- {
- // Flush the stream and keep the current write position in the target string
- typedef typename result< const this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- strm.flush();
-
- if (!strm.rdbuf()->storage_overflow())
- {
- const size_type old_max_size = strm.rdbuf()->max_size();
- const size_type start_pos = strm.rdbuf()->storage()->size(), max_size_left = strm.rdbuf()->storage()->max_size() - start_pos;
- strm.rdbuf()->max_size(start_pos + (m_max_size <= max_size_left ? m_max_size : max_size_left));
-
- try
- {
- // Invoke the adopted formatter
- phoenix::eval(m_subactor, ctx);
-
- // Flush the buffered characters and apply decorations
- strm.flush();
-
- if (strm.rdbuf()->storage_overflow())
- {
- if (!m_overflow_marker.empty())
- {
- // Free up space for the overflow marker
- strm.rdbuf()->max_size(strm.rdbuf()->max_size() - m_overflow_marker.size());
-
- // Append the marker
- strm.rdbuf()->max_size(strm.rdbuf()->storage()->max_size());
- strm.rdbuf()->storage_overflow(false);
- strm.rdbuf()->append(m_overflow_marker.data(), m_overflow_marker.size());
- }
- else
- {
- strm.rdbuf()->storage_overflow(false);
- }
- }
-
- // Restore the original size limit
- strm.rdbuf()->max_size(old_max_size);
- }
- catch (...)
- {
- strm.rdbuf()->storage_overflow(false);
- strm.rdbuf()->max_size(old_max_size);
- throw;
- }
- }
-
- return strm;
- }
-
- BOOST_DELETED_FUNCTION(max_size_decorator_output_terminal())
-};
-
-} // namespace aux
-
-/*!
- * String size limiting decorator terminal class. This formatter allows to limit the maximum total length
- * of the strings generated by other formatters.
- *
- * The \c max_size_decorator_terminal class aggregates the formatter being decorated, the maximum string length
- * it can produce and an optional truncation marker string, which will be put at the end of the output if the limit is exceeded. Note that
- * the marker length is included in the limit and as such must not exceed it.
- * The \c max_size_decorator_terminal class is a formatter itself, so it can be used to construct
- * more complex formatters, including nesting decorators.
- */
-template< typename SubactorT, typename CharT >
-class max_size_decorator_terminal
-{
-private:
- //! Self type
- typedef max_size_decorator_terminal< SubactorT, CharT > this_type;
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! String size type
- typedef std::size_t size_type;
- //! Stream type
- typedef basic_formatting_ostream< char_type > stream_type;
- //! Adopted actor type
- typedef SubactorT subactor_type;
-
- //! Result type definition
- typedef string_type result_type;
-
-private:
- //! Adopted formatter actor
- subactor_type m_subactor;
- //! Max size of the formatted string produced by the adopted formatter
- size_type m_max_size;
- //! Overflow marker
- string_type m_overflow_marker;
-
-public:
- /*!
- * Initializing constructor.
- */
- max_size_decorator_terminal(subactor_type const& sub, size_type max_size, string_type const& overflow_marker = string_type()) :
- m_subactor(sub), m_max_size(max_size), m_overflow_marker(overflow_marker)
- {
- BOOST_ASSERT(overflow_marker.size() <= max_size);
- }
- /*!
- * Copy constructor
- */
- max_size_decorator_terminal(max_size_decorator_terminal const& that) :
- m_subactor(that.m_subactor), m_max_size(that.m_max_size), m_overflow_marker(that.m_overflow_marker)
- {
- }
-
- /*!
- * \returns Adopted subactor
- */
- subactor_type const& get_subactor() const
- {
- return m_subactor;
- }
-
- /*!
- * \returns Max string size limit
- */
- size_type get_max_size() const
- {
- return m_max_size;
- }
-
- /*!
- * \returns Max string size limit
- */
- string_type const& get_overflow_marker() const
- {
- return m_overflow_marker;
- }
-
- /*!
- * Invokation operator
- */
- template< typename ContextT >
- result_type operator() (ContextT const& ctx)
- {
- string_type str;
- stream_type strm(str);
- strm.rdbuf()->max_size(m_max_size);
-
- // Invoke the adopted formatter
- typedef phoenix::vector3<
- subactor_type*,
- typename fusion::result_of::at_c<
- typename remove_cv<
- typename remove_reference<
- typename phoenix::result_of::env< ContextT const& >::type
- >::type
- >::type::args_type,
- 0
- >::type,
- stream_type&
- > env_type;
- env_type env = { boost::addressof(m_subactor), fusion::at_c< 0 >(phoenix::env(ctx).args()), strm };
- phoenix::eval(m_subactor, phoenix::make_context(env, phoenix::actions(ctx)));
-
- // Flush the buffered characters and see of overflow happened
- strm.flush();
-
- if (strm.rdbuf()->storage_overflow() && !m_overflow_marker.empty())
- {
- strm.rdbuf()->max_size(strm.rdbuf()->max_size() - m_overflow_marker.size());
- strm.rdbuf()->max_size(str.max_size());
- strm.rdbuf()->storage_overflow(false);
- strm.rdbuf()->append(m_overflow_marker.data(), m_overflow_marker.size());
- strm.flush();
- }
-
- return BOOST_LOG_NRVO_RESULT(str);
- }
-
- /*!
- * Invokation operator
- */
- template< typename ContextT >
- result_type operator() (ContextT const& ctx) const
- {
- string_type str;
- stream_type strm(str);
- strm.rdbuf()->max_size(m_max_size);
-
- // Invoke the adopted formatter
- typedef phoenix::vector3<
- const subactor_type*,
- typename fusion::result_of::at_c<
- typename remove_cv<
- typename remove_reference<
- typename phoenix::result_of::env< ContextT const& >::type
- >::type
- >::type::args_type,
- 0
- >::type,
- stream_type&
- > env_type;
- env_type env = { boost::addressof(m_subactor), fusion::at_c< 0 >(phoenix::env(ctx).args()), strm };
- phoenix::eval(m_subactor, phoenix::make_context(env, phoenix::actions(ctx)));
-
- // Flush the buffered characters and see of overflow happened
- strm.flush();
-
- if (strm.rdbuf()->storage_overflow())
- {
- strm.rdbuf()->max_size(strm.rdbuf()->max_size() - m_overflow_marker.size());
- strm.rdbuf()->max_size(str.max_size());
- strm.rdbuf()->storage_overflow(false);
- strm.rdbuf()->append(m_overflow_marker.data(), m_overflow_marker.size());
- strm.flush();
- }
-
- return BOOST_LOG_NRVO_RESULT(str);
- }
-
- BOOST_DELETED_FUNCTION(max_size_decorator_terminal())
-};
-
-/*!
- * Character decorator actor
- */
-template< typename SubactorT, typename CharT, template< typename > class ActorT = phoenix::actor >
-class max_size_decorator_actor :
- public ActorT< max_size_decorator_terminal< SubactorT, CharT > >
-{
-public:
- //! Base terminal type
- typedef max_size_decorator_terminal< SubactorT, CharT > terminal_type;
- //! Character type
- typedef typename terminal_type::char_type char_type;
-
- //! Base actor type
- typedef ActorT< terminal_type > base_type;
-
-public:
- //! Initializing constructor
- explicit max_size_decorator_actor(base_type const& act) : base_type(act)
- {
- }
-
- //! Returns reference to the terminal
- terminal_type const& get_terminal() const
- {
- return this->proto_expr_.child0;
- }
-};
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\
- template< typename LeftExprT, typename SubactorT, typename CharT, template< typename > class ActorT >\
- BOOST_FORCEINLINE phoenix::actor< aux::max_size_decorator_output_terminal< phoenix::actor< LeftExprT >, SubactorT, CharT > >\
- operator<< (phoenix::actor< LeftExprT > left_ref left, max_size_decorator_actor< SubactorT, CharT, ActorT > right_ref right)\
- {\
- typedef aux::max_size_decorator_output_terminal< phoenix::actor< LeftExprT >, SubactorT, CharT > terminal_type;\
- phoenix::actor< terminal_type > actor = {{ terminal_type(left, right.get_terminal().get_subactor(), right.get_terminal().get_max_size(), right.get_terminal().get_overflow_marker()) }};\
- return actor;\
- }
-
-#include <boost/log/detail/generate_overloads.hpp>
-
-#undef BOOST_LOG_AUX_OVERLOAD
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-namespace aux {
-
-template< typename CharT >
-class max_size_decorator_gen
-{
-private:
- typedef CharT char_type;
- typedef std::basic_string< char_type > string_type;
- typedef std::size_t size_type;
-
-private:
- size_type m_max_size;
- string_type m_overflow_marker;
-
-public:
- explicit max_size_decorator_gen(size_type max_size, string_type const& overflow_marker = string_type()) :
- m_max_size(max_size), m_overflow_marker(overflow_marker)
- {
- BOOST_ASSERT(overflow_marker.size() <= max_size);
- }
-
- template< typename SubactorT >
- BOOST_FORCEINLINE max_size_decorator_actor< SubactorT, char_type > operator[] (SubactorT const& subactor) const
- {
- typedef max_size_decorator_actor< SubactorT, char_type > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(subactor, m_max_size, m_overflow_marker) }};
- return result_type(act);
- }
-};
-
-} // namespace aux
-
-/*!
- * The function returns a decorator generator object. The generator provides <tt>operator[]</tt> that can be used
- * to construct the actual decorator.
- *
- * \param max_size The maximum number of characters (i.e. string element objects) that the decorated formatter can produce.
- */
-template< typename CharT >
-BOOST_FORCEINLINE aux::max_size_decorator_gen< CharT > max_size_decor(std::size_t max_size)
-{
- return aux::max_size_decorator_gen< CharT >(max_size);
-}
-
-/*!
- * The function returns a decorator generator object. The generator provides <tt>operator[]</tt> that can be used
- * to construct the actual decorator.
- *
- * \param max_size The maximum number of characters (i.e. string element objects) that the decorated formatter can produce.
- * \param overflow_marker The marker string which is appended to the output if the \a max_size limit is exceeded. Must be
- * a non-null pointer to a zero-terminated string.
- *
- * \pre The \a overflow_marker length must not exceed the \a max_size limit.
- */
-template< typename CharT >
-BOOST_FORCEINLINE aux::max_size_decorator_gen< CharT > max_size_decor(std::size_t max_size, const CharT* overflow_marker)
-{
- return aux::max_size_decorator_gen< CharT >(max_size, overflow_marker);
-}
-
-/*!
- * The function returns a decorator generator object. The generator provides <tt>operator[]</tt> that can be used
- * to construct the actual decorator.
- *
- * \param max_size The maximum number of characters (i.e. string element objects) that the decorated formatter can produce.
- * \param overflow_marker The marker string which is appended to the output if the \a max_size limit is exceeded.
- *
- * \pre The \a overflow_marker length must not exceed the \a max_size limit.
- */
-template< typename CharT >
-BOOST_FORCEINLINE aux::max_size_decorator_gen< CharT > max_size_decor(std::size_t max_size, std::basic_string< CharT > const& overflow_marker)
-{
- return aux::max_size_decorator_gen< CharT >(max_size, overflow_marker);
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-namespace result_of {
-
-template< typename SubactorT, typename CharT >
-struct is_nullary< custom_terminal< boost::log::expressions::max_size_decorator_terminal< SubactorT, CharT > > > :
- public mpl::false_
-{
-};
-
-template< typename LeftT, typename SubactorT, typename CharT >
-struct is_nullary< custom_terminal< boost::log::expressions::aux::max_size_decorator_output_terminal< LeftT, SubactorT, CharT > > > :
- public mpl::false_
-{
-};
-
-} // namespace result_of
-
-} // namespace phoenix
-
-#endif
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_MAX_SIZE_DECORATOR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters/named_scope.hpp b/contrib/restricted/boost/boost/log/expressions/formatters/named_scope.hpp
deleted file mode 100644
index ae140b1956..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters/named_scope.hpp
+++ /dev/null
@@ -1,655 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatters/named_scope.hpp
- * \author Andrey Semashev
- * \date 11.11.2012
- *
- * The header contains a formatter function for named scope attribute values.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_NAMED_SCOPE_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_NAMED_SCOPE_HPP_INCLUDED_
-
-#include <string>
-#include <iterator>
-#include <utility>
-#include <boost/static_assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/parameter/binding.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/fusion/sequence/intrinsic/at_c.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/attributes/named_scope.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/detail/deduce_char_type.hpp>
-#include <boost/log/detail/attr_output_terminal.hpp>
-#include <boost/log/expressions/attr_fwd.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/utility/string_literal_fwd.hpp>
-#include <boost/log/utility/functional/bind.hpp>
-#include <boost/log/keywords/format.hpp>
-#include <boost/log/keywords/delimiter.hpp>
-#include <boost/log/keywords/depth.hpp>
-#include <boost/log/keywords/iteration.hpp>
-#include <boost/log/keywords/empty_marker.hpp>
-#include <boost/log/keywords/incomplete_marker.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-//! Scope iteration directions
-enum scope_iteration_direction
-{
- forward, //!< Iterate through scopes from outermost to innermost
- reverse //!< Iterate through scopes from innermost to outermost
-};
-
-namespace aux {
-
-#ifdef BOOST_LOG_USE_CHAR
-//! Parses the named scope format string and constructs the formatter function
-BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< char >&, attributes::named_scope::value_type::value_type const&) >
-parse_named_scope_format(const char* begin, const char* end);
-#endif
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-//! Parses the named scope format string and constructs the formatter function
-BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< wchar_t >&, attributes::named_scope::value_type::value_type const&) >
-parse_named_scope_format(const wchar_t* begin, const wchar_t* end);
-#endif
-
-//! Parses the named scope format string and constructs the formatter function
-template< typename CharT >
-inline boost::log::aux::light_function< void (basic_formatting_ostream< CharT >&, attributes::named_scope::value_type::value_type const&) >
-parse_named_scope_format(const CharT* format)
-{
- return parse_named_scope_format(format, format + std::char_traits< CharT >::length(format));
-}
-
-//! Parses the named scope format string and constructs the formatter function
-template< typename CharT, typename TraitsT, typename AllocatorT >
-inline boost::log::aux::light_function< void (basic_formatting_ostream< CharT >&, attributes::named_scope::value_type::value_type const&) >
-parse_named_scope_format(std::basic_string< CharT, TraitsT, AllocatorT > const& format)
-{
- const CharT* p = format.c_str();
- return parse_named_scope_format(p, p + format.size());
-}
-
-//! Parses the named scope format string and constructs the formatter function
-template< typename CharT, typename TraitsT >
-inline boost::log::aux::light_function< void (basic_formatting_ostream< CharT >&, attributes::named_scope::value_type::value_type const&) >
-parse_named_scope_format(basic_string_literal< CharT, TraitsT > const& format)
-{
- const CharT* p = format.c_str();
- return parse_named_scope_format(p, p + format.size());
-}
-
-template< typename CharT >
-class format_named_scope_impl
-{
-public:
- //! Function result type
- typedef void result_type;
-
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Formatting stream type
- typedef basic_formatting_ostream< char_type > stream_type;
- //! Attribute value type
- typedef attributes::named_scope::value_type value_type;
- //! Named scope formatter
- typedef boost::log::aux::light_function< void (stream_type&, value_type::value_type const&) > element_formatter_type;
-
-private:
- //! Element formatting function
- element_formatter_type m_element_formatter;
- //! Element delimiter
- string_type m_delimiter;
- //! Incomplete list marker
- string_type m_incomplete_marker;
- //! Empty list marker
- string_type m_empty_marker;
- //! Maximum number of elements to output
- value_type::size_type m_depth;
- //! Iteration direction
- scope_iteration_direction m_direction;
-
-public:
- //! Initializing constructor
- format_named_scope_impl
- (
- element_formatter_type const& element_formatter,
- string_type const& delimiter,
- string_type const& incomplete_marker,
- string_type const& empty_marker,
- value_type::size_type depth,
- scope_iteration_direction direction
- ) :
- m_element_formatter(element_formatter),
- m_delimiter(delimiter),
- m_incomplete_marker(incomplete_marker),
- m_empty_marker(empty_marker),
- m_depth(depth),
- m_direction(direction)
- {
- }
- //! Copy constructor
- format_named_scope_impl(format_named_scope_impl const& that) :
- m_element_formatter(that.m_element_formatter),
- m_delimiter(that.m_delimiter),
- m_incomplete_marker(that.m_incomplete_marker),
- m_empty_marker(that.m_empty_marker),
- m_depth(that.m_depth),
- m_direction(that.m_direction)
- {
- }
-
- //! Formatting operator
- result_type operator() (stream_type& strm, value_type const& scopes) const
- {
- if (!scopes.empty())
- {
- if (m_direction == expressions::forward)
- format_forward(strm, scopes);
- else
- format_reverse(strm, scopes);
- }
- else
- {
- strm << m_empty_marker;
- }
- }
-
-private:
- //! The function performs formatting of the extracted scope stack in forward direction
- void format_forward(stream_type& strm, value_type const& scopes) const
- {
- value_type::const_iterator it, end = scopes.end();
- if (m_depth > 0)
- {
- value_type::size_type const scopes_to_iterate = (std::min)(m_depth, scopes.size());
- it = scopes.end();
- std::advance(it, -static_cast< value_type::difference_type >(scopes_to_iterate));
- }
- else
- {
- it = scopes.begin();
- }
-
- if (it != end)
- {
- if (it != scopes.begin())
- strm << m_incomplete_marker;
-
- m_element_formatter(strm, *it);
- for (++it; it != end; ++it)
- {
- strm << m_delimiter;
- m_element_formatter(strm, *it);
- }
- }
- }
- //! The function performs formatting of the extracted scope stack in reverse direction
- void format_reverse(stream_type& strm, value_type const& scopes) const
- {
- value_type::const_reverse_iterator it = scopes.rbegin(), end;
- if (m_depth > 0)
- {
- value_type::size_type const scopes_to_iterate = (std::min)(m_depth, scopes.size());
- end = it;
- std::advance(end, static_cast< value_type::difference_type >(scopes_to_iterate));
- }
- else
- {
- end = scopes.rend();
- }
-
- if (it != end)
- {
- m_element_formatter(strm, *it);
- for (++it; it != end; ++it)
- {
- strm << m_delimiter;
- m_element_formatter(strm, *it);
- }
-
- if (it != scopes.rend())
- strm << m_incomplete_marker;
- }
- }
-};
-
-} // namespace aux
-
-/*!
- * Named scope formatter terminal.
- */
-template< typename FallbackPolicyT, typename CharT >
-class format_named_scope_terminal
-{
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Attribute value type
- typedef attributes::named_scope::value_type value_type;
- //! Fallback policy
- typedef FallbackPolicyT fallback_policy;
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Formatting stream type
- typedef basic_formatting_ostream< char_type > stream_type;
- //! Formatter function
- typedef aux::format_named_scope_impl< char_type > formatter_function_type;
-
- //! Function result type
- typedef string_type result_type;
-
-private:
- //! Attribute value visitor invoker
- typedef value_visitor_invoker< value_type, fallback_policy > visitor_invoker_type;
-
-private:
- //! Attribute name
- attribute_name m_name;
- //! Formatter function
- formatter_function_type m_formatter;
- //! Attribute value visitor invoker
- visitor_invoker_type m_visitor_invoker;
-
-public:
- //! Initializing constructor
- template< typename FormatT >
- format_named_scope_terminal
- (
- attribute_name const& name,
- fallback_policy const& fallback,
- FormatT const& element_format,
- string_type const& delimiter,
- string_type const& incomplete_marker,
- string_type const& empty_marker,
- value_type::size_type depth,
- scope_iteration_direction direction
- ) :
- m_name(name), m_formatter(aux::parse_named_scope_format(element_format), delimiter, incomplete_marker, empty_marker, depth, direction), m_visitor_invoker(fallback)
- {
- }
- //! Copy constructor
- format_named_scope_terminal(format_named_scope_terminal const& that) :
- m_name(that.m_name), m_formatter(that.m_formatter), m_visitor_invoker(that.m_visitor_invoker)
- {
- }
-
- //! Returns attribute name
- attribute_name get_name() const
- {
- return m_name;
- }
-
- //! Returns fallback policy
- fallback_policy const& get_fallback_policy() const
- {
- return m_visitor_invoker.get_fallback_policy();
- }
-
- //! Retruns formatter function
- formatter_function_type const& get_formatter_function() const
- {
- return m_formatter;
- }
-
- //! Invokation operator
- template< typename ContextT >
- result_type operator() (ContextT const& ctx)
- {
- string_type str;
- stream_type strm(str);
- m_visitor_invoker(m_name, fusion::at_c< 0 >(phoenix::env(ctx).args()), binder1st< formatter_function_type&, stream_type& >(m_formatter, strm));
- strm.flush();
- return BOOST_LOG_NRVO_RESULT(str);
- }
-
- //! Invokation operator
- template< typename ContextT >
- result_type operator() (ContextT const& ctx) const
- {
- string_type str;
- stream_type strm(str);
- m_visitor_invoker(m_name, fusion::at_c< 0 >(phoenix::env(ctx).args()), binder1st< formatter_function_type const&, stream_type& >(m_formatter, strm));
- strm.flush();
- return BOOST_LOG_NRVO_RESULT(str);
- }
-
- BOOST_DELETED_FUNCTION(format_named_scope_terminal())
-};
-
-/*!
- * Named scope formatter actor.
- */
-template< typename FallbackPolicyT, typename CharT, template< typename > class ActorT = phoenix::actor >
-class format_named_scope_actor :
- public ActorT< format_named_scope_terminal< FallbackPolicyT, CharT > >
-{
-public:
- //! Character type
- typedef CharT char_type;
- //! Fallback policy
- typedef FallbackPolicyT fallback_policy;
- //! Base terminal type
- typedef format_named_scope_terminal< fallback_policy, char_type > terminal_type;
- //! Attribute value type
- typedef typename terminal_type::value_type value_type;
- //! Formatter function
- typedef typename terminal_type::formatter_function_type formatter_function_type;
-
- //! Base actor type
- typedef ActorT< terminal_type > base_type;
-
-public:
- //! Initializing constructor
- explicit format_named_scope_actor(base_type const& act) : base_type(act)
- {
- }
-
- /*!
- * \returns The attribute name
- */
- attribute_name get_name() const
- {
- return this->proto_expr_.child0.get_name();
- }
-
- /*!
- * \returns Fallback policy
- */
- fallback_policy const& get_fallback_policy() const
- {
- return this->proto_expr_.child0.get_fallback_policy();
- }
-
- /*!
- * \returns Formatter function
- */
- formatter_function_type const& get_formatter_function() const
- {
- return this->proto_expr_.child0.get_formatter_function();
- }
-};
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\
- template< typename LeftExprT, typename FallbackPolicyT, typename CharT >\
- BOOST_FORCEINLINE phoenix::actor< aux::attribute_output_terminal< phoenix::actor< LeftExprT >, attributes::named_scope::value_type, FallbackPolicyT, typename format_named_scope_actor< FallbackPolicyT, CharT >::formatter_function_type > >\
- operator<< (phoenix::actor< LeftExprT > left_ref left, format_named_scope_actor< FallbackPolicyT, CharT > right_ref right)\
- {\
- typedef aux::attribute_output_terminal< phoenix::actor< LeftExprT >, attributes::named_scope::value_type, FallbackPolicyT, typename format_named_scope_actor< FallbackPolicyT, CharT >::formatter_function_type > terminal_type;\
- phoenix::actor< terminal_type > actor = {{ terminal_type(left, right.get_name(), right.get_formatter_function(), right.get_fallback_policy()) }};\
- return actor;\
- }
-
-#include <boost/log/detail/generate_overloads.hpp>
-
-#undef BOOST_LOG_AUX_OVERLOAD
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-namespace aux {
-
-//! Auxiliary traits to acquire default formatter parameters depending on the character type
-template< typename CharT >
-struct default_named_scope_params;
-
-#ifdef BOOST_LOG_USE_CHAR
-template< >
-struct default_named_scope_params< char >
-{
- static const char* forward_delimiter() { return "->"; }
- static const char* reverse_delimiter() { return "<-"; }
- static const char* incomplete_marker() { return "..."; }
- static const char* empty_marker() { return ""; }
-};
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-template< >
-struct default_named_scope_params< wchar_t >
-{
- static const wchar_t* forward_delimiter() { return L"->"; }
- static const wchar_t* reverse_delimiter() { return L"<-"; }
- static const wchar_t* incomplete_marker() { return L"..."; }
- static const wchar_t* empty_marker() { return L""; }
-};
-#endif
-
-template< typename CharT, template< typename > class ActorT, typename FallbackPolicyT, typename ArgsT >
-BOOST_FORCEINLINE format_named_scope_actor< FallbackPolicyT, CharT, ActorT > format_named_scope(attribute_name const& name, FallbackPolicyT const& fallback, ArgsT const& args)
-{
- typedef format_named_scope_actor< FallbackPolicyT, CharT, ActorT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typedef default_named_scope_params< CharT > default_params;
- scope_iteration_direction dir = args[keywords::iteration | expressions::forward];
- const CharT* default_delimiter = (dir == expressions::forward ? default_params::forward_delimiter() : default_params::reverse_delimiter());
- typename actor_type::base_type act =
- {{
- terminal_type
- (
- name,
- fallback,
- args[keywords::format],
- args[keywords::delimiter | default_delimiter],
- args[keywords::incomplete_marker | default_params::incomplete_marker()],
- args[keywords::empty_marker | default_params::empty_marker()],
- args[keywords::depth | static_cast< attributes::named_scope::value_type::size_type >(0)],
- dir
- )
- }};
- return actor_type(act);
-}
-
-} // namespace aux
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param name Attribute name
- * \param element_format Format string for a single named scope
- */
-template< typename CharT >
-BOOST_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT > format_named_scope(attribute_name const& name, const CharT* element_format)
-{
- typedef format_named_scope_actor< fallback_to_none, CharT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(name, fallback_to_none(), element_format) }};
- return actor_type(act);
-}
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param name Attribute name
- * \param element_format Format string for a single named scope
- */
-template< typename CharT >
-BOOST_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT > format_named_scope(attribute_name const& name, std::basic_string< CharT > const& element_format)
-{
- typedef format_named_scope_actor< fallback_to_none, CharT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(name, fallback_to_none(), element_format) }};
- return actor_type(act);
-}
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param keyword Attribute keyword
- * \param element_format Format string for a single named scope
- */
-template< typename DescriptorT, template< typename > class ActorT, typename CharT >
-BOOST_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT, ActorT >
-format_named_scope(attribute_keyword< DescriptorT, ActorT > const& keyword, const CharT* element_format)
-{
- BOOST_STATIC_ASSERT_MSG((is_same< typename DescriptorT::value_type, attributes::named_scope::value_type >::value),\
- "Boost.Log: Named scope formatter only accepts attribute values of type attributes::named_scope::value_type.");
-
- typedef format_named_scope_actor< fallback_to_none, CharT, ActorT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(keyword.get_name(), fallback_to_none(), element_format) }};
- return actor_type(act);
-}
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param keyword Attribute keyword
- * \param element_format Format string for a single named scope
- */
-template< typename DescriptorT, template< typename > class ActorT, typename CharT >
-BOOST_FORCEINLINE format_named_scope_actor< fallback_to_none, CharT, ActorT >
-format_named_scope(attribute_keyword< DescriptorT, ActorT > const& keyword, std::basic_string< CharT > const& element_format)
-{
- BOOST_STATIC_ASSERT_MSG((is_same< typename DescriptorT::value_type, attributes::named_scope::value_type >::value),\
- "Boost.Log: Named scope formatter only accepts attribute values of type attributes::named_scope::value_type.");
-
- typedef format_named_scope_actor< fallback_to_none, CharT, ActorT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(keyword.get_name(), fallback_to_none(), element_format) }};
- return actor_type(act);
-}
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param placeholder Attribute placeholder
- * \param element_format Format string for a single named scope
- */
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename CharT >
-BOOST_FORCEINLINE format_named_scope_actor< FallbackPolicyT, CharT, ActorT >
-format_named_scope(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& placeholder, const CharT* element_format)
-{
- BOOST_STATIC_ASSERT_MSG((is_same< T, attributes::named_scope::value_type >::value),\
- "Boost.Log: Named scope formatter only accepts attribute values of type attributes::named_scope::value_type.");
-
- typedef format_named_scope_actor< FallbackPolicyT, CharT, ActorT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(placeholder.get_name(), placeholder.get_fallback_policy(), element_format) }};
- return actor_type(act);
-}
-
-/*!
- * The function generates a manipulator node in a template expression. The manipulator must participate in a formatting
- * expression (stream output or \c format placeholder filler).
- *
- * \param placeholder Attribute placeholder
- * \param element_format Format string for a single named scope
- */
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename CharT >
-BOOST_FORCEINLINE format_named_scope_actor< FallbackPolicyT, CharT, ActorT >
-format_named_scope(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& placeholder, std::basic_string< CharT > const& element_format)
-{
- BOOST_STATIC_ASSERT_MSG((is_same< T, attributes::named_scope::value_type >::value),\
- "Boost.Log: Named scope formatter only accepts attribute values of type attributes::named_scope::value_type.");
-
- typedef format_named_scope_actor< FallbackPolicyT, CharT, ActorT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(placeholder.get_name(), placeholder.get_fallback_policy(), element_format) }};
- return actor_type(act);
-}
-
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
-
-# define BOOST_PP_FILENAME_1 <boost/log/detail/named_scope_fmt_pp.hpp>
-# define BOOST_PP_ITERATION_LIMITS (1, 6)
-# include BOOST_PP_ITERATE()
-
-#else // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * Formatter generator. Construct the named scope formatter with the specified formatting parameters.
- *
- * \param name Attribute name
- * \param args An set of named parameters. Supported parameters:
- * \li \c format - A format string for named scopes. The string can contain "%n", "%f" and "%l" placeholders for the scope name, file and line number, respectively. This parameter is mandatory.
- * \li \c delimiter - A string that is used to delimit the formatted scope names. Default: "->" or "<-", depending on the iteration direction.
- * \li \c incomplete_marker - A string that is used to indicate that the list was printed incomplete because of depth limitation. Default: "...".
- * \li \c empty_marker - A string that is output in case if the scope list is empty. Default: "", i.e. nothing is output.
- * \li \c iteration - Iteration direction, see \c scope_iteration_direction enumeration. Default: forward.
- * \li \c depth - Iteration depth. Default: unlimited.
- */
-template< typename... ArgsT >
-unspecified format_named_scope(attribute_name const& name, ArgsT... const& args);
-
-/*! \overload */
-template< typename DescriptorT, template< typename > class ActorT, typename... ArgsT >
-unspecified format_named_scope(attribute_keyword< DescriptorT, ActorT > const& keyword, ArgsT... const& args);
-
-/*! \overload */
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename... ArgsT >
-unspecified format_named_scope(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& placeholder, ArgsT... const& args);
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-namespace result_of {
-
-template< typename FallbackPolicyT, typename CharT >
-struct is_nullary< custom_terminal< boost::log::expressions::format_named_scope_terminal< FallbackPolicyT, CharT > > > :
- public mpl::false_
-{
-};
-
-} // namespace result_of
-
-} // namespace phoenix
-
-#endif
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_NAMED_SCOPE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters/stream.hpp b/contrib/restricted/boost/boost/log/expressions/formatters/stream.hpp
deleted file mode 100644
index 638ccbd2c8..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters/stream.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file stream.hpp
- * \author Andrey Semashev
- * \date 24.07.2012
- *
- * The header contains implementation of a stream placeholder in template expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_STREAM_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_STREAM_HPP_INCLUDED_
-
-#include <boost/phoenix/core/argument.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * Stream placeholder type in formatter template expressions.
- */
-typedef phoenix::expression::argument< 2 >::type stream_type;
-
-/*!
- * Stream placeholder in formatter template expressions.
- */
-const stream_type stream = {};
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-#if defined(BOOST_LOG_EXPRESSIONS_ATTR_HPP_INCLUDED_)
-#include <boost/log/detail/attr_output_impl.hpp>
-#endif
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_STREAM_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters/wrap_formatter.hpp b/contrib/restricted/boost/boost/log/expressions/formatters/wrap_formatter.hpp
deleted file mode 100644
index 29c19c2f80..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters/wrap_formatter.hpp
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatters/wrap_formatter.hpp
- * \author Andrey Semashev
- * \date 24.11.2012
- *
- * The header contains a formatter function wrapper that enables third-party functions to participate in formatting expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_WRAP_FORMATTER_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_WRAP_FORMATTER_HPP_INCLUDED_
-
-#include <string>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/fusion/sequence/intrinsic/at_c.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/detail/function_traits.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-//! Wrapped formatter stream output terminal
-template< typename LeftT, typename FunT >
-class wrapped_formatter_output_terminal
-{
-private:
- //! Self type
- typedef wrapped_formatter_output_terminal< LeftT, FunT > this_type;
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Wrapped function type
- typedef FunT function_type;
-
- //! Result type definition
- template< typename >
- struct result;
-
- template< typename ThisT, typename ContextT >
- struct result< ThisT(ContextT) >
- {
- typedef typename remove_cv< typename remove_reference< ContextT >::type >::type context_type;
- typedef typename phoenix::evaluator::impl<
- typename LeftT::proto_base_expr&,
- context_type,
- phoenix::unused
- >::result_type type;
- };
-
-private:
- //! Left argument actor
- LeftT m_left;
- //! Wrapped function
- function_type m_fun;
-
-public:
- //! Initializing constructor
- wrapped_formatter_output_terminal(LeftT const& left, function_type const& fun) : m_left(left), m_fun(fun)
- {
- }
- //! Copy constructor
- wrapped_formatter_output_terminal(wrapped_formatter_output_terminal const& that) : m_left(that.m_left), m_fun(that.m_fun)
- {
- }
-
- //! Invokation operator
- template< typename ContextT >
- typename result< this_type(ContextT const&) >::type operator() (ContextT const& ctx)
- {
- typedef typename result< this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- m_fun(fusion::at_c< 0 >(phoenix::env(ctx).args()), strm);
- return strm;
- }
-
- //! Invokation operator
- template< typename ContextT >
- typename result< const this_type(ContextT const&) >::type operator() (ContextT const& ctx) const
- {
- typedef typename result< const this_type(ContextT const&) >::type result_type;
- result_type strm = phoenix::eval(m_left, ctx);
- m_fun(fusion::at_c< 0 >(phoenix::env(ctx).args()), strm);
- return strm;
- }
-
- BOOST_DELETED_FUNCTION(wrapped_formatter_output_terminal())
-};
-
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_char_type, char_type, false)
-
-template<
- typename FunT,
- bool HasCharTypeV = has_char_type< FunT >::value,
- bool HasSecondArgumentV = boost::log::aux::has_second_argument_type< FunT >::value,
- bool HasArg2V = boost::log::aux::has_arg2_type< FunT >::value
->
-struct default_char_type
-{
- // Use this char type if all detection fails
- typedef char type;
-};
-
-template< typename FunT, bool HasSecondArgumentV, bool HasArg2V >
-struct default_char_type< FunT, true, HasSecondArgumentV, HasArg2V >
-{
- typedef typename FunT::char_type type;
-};
-
-template< typename FunT, bool HasArg2V >
-struct default_char_type< FunT, false, true, HasArg2V >
-{
- typedef typename remove_cv< typename remove_reference< typename FunT::second_argument_type >::type >::type argument_type;
- typedef typename argument_type::char_type type;
-};
-
-template< typename FunT >
-struct default_char_type< FunT, false, false, true >
-{
- typedef typename remove_cv< typename remove_reference< typename FunT::arg2_type >::type >::type argument_type;
- typedef typename argument_type::char_type type;
-};
-
-} // namespace aux
-
-/*!
- * Formatter function wrapper terminal.
- */
-template< typename FunT, typename CharT >
-class wrapped_formatter_terminal
-{
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Formatting stream type
- typedef basic_formatting_ostream< char_type > stream_type;
- //! Wrapped function type
- typedef FunT function_type;
-
- //! Formatter result type
- typedef string_type result_type;
-
-private:
- //! Wrapped function
- function_type m_fun;
-
-public:
- //! Initializing construction
- explicit wrapped_formatter_terminal(function_type const& fun) : m_fun(fun)
- {
- }
- //! Copy constructor
- wrapped_formatter_terminal(wrapped_formatter_terminal const& that) : m_fun(that.m_fun)
- {
- }
-
- //! Returns the wrapped function
- function_type const& get_function() const
- {
- return m_fun;
- }
-
- //! Invokation operator
- template< typename ContextT >
- result_type operator() (ContextT const& ctx)
- {
- string_type str;
- stream_type strm(str);
- m_fun(fusion::at_c< 0 >(phoenix::env(ctx).args()), strm);
- strm.flush();
- return BOOST_LOG_NRVO_RESULT(str);
- }
-
- //! Invokation operator
- template< typename ContextT >
- result_type operator() (ContextT const& ctx) const
- {
- string_type str;
- stream_type strm(str);
- m_fun(fusion::at_c< 0 >(phoenix::env(ctx).args()), strm);
- strm.flush();
- return BOOST_LOG_NRVO_RESULT(str);
- }
-};
-
-/*!
- * Wrapped formatter function actor.
- */
-template< typename FunT, typename CharT, template< typename > class ActorT = phoenix::actor >
-class wrapped_formatter_actor :
- public ActorT< wrapped_formatter_terminal< FunT, CharT > >
-{
-public:
- //! Character type
- typedef CharT char_type;
- //! Wrapped function type
- typedef FunT function_type;
- //! Base terminal type
- typedef wrapped_formatter_terminal< function_type, char_type > terminal_type;
-
- //! Base actor type
- typedef ActorT< terminal_type > base_type;
-
-public:
- //! Initializing constructor
- explicit wrapped_formatter_actor(base_type const& act) : base_type(act)
- {
- }
-
- /*!
- * \returns The wrapped function
- */
- function_type const& get_function() const
- {
- return this->proto_expr_.child0.get_function();
- }
-};
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_AUX_OVERLOAD(left_ref, right_ref)\
- template< typename LeftExprT, typename FunT, typename CharT >\
- BOOST_FORCEINLINE phoenix::actor< aux::wrapped_formatter_output_terminal< phoenix::actor< LeftExprT >, FunT > >\
- operator<< (phoenix::actor< LeftExprT > left_ref left, wrapped_formatter_actor< FunT, CharT > right_ref right)\
- {\
- typedef aux::wrapped_formatter_output_terminal< phoenix::actor< LeftExprT >, FunT > terminal_type;\
- phoenix::actor< terminal_type > actor = {{ terminal_type(left, right.get_function()) }};\
- return actor;\
- }
-
-#include <boost/log/detail/generate_overloads.hpp>
-
-#undef BOOST_LOG_AUX_OVERLOAD
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * The function wraps a function object in order it to be able to participate in formatting expressions. The wrapped
- * function object must be compatible with the following signature:
- *
- * <pre>
- * void (record_view const&, basic_formatting_ostream< CharT >&)
- * </pre>
- *
- * where \c CharT is the character type of the formatting expression.
- */
-template< typename FunT >
-BOOST_FORCEINLINE wrapped_formatter_actor< FunT, typename aux::default_char_type< FunT >::type > wrap_formatter(FunT const& fun)
-{
- typedef wrapped_formatter_actor< FunT, typename aux::default_char_type< FunT >::type > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(fun) }};
- return actor_type(act);
-}
-
-/*!
- * The function wraps a function object in order it to be able to participate in formatting expressions. The wrapped
- * function object must be compatible with the following signature:
- *
- * <pre>
- * void (record_view const&, basic_formatting_ostream< CharT >&)
- * </pre>
- *
- * where \c CharT is the character type of the formatting expression.
- */
-template< typename CharT, typename FunT >
-BOOST_FORCEINLINE wrapped_formatter_actor< FunT, CharT > wrap_formatter(FunT const& fun)
-{
- typedef wrapped_formatter_actor< FunT, CharT > actor_type;
- typedef typename actor_type::terminal_type terminal_type;
- typename actor_type::base_type act = {{ terminal_type(fun) }};
- return actor_type(act);
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-namespace result_of {
-
-template< typename LeftT, typename FunT >
-struct is_nullary< custom_terminal< boost::log::expressions::aux::wrapped_formatter_output_terminal< LeftT, FunT > > > :
- public mpl::false_
-{
-};
-
-template< typename FunT, typename CharT >
-struct is_nullary< custom_terminal< boost::log::expressions::wrapped_formatter_terminal< FunT, CharT > > > :
- public mpl::false_
-{
-};
-
-} // namespace result_of
-
-} // namespace phoenix
-
-#endif
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_WRAP_FORMATTER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/formatters/xml_decorator.hpp b/contrib/restricted/boost/boost/log/expressions/formatters/xml_decorator.hpp
deleted file mode 100644
index ca93a7d58a..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/formatters/xml_decorator.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatters/xml_decorator.hpp
- * \author Andrey Semashev
- * \date 18.11.2012
- *
- * The header contains implementation of a XML-style character decorator.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_FORMATTERS_XML_DECORATOR_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_FORMATTERS_XML_DECORATOR_HPP_INCLUDED_
-
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/expressions/formatters/char_decorator.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-template< typename >
-struct xml_decorator_traits;
-
-#ifdef BOOST_LOG_USE_CHAR
-template< >
-struct xml_decorator_traits< char >
-{
- static boost::iterator_range< const char* const* > get_patterns()
- {
- static const char* const patterns[] =
- {
- "&", "<", ">", "\"", "'"
- };
- return boost::make_iterator_range(patterns);
- }
- static boost::iterator_range< const char* const* > get_replacements()
- {
- static const char* const replacements[] =
- {
- "&amp;", "&lt;", "&gt;", "&quot;", "&apos;"
- };
- return boost::make_iterator_range(replacements);
- }
-};
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-template< >
-struct xml_decorator_traits< wchar_t >
-{
- static boost::iterator_range< const wchar_t* const* > get_patterns()
- {
- static const wchar_t* const patterns[] =
- {
- L"&", L"<", L">", L"\"", L"'"
- };
- return boost::make_iterator_range(patterns);
- }
- static boost::iterator_range< const wchar_t* const* > get_replacements()
- {
- static const wchar_t* const replacements[] =
- {
- L"&amp;", L"&lt;", L"&gt;", L"&quot;", L"&apos;"
- };
- return boost::make_iterator_range(replacements);
- }
-};
-#endif // BOOST_LOG_USE_WCHAR_T
-
-template< typename CharT >
-struct xml_decorator_gen
-{
- typedef CharT char_type;
-
- template< typename SubactorT >
- BOOST_FORCEINLINE char_decorator_actor< SubactorT, pattern_replacer< char_type > > operator[] (SubactorT const& subactor) const
- {
- typedef xml_decorator_traits< char_type > traits_type;
- typedef pattern_replacer< char_type > replacer_type;
- typedef char_decorator_actor< SubactorT, replacer_type > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(subactor, replacer_type(traits_type::get_patterns(), traits_type::get_replacements())) }};
- return result_type(act);
- }
-};
-
-} // namespace aux
-
-/*!
- * XML-style decorator generator object. The decorator replaces characters that have special meaning
- * in XML documents with the corresponding decorated counterparts. The generator provides
- * <tt>operator[]</tt> that can be used to construct the actual decorator. For example:
- *
- * <code>
- * xml_decor[ stream << attr< std::string >("MyAttr") ]
- * </code>
- *
- * For wide-character formatting there is the similar \c wxml_decor decorator generator object.
- */
-#ifdef BOOST_LOG_USE_CHAR
-const aux::xml_decorator_gen< char > xml_decor = {};
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-const aux::xml_decorator_gen< wchar_t > wxml_decor = {};
-#endif
-
-/*!
- * The function creates an XML-style decorator generator for arbitrary character type.
- */
-template< typename CharT >
-BOOST_FORCEINLINE aux::xml_decorator_gen< CharT > make_xml_decor()
-{
- return aux::xml_decorator_gen< CharT >();
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_FORMATTERS_XML_DECORATOR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/is_keyword_descriptor.hpp b/contrib/restricted/boost/boost/log/expressions/is_keyword_descriptor.hpp
deleted file mode 100644
index 6809f562a8..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/is_keyword_descriptor.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file is_keyword_descriptor.hpp
- * \author Andrey Semashev
- * \date 14.07.2012
- *
- * The header contains attribute keyword descriptor detection trait.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_IS_KEYWORD_DESCRIPTOR_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_IS_KEYWORD_DESCRIPTOR_HPP_INCLUDED_
-
-#include <boost/mpl/bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * Base class for keyword descriptors. All keyword descriptors must derive from this class to support the \c is_keyword_descriptor trait.
- */
-struct keyword_descriptor
-{
-#ifndef BOOST_LOG_DOXYGEN_PASS
- typedef void _is_boost_log_keyword_descriptor;
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-/*!
- * The metafunction detects if the type \c T is a keyword descriptor
- */
-template< typename T, typename VoidT = void >
-struct is_keyword_descriptor :
- public mpl::false_
-{
-};
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-template< typename T >
-struct is_keyword_descriptor< T, typename T::_is_boost_log_keyword_descriptor > :
- public mpl::true_
-{
-};
-#endif
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_IS_KEYWORD_DESCRIPTOR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/keyword.hpp b/contrib/restricted/boost/boost/log/expressions/keyword.hpp
deleted file mode 100644
index 47f0121539..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/keyword.hpp
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keyword.hpp
- * \author Andrey Semashev
- * \date 29.01.2012
- *
- * The header contains attribute keyword declaration.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_KEYWORD_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_KEYWORD_HPP_INCLUDED_
-
-#include <boost/ref.hpp>
-#include <boost/proto/extends.hpp>
-#include <boost/proto/make_expr.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/domain.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/expressions/is_keyword_descriptor.hpp>
-#include <boost/log/expressions/attr.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/value_extraction.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * This class implements an expression template keyword. It is used to start template expressions involving attribute values.
- */
-template< typename DescriptorT, template< typename > class ActorT >
-struct attribute_keyword
-{
- //! Self type
- typedef attribute_keyword this_type;
- //! Attribute descriptor type
- typedef DescriptorT descriptor_type;
-
- BOOST_PROTO_BASIC_EXTENDS(typename proto::terminal< descriptor_type >::type, this_type, phoenix::phoenix_domain)
-
- //! Attribute value type
- typedef typename descriptor_type::value_type value_type;
-
- //! Returns attribute name
- static attribute_name get_name() { return descriptor_type::get_name(); }
-
- //! Expression with cached attribute name
- typedef attribute_actor<
- value_type,
- fallback_to_none,
- descriptor_type,
- ActorT
- > or_none_result_type;
-
- //! Generates an expression that extracts the attribute value or a default value
- static or_none_result_type or_none()
- {
- typedef typename or_none_result_type::terminal_type result_terminal;
- typename or_none_result_type::base_type act = {{ result_terminal(get_name()) }};
- return or_none_result_type(act);
- }
-
- //! Expression with cached attribute name
- typedef attribute_actor<
- value_type,
- fallback_to_throw,
- descriptor_type,
- ActorT
- > or_throw_result_type;
-
- //! Generates an expression that extracts the attribute value or throws an exception
- static or_throw_result_type or_throw()
- {
- typedef typename or_throw_result_type::terminal_type result_terminal;
- typename or_throw_result_type::base_type act = {{ result_terminal(get_name()) }};
- return or_throw_result_type(act);
- }
-
- //! Generates an expression that extracts the attribute value or a default value
- template< typename DefaultT >
- static attribute_actor<
- value_type,
- fallback_to_default< DefaultT >,
- descriptor_type,
- ActorT
- > or_default(DefaultT const& def_val)
- {
- typedef attribute_actor<
- value_type,
- fallback_to_default< DefaultT >,
- descriptor_type,
- ActorT
- > or_default_result_type;
- typedef typename or_default_result_type::terminal_type result_terminal;
- typename or_default_result_type::base_type act = {{ result_terminal(get_name(), def_val) }};
- return or_default_result_type(act);
- }
-};
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace proto {
-
-namespace detail {
-
-// This hack is needed in order to cache attribute name into the expression terminal when the template
-// expression is constructed. The standard way through a custom domain doesn't work because phoenix::actor
-// is bound to phoenix_domain.
-template< typename DescriptorT, template< typename > class ActorT, typename DomainT >
-struct protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT >, DomainT >
-{
- typedef boost::log::expressions::attribute_keyword< DescriptorT, ActorT > keyword_type;
- typedef typename keyword_type::or_none_result_type result_type;
-
- result_type operator() (keyword_type const& keyword) const
- {
- return keyword.or_none();
- }
-};
-
-template< typename DescriptorT, template< typename > class ActorT, typename DomainT >
-struct protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT >&, DomainT > :
- public protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT >, DomainT >
-{
-};
-
-template< typename DescriptorT, template< typename > class ActorT, typename DomainT >
-struct protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT > const&, DomainT > :
- public protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT >, DomainT >
-{
-};
-
-template< typename DescriptorT, template< typename > class ActorT, typename DomainT >
-struct protoify< boost::reference_wrapper< boost::log::expressions::attribute_keyword< DescriptorT, ActorT > >, DomainT > :
- public protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT >, DomainT >
-{
-};
-
-template< typename DescriptorT, template< typename > class ActorT, typename DomainT >
-struct protoify< boost::reference_wrapper< boost::log::expressions::attribute_keyword< DescriptorT, ActorT > > const, DomainT > :
- public protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT >, DomainT >
-{
-};
-
-template< typename DescriptorT, template< typename > class ActorT, typename DomainT >
-struct protoify< boost::reference_wrapper< const boost::log::expressions::attribute_keyword< DescriptorT, ActorT > >, DomainT > :
- public protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT >, DomainT >
-{
-};
-
-template< typename DescriptorT, template< typename > class ActorT, typename DomainT >
-struct protoify< boost::reference_wrapper< const boost::log::expressions::attribute_keyword< DescriptorT, ActorT > > const, DomainT > :
- public protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT >, DomainT >
-{
-};
-
-} // namespace detail
-
-} // namespace proto
-
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-
-} // namespace boost
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE_IMPL(keyword_, name_, value_type_, tag_ns_)\
- namespace tag_ns_\
- {\
- struct keyword_ :\
- public ::boost::log::expressions::keyword_descriptor\
- {\
- typedef value_type_ value_type;\
- static ::boost::log::attribute_name get_name() { return ::boost::log::attribute_name(name_); }\
- };\
- }\
- typedef ::boost::log::expressions::attribute_keyword< tag_ns_::keyword_ > BOOST_PP_CAT(keyword_, _type);
-
-#define BOOST_LOG_ATTRIBUTE_KEYWORD_IMPL(keyword_, name_, value_type_, tag_ns_)\
- BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE_IMPL(keyword_, name_, value_type_, tag_ns_)\
- const BOOST_PP_CAT(keyword_, _type) keyword_ = {};
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \brief The macro declares an attribute keyword type
- *
- * The macro should be used at a namespace scope. It expands into an attribute keyword type definition, including the
- * \c tag namespace and the keyword tag type within which has the following layout:
- *
- * \code
- * namespace tag
- * {
- * struct keyword_ :
- * public boost::log::expressions::keyword_descriptor
- * {
- * typedef value_type_ value_type;
- * static boost::log::attribute_name get_name();
- * };
- * }
- *
- * typedef boost::log::expressions::attribute_keyword< tag::keyword_ > keyword_type;
- * \endcode
- *
- * The \c get_name method returns the attribute name.
- *
- * \note This macro only defines the type of the keyword. To also define the keyword object, use
- * the \c BOOST_LOG_ATTRIBUTE_KEYWORD macro instead.
- *
- * \param keyword_ Keyword name
- * \param name_ Attribute name string
- * \param value_type_ Attribute value type
- */
-#define BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE(keyword_, name_, value_type_)\
- BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE_IMPL(keyword_, name_, value_type_, tag)
-
-/*!
- * \brief The macro declares an attribute keyword
- *
- * The macro provides definitions similar to \c BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE and additionally
- * defines the keyword object.
- *
- * \param keyword_ Keyword name
- * \param name_ Attribute name string
- * \param value_type_ Attribute value type
- */
-#define BOOST_LOG_ATTRIBUTE_KEYWORD(keyword_, name_, value_type_)\
- BOOST_LOG_ATTRIBUTE_KEYWORD_IMPL(keyword_, name_, value_type_, tag)
-
-#include <boost/log/detail/footer.hpp>
-
-#if defined(BOOST_LOG_TRIVIAL_HPP_INCLUDED_)
-#include <boost/log/detail/trivial_keyword.hpp>
-#endif
-
-#endif // BOOST_LOG_EXPRESSIONS_KEYWORD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/keyword_fwd.hpp b/contrib/restricted/boost/boost/log/expressions/keyword_fwd.hpp
deleted file mode 100644
index ba75300bf1..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/keyword_fwd.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keyword_fwd.hpp
- * \author Andrey Semashev
- * \date 29.01.2012
- *
- * The header contains attribute keyword forward declaration.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_KEYWORD_FWD_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_KEYWORD_FWD_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-template< typename >
-struct actor;
-
-} // namespace phoenix
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * \brief This class implements an expression template keyword
- */
-template< typename DescriptorT, template< typename > class ActorT = phoenix::actor >
-struct attribute_keyword;
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_EXPRESSIONS_KEYWORD_FWD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/message.hpp b/contrib/restricted/boost/boost/log/expressions/message.hpp
deleted file mode 100644
index e68aa37949..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/message.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file message.hpp
- * \author Andrey Semashev
- * \date 13.07.2012
- *
- * The header contains log message keyword declaration.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_MESSAGE_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_MESSAGE_HPP_INCLUDED_
-
-#include <string>
-#include <boost/mpl/vector.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/default_attribute_names.hpp>
-#include <boost/log/expressions/keyword.hpp>
-#include <boost/log/expressions/is_keyword_descriptor.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace tag {
-
-/*!
- * Generic log message attribute descriptor.
- */
-struct message :
- public keyword_descriptor
-{
- // The attribute value type here is not essential since message attributes are not intended to be created via the keyword
- typedef void attribute_type;
-
-#if defined(BOOST_LOG_USE_CHAR) && defined(BOOST_LOG_USE_WCHAR_T)
- typedef mpl::vector2< std::string, std::wstring > value_type;
-#elif defined(BOOST_LOG_USE_CHAR)
- typedef std::string value_type;
-#elif defined(BOOST_LOG_USE_WCHAR_T)
- typedef std::wstring value_type;
-#endif
-
- static attribute_name get_name() { return boost::log::aux::default_attribute_names::message(); }
-};
-
-#if defined(BOOST_LOG_USE_CHAR)
-/*!
- * Narrow character log message attribute descriptor.
- */
-struct smessage :
- public keyword_descriptor
-{
- // The attribute value type here is not essential since message attributes are not intended to be created via the keyword
- typedef void attribute_type;
- typedef std::string value_type;
-
- static attribute_name get_name() { return boost::log::aux::default_attribute_names::message(); }
-};
-#endif
-
-#if defined(BOOST_LOG_USE_WCHAR_T)
-/*!
- * Wide character log message attribute descriptor.
- */
-struct wmessage :
- public keyword_descriptor
-{
- // The attribute value type here is not essential since message attributes are not intended to be created via the keyword
- typedef void attribute_type;
- typedef std::wstring value_type;
-
- static attribute_name get_name() { return boost::log::aux::default_attribute_names::message(); }
-};
-#endif
-
-} // namespace tag
-
-/*!
- * Generic message keyword type.
- */
-typedef attribute_keyword< tag::message > message_type;
-/*!
- * Generic message keyword.
- */
-const message_type message = {};
-
-#if defined(BOOST_LOG_USE_CHAR)
-/*!
- * Narrow message keyword type.
- */
-typedef attribute_keyword< tag::smessage > smessage_type;
-/*!
- * Narrow message keyword.
- */
-const smessage_type smessage = {};
-#endif
-
-#if defined(BOOST_LOG_USE_WCHAR_T)
-/*!
- * Wide message keyword type.
- */
-typedef attribute_keyword< tag::wmessage > wmessage_type;
-/*!
- * Wide message keyword.
- */
-const wmessage_type wmessage = {};
-#endif
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_MESSAGE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/predicates.hpp b/contrib/restricted/boost/boost/log/expressions/predicates.hpp
deleted file mode 100644
index f218a27629..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/predicates.hpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file predicates.hpp
- * \author Andrey Semashev
- * \date 29.01.2012
- *
- * The header includes all template expression predicates.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_PREDICATES_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_PREDICATES_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#include <boost/log/expressions/predicates/has_attr.hpp>
-#include <boost/log/expressions/predicates/begins_with.hpp>
-#include <boost/log/expressions/predicates/ends_with.hpp>
-#include <boost/log/expressions/predicates/contains.hpp>
-#include <boost/log/expressions/predicates/matches.hpp>
-#include <boost/log/expressions/predicates/is_in_range.hpp>
-
-#include <boost/log/expressions/predicates/is_debugger_present.hpp>
-#include <boost/log/expressions/predicates/channel_severity_filter.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_LOG_EXPRESSIONS_PREDICATES_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/predicates/begins_with.hpp b/contrib/restricted/boost/boost/log/expressions/predicates/begins_with.hpp
deleted file mode 100644
index ae773a0a4e..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/predicates/begins_with.hpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file begins_with.hpp
- * \author Andrey Semashev
- * \date 02.09.2012
- *
- * The header contains implementation of a \c begins_with predicate in template expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_PREDICATES_BEGINS_WITH_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_PREDICATES_BEGINS_WITH_HPP_INCLUDED_
-
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/embedded_string_type.hpp>
-#include <boost/log/detail/unary_function_terminal.hpp>
-#include <boost/log/detail/attribute_predicate.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/expressions/attr_fwd.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/utility/functional/begins_with.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * The predicate checks if the attribute value begins with a substring. The attribute value is assumed to be of a string type.
- */
-#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-template< typename T, typename SubstringT, typename FallbackPolicyT = fallback_to_none >
-using attribute_begins_with = aux::attribute_predicate< T, SubstringT, begins_with_fun, FallbackPolicyT >;
-
-#else // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-template< typename T, typename SubstringT, typename FallbackPolicyT = fallback_to_none >
-class attribute_begins_with :
- public aux::attribute_predicate< T, SubstringT, begins_with_fun, FallbackPolicyT >
-{
- typedef aux::attribute_predicate< T, SubstringT, begins_with_fun, FallbackPolicyT > base_type;
-
-public:
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param substring The expected attribute value beginning
- */
- attribute_begins_with(attribute_name const& name, SubstringT const& substring) : base_type(name, substring)
- {
- }
-
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param substring The expected attribute value beginning
- * \param arg Additional parameter for the fallback policy
- */
- template< typename U >
- attribute_begins_with(attribute_name const& name, SubstringT const& substring, U const& arg) : base_type(name, substring, arg)
- {
- }
-};
-
-#endif // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, begins with the specified substring.
- */
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename SubstringT >
-BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_begins_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > >
-begins_with(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, SubstringT const& substring)
-{
- typedef aux::unary_function_terminal< attribute_begins_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > terminal_type;
- ActorT< terminal_type > act = {{ terminal_type(attr.get_name(), substring, attr.get_fallback_policy()) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, begins with the specified substring.
- */
-template< typename DescriptorT, template< typename > class ActorT, typename SubstringT >
-BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_begins_with< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > >
-begins_with(attribute_keyword< DescriptorT, ActorT > const&, SubstringT const& substring)
-{
- typedef aux::unary_function_terminal< attribute_begins_with< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type;
- ActorT< terminal_type > act = {{ terminal_type(DescriptorT::get_name(), substring) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, begins with the specified substring.
- */
-template< typename T, typename SubstringT >
-BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_begins_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > >
-begins_with(attribute_name const& name, SubstringT const& substring)
-{
- typedef aux::unary_function_terminal< attribute_begins_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type;
- phoenix::actor< terminal_type > act = {{ terminal_type(name, substring) }};
- return act;
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_PREDICATES_BEGINS_WITH_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/predicates/channel_severity_filter.hpp b/contrib/restricted/boost/boost/log/expressions/predicates/channel_severity_filter.hpp
deleted file mode 100644
index e8562e2a81..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/predicates/channel_severity_filter.hpp
+++ /dev/null
@@ -1,575 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file channel_severity_filter.hpp
- * \author Andrey Semashev
- * \date 25.11.2012
- *
- * The header contains implementation of a minimal severity per channel filter.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_PREDICATES_CHANNEL_SEVERITY_FILTER_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_PREDICATES_CHANNEL_SEVERITY_FILTER_HPP_INCLUDED_
-
-#include <map>
-#include <memory>
-#include <utility>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/fusion/sequence/intrinsic/at_c.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/allocator_traits.hpp>
-#include <boost/log/detail/custom_terminal_spec.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/utility/functional/logical.hpp>
-#include <boost/log/expressions/attr_fwd.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-template<
- typename ChannelT,
- typename SeverityT,
- typename ChannelFallbackT = fallback_to_none,
- typename SeverityFallbackT = fallback_to_none,
- typename ChannelOrderT = less,
- typename SeverityCompareT = greater_equal,
- typename AllocatorT = std::allocator< void >
->
-class channel_severity_filter_terminal
-{
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal typedef for type categorization
- typedef void _is_boost_log_terminal;
-#endif
-
- //! Function result type
- typedef bool result_type;
-
- //! Channel attribute value type
- typedef ChannelT channel_value_type;
- //! Channel fallback policy
- typedef ChannelFallbackT channel_fallback_policy;
- //! Severity level attribute value type
- typedef SeverityT severity_value_type;
- //! Severity level fallback policy
- typedef SeverityFallbackT severity_fallback_policy;
-
-private:
- //! Channel to severity mapping type
- typedef std::map<
- channel_value_type,
- severity_value_type,
- ChannelOrderT,
- typename boost::log::aux::rebind_alloc< AllocatorT, std::pair< const channel_value_type, severity_value_type > >::type
- > mapping_type;
- //! Attribute value visitor invoker for channel
- typedef value_visitor_invoker< channel_value_type, channel_fallback_policy > channel_visitor_invoker_type;
- //! Attribute value visitor invoker for severity level
- typedef value_visitor_invoker< severity_value_type, severity_fallback_policy > severity_visitor_invoker_type;
-
- //! Channel visitor
- template< typename ArgT >
- struct channel_visitor
- {
- typedef void result_type;
-
- channel_visitor(channel_severity_filter_terminal const& self, ArgT arg, bool& res) : m_self(self), m_arg(arg), m_res(res)
- {
- }
-
- result_type operator() (channel_value_type const& channel) const
- {
- m_self.visit_channel(channel, m_arg, m_res);
- }
-
- private:
- channel_severity_filter_terminal const& m_self;
- ArgT m_arg;
- bool& m_res;
- };
-
- //! Severity level visitor
- struct severity_visitor
- {
- typedef void result_type;
-
- severity_visitor(channel_severity_filter_terminal const& self, severity_value_type const& severity, bool& res) : m_self(self), m_severity(severity), m_res(res)
- {
- }
-
- result_type operator() (severity_value_type const& severity) const
- {
- m_self.visit_severity(severity, m_severity, m_res);
- }
-
- private:
- channel_severity_filter_terminal const& m_self;
- severity_value_type const& m_severity;
- bool& m_res;
- };
-
-private:
- //! Channel attribute name
- attribute_name m_channel_name;
- //! Severity level attribute name
- attribute_name m_severity_name;
- //! Channel value visitor invoker
- channel_visitor_invoker_type m_channel_visitor_invoker;
- //! Severity level value visitor invoker
- severity_visitor_invoker_type m_severity_visitor_invoker;
-
- //! Channel to severity level mapping
- mapping_type m_mapping;
- //! Severity checking predicate
- SeverityCompareT m_severity_compare;
-
- //! Default result
- bool m_default;
-
-public:
- //! Initializing constructor
- channel_severity_filter_terminal
- (
- attribute_name const& channel_name,
- attribute_name const& severity_name,
- channel_fallback_policy const& channel_fallback = channel_fallback_policy(),
- severity_fallback_policy const& severity_fallback = severity_fallback_policy(),
- ChannelOrderT const& channel_order = ChannelOrderT(),
- SeverityCompareT const& severity_compare = SeverityCompareT()
- ) :
- m_channel_name(channel_name),
- m_severity_name(severity_name),
- m_channel_visitor_invoker(channel_fallback),
- m_severity_visitor_invoker(severity_fallback),
- m_mapping(channel_order),
- m_severity_compare(severity_compare),
- m_default(false)
- {
- }
-
- //! Adds a new element to the mapping
- void add(channel_value_type const& channel, severity_value_type const& severity)
- {
- typedef typename mapping_type::iterator iterator;
- std::pair< iterator, bool > res = m_mapping.insert(typename mapping_type::value_type(channel, severity));
- if (!res.second)
- res.first->second = severity;
- }
-
- //! Sets the default result of the predicate
- void set_default(bool def)
- {
- m_default = def;
- }
-
- //! Invokation operator
- template< typename ContextT >
- result_type operator() (ContextT const& ctx) const
- {
- result_type res = m_default;
-
- typedef typename remove_cv<
- typename remove_reference< typename phoenix::result_of::env< ContextT >::type >::type
- >::type env_type;
- typedef typename env_type::args_type args_type;
- typedef typename fusion::result_of::at_c< args_type, 0 >::type arg_type;
- arg_type arg = fusion::at_c< 0 >(phoenix::env(ctx).args());
-
- m_channel_visitor_invoker(m_channel_name, arg, channel_visitor< arg_type >(*this, arg, res));
-
- return res;
- }
-
-private:
- //! Visits channel name
- template< typename ArgT >
- void visit_channel(channel_value_type const& channel, ArgT const& arg, bool& res) const
- {
- typename mapping_type::const_iterator it = m_mapping.find(channel);
- if (it != m_mapping.end())
- {
- m_severity_visitor_invoker(m_severity_name, arg, severity_visitor(*this, it->second, res));
- }
- }
-
- //! Visits severity level
- void visit_severity(severity_value_type const& left, severity_value_type const& right, bool& res) const
- {
- res = m_severity_compare(left, right);
- }
-};
-
-template<
- typename ChannelT,
- typename SeverityT,
- typename ChannelFallbackT = fallback_to_none,
- typename SeverityFallbackT = fallback_to_none,
- typename ChannelOrderT = less,
- typename SeverityCompareT = greater_equal,
- typename AllocatorT = std::allocator< void >,
- template< typename > class ActorT = phoenix::actor
->
-class channel_severity_filter_actor :
- public ActorT< channel_severity_filter_terminal< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, ChannelOrderT, SeverityCompareT, AllocatorT > >
-{
-private:
- //! Self type
- typedef channel_severity_filter_actor this_type;
-
-public:
- //! Terminal type
- typedef channel_severity_filter_terminal< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, ChannelOrderT, SeverityCompareT, AllocatorT > terminal_type;
- //! Base actor type
- typedef ActorT< terminal_type > base_type;
-
- //! Channel attribute value type
- typedef typename terminal_type::channel_value_type channel_value_type;
- //! Channel fallback policy
- typedef typename terminal_type::channel_fallback_policy channel_fallback_policy;
- //! Severity level attribute value type
- typedef typename terminal_type::severity_value_type severity_value_type;
- //! Severity level fallback policy
- typedef typename terminal_type::severity_fallback_policy severity_fallback_policy;
-
-private:
- //! An auxiliary pseudo-reference to implement insertion through subscript operator
- class subscript_result
- {
- private:
- channel_severity_filter_actor& m_owner;
- channel_value_type const& m_channel;
-
- public:
- subscript_result(channel_severity_filter_actor& owner, channel_value_type const& channel) : m_owner(owner), m_channel(channel)
- {
- }
-
- void operator= (severity_value_type const& severity)
- {
- m_owner.add(m_channel, severity);
- }
- };
-
-public:
- //! Initializing constructor
- explicit channel_severity_filter_actor(base_type const& act) : base_type(act)
- {
- }
- //! Copy constructor
- channel_severity_filter_actor(channel_severity_filter_actor const& that) : base_type(static_cast< base_type const& >(that))
- {
- }
-
- //! Sets the default function result
- this_type& set_default(bool def)
- {
- this->proto_expr_.child0.set_default(def);
- return *this;
- }
-
- //! Adds a new element to the mapping
- this_type& add(channel_value_type const& channel, severity_value_type const& severity)
- {
- this->proto_expr_.child0.add(channel, severity);
- return *this;
- }
-
- //! Alternative interface for adding a new element to the mapping
- subscript_result operator[] (channel_value_type const& channel)
- {
- return subscript_result(*this, channel);
- }
-};
-
-/*!
- * The function generates a filtering predicate that checks the severity levels of log records in different channels. The predicate will return \c true
- * if the record severity level is not less than the threshold for the channel the record belongs to.
- */
-template< typename ChannelT, typename SeverityT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT >
-channel_severity_filter(attribute_name const& channel_name, attribute_name const& severity_name)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_name, severity_name) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename SeverityT, typename ChannelDescriptorT, template< typename > class ActorT >
-BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_name const& severity_name)
-{
- typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_keyword.get_name(), severity_name) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelT, typename SeverityDescriptorT, template< typename > class ActorT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_name const& channel_name, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword)
-{
- typedef channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_name, severity_keyword.get_name()) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelDescriptorT, typename SeverityDescriptorT, template< typename > class ActorT >
-BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword)
-{
- typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_keyword.get_name(), severity_keyword.get_name()) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename SeverityT, typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, template< typename > class ActorT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_name const& severity_name)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, less, greater_equal, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_placeholder.get_name(), severity_name, channel_placeholder.get_fallback_policy()) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, less, greater_equal, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_name const& channel_name, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, less, greater_equal, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_name, severity_placeholder.get_name(), fallback_to_none(), severity_placeholder.get_fallback_policy()) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, less, greater_equal, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, less, greater_equal, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_placeholder.get_name(), severity_placeholder.get_name(), channel_placeholder.get_fallback_policy(), severity_placeholder.get_fallback_policy()) }};
- return result_type(act);
-}
-
-
-//! \overload
-template< typename ChannelT, typename SeverityT, typename SeverityCompareT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, fallback_to_none, less, SeverityCompareT >
-channel_severity_filter(attribute_name const& channel_name, attribute_name const& severity_name, SeverityCompareT const& severity_compare)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, fallback_to_none, less, SeverityCompareT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_name, severity_name, fallback_to_none(), fallback_to_none(), less(), severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename SeverityT, typename ChannelDescriptorT, template< typename > class ActorT, typename SeverityCompareT >
-BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_name const& severity_name, SeverityCompareT const& severity_compare)
-{
- typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_keyword.get_name(), severity_name, fallback_to_none(), fallback_to_none(), less(), severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelT, typename SeverityDescriptorT, template< typename > class ActorT, typename SeverityCompareT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_name const& channel_name, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword, SeverityCompareT const& severity_compare)
-{
- typedef channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_name, severity_keyword.get_name(), fallback_to_none(), fallback_to_none(), less(), severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelDescriptorT, typename SeverityDescriptorT, template< typename > class ActorT, typename SeverityCompareT >
-BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword, SeverityCompareT const& severity_compare)
-{
- typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_keyword.get_name(), severity_keyword.get_name(), fallback_to_none(), fallback_to_none(), less(), severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename SeverityT, typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, template< typename > class ActorT, typename SeverityCompareT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_name const& severity_name, SeverityCompareT const& severity_compare)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, less, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_placeholder.get_name(), severity_name, channel_placeholder.get_fallback_policy(), fallback_to_none(), less(), severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT, typename SeverityCompareT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, less, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_name const& channel_name, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder, SeverityCompareT const& severity_compare)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, less, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_name, severity_placeholder.get_name(), fallback_to_none(), severity_placeholder.get_fallback_policy(), less(), severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT, typename SeverityCompareT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, less, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder, SeverityCompareT const& severity_compare)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, less, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_placeholder.get_name(), severity_placeholder.get_name(), channel_placeholder.get_fallback_policy(), severity_placeholder.get_fallback_policy(), less(), severity_compare) }};
- return result_type(act);
-}
-
-
-//! \overload
-template< typename ChannelT, typename SeverityT, typename SeverityCompareT, typename ChannelOrderT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT >
-channel_severity_filter(attribute_name const& channel_name, attribute_name const& severity_name, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_name, severity_name, fallback_to_none(), fallback_to_none(), channel_order, severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename SeverityT, typename ChannelDescriptorT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT >
-BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_name const& severity_name, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order)
-{
- typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, SeverityT, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_keyword.get_name(), severity_name, fallback_to_none(), fallback_to_none(), channel_order, severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelT, typename SeverityDescriptorT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_name const& channel_name, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order)
-{
- typedef channel_severity_filter_actor< ChannelT, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_name, severity_keyword.get_name(), fallback_to_none(), fallback_to_none(), channel_order, severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelDescriptorT, typename SeverityDescriptorT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT >
-BOOST_FORCEINLINE channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_keyword< ChannelDescriptorT, ActorT > const& channel_keyword, attribute_keyword< SeverityDescriptorT, ActorT > const& severity_keyword, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order)
-{
- typedef channel_severity_filter_actor< typename ChannelDescriptorT::value_type, typename SeverityDescriptorT::value_type, fallback_to_none, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_keyword.get_name(), severity_keyword.get_name(), fallback_to_none(), fallback_to_none(), channel_order, severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename SeverityT, typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_name const& severity_name, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, fallback_to_none, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_placeholder.get_name(), severity_name, channel_placeholder.get_fallback_policy(), fallback_to_none(), channel_order, severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_name const& channel_name, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT, fallback_to_none, SeverityFallbackT, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_name, severity_placeholder.get_name(), fallback_to_none(), severity_placeholder.get_fallback_policy(), channel_order, severity_compare) }};
- return result_type(act);
-}
-
-//! \overload
-template< typename ChannelT, typename ChannelFallbackT, typename ChannelTagT, typename SeverityT, typename SeverityFallbackT, typename SeverityTagT, template< typename > class ActorT, typename SeverityCompareT, typename ChannelOrderT >
-BOOST_FORCEINLINE channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT >
-channel_severity_filter(attribute_actor< ChannelT, ChannelFallbackT, ChannelTagT, ActorT > const& channel_placeholder, attribute_actor< SeverityT, SeverityFallbackT, SeverityTagT, ActorT > const& severity_placeholder, SeverityCompareT const& severity_compare, ChannelOrderT const& channel_order)
-{
- typedef channel_severity_filter_actor< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, ChannelOrderT, SeverityCompareT, std::allocator< void >, ActorT > result_type;
- typedef typename result_type::terminal_type terminal_type;
- typename result_type::base_type act = {{ terminal_type(channel_placeholder.get_name(), severity_placeholder.get_name(), channel_placeholder.get_fallback_policy(), severity_placeholder.get_fallback_policy(), channel_order, severity_compare) }};
- return result_type(act);
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-namespace phoenix {
-
-namespace result_of {
-
-template<
- typename ChannelT,
- typename SeverityT,
- typename ChannelFallbackT,
- typename SeverityFallbackT,
- typename ChannelOrderT,
- typename SeverityCompareT,
- typename AllocatorT
->
-struct is_nullary< custom_terminal< boost::log::expressions::channel_severity_filter_terminal< ChannelT, SeverityT, ChannelFallbackT, SeverityFallbackT, ChannelOrderT, SeverityCompareT, AllocatorT > > > :
- public mpl::false_
-{
-};
-
-} // namespace result_of
-
-} // namespace phoenix
-
-#endif
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_PREDICATES_CHANNEL_SEVERITY_FILTER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/predicates/contains.hpp b/contrib/restricted/boost/boost/log/expressions/predicates/contains.hpp
deleted file mode 100644
index 49c19cf09b..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/predicates/contains.hpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file contains.hpp
- * \author Andrey Semashev
- * \date 02.09.2012
- *
- * The header contains implementation of a \c contains predicate in template expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_PREDICATES_CONTAINS_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_PREDICATES_CONTAINS_HPP_INCLUDED_
-
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/embedded_string_type.hpp>
-#include <boost/log/detail/unary_function_terminal.hpp>
-#include <boost/log/detail/attribute_predicate.hpp>
-#include <boost/log/expressions/attr_fwd.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/utility/functional/contains.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * The predicate checks if the attribute value contains a substring. The attribute value is assumed to be of a string type.
- */
-#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-template< typename T, typename SubstringT, typename FallbackPolicyT = fallback_to_none >
-using attribute_contains = aux::attribute_predicate< T, SubstringT, contains_fun, FallbackPolicyT >;
-
-#else // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-template< typename T, typename SubstringT, typename FallbackPolicyT = fallback_to_none >
-class attribute_contains :
- public aux::attribute_predicate< T, SubstringT, contains_fun, FallbackPolicyT >
-{
- typedef aux::attribute_predicate< T, SubstringT, contains_fun, FallbackPolicyT > base_type;
-
-public:
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param substring The expected attribute value substring
- */
- attribute_contains(attribute_name const& name, SubstringT const& substring) : base_type(name, substring)
- {
- }
-
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param substring The expected attribute value substring
- * \param arg Additional parameter for the fallback policy
- */
- template< typename U >
- attribute_contains(attribute_name const& name, SubstringT const& substring, U const& arg) : base_type(name, substring, arg)
- {
- }
-};
-
-#endif // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, contains the specified substring.
- */
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename SubstringT >
-BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_contains< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > >
-contains(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, SubstringT const& substring)
-{
- typedef aux::unary_function_terminal< attribute_contains< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > terminal_type;
- ActorT< terminal_type > act = {{ terminal_type(attr.get_name(), substring, attr.get_fallback_policy()) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, contains the specified substring.
- */
-template< typename DescriptorT, template< typename > class ActorT, typename SubstringT >
-BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_contains< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > >
-contains(attribute_keyword< DescriptorT, ActorT > const&, SubstringT const& substring)
-{
- typedef aux::unary_function_terminal< attribute_contains< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type;
- ActorT< terminal_type > act = {{ terminal_type(DescriptorT::get_name(), substring) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, contains the specified substring.
- */
-template< typename T, typename SubstringT >
-BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_contains< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > >
-contains(attribute_name const& name, SubstringT const& substring)
-{
- typedef aux::unary_function_terminal< attribute_contains< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type;
- phoenix::actor< terminal_type > act = {{ terminal_type(name, substring) }};
- return act;
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_PREDICATES_CONTAINS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/predicates/ends_with.hpp b/contrib/restricted/boost/boost/log/expressions/predicates/ends_with.hpp
deleted file mode 100644
index 7d2b64a4a7..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/predicates/ends_with.hpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file ends_with.hpp
- * \author Andrey Semashev
- * \date 02.09.2012
- *
- * The header contains implementation of a \c ends_with predicate in template expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_PREDICATES_ENDS_WITH_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_PREDICATES_ENDS_WITH_HPP_INCLUDED_
-
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/embedded_string_type.hpp>
-#include <boost/log/detail/unary_function_terminal.hpp>
-#include <boost/log/detail/attribute_predicate.hpp>
-#include <boost/log/expressions/attr_fwd.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/utility/functional/ends_with.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * The predicate checks if the attribute value ends with a substring. The attribute value is assumed to be of a string type.
- */
-#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-template< typename T, typename SubstringT, typename FallbackPolicyT = fallback_to_none >
-using attribute_ends_with = aux::attribute_predicate< T, SubstringT, ends_with_fun, FallbackPolicyT >;
-
-#else // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-template< typename T, typename SubstringT, typename FallbackPolicyT = fallback_to_none >
-class attribute_ends_with :
- public aux::attribute_predicate< T, SubstringT, ends_with_fun, FallbackPolicyT >
-{
- typedef aux::attribute_predicate< T, SubstringT, ends_with_fun, FallbackPolicyT > base_type;
-
-public:
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param substring The expected attribute value ending
- */
- attribute_ends_with(attribute_name const& name, SubstringT const& substring) : base_type(name, substring)
- {
- }
-
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param substring The expected attribute value ending
- * \param arg Additional parameter for the fallback policy
- */
- template< typename U >
- attribute_ends_with(attribute_name const& name, SubstringT const& substring, U const& arg) : base_type(name, substring, arg)
- {
- }
-};
-
-#endif // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, ends with the specified substring.
- */
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename SubstringT >
-BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_ends_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > >
-ends_with(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, SubstringT const& substring)
-{
- typedef aux::unary_function_terminal< attribute_ends_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type, FallbackPolicyT > > terminal_type;
- ActorT< terminal_type > act = {{ terminal_type(attr.get_name(), substring, attr.get_fallback_policy()) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, ends with the specified substring.
- */
-template< typename DescriptorT, template< typename > class ActorT, typename SubstringT >
-BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_ends_with< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > >
-ends_with(attribute_keyword< DescriptorT, ActorT > const&, SubstringT const& substring)
-{
- typedef aux::unary_function_terminal< attribute_ends_with< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type;
- ActorT< terminal_type > act = {{ terminal_type(DescriptorT::get_name(), substring) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, ends with the specified substring.
- */
-template< typename T, typename SubstringT >
-BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_ends_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > >
-ends_with(attribute_name const& name, SubstringT const& substring)
-{
- typedef aux::unary_function_terminal< attribute_ends_with< T, typename boost::log::aux::make_embedded_string_type< SubstringT >::type > > terminal_type;
- phoenix::actor< terminal_type > act = {{ terminal_type(name, substring) }};
- return act;
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_PREDICATES_ENDS_WITH_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/predicates/has_attr.hpp b/contrib/restricted/boost/boost/log/expressions/predicates/has_attr.hpp
deleted file mode 100644
index ec61498335..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/predicates/has_attr.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file has_attr.hpp
- * \author Andrey Semashev
- * \date 23.07.2012
- *
- * The header contains implementation of a generic attribute presence checker in template expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_PREDICATES_HAS_ATTR_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_PREDICATES_HAS_ATTR_HPP_INCLUDED_
-
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/detail/unary_function_terminal.hpp>
-#include <boost/log/utility/functional/nop.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * An attribute value presence checker.
- */
-template< typename T >
-class has_attribute
-{
-public:
- //! Function result_type
- typedef bool result_type;
- //! Expected attribute value type
- typedef T value_type;
-
-private:
- //! Attribute value name
- const attribute_name m_name;
- //! Visitor invoker
- value_visitor_invoker< value_type > m_visitor_invoker;
-
-public:
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- */
- explicit has_attribute(attribute_name const& name) : m_name(name)
- {
- }
-
- /*!
- * Checking operator
- *
- * \param arg A set of attribute values or a log record
- * \return \c true if the log record contains the sought attribute value, \c false otherwise
- */
- template< typename ArgT >
- result_type operator() (ArgT const& arg) const
- {
- return m_visitor_invoker(m_name, arg, nop()).code() == visitation_result::ok;
- }
-};
-
-/*!
- * An attribute value presence checker. This specialization does not check the type of the attribute value.
- */
-template< >
-class has_attribute< void >
-{
-public:
- //! Function result_type
- typedef bool result_type;
- //! Expected attribute value type
- typedef void value_type;
-
-private:
- //! Attribute name
- const attribute_name m_name;
-
-public:
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- */
- explicit has_attribute(attribute_name const& name) : m_name(name)
- {
- }
-
- /*!
- * Checking operator
- *
- * \param attrs A set of attribute values
- * \return \c true if the log record contains the sought attribute value, \c false otherwise
- */
- result_type operator() (attribute_value_set const& attrs) const
- {
- return attrs.find(m_name) != attrs.end();
- }
-
- /*!
- * Checking operator
- *
- * \param rec A log record
- * \return \c true if the log record contains the sought attribute value, \c false otherwise
- */
- result_type operator() (boost::log::record_view const& rec) const
- {
- return operator()(rec.attribute_values());
- }
-};
-
-/*!
- * The function generates a terminal node in a template expression. The node will check for the attribute value
- * presence in a log record. The node will also check that the attribute value has the specified type, if present.
- */
-template< typename AttributeValueT >
-BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< has_attribute< AttributeValueT > > > has_attr(attribute_name const& name)
-{
- typedef aux::unary_function_terminal< has_attribute< AttributeValueT > > terminal_type;
- phoenix::actor< terminal_type > act = {{ terminal_type(name) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check for the attribute value
- * presence in a log record.
- */
-BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< has_attribute< void > > > has_attr(attribute_name const& name)
-{
- typedef aux::unary_function_terminal< has_attribute< void > > terminal_type;
- phoenix::actor< terminal_type > act = {{ terminal_type(name) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check for the attribute value
- * presence in a log record. The node will also check that the attribute value has the specified type, if present.
- */
-template< typename DescriptorT, template< typename > class ActorT >
-BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< has_attribute< typename DescriptorT::value_type > > > has_attr(attribute_keyword< DescriptorT, ActorT > const&)
-{
- typedef aux::unary_function_terminal< has_attribute< typename DescriptorT::value_type > > terminal_type;
- ActorT< terminal_type > act = {{ terminal_type(DescriptorT::get_name()) }};
- return act;
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_PREDICATES_HAS_ATTR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/predicates/is_debugger_present.hpp b/contrib/restricted/boost/boost/log/expressions/predicates/is_debugger_present.hpp
deleted file mode 100644
index 9d4960714d..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/predicates/is_debugger_present.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file is_debugger_present.hpp
- * \author Andrey Semashev
- * \date 05.12.2012
- *
- * The header contains implementation of the \c is_debugger_present predicate in template expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_PREDICATES_IS_DEBUGGER_PRESENT_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_PREDICATES_IS_DEBUGGER_PRESENT_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_WINDOWS)
-
-#include <boost/phoenix/core/terminal.hpp> // this is needed to be able to include this header alone, Boost.Phoenix blows up without it
-#include <boost/phoenix/function/adapt_callable.hpp>
-#include <boost/log/detail/header.hpp>
-
-#if defined(BOOST_USE_WINDOWS_H)
-
-#ifndef _WIN32_WINNT
-#define _WIN32_WINNT 0x0500
-#endif
-
-#include <windows.h>
-
-#else // defined(BOOST_USE_WINDOWS_H)
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-extern "C" {
-
-__declspec(dllimport) int __stdcall IsDebuggerPresent();
-
-} // extern "C"
-
-} // namespace aux
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_USE_WINDOWS_H
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-struct is_debugger_present
-{
- typedef bool result_type;
-
- result_type operator() () const
- {
- return IsDebuggerPresent() != 0;
- }
-};
-
-} // namespace aux
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY(is_debugger_present, aux::is_debugger_present)
-
-#else
-
-/*!
- * The function generates a filter that will check whether the logger is attached to the process
- */
-unspecified is_debugger_present();
-
-#endif
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_WINDOWS
-
-#endif // BOOST_LOG_EXPRESSIONS_PREDICATES_IS_DEBUGGER_PRESENT_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/predicates/is_in_range.hpp b/contrib/restricted/boost/boost/log/expressions/predicates/is_in_range.hpp
deleted file mode 100644
index 07f9417f82..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/predicates/is_in_range.hpp
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file is_in_range.hpp
- * \author Andrey Semashev
- * \date 02.09.2012
- *
- * The header contains implementation of an \c is_in_range predicate in template expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_PREDICATES_IS_IN_RANGE_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_PREDICATES_IS_IN_RANGE_HPP_INCLUDED_
-
-#include <utility>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/embedded_string_type.hpp>
-#include <boost/log/detail/unary_function_terminal.hpp>
-#include <boost/log/detail/attribute_predicate.hpp>
-#include <boost/log/expressions/attr_fwd.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/utility/functional/in_range.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * The predicate checks if the attribute value contains a substring. The attribute value is assumed to be of a string type.
- */
-#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-template< typename T, typename BoundaryT, typename FallbackPolicyT = fallback_to_none >
-using attribute_is_in_range = aux::attribute_predicate< T, std::pair< BoundaryT, BoundaryT >, in_range_fun, FallbackPolicyT >;
-
-#else // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-template< typename T, typename BoundaryT, typename FallbackPolicyT = fallback_to_none >
-class attribute_is_in_range :
- public aux::attribute_predicate< T, std::pair< BoundaryT, BoundaryT >, in_range_fun, FallbackPolicyT >
-{
- typedef aux::attribute_predicate< T, std::pair< BoundaryT, BoundaryT >, in_range_fun, FallbackPolicyT > base_type;
-
-public:
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param boundaries The expected attribute value boundaries
- */
- attribute_is_in_range(attribute_name const& name, std::pair< BoundaryT, BoundaryT > const& boundaries) : base_type(name, boundaries)
- {
- }
-
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param boundaries The expected attribute value boundaries
- * \param arg Additional parameter for the fallback policy
- */
- template< typename U >
- attribute_is_in_range(attribute_name const& name, std::pair< BoundaryT, BoundaryT > const& boundaries, U const& arg) : base_type(name, boundaries, arg)
- {
- }
-};
-
-#endif // !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value
- * is in the specified range. The range must be half-open, that is the predicate will be equivalent to <tt>least <= attr < most</tt>.
- */
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename BoundaryT >
-BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_is_in_range< T, typename boost::log::aux::make_embedded_string_type< BoundaryT >::type, FallbackPolicyT > > >
-is_in_range(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, BoundaryT const& least, BoundaryT const& most)
-{
- typedef typename boost::log::aux::make_embedded_string_type< BoundaryT >::type boundary_type;
- typedef aux::unary_function_terminal< attribute_is_in_range< T, boundary_type, FallbackPolicyT > > terminal_type;
- ActorT< terminal_type > act = {{ terminal_type(attr.get_name(), std::pair< boundary_type, boundary_type >(least, most), attr.get_fallback_policy()) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value
- * is in the specified range. The range must be half-open, that is the predicate will be equivalent to <tt>least <= attr < most</tt>.
- */
-template< typename DescriptorT, template< typename > class ActorT, typename BoundaryT >
-BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_is_in_range< typename DescriptorT::value_type, typename boost::log::aux::make_embedded_string_type< BoundaryT >::type > > >
-is_in_range(attribute_keyword< DescriptorT, ActorT > const&, BoundaryT const& least, BoundaryT const& most)
-{
- typedef typename boost::log::aux::make_embedded_string_type< BoundaryT >::type boundary_type;
- typedef aux::unary_function_terminal< attribute_is_in_range< typename DescriptorT::value_type, boundary_type > > terminal_type;
- ActorT< terminal_type > act = {{ terminal_type(DescriptorT::get_name(), std::pair< boundary_type, boundary_type >(least, most)) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value
- * is in the specified range. The range must be half-open, that is the predicate will be equivalent to <tt>least <= attr < most</tt>.
- */
-template< typename T, typename BoundaryT >
-BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_is_in_range< T, typename boost::log::aux::make_embedded_string_type< BoundaryT >::type > > >
-is_in_range(attribute_name const& name, BoundaryT const& least, BoundaryT const& most)
-{
- typedef typename boost::log::aux::make_embedded_string_type< BoundaryT >::type boundary_type;
- typedef aux::unary_function_terminal< attribute_is_in_range< T, boundary_type > > terminal_type;
- phoenix::actor< terminal_type > act = {{ terminal_type(name, std::pair< boundary_type, boundary_type >(least, most)) }};
- return act;
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_PREDICATES_IS_IN_RANGE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/predicates/matches.hpp b/contrib/restricted/boost/boost/log/expressions/predicates/matches.hpp
deleted file mode 100644
index d9291396b3..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/predicates/matches.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file matches.hpp
- * \author Andrey Semashev
- * \date 02.09.2012
- *
- * The header contains implementation of a \c matches predicate in template expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_PREDICATES_MATCHES_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_PREDICATES_MATCHES_HPP_INCLUDED_
-
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/unary_function_terminal.hpp>
-#include <boost/log/detail/attribute_predicate.hpp>
-#include <boost/log/expressions/attr_fwd.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/utility/functional/matches.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * The predicate checks if the attribute value matches a regular expression. The attribute value is assumed to be of a string type.
- */
-template< typename T, typename RegexT, typename FallbackPolicyT = fallback_to_none >
-class attribute_matches :
- public aux::attribute_predicate< T, typename boost::log::aux::match_traits< RegexT >::compiled_type, matches_fun, FallbackPolicyT >
-{
- typedef aux::attribute_predicate< T, typename boost::log::aux::match_traits< RegexT >::compiled_type, matches_fun, FallbackPolicyT > base_type;
-
-public:
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param rex The regular expression to match the attribute value against
- */
- attribute_matches(attribute_name const& name, RegexT const& rex) : base_type(name, boost::log::aux::match_traits< RegexT >::compile(rex))
- {
- }
-
- /*!
- * Initializing constructor
- *
- * \param name Attribute name
- * \param rex The regular expression to match the attribute value against
- * \param arg Additional parameter for the fallback policy
- */
- template< typename U >
- attribute_matches(attribute_name const& name, RegexT const& rex, U const& arg) : base_type(name, boost::log::aux::match_traits< RegexT >::compile(rex), arg)
- {
- }
-};
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, matches the specified regular expression.
- */
-template< typename T, typename FallbackPolicyT, typename TagT, template< typename > class ActorT, typename RegexT >
-BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_matches< T, RegexT, FallbackPolicyT > > >
-matches(attribute_actor< T, FallbackPolicyT, TagT, ActorT > const& attr, RegexT const& rex)
-{
- typedef aux::unary_function_terminal< attribute_matches< T, RegexT, FallbackPolicyT > > terminal_type;
- ActorT< terminal_type > act = {{ terminal_type(attr.get_name(), rex, attr.get_fallback_policy()) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, matches the specified regular expression.
- */
-template< typename DescriptorT, template< typename > class ActorT, typename RegexT >
-BOOST_FORCEINLINE ActorT< aux::unary_function_terminal< attribute_matches< typename DescriptorT::value_type, RegexT > > >
-matches(attribute_keyword< DescriptorT, ActorT > const&, RegexT const& rex)
-{
- typedef aux::unary_function_terminal< attribute_matches< typename DescriptorT::value_type, RegexT > > terminal_type;
- ActorT< terminal_type > act = {{ terminal_type(DescriptorT::get_name(), rex) }};
- return act;
-}
-
-/*!
- * The function generates a terminal node in a template expression. The node will check if the attribute value,
- * which is assumed to be a string, matches the specified regular expression.
- */
-template< typename T, typename RegexT >
-BOOST_FORCEINLINE phoenix::actor< aux::unary_function_terminal< attribute_matches< T, RegexT > > >
-matches(attribute_name const& name, RegexT const& rex)
-{
- typedef aux::unary_function_terminal< attribute_matches< T, RegexT > > terminal_type;
- phoenix::actor< terminal_type > act = {{ terminal_type(name, rex) }};
- return act;
-}
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_PREDICATES_MATCHES_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/expressions/record.hpp b/contrib/restricted/boost/boost/log/expressions/record.hpp
deleted file mode 100644
index cfcf62b266..0000000000
--- a/contrib/restricted/boost/boost/log/expressions/record.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file record.hpp
- * \author Andrey Semashev
- * \date 25.07.2012
- *
- * The header contains implementation of a log record placeholder in template expressions.
- */
-
-#ifndef BOOST_LOG_EXPRESSIONS_RECORD_HPP_INCLUDED_
-#define BOOST_LOG_EXPRESSIONS_RECORD_HPP_INCLUDED_
-
-#include <boost/phoenix/core/argument.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-/*!
- * Log record placeholder type in formatter template expressions.
- */
-typedef phoenix::expression::argument< 1 >::type record_type;
-
-/*!
- * Log record placeholder in formatter template expressions.
- */
-const record_type record = {};
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_EXPRESSIONS_RECORD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/auto_flush.hpp b/contrib/restricted/boost/boost/log/keywords/auto_flush.hpp
deleted file mode 100644
index 1a38f99ebe..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/auto_flush.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/auto_flush.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c auto_flush keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_AUTO_FLUSH_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_AUTO_FLUSH_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword for passing auto flush flag to a sink backend initialization
-BOOST_PARAMETER_KEYWORD(tag, auto_flush)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_AUTO_FLUSH_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/block_size.hpp b/contrib/restricted/boost/boost/log/keywords/block_size.hpp
deleted file mode 100644
index daaa91fc25..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/block_size.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file keywords/block_size.hpp
- * \author Andrey Semashev
- * \date 23.02.2016
- *
- * The header contains the \c block_size keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_BLOCK_SIZE_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_BLOCK_SIZE_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass interprocess queue name to the queue constructor
-BOOST_PARAMETER_KEYWORD(tag, block_size)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_BLOCK_SIZE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/capacity.hpp b/contrib/restricted/boost/boost/log/keywords/capacity.hpp
deleted file mode 100644
index d7b6345ce8..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/capacity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file keywords/capacity.hpp
- * \author Andrey Semashev
- * \date 23.02.2016
- *
- * The header contains the \c capacity keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_CAPACITY_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_CAPACITY_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass interprocess queue capacity to the queue constructor
-BOOST_PARAMETER_KEYWORD(tag, capacity)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_CAPACITY_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/channel.hpp b/contrib/restricted/boost/boost/log/keywords/channel.hpp
deleted file mode 100644
index fd21d7f398..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/channel.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/channel.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c channel keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_CHANNEL_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_CHANNEL_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword for passing channel name to the channel logger constructor
-BOOST_PARAMETER_KEYWORD(tag, channel)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_CHANNEL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/delimiter.hpp b/contrib/restricted/boost/boost/log/keywords/delimiter.hpp
deleted file mode 100644
index 8368e7a04a..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/delimiter.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/delimiter.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c delimiter keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_DELIMITER_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_DELIMITER_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword for passing delimiter between scopes to the \c named_scope formatter
-BOOST_PARAMETER_KEYWORD(tag, delimiter)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_DELIMITER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/depth.hpp b/contrib/restricted/boost/boost/log/keywords/depth.hpp
deleted file mode 100644
index 38febb28a7..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/depth.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/depth.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c depth keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_DEPTH_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_DEPTH_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword for passing maximum scopes depth to the \c named_scope formatter
-BOOST_PARAMETER_KEYWORD(tag, depth)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_DEPTH_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/empty_marker.hpp b/contrib/restricted/boost/boost/log/keywords/empty_marker.hpp
deleted file mode 100644
index 6f25270796..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/empty_marker.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/empty_marker.hpp
- * \author Andrey Semashev
- * \date 15.03.2014
- *
- * The header contains the \c empty_marker keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_EMPTY_MARKER_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_EMPTY_MARKER_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword for passing the marker for the empty list of scopes to the \c named_scope formatter
-BOOST_PARAMETER_KEYWORD(tag, empty_marker)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_EMPTY_MARKER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/enable_final_rotation.hpp b/contrib/restricted/boost/boost/log/keywords/enable_final_rotation.hpp
deleted file mode 100644
index f258a08108..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/enable_final_rotation.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file keywords/enable_final_rotation.hpp
- * \author Andrey Semashev
- * \date 27.11.2016
- *
- * The header contains the \c enable_final_rotation keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_ENABLE_FINAL_ROTATION_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_ENABLE_FINAL_ROTATION_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword for enabling/disabling final log file rotation on sink backend destruction
-BOOST_PARAMETER_KEYWORD(tag, enable_final_rotation)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_ENABLE_FINAL_ROTATION_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/facility.hpp b/contrib/restricted/boost/boost/log/keywords/facility.hpp
deleted file mode 100644
index 492c0c4ddd..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/facility.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/facility.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c facility keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_FACILITY_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_FACILITY_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword is used to pass syslog facility that emits log records
-BOOST_PARAMETER_KEYWORD(tag, facility)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_FACILITY_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/file_name.hpp b/contrib/restricted/boost/boost/log/keywords/file_name.hpp
deleted file mode 100644
index c61a44e730..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/file_name.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/file_name.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c file_name keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_FILE_NAME_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_FILE_NAME_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass log file name the rotating file stream methods
-BOOST_PARAMETER_KEYWORD(tag, file_name)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_FILE_NAME_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/filter.hpp b/contrib/restricted/boost/boost/log/keywords/filter.hpp
deleted file mode 100644
index aef37f4f1f..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/filter.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/filter.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c filter keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_FILTER_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_FILTER_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword for passing filters to functions
-BOOST_PARAMETER_KEYWORD(tag, filter)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_FILTER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/format.hpp b/contrib/restricted/boost/boost/log/keywords/format.hpp
deleted file mode 100644
index 76e67e8b8e..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/format.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/format.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c format keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_FORMAT_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_FORMAT_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword for passing format specifiers to functions
-BOOST_PARAMETER_KEYWORD(tag, format)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_FORMAT_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/ident.hpp b/contrib/restricted/boost/boost/log/keywords/ident.hpp
deleted file mode 100644
index a9bb80beba..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/ident.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/ident.hpp
- * \author Andrey Semashev
- * \date 22.10.2012
- *
- * The header contains the \c ident keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_IDENT_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_IDENT_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword for passing process identification string to the \c openlog call
-BOOST_PARAMETER_KEYWORD(tag, ident)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_IDENT_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/incomplete_marker.hpp b/contrib/restricted/boost/boost/log/keywords/incomplete_marker.hpp
deleted file mode 100644
index f5bab26826..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/incomplete_marker.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/incomplete_marker.hpp
- * \author Andrey Semashev
- * \date 15.03.2014
- *
- * The header contains the \c incomplete_marker keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_INCOMPLETE_MARKER_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_INCOMPLETE_MARKER_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword for passing incomplete marker for the list of scopes to the \c named_scope formatter
-BOOST_PARAMETER_KEYWORD(tag, incomplete_marker)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_INCOMPLETE_MARKER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/ip_version.hpp b/contrib/restricted/boost/boost/log/keywords/ip_version.hpp
deleted file mode 100644
index 05c77322d5..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/ip_version.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/ip_version.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c ip_version keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_IP_VERSION_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_IP_VERSION_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword is used to indicate which version of IP protocol to use
-BOOST_PARAMETER_KEYWORD(tag, ip_version)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_IP_VERSION_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/iteration.hpp b/contrib/restricted/boost/boost/log/keywords/iteration.hpp
deleted file mode 100644
index 9c8cc1b792..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/iteration.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/iteration.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c iteration keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_ITERATION_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_ITERATION_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword for passing scope iteration direction to the \c named_scope formatter
-BOOST_PARAMETER_KEYWORD(tag, iteration)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_ITERATION_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/log_name.hpp b/contrib/restricted/boost/boost/log/keywords/log_name.hpp
deleted file mode 100644
index fd8928f6b7..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/log_name.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/log_name.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c log_name keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_LOG_NAME_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_LOG_NAME_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword is used to pass event log name to a sink backend
-BOOST_PARAMETER_KEYWORD(tag, log_name)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_LOG_NAME_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/log_source.hpp b/contrib/restricted/boost/boost/log/keywords/log_source.hpp
deleted file mode 100644
index 8cc56bac7c..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/log_source.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/log_source.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c log_source keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_LOG_SOURCE_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_LOG_SOURCE_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword is used to pass event log source name to a sink backend
-BOOST_PARAMETER_KEYWORD(tag, log_source)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_LOG_SOURCE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/max_files.hpp b/contrib/restricted/boost/boost/log/keywords/max_files.hpp
deleted file mode 100644
index 5d898e31e8..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/max_files.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/max_files.hpp
- * \author Erich Keane
- * \date 29.12.2015
- *
- * The header contains the \c max_files keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_MAX_FILES_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_MAX_FILES_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to specify maximum total number of log files
-BOOST_PARAMETER_KEYWORD(tag, max_files)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_MAX_FILES_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/max_size.hpp b/contrib/restricted/boost/boost/log/keywords/max_size.hpp
deleted file mode 100644
index 947ed41c1b..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/max_size.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/max_size.hpp
- * \author Andrey Semashev
- * \date 30.06.2009
- *
- * The header contains the \c max_size keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_MAX_SIZE_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_MAX_SIZE_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to specify maximum size of the log files
-BOOST_PARAMETER_KEYWORD(tag, max_size)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_MAX_SIZE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/message_file.hpp b/contrib/restricted/boost/boost/log/keywords/message_file.hpp
deleted file mode 100644
index b2623a42e5..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/message_file.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/message_file.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c message_file keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_MESSAGE_FILE_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_MESSAGE_FILE_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword is used to pass the name of the file with event resources to the Windows Event Log backend constructor
-BOOST_PARAMETER_KEYWORD(tag, message_file)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_MESSAGE_FILE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/min_free_space.hpp b/contrib/restricted/boost/boost/log/keywords/min_free_space.hpp
deleted file mode 100644
index 8f6db9e5f0..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/min_free_space.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/min_free_space.hpp
- * \author Andrey Semashev
- * \date 30.06.2009
- *
- * The header contains the \c min_free_space keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_MIN_FREE_SPACE_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_MIN_FREE_SPACE_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to specify minimum free space on the drive
-BOOST_PARAMETER_KEYWORD(tag, min_free_space)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_MIN_FREE_SPACE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/name.hpp b/contrib/restricted/boost/boost/log/keywords/name.hpp
deleted file mode 100644
index d0f93d3d74..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/name.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file keywords/name.hpp
- * \author Andrey Semashev
- * \date 23.02.2016
- *
- * The header contains the \c name keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_NAME_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_NAME_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass interprocess queue name to the queue constructor
-BOOST_PARAMETER_KEYWORD(tag, name)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_NAME_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/open_mode.hpp b/contrib/restricted/boost/boost/log/keywords/open_mode.hpp
deleted file mode 100644
index bbbba5bbc6..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/open_mode.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/open_mode.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c open_mode keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_OPEN_MODE_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_OPEN_MODE_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass log file opening parameters to the rotating file stream methods
-BOOST_PARAMETER_KEYWORD(tag, open_mode)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_OPEN_MODE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/order.hpp b/contrib/restricted/boost/boost/log/keywords/order.hpp
deleted file mode 100644
index a95b268bfd..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/order.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/order.hpp
- * \author Andrey Semashev
- * \date 23.08.2009
- *
- * The header contains the \c order keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_ORDER_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_ORDER_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass the ordering predicate to sink frontends
-BOOST_PARAMETER_KEYWORD(tag, order)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_ORDER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/ordering_window.hpp b/contrib/restricted/boost/boost/log/keywords/ordering_window.hpp
deleted file mode 100644
index 6355f913fc..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/ordering_window.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/ordering_window.hpp
- * \author Andrey Semashev
- * \date 23.08.2009
- *
- * The header contains the \c ordering_window keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_ORDERING_WINDOW_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_ORDERING_WINDOW_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass the ordering window to sink frontends
-BOOST_PARAMETER_KEYWORD(tag, ordering_window)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_ORDERING_WINDOW_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/overflow_policy.hpp b/contrib/restricted/boost/boost/log/keywords/overflow_policy.hpp
deleted file mode 100644
index e66450d824..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/overflow_policy.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file keywords/overflow_policy.hpp
- * \author Andrey Semashev
- * \date 23.02.2016
- *
- * The header contains the \c overflow_policy keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_OVERFLOW_POLICY_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_OVERFLOW_POLICY_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass interprocess queue overflow policy to the queue constructor
-BOOST_PARAMETER_KEYWORD(tag, overflow_policy)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_OVERFLOW_POLICY_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/permissions.hpp b/contrib/restricted/boost/boost/log/keywords/permissions.hpp
deleted file mode 100644
index 4b2451a0ab..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/permissions.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file keywords/permissions.hpp
- * \author Andrey Semashev
- * \date 23.02.2016
- *
- * The header contains the \c permissions keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_PERMISSIONS_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_PERMISSIONS_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass interprocess queue permissions to the queue constructor
-BOOST_PARAMETER_KEYWORD(tag, permissions)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_PERMISSIONS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/registration.hpp b/contrib/restricted/boost/boost/log/keywords/registration.hpp
deleted file mode 100644
index 722fd3990f..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/registration.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/registration.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c registration keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_REGISTRATION_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_REGISTRATION_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword is used to pass event log source registration mode to a sink backend
-BOOST_PARAMETER_KEYWORD(tag, registration)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_REGISTRATION_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/rotation_size.hpp b/contrib/restricted/boost/boost/log/keywords/rotation_size.hpp
deleted file mode 100644
index bb0115f66b..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/rotation_size.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/rotation_size.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c rotation_size keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_ROTATION_SIZE_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_ROTATION_SIZE_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass maximum log file size to the file sink
-BOOST_PARAMETER_KEYWORD(tag, rotation_size)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_ROTATION_SIZE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/scan_method.hpp b/contrib/restricted/boost/boost/log/keywords/scan_method.hpp
deleted file mode 100644
index ad66532c93..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/scan_method.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/scan_method.hpp
- * \author Andrey Semashev
- * \date 30.06.2009
- *
- * The header contains the \c scan_method keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_SCAN_METHOD_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_SCAN_METHOD_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to specify scanning method of the stored log files
-BOOST_PARAMETER_KEYWORD(tag, scan_method)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_SCAN_METHOD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/severity.hpp b/contrib/restricted/boost/boost/log/keywords/severity.hpp
deleted file mode 100644
index 1a4bfc235a..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/severity.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/severity.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c severity keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_SEVERITY_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_SEVERITY_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword is used to pass severity level to the severity logger methods
-BOOST_PARAMETER_KEYWORD(tag, severity)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_SEVERITY_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/start_thread.hpp b/contrib/restricted/boost/boost/log/keywords/start_thread.hpp
deleted file mode 100644
index 2dd365f189..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/start_thread.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/start_thread.hpp
- * \author Andrey Semashev
- * \date 14.07.2009
- *
- * The header contains the \c start_thread keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_START_THREAD_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_START_THREAD_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows enable/disable spawning a dedicated thread in the asynchronous sink frontend
-BOOST_PARAMETER_KEYWORD(tag, start_thread)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_START_THREAD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/target.hpp b/contrib/restricted/boost/boost/log/keywords/target.hpp
deleted file mode 100644
index cc17747abb..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/target.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/target.hpp
- * \author Andrey Semashev
- * \date 21.03.2009
- *
- * The header contains the \c target keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_TARGET_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_TARGET_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass the target address to send log records to
-BOOST_PARAMETER_KEYWORD(tag, target)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_TARGET_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/time_based_rotation.hpp b/contrib/restricted/boost/boost/log/keywords/time_based_rotation.hpp
deleted file mode 100644
index dfcad0648a..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/time_based_rotation.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/time_based_rotation.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c time_based_rotation keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_TIME_BASED_ROTATION_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_TIME_BASED_ROTATION_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword allows to pass time-based file rotation predicate to the file sink backend
-BOOST_PARAMETER_KEYWORD(tag, time_based_rotation)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_TIME_BASED_ROTATION_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/keywords/use_impl.hpp b/contrib/restricted/boost/boost/log/keywords/use_impl.hpp
deleted file mode 100644
index ffbaf68bdf..0000000000
--- a/contrib/restricted/boost/boost/log/keywords/use_impl.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file keywords/use_impl.hpp
- * \author Andrey Semashev
- * \date 14.03.2009
- *
- * The header contains the \c use_impl keyword declaration.
- */
-
-#ifndef BOOST_LOG_KEYWORDS_USE_IMPL_HPP_INCLUDED_
-#define BOOST_LOG_KEYWORDS_USE_IMPL_HPP_INCLUDED_
-
-#include <boost/parameter/keyword.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace keywords {
-
-//! The keyword is used to pass the type of backend implementation to use
-BOOST_PARAMETER_KEYWORD(tag, use_impl)
-
-} // namespace keywords
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_KEYWORDS_USE_IMPL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks.hpp b/contrib/restricted/boost/boost/log/sinks.hpp
deleted file mode 100644
index d22d1c1d1e..0000000000
--- a/contrib/restricted/boost/boost/log/sinks.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file sinks.hpp
- * \author Andrey Semashev
- * \date 13.07.2009
- *
- * This header includes other Boost.Log headers with all sinks.
- */
-
-#ifndef BOOST_LOG_SINKS_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#include <boost/log/sinks/sink.hpp>
-
-#include <boost/log/sinks/unlocked_frontend.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/sinks/sync_frontend.hpp>
-#include <boost/log/sinks/async_frontend.hpp>
-#include <boost/log/sinks/unbounded_fifo_queue.hpp>
-#include <boost/log/sinks/unbounded_ordering_queue.hpp>
-#include <boost/log/sinks/bounded_fifo_queue.hpp>
-#include <boost/log/sinks/bounded_ordering_queue.hpp>
-#include <boost/log/sinks/drop_on_overflow.hpp>
-#include <boost/log/sinks/block_on_overflow.hpp>
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-#include <boost/log/sinks/syslog_backend.hpp>
-#include <boost/log/sinks/text_file_backend.hpp>
-#include <boost/log/sinks/text_ipc_message_queue_backend.hpp>
-#include <boost/log/sinks/text_multifile_backend.hpp>
-#include <boost/log/sinks/text_ostream_backend.hpp>
-#ifdef BOOST_WINDOWS
-#include <boost/log/sinks/debug_output_backend.hpp>
-#include <boost/log/sinks/event_log_backend.hpp>
-#endif // BOOST_WINDOWS
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_LOG_SINKS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/async_frontend.hpp b/contrib/restricted/boost/boost/log/sinks/async_frontend.hpp
deleted file mode 100644
index ec5371006e..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/async_frontend.hpp
+++ /dev/null
@@ -1,514 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file async_frontend.hpp
- * \author Andrey Semashev
- * \date 14.07.2009
- *
- * The header contains implementation of asynchronous sink frontend.
- */
-
-#ifndef BOOST_LOG_SINKS_ASYNC_FRONTEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_ASYNC_FRONTEND_HPP_INCLUDED_
-
-#include <exception> // std::terminate
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_LOG_NO_THREADS)
-#error Boost.Log: Asynchronous sink frontend is only supported in multithreaded environment
-#endif
-
-#include <boost/bind.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/memory_order.hpp>
-#include <boost/atomic/atomic.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/thread/locks.hpp>
-#include <boost/thread/recursive_mutex.hpp>
-#include <boost/thread/thread.hpp>
-#include <boost/thread/condition_variable.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/detail/locking_ptr.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/sinks/basic_sink_frontend.hpp>
-#include <boost/log/sinks/frontend_requirements.hpp>
-#include <boost/log/sinks/unbounded_fifo_queue.hpp>
-#include <boost/log/keywords/start_thread.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1(n, data)\
- template< typename T0 >\
- explicit asynchronous_sink(T0 const& arg0, typename boost::log::aux::enable_if_named_parameters< T0, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :\
- base_type(true),\
- queue_base_type(arg0),\
- m_pBackend(boost::make_shared< sink_backend_type >(arg0)),\
- m_StopRequested(false),\
- m_FlushRequested(false)\
- {\
- if (arg0[keywords::start_thread | true])\
- start_feeding_thread();\
- }\
- template< typename T0 >\
- explicit asynchronous_sink(shared_ptr< sink_backend_type > const& backend, T0 const& arg0) :\
- base_type(true),\
- queue_base_type(arg0),\
- m_pBackend(backend),\
- m_StopRequested(false),\
- m_FlushRequested(false)\
- {\
- if (arg0[keywords::start_thread | true])\
- start_feeding_thread();\
- }
-
-#define BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_N(n, data)\
- template< BOOST_PP_ENUM_PARAMS(n, typename T) >\
- explicit asynchronous_sink(BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& arg)) :\
- base_type(true),\
- queue_base_type((BOOST_PP_ENUM_PARAMS(n, arg))),\
- m_pBackend(boost::make_shared< sink_backend_type >(BOOST_PP_ENUM_PARAMS(n, arg))),\
- m_StopRequested(false),\
- m_FlushRequested(false)\
- {\
- if ((BOOST_PP_ENUM_PARAMS(n, arg))[keywords::start_thread | true])\
- start_feeding_thread();\
- }\
- template< BOOST_PP_ENUM_PARAMS(n, typename T) >\
- explicit asynchronous_sink(shared_ptr< sink_backend_type > const& backend, BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& arg)) :\
- base_type(true),\
- queue_base_type((BOOST_PP_ENUM_PARAMS(n, arg))),\
- m_pBackend(backend),\
- m_StopRequested(false),\
- m_FlushRequested(false)\
- {\
- if ((BOOST_PP_ENUM_PARAMS(n, arg))[keywords::start_thread | true])\
- start_feeding_thread();\
- }
-
-#define BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL(z, n, data)\
- BOOST_PP_IF(BOOST_PP_EQUAL(n, 1), BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1, BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_N)(n, data)
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \brief Asynchronous logging sink frontend
- *
- * The frontend starts a separate thread on construction. All logging records are passed
- * to the backend in this dedicated thread only.
- */
-template< typename SinkBackendT, typename QueueingStrategyT = unbounded_fifo_queue >
-class asynchronous_sink :
- public aux::make_sink_frontend_base< SinkBackendT >::type,
- public QueueingStrategyT
-{
- typedef typename aux::make_sink_frontend_base< SinkBackendT >::type base_type;
- typedef QueueingStrategyT queue_base_type;
-
-private:
- //! Backend synchronization mutex type
- typedef boost::recursive_mutex backend_mutex_type;
- //! Frontend synchronization mutex type
- typedef typename base_type::mutex_type frontend_mutex_type;
-
- //! A scope guard that implements thread ID management
- class scoped_thread_id
- {
- private:
- frontend_mutex_type& m_Mutex;
- condition_variable_any& m_Cond;
- thread::id& m_ThreadID;
- boost::atomic< bool >& m_StopRequested;
-
- public:
- //! Initializing constructor
- scoped_thread_id(frontend_mutex_type& mut, condition_variable_any& cond, thread::id& tid, boost::atomic< bool >& sr)
- : m_Mutex(mut), m_Cond(cond), m_ThreadID(tid), m_StopRequested(sr)
- {
- lock_guard< frontend_mutex_type > lock(m_Mutex);
- if (m_ThreadID != thread::id())
- BOOST_LOG_THROW_DESCR(unexpected_call, "Asynchronous sink frontend already runs a record feeding thread");
- m_ThreadID = this_thread::get_id();
- }
- //! Initializing constructor
- scoped_thread_id(unique_lock< frontend_mutex_type >& l, condition_variable_any& cond, thread::id& tid, boost::atomic< bool >& sr)
- : m_Mutex(*l.mutex()), m_Cond(cond), m_ThreadID(tid), m_StopRequested(sr)
- {
- unique_lock< frontend_mutex_type > lock(move(l));
- if (m_ThreadID != thread::id())
- BOOST_LOG_THROW_DESCR(unexpected_call, "Asynchronous sink frontend already runs a record feeding thread");
- m_ThreadID = this_thread::get_id();
- }
- //! Destructor
- ~scoped_thread_id()
- {
- try
- {
- lock_guard< frontend_mutex_type > lock(m_Mutex);
- m_StopRequested.store(false, boost::memory_order_release);
- m_ThreadID = thread::id();
- m_Cond.notify_all();
- }
- catch (...)
- {
- }
- }
-
- BOOST_DELETED_FUNCTION(scoped_thread_id(scoped_thread_id const&))
- BOOST_DELETED_FUNCTION(scoped_thread_id& operator= (scoped_thread_id const&))
- };
-
- //! A scope guard that resets a flag on destructor
- class scoped_flag
- {
- private:
- frontend_mutex_type& m_Mutex;
- condition_variable_any& m_Cond;
- boost::atomic< bool >& m_Flag;
-
- public:
- explicit scoped_flag(frontend_mutex_type& mut, condition_variable_any& cond, boost::atomic< bool >& f) :
- m_Mutex(mut), m_Cond(cond), m_Flag(f)
- {
- }
- ~scoped_flag()
- {
- try
- {
- lock_guard< frontend_mutex_type > lock(m_Mutex);
- m_Flag.store(false, boost::memory_order_release);
- m_Cond.notify_all();
- }
- catch (...)
- {
- }
- }
-
- BOOST_DELETED_FUNCTION(scoped_flag(scoped_flag const&))
- BOOST_DELETED_FUNCTION(scoped_flag& operator= (scoped_flag const&))
- };
-
-public:
- //! Sink implementation type
- typedef SinkBackendT sink_backend_type;
- //! \cond
- BOOST_STATIC_ASSERT_MSG((has_requirement< typename sink_backend_type::frontend_requirements, synchronized_feeding >::value), "Asynchronous sink frontend is incompatible with the specified backend: thread synchronization requirements are not met");
- //! \endcond
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
- //! A pointer type that locks the backend until it's destroyed
- typedef boost::log::aux::locking_ptr< sink_backend_type, backend_mutex_type > locked_backend_ptr;
-
-#else // BOOST_LOG_DOXYGEN_PASS
-
- //! A pointer type that locks the backend until it's destroyed
- typedef implementation_defined locked_backend_ptr;
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-private:
- //! Synchronization mutex
- backend_mutex_type m_BackendMutex;
- //! Pointer to the backend
- const shared_ptr< sink_backend_type > m_pBackend;
-
- //! Dedicated record feeding thread
- thread m_DedicatedFeedingThread;
- //! Feeding thread ID
- thread::id m_FeedingThreadID;
- //! Condition variable to implement blocking operations
- condition_variable_any m_BlockCond;
-
- //! The flag indicates that the feeding loop has to be stopped
- boost::atomic< bool > m_StopRequested;
- //! The flag indicates that queue flush has been requested
- boost::atomic< bool > m_FlushRequested;
-
-public:
- /*!
- * Default constructor. Constructs the sink backend instance.
- * Requires the backend to be default-constructible.
- *
- * \param start_thread If \c true, the frontend creates a thread to feed
- * log records to the backend. Otherwise no thread is
- * started and it is assumed that the user will call
- * either \c run or \c feed_records himself.
- */
- asynchronous_sink(bool start_thread = true) :
- base_type(true),
- m_pBackend(boost::make_shared< sink_backend_type >()),
- m_StopRequested(false),
- m_FlushRequested(false)
- {
- if (start_thread)
- start_feeding_thread();
- }
- /*!
- * Constructor attaches user-constructed backend instance
- *
- * \param backend Pointer to the backend instance.
- * \param start_thread If \c true, the frontend creates a thread to feed
- * log records to the backend. Otherwise no thread is
- * started and it is assumed that the user will call
- * either \c run or \c feed_records himself.
- *
- * \pre \a backend is not \c NULL.
- */
- explicit asynchronous_sink(shared_ptr< sink_backend_type > const& backend, bool start_thread = true) :
- base_type(true),
- m_pBackend(backend),
- m_StopRequested(false),
- m_FlushRequested(false)
- {
- if (start_thread)
- start_feeding_thread();
- }
-
- /*!
- * Constructor that passes arbitrary named parameters to the interprocess sink backend constructor.
- * Refer to the backend documentation for the list of supported parameters.
- *
- * The frontend uses the following named parameters:
- *
- * \li start_thread - If \c true, the frontend creates a thread to feed
- * log records to the backend. Otherwise no thread is
- * started and it is assumed that the user will call
- * either \c run or \c feed_records himself.
- */
-#ifndef BOOST_LOG_DOXYGEN_PASS
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN(BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL, ~)
-#else
- template< typename... Args >
- explicit asynchronous_sink(Args&&... args);
-#endif
-
- /*!
- * Destructor. Implicitly stops the dedicated feeding thread, if one is running.
- */
- ~asynchronous_sink() BOOST_NOEXCEPT
- {
- try
- {
- boost::this_thread::disable_interruption no_interrupts;
- stop();
- }
- catch (...)
- {
- std::terminate();
- }
- }
-
- /*!
- * Locking accessor to the attached backend
- */
- locked_backend_ptr locked_backend()
- {
- return locked_backend_ptr(m_pBackend, m_BackendMutex);
- }
-
- /*!
- * Enqueues the log record to the backend
- */
- void consume(record_view const& rec)
- {
- if (BOOST_UNLIKELY(m_FlushRequested.load(boost::memory_order_acquire)))
- {
- unique_lock< frontend_mutex_type > lock(base_type::frontend_mutex());
- // Wait until flush is done
- while (m_FlushRequested.load(boost::memory_order_acquire))
- m_BlockCond.wait(lock);
- }
- queue_base_type::enqueue(rec);
- }
-
- /*!
- * The method attempts to pass logging record to the backend
- */
- bool try_consume(record_view const& rec)
- {
- if (!m_FlushRequested.load(boost::memory_order_acquire))
- {
- return queue_base_type::try_enqueue(rec);
- }
- else
- return false;
- }
-
- /*!
- * The method starts record feeding loop and effectively blocks until either of this happens:
- *
- * \li the thread is interrupted due to either standard thread interruption or a call to \c stop
- * \li an exception is thrown while processing a log record in the backend, and the exception is
- * not terminated by the exception handler, if one is installed
- *
- * \pre The sink frontend must be constructed without spawning a dedicated thread
- */
- void run()
- {
- // First check that no other thread is running
- scoped_thread_id guard(base_type::frontend_mutex(), m_BlockCond, m_FeedingThreadID, m_StopRequested);
-
- // Now start the feeding loop
- while (true)
- {
- do_feed_records();
- if (!m_StopRequested.load(boost::memory_order_acquire))
- {
- // Block until new record is available
- record_view rec;
- if (queue_base_type::dequeue_ready(rec))
- base_type::feed_record(rec, m_BackendMutex, *m_pBackend);
- }
- else
- break;
- }
- }
-
- /*!
- * The method softly interrupts record feeding loop. This method must be called when the \c run
- * method execution has to be interrupted. Unlike regular thread interruption, calling
- * \c stop will not interrupt the record processing in the middle. Instead, the sink frontend
- * will attempt to finish its business with the record in progress and return afterwards.
- * This method can be called either if the sink was created with a dedicated thread,
- * or if the feeding loop was initiated by user.
- *
- * \note Returning from this method does not guarantee that there are no records left buffered
- * in the sink frontend. It is possible that log records keep coming during and after this
- * method is called. At some point of execution of this method log records stop being processed,
- * and all records that come after this point are put into the queue. These records will be
- * processed upon further calls to \c run or \c feed_records.
- */
- void stop()
- {
- unique_lock< frontend_mutex_type > lock(base_type::frontend_mutex());
- if (m_FeedingThreadID != thread::id() || m_DedicatedFeedingThread.joinable())
- {
- try
- {
- m_StopRequested.store(true, boost::memory_order_release);
- queue_base_type::interrupt_dequeue();
- while (m_StopRequested.load(boost::memory_order_acquire))
- m_BlockCond.wait(lock);
- }
- catch (...)
- {
- m_StopRequested.store(false, boost::memory_order_release);
- throw;
- }
-
- lock.unlock();
- m_DedicatedFeedingThread.join();
- }
- }
-
- /*!
- * The method feeds log records that may have been buffered to the backend and returns
- *
- * \pre The sink frontend must be constructed without spawning a dedicated thread
- */
- void feed_records()
- {
- // First check that no other thread is running
- scoped_thread_id guard(base_type::frontend_mutex(), m_BlockCond, m_FeedingThreadID, m_StopRequested);
-
- // Now start the feeding loop
- do_feed_records();
- }
-
- /*!
- * The method feeds all log records that may have been buffered to the backend and returns.
- * Unlike \c feed_records, in case of ordering queueing the method also feeds records
- * that were enqueued during the ordering window, attempting to empty the queue completely.
- */
- void flush()
- {
- unique_lock< frontend_mutex_type > lock(base_type::frontend_mutex());
- if (m_FeedingThreadID != thread::id() || m_DedicatedFeedingThread.joinable())
- {
- // There is already a thread feeding records, let it do the job
- m_FlushRequested.store(true, boost::memory_order_release);
- queue_base_type::interrupt_dequeue();
- while (!m_StopRequested.load(boost::memory_order_acquire) && m_FlushRequested.load(boost::memory_order_acquire))
- m_BlockCond.wait(lock);
-
- // The condition may have been signalled when the feeding thread was finishing.
- // In that case records may not have been flushed, and we do the flush ourselves.
- if (m_FeedingThreadID != thread::id())
- return;
- }
-
- m_FlushRequested.store(true, boost::memory_order_release);
-
- // Flush records ourselves. The guard releases the lock.
- scoped_thread_id guard(lock, m_BlockCond, m_FeedingThreadID, m_StopRequested);
-
- do_feed_records();
- }
-
-private:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! The method spawns record feeding thread
- void start_feeding_thread()
- {
- boost::thread(boost::bind(&asynchronous_sink::run, this)).swap(m_DedicatedFeedingThread);
- }
-
- //! The record feeding loop
- void do_feed_records()
- {
- while (!m_StopRequested.load(boost::memory_order_acquire))
- {
- record_view rec;
- bool dequeued = false;
- if (BOOST_LIKELY(!m_FlushRequested.load(boost::memory_order_acquire)))
- dequeued = queue_base_type::try_dequeue_ready(rec);
- else
- dequeued = queue_base_type::try_dequeue(rec);
-
- if (dequeued)
- base_type::feed_record(rec, m_BackendMutex, *m_pBackend);
- else
- break;
- }
-
- if (BOOST_UNLIKELY(m_FlushRequested.load(boost::memory_order_acquire)))
- {
- scoped_flag guard(base_type::frontend_mutex(), m_BlockCond, m_FlushRequested);
- base_type::flush_backend(m_BackendMutex, *m_pBackend);
- }
- }
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-#undef BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1
-#undef BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_N
-#undef BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_ASYNC_FRONTEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/attribute_mapping.hpp b/contrib/restricted/boost/boost/log/sinks/attribute_mapping.hpp
deleted file mode 100644
index 24cfe3387e..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/attribute_mapping.hpp
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_mapping.hpp
- * \author Andrey Semashev
- * \date 07.11.2008
- *
- * The header contains facilities that are used in different sinks to map attribute values
- * used throughout the application to values used with the specific native logging API.
- * These tools are mostly needed to map application severity levels on native levels,
- * required by OS-specific sink backends.
- */
-
-#ifndef BOOST_LOG_SINKS_ATTRIBUTE_MAPPING_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_ATTRIBUTE_MAPPING_HPP_INCLUDED_
-
-#include <map>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/tagged_integer.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-//! Base class for attribute mapping function objects
-template< typename MappedT >
-struct basic_mapping
-{
- //! Mapped value type
- typedef MappedT mapped_type;
- //! Result type
- typedef mapped_type result_type;
-};
-
-namespace aux {
-
- //! Attribute value visitor
- template< typename MappedT >
- struct direct_mapping_visitor
- {
- typedef void result_type;
- typedef MappedT mapped_type;
-
- explicit direct_mapping_visitor(mapped_type& extracted) :
- m_Extracted(extracted)
- {
- }
- template< typename T >
- void operator() (T const& val) const
- {
- m_Extracted = mapped_type(val);
- }
-
- private:
- mapped_type& m_Extracted;
- };
- // Specialization for the tagged integer
- template< typename IntT, typename TagT >
- struct direct_mapping_visitor< boost::log::aux::tagged_integer< IntT, TagT > >
- {
- typedef void result_type;
- typedef boost::log::aux::tagged_integer< IntT, TagT > mapped_type;
-
- explicit direct_mapping_visitor(mapped_type& extracted) :
- m_Extracted(extracted)
- {
- }
- template< typename T >
- void operator() (T const& val) const
- {
- mapped_type v = { static_cast< IntT >(val) };
- m_Extracted = v;
- }
-
- private:
- mapped_type& m_Extracted;
- };
-
-} // namespace aux
-
-/*!
- * \brief Straightforward mapping
- *
- * This type of mapping assumes that attribute with a particular name always
- * provides values that map directly onto the native values. The mapping
- * simply returns the extracted attribute value converted to the native value.
- */
-template< typename MappedT, typename AttributeValueT = int >
-class basic_direct_mapping :
- public basic_mapping< MappedT >
-{
- //! Base type
- typedef basic_direct_mapping< MappedT > base_type;
-
-public:
- //! Attribute contained value type
- typedef AttributeValueT attribute_value_type;
- //! Mapped value type
- typedef typename base_type::mapped_type mapped_type;
-
-private:
- //! Attribute name
- const attribute_name m_Name;
- //! Visitor invoker for the attribute value
- value_visitor_invoker< attribute_value_type > m_Invoker;
- //! Default native value
- mapped_type m_DefaultValue;
-
-public:
- /*!
- * Constructor
- *
- * \param name Attribute name
- * \param default_value The default native value that is returned if the attribute value is not found
- */
- explicit basic_direct_mapping(attribute_name const& name, mapped_type const& default_value) :
- m_Name(name),
- m_DefaultValue(default_value)
- {
- }
-
- /*!
- * Extraction operator
- *
- * \param rec A log record to extract value from
- * \return An extracted attribute value
- */
- mapped_type operator() (record_view const& rec) const
- {
- mapped_type res = m_DefaultValue;
- aux::direct_mapping_visitor< mapped_type > vis(res);
- m_Invoker(m_Name, rec.attribute_values(), vis);
- return res;
- }
-};
-
-/*!
- * \brief Customizable mapping
- *
- * The class allows to setup a custom mapping between an attribute and native values.
- * The mapping should be initialized similarly to the standard \c map container, by using
- * indexing operator and assignment.
- *
- * \note Unlike many other components of the library, exact type of the attribute value
- * must be specified in the template parameter \c AttributeValueT. Type sequences
- * are not supported.
- */
-template< typename MappedT, typename AttributeValueT = int >
-class basic_custom_mapping :
- public basic_mapping< MappedT >
-{
- //! Base type
- typedef basic_mapping< MappedT > base_type;
-
-public:
- //! Attribute contained value type
- typedef AttributeValueT attribute_value_type;
- //! Mapped value type
- typedef typename base_type::mapped_type mapped_type;
-
-private:
- //! \cond
-
- //! Mapping type
- typedef std::map< attribute_value_type, mapped_type > mapping_type;
- //! Smart reference class for implementing insertion into the map
- class reference_proxy;
- friend class reference_proxy;
- class reference_proxy
- {
- mapping_type& m_Mapping;
- attribute_value_type m_Key;
-
- public:
- //! Constructor
- reference_proxy(mapping_type& mapping, attribute_value_type const& key) : m_Mapping(mapping), m_Key(key) {}
- //! Insertion
- reference_proxy const& operator= (mapped_type const& val) const
- {
- m_Mapping[m_Key] = val;
- return *this;
- }
- };
-
- //! Attribute value visitor
- struct visitor;
- friend struct visitor;
- struct visitor
- {
- typedef void result_type;
-
- visitor(mapping_type const& mapping, mapped_type& extracted) :
- m_Mapping(mapping),
- m_Extracted(extracted)
- {
- }
- template< typename T >
- void operator() (T const& val) const
- {
- typename mapping_type::const_iterator it = m_Mapping.find(val);
- if (it != m_Mapping.end())
- m_Extracted = it->second;
- }
-
- private:
- mapping_type const& m_Mapping;
- mapped_type& m_Extracted;
- };
-
- //! \endcond
-
-private:
- //! Attribute name
- const attribute_name m_Name;
- //! Visitor invoker for the attribute value
- value_visitor_invoker< attribute_value_type > m_Invoker;
- //! Default native value
- mapped_type m_DefaultValue;
- //! Conversion mapping
- mapping_type m_Mapping;
-
-public:
- /*!
- * Constructor
- *
- * \param name Attribute name
- * \param default_value The default native value that is returned if the conversion cannot be performed
- */
- explicit basic_custom_mapping(attribute_name const& name, mapped_type const& default_value) :
- m_Name(name),
- m_DefaultValue(default_value)
- {
- }
- /*!
- * Extraction operator. Extracts the attribute value and attempts to map it onto
- * the native value.
- *
- * \param rec A log record to extract value from
- * \return A mapped value, if mapping was successful, or the default value if
- * mapping did not succeed.
- */
- mapped_type operator() (record_view const& rec) const
- {
- mapped_type res = m_DefaultValue;
- visitor vis(m_Mapping, res);
- m_Invoker(m_Name, rec.attribute_values(), vis);
- return res;
- }
- /*!
- * Insertion operator
- *
- * \param key Attribute value to be mapped
- * \return An object of unspecified type that allows to insert a new mapping through assignment.
- * The \a key argument becomes the key attribute value, and the assigned value becomes the
- * mapped native value.
- */
-#ifndef BOOST_LOG_DOXYGEN_PASS
- reference_proxy operator[] (attribute_value_type const& key)
-#else
- implementation_defined operator[] (attribute_value_type const& key)
-#endif
- {
- return reference_proxy(m_Mapping, key);
- }
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_ATTRIBUTE_MAPPING_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/basic_sink_backend.hpp b/contrib/restricted/boost/boost/log/sinks/basic_sink_backend.hpp
deleted file mode 100644
index d1708051a3..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/basic_sink_backend.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file basic_sink_backend.hpp
- * \author Andrey Semashev
- * \date 04.11.2007
- *
- * The header contains implementation of base classes for sink backends.
- */
-
-#ifndef BOOST_LOG_SINKS_BASIC_SINK_BACKEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_BASIC_SINK_BACKEND_HPP_INCLUDED_
-
-#include <string>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/sinks/frontend_requirements.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-/*!
- * \brief Base class for a logging sink backend
- *
- * The \c basic_sink_backend class template defines a number of types that
- * all sink backends are required to define. All sink backends have to derive from the class.
- */
-template< typename FrontendRequirementsT >
-struct basic_sink_backend
-{
- //! Frontend requirements tag
- typedef FrontendRequirementsT frontend_requirements;
-
- BOOST_DEFAULTED_FUNCTION(basic_sink_backend(), {})
-
- BOOST_DELETED_FUNCTION(basic_sink_backend(basic_sink_backend const&))
- BOOST_DELETED_FUNCTION(basic_sink_backend& operator= (basic_sink_backend const&))
-};
-
-/*!
- * \brief A base class for a logging sink backend with message formatting support
- *
- * The \c basic_formatted_sink_backend class template indicates to the frontend that
- * the backend requires logging record formatting.
- *
- * The class allows to request encoding conversion in case if the sink backend
- * requires the formatted string in some particular encoding (e.g. if underlying API
- * supports only narrow or wide characters). In order to perform conversion one
- * should specify the desired final character type in the \c TargetCharT template
- * parameter.
- */
-template<
- typename CharT,
- typename FrontendRequirementsT = synchronized_feeding
->
-struct basic_formatted_sink_backend :
- public basic_sink_backend<
- typename combine_requirements< FrontendRequirementsT, formatted_records >::type
- >
-{
-private:
- typedef basic_sink_backend<
- typename combine_requirements< FrontendRequirementsT, formatted_records >::type
- > base_type;
-
-public:
- //! Character type
- typedef CharT char_type;
- //! Formatted string type
- typedef std::basic_string< char_type > string_type;
- //! Frontend requirements
- typedef typename base_type::frontend_requirements frontend_requirements;
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_BASIC_SINK_BACKEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/basic_sink_frontend.hpp b/contrib/restricted/boost/boost/log/sinks/basic_sink_frontend.hpp
deleted file mode 100644
index 3686bc5917..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/basic_sink_frontend.hpp
+++ /dev/null
@@ -1,541 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file basic_sink_frontend.hpp
- * \author Andrey Semashev
- * \date 14.07.2009
- *
- * The header contains implementation of a base class for sink frontends.
- */
-
-#ifndef BOOST_LOG_SINKS_BASIC_SINK_FRONTEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_BASIC_SINK_FRONTEND_HPP_INCLUDED_
-
-#include <boost/mpl/bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/code_conversion.hpp>
-#include <boost/log/detail/attachable_sstream_buf.hpp>
-#include <boost/log/detail/fake_mutex.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/sinks/sink.hpp>
-#include <boost/log/sinks/frontend_requirements.hpp>
-#include <boost/log/expressions/filter.hpp>
-#include <boost/log/expressions/formatter.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/thread/exceptions.hpp>
-#include <boost/thread/tss.hpp>
-#include <boost/log/detail/locks.hpp>
-#include <boost/log/detail/light_rw_mutex.hpp>
-#endif // !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-//! A base class for a logging sink frontend
-class BOOST_LOG_NO_VTABLE basic_sink_frontend :
- public sink
-{
- //! Base type
- typedef sink base_type;
-
-public:
- //! An exception handler type
- typedef base_type::exception_handler_type exception_handler_type;
-
-#if !defined(BOOST_LOG_NO_THREADS)
-protected:
- //! Mutex type
- typedef boost::log::aux::light_rw_mutex mutex_type;
-
-private:
- //! Synchronization mutex
- mutable mutex_type m_Mutex;
-#endif
-
-private:
- //! Filter
- filter m_Filter;
- //! Exception handler
- exception_handler_type m_ExceptionHandler;
-
-public:
- /*!
- * \brief Initializing constructor
- *
- * \param cross_thread The flag indicates whether the sink passes log records between different threads
- */
- explicit basic_sink_frontend(bool cross_thread) : sink(cross_thread)
- {
- }
-
- /*!
- * The method sets sink-specific filter functional object
- */
- template< typename FunT >
- void set_filter(FunT const& filter)
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::exclusive_lock_guard< mutex_type > lock(m_Mutex);)
- m_Filter = filter;
- }
- /*!
- * The method resets the filter
- */
- void reset_filter()
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::exclusive_lock_guard< mutex_type > lock(m_Mutex);)
- m_Filter.reset();
- }
-
- /*!
- * The method sets an exception handler function
- */
- template< typename FunT >
- void set_exception_handler(FunT const& handler)
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::exclusive_lock_guard< mutex_type > lock(m_Mutex);)
- m_ExceptionHandler = handler;
- }
-
- /*!
- * The method resets the exception handler function
- */
- void reset_exception_handler()
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::exclusive_lock_guard< mutex_type > lock(m_Mutex);)
- m_ExceptionHandler.clear();
- }
-
- /*!
- * The method returns \c true if no filter is set or the attribute values pass the filter
- *
- * \param attrs A set of attribute values of a logging record
- */
- bool will_consume(attribute_value_set const& attrs)
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::shared_lock_guard< mutex_type > lock(m_Mutex);)
- try
- {
- return m_Filter(attrs);
- }
-#if !defined(BOOST_LOG_NO_THREADS)
- catch (thread_interrupted&)
- {
- throw;
- }
-#endif
- catch (...)
- {
- if (m_ExceptionHandler.empty())
- throw;
- m_ExceptionHandler();
- return false;
- }
- }
-
-protected:
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Returns reference to the frontend mutex
- mutex_type& frontend_mutex() const { return m_Mutex; }
-#endif
-
- //! Returns reference to the exception handler
- exception_handler_type& exception_handler() { return m_ExceptionHandler; }
- //! Returns reference to the exception handler
- exception_handler_type const& exception_handler() const { return m_ExceptionHandler; }
-
- //! Feeds log record to the backend
- template< typename BackendMutexT, typename BackendT >
- void feed_record(record_view const& rec, BackendMutexT& backend_mutex, BackendT& backend)
- {
- try
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::exclusive_lock_guard< BackendMutexT > lock(backend_mutex);)
- backend.consume(rec);
- }
-#if !defined(BOOST_LOG_NO_THREADS)
- catch (thread_interrupted&)
- {
- throw;
- }
-#endif
- catch (...)
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::shared_lock_guard< mutex_type > lock(m_Mutex);)
- if (m_ExceptionHandler.empty())
- throw;
- m_ExceptionHandler();
- }
- }
-
- //! Attempts to feeds log record to the backend, does not block if \a backend_mutex is locked
- template< typename BackendMutexT, typename BackendT >
- bool try_feed_record(record_view const& rec, BackendMutexT& backend_mutex, BackendT& backend)
- {
-#if !defined(BOOST_LOG_NO_THREADS)
- try
- {
- if (!backend_mutex.try_lock())
- return false;
- }
- catch (thread_interrupted&)
- {
- throw;
- }
- catch (...)
- {
- boost::log::aux::shared_lock_guard< mutex_type > frontend_lock(this->frontend_mutex());
- if (this->exception_handler().empty())
- throw;
- this->exception_handler()();
- return false;
- }
-
- boost::log::aux::exclusive_auto_unlocker< BackendMutexT > unlocker(backend_mutex);
-#endif
- // No need to lock anything in the feed_record method
- boost::log::aux::fake_mutex m;
- feed_record(rec, m, backend);
- return true;
- }
-
- //! Flushes record buffers in the backend, if one supports it
- template< typename BackendMutexT, typename BackendT >
- void flush_backend(BackendMutexT& backend_mutex, BackendT& backend)
- {
- typedef typename BackendT::frontend_requirements frontend_requirements;
- flush_backend_impl(backend_mutex, backend,
- typename has_requirement< frontend_requirements, flushing >::type());
- }
-
-private:
- //! Flushes record buffers in the backend (the actual implementation)
- template< typename BackendMutexT, typename BackendT >
- void flush_backend_impl(BackendMutexT& backend_mutex, BackendT& backend, mpl::true_)
- {
- try
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::exclusive_lock_guard< BackendMutexT > lock(backend_mutex);)
- backend.flush();
- }
-#if !defined(BOOST_LOG_NO_THREADS)
- catch (thread_interrupted&)
- {
- throw;
- }
-#endif
- catch (...)
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::shared_lock_guard< mutex_type > lock(m_Mutex);)
- if (m_ExceptionHandler.empty())
- throw;
- m_ExceptionHandler();
- }
- }
- //! Flushes record buffers in the backend (stub for backends that don't support flushing)
- template< typename BackendMutexT, typename BackendT >
- void flush_backend_impl(BackendMutexT&, BackendT&, mpl::false_)
- {
- }
-};
-
-//! A base class for a logging sink frontend with formatting support
-template< typename CharT >
-class BOOST_LOG_NO_VTABLE basic_formatting_sink_frontend :
- public basic_sink_frontend
-{
- typedef basic_sink_frontend base_type;
-
-public:
- //! Character type
- typedef CharT char_type;
- //! Formatted string type
- typedef std::basic_string< char_type > string_type;
-
- //! Formatter function object type
- typedef basic_formatter< char_type > formatter_type;
- //! Output stream type
- typedef typename formatter_type::stream_type stream_type;
-
-#if !defined(BOOST_LOG_NO_THREADS)
-protected:
- //! Mutex type
- typedef typename base_type::mutex_type mutex_type;
-#endif
-
-private:
- struct formatting_context
- {
- class cleanup_guard
- {
- private:
- formatting_context& m_context;
-
- public:
- explicit cleanup_guard(formatting_context& ctx) BOOST_NOEXCEPT : m_context(ctx)
- {
- }
-
- ~cleanup_guard()
- {
- m_context.m_FormattedRecord.clear();
- m_context.m_FormattingStream.rdbuf()->max_size(m_context.m_FormattedRecord.max_size());
- m_context.m_FormattingStream.rdbuf()->storage_overflow(false);
- m_context.m_FormattingStream.clear();
- }
-
- BOOST_DELETED_FUNCTION(cleanup_guard(cleanup_guard const&))
- BOOST_DELETED_FUNCTION(cleanup_guard& operator=(cleanup_guard const&))
- };
-
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Object version
- const unsigned int m_Version;
-#endif
- //! Formatted log record storage
- string_type m_FormattedRecord;
- //! Formatting stream
- stream_type m_FormattingStream;
- //! Formatter functor
- formatter_type m_Formatter;
-
- formatting_context() :
-#if !defined(BOOST_LOG_NO_THREADS)
- m_Version(0),
-#endif
- m_FormattingStream(m_FormattedRecord)
- {
- m_FormattingStream.exceptions(std::ios_base::badbit | std::ios_base::failbit);
- }
-#if !defined(BOOST_LOG_NO_THREADS)
- formatting_context(unsigned int version, std::locale const& loc, formatter_type const& formatter) :
- m_Version(version),
- m_FormattingStream(m_FormattedRecord),
- m_Formatter(formatter)
- {
- m_FormattingStream.exceptions(std::ios_base::badbit | std::ios_base::failbit);
- m_FormattingStream.imbue(loc);
- }
-#endif
- };
-
-private:
-#if !defined(BOOST_LOG_NO_THREADS)
-
- //! State version
- volatile unsigned int m_Version;
-
- //! Formatter functor
- formatter_type m_Formatter;
- //! Locale to perform formatting
- std::locale m_Locale;
-
- //! Formatting state
- thread_specific_ptr< formatting_context > m_pContext;
-
-#else
-
- //! Formatting state
- formatting_context m_Context;
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-public:
- /*!
- * \brief Initializing constructor
- *
- * \param cross_thread The flag indicates whether the sink passes log records between different threads
- */
- explicit basic_formatting_sink_frontend(bool cross_thread) :
- basic_sink_frontend(cross_thread)
-#if !defined(BOOST_LOG_NO_THREADS)
- , m_Version(0)
-#endif
- {
- }
-
- /*!
- * The method sets sink-specific formatter function object
- */
- template< typename FunT >
- void set_formatter(FunT const& formatter)
- {
-#if !defined(BOOST_LOG_NO_THREADS)
- boost::log::aux::exclusive_lock_guard< mutex_type > lock(this->frontend_mutex());
- m_Formatter = formatter;
- ++m_Version;
-#else
- m_Context.m_Formatter = formatter;
-#endif
- }
- /*!
- * The method resets the formatter
- */
- void reset_formatter()
- {
-#if !defined(BOOST_LOG_NO_THREADS)
- boost::log::aux::exclusive_lock_guard< mutex_type > lock(this->frontend_mutex());
- m_Formatter.reset();
- ++m_Version;
-#else
- m_Context.m_Formatter.reset();
-#endif
- }
-
- /*!
- * The method returns the current locale used for formatting
- */
- std::locale getloc() const
- {
-#if !defined(BOOST_LOG_NO_THREADS)
- boost::log::aux::exclusive_lock_guard< mutex_type > lock(this->frontend_mutex());
- return m_Locale;
-#else
- return m_Context.m_FormattingStream.getloc();
-#endif
- }
- /*!
- * The method sets the locale used for formatting
- */
- void imbue(std::locale const& loc)
- {
-#if !defined(BOOST_LOG_NO_THREADS)
- boost::log::aux::exclusive_lock_guard< mutex_type > lock(this->frontend_mutex());
- m_Locale = loc;
- ++m_Version;
-#else
- m_Context.m_FormattingStream.imbue(loc);
-#endif
- }
-
-protected:
- //! Returns reference to the formatter
- formatter_type& formatter()
- {
-#if !defined(BOOST_LOG_NO_THREADS)
- return m_Formatter;
-#else
- return m_Context.m_Formatter;
-#endif
- }
-
- //! Feeds log record to the backend
- template< typename BackendMutexT, typename BackendT >
- void feed_record(record_view const& rec, BackendMutexT& backend_mutex, BackendT& backend)
- {
- formatting_context* context;
-
-#if !defined(BOOST_LOG_NO_THREADS)
- context = m_pContext.get();
- if (!context || context->m_Version != m_Version)
- {
- {
- boost::log::aux::shared_lock_guard< mutex_type > lock(this->frontend_mutex());
- context = new formatting_context(m_Version, m_Locale, m_Formatter);
- }
- m_pContext.reset(context);
- }
-#else
- context = &m_Context;
-#endif
-
- typename formatting_context::cleanup_guard cleanup(*context);
-
- try
- {
- // Perform the formatting
- context->m_Formatter(rec, context->m_FormattingStream);
- context->m_FormattingStream.flush();
-
- // Feed the record
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::exclusive_lock_guard< BackendMutexT > lock(backend_mutex);)
- backend.consume(rec, context->m_FormattedRecord);
- }
-#if !defined(BOOST_LOG_NO_THREADS)
- catch (thread_interrupted&)
- {
- throw;
- }
-#endif
- catch (...)
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::shared_lock_guard< mutex_type > lock(this->frontend_mutex());)
- if (this->exception_handler().empty())
- throw;
- this->exception_handler()();
- }
- }
-
- //! Attempts to feeds log record to the backend, does not block if \a backend_mutex is locked
- template< typename BackendMutexT, typename BackendT >
- bool try_feed_record(record_view const& rec, BackendMutexT& backend_mutex, BackendT& backend)
- {
-#if !defined(BOOST_LOG_NO_THREADS)
- try
- {
- if (!backend_mutex.try_lock())
- return false;
- }
- catch (thread_interrupted&)
- {
- throw;
- }
- catch (...)
- {
- boost::log::aux::shared_lock_guard< mutex_type > frontend_lock(this->frontend_mutex());
- if (this->exception_handler().empty())
- throw;
- this->exception_handler()();
- return false;
- }
-
- boost::log::aux::exclusive_auto_unlocker< BackendMutexT > unlocker(backend_mutex);
-#endif
- // No need to lock anything in the feed_record method
- boost::log::aux::fake_mutex m;
- feed_record(rec, m, backend);
- return true;
- }
-};
-
-namespace aux {
-
- template<
- typename BackendT,
- bool RequiresFormattingV = has_requirement<
- typename BackendT::frontend_requirements,
- formatted_records
- >::value
- >
- struct make_sink_frontend_base
- {
- typedef basic_sink_frontend type;
- };
- template< typename BackendT >
- struct make_sink_frontend_base< BackendT, true >
- {
- typedef basic_formatting_sink_frontend< typename BackendT::char_type > type;
- };
-
-} // namespace aux
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_BASIC_SINK_FRONTEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/block_on_overflow.hpp b/contrib/restricted/boost/boost/log/sinks/block_on_overflow.hpp
deleted file mode 100644
index 5bfcda2bcd..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/block_on_overflow.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file block_on_overflow.hpp
- * \author Andrey Semashev
- * \date 04.01.2012
- *
- * The header contains implementation of \c block_on_overflow strategy for handling
- * queue overflows in bounded queues for the asynchronous sink frontend.
- */
-
-#ifndef BOOST_LOG_SINKS_BLOCK_ON_OVERFLOW_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_BLOCK_ON_OVERFLOW_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_LOG_NO_THREADS)
-#error Boost.Log: This header content is only supported in multithreaded environment
-#endif
-
-#include <boost/intrusive/options.hpp>
-#include <boost/intrusive/list.hpp>
-#include <boost/intrusive/list_hook.hpp>
-#include <boost/thread/condition_variable.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-/*!
- * \brief Blocking strategy for handling log record queue overflows
- *
- * This strategy will cause enqueueing threads to block when the
- * log record queue overflows. The blocked threads will be woken as
- * soon as there appears free space in the queue, in the same order
- * they attempted to enqueue records.
- */
-class block_on_overflow
-{
-#ifndef BOOST_LOG_DOXYGEN_PASS
-private:
- typedef intrusive::list_base_hook<
- intrusive::link_mode< intrusive::auto_unlink >
- > thread_context_hook_t;
-
- struct thread_context :
- public thread_context_hook_t
- {
- condition_variable cond;
- bool result;
-
- thread_context() : result(true) {}
- };
-
- typedef intrusive::list<
- thread_context,
- intrusive::base_hook< thread_context_hook_t >,
- intrusive::constant_time_size< false >
- > thread_contexts;
-
-private:
- //! Blocked threads
- thread_contexts m_thread_contexts;
-
-public:
- /*!
- * Default constructor.
- */
- BOOST_DEFAULTED_FUNCTION(block_on_overflow(), {})
-
- /*!
- * This method is called by the queue when overflow is detected.
- *
- * \param lock An internal lock that protects the queue
- *
- * \retval true Attempt to enqueue the record again.
- * \retval false Discard the record.
- */
- template< typename LockT >
- bool on_overflow(record_view const&, LockT& lock)
- {
- thread_context context;
- m_thread_contexts.push_back(context);
- do
- {
- context.cond.wait(lock);
- }
- while (context.is_linked());
-
- return context.result;
- }
-
- /*!
- * This method is called by the queue when there appears a free space.
- * The internal lock protecting the queue is locked when calling this method.
- */
- void on_queue_space_available()
- {
- if (!m_thread_contexts.empty())
- {
- m_thread_contexts.front().cond.notify_one();
- m_thread_contexts.pop_front();
- }
- }
-
- /*!
- * This method is called by the queue to interrupt any possible waits in \c on_overflow.
- * The internal lock protecting the queue is locked when calling this method.
- */
- void interrupt()
- {
- while (!m_thread_contexts.empty())
- {
- thread_context& context = m_thread_contexts.front();
- context.result = false;
- context.cond.notify_one();
- m_thread_contexts.pop_front();
- }
- }
-
- // Copying prohibited
- BOOST_DELETED_FUNCTION(block_on_overflow(block_on_overflow const&))
- BOOST_DELETED_FUNCTION(block_on_overflow& operator= (block_on_overflow const&))
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_BLOCK_ON_OVERFLOW_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/bounded_fifo_queue.hpp b/contrib/restricted/boost/boost/log/sinks/bounded_fifo_queue.hpp
deleted file mode 100644
index 9a82b3ad39..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/bounded_fifo_queue.hpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file bounded_fifo_queue.hpp
- * \author Andrey Semashev
- * \date 04.01.2012
- *
- * The header contains implementation of bounded FIFO queueing strategy for
- * the asynchronous sink frontend.
- */
-
-#ifndef BOOST_LOG_SINKS_BOUNDED_FIFO_QUEUE_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_BOUNDED_FIFO_QUEUE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_LOG_NO_THREADS)
-#error Boost.Log: This header content is only supported in multithreaded environment
-#endif
-
-#include <cstddef>
-#include <queue>
-#include <boost/thread/locks.hpp>
-#include <boost/thread/mutex.hpp>
-#include <boost/thread/condition_variable.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-/*!
- * \brief Bounded FIFO log record queueing strategy
- *
- * The \c bounded_fifo_queue class is intended to be used with
- * the \c asynchronous_sink frontend as a log record queueing strategy.
- *
- * This strategy describes log record queueing logic.
- * The queue has a limited capacity, upon reaching which the enqueue operation will
- * invoke the overflow handling strategy specified in the \c OverflowStrategyT
- * template parameter to handle the situation. The library provides overflow handling
- * strategies for most common cases: \c drop_on_overflow will silently discard the log record,
- * and \c block_on_overflow will put the enqueueing thread to wait until there is space
- * in the queue.
- *
- * The log record queue imposes no ordering over the queued
- * elements aside from the order in which they are enqueued.
- */
-template< std::size_t MaxQueueSizeV, typename OverflowStrategyT >
-class bounded_fifo_queue :
- private OverflowStrategyT
-{
-private:
- typedef OverflowStrategyT overflow_strategy;
- typedef std::queue< record_view > queue_type;
- typedef boost::mutex mutex_type;
-
-private:
- //! Synchronization primitive
- mutex_type m_mutex;
- //! Condition to block the consuming thread on
- condition_variable m_cond;
- //! Log record queue
- queue_type m_queue;
- //! Interruption flag
- bool m_interruption_requested;
-
-protected:
- //! Default constructor
- bounded_fifo_queue() : m_interruption_requested(false)
- {
- }
- //! Initializing constructor
- template< typename ArgsT >
- explicit bounded_fifo_queue(ArgsT const&) : m_interruption_requested(false)
- {
- }
-
- //! Enqueues log record to the queue
- void enqueue(record_view const& rec)
- {
- unique_lock< mutex_type > lock(m_mutex);
- std::size_t size = m_queue.size();
- for (; size >= MaxQueueSizeV; size = m_queue.size())
- {
- if (!overflow_strategy::on_overflow(rec, lock))
- return;
- }
-
- m_queue.push(rec);
- if (size == 0)
- m_cond.notify_one();
- }
-
- //! Attempts to enqueue log record to the queue
- bool try_enqueue(record_view const& rec)
- {
- unique_lock< mutex_type > lock(m_mutex, try_to_lock);
- if (lock.owns_lock())
- {
- const std::size_t size = m_queue.size();
-
- // Do not invoke the bounding strategy in case of overflow as it may block
- if (size < MaxQueueSizeV)
- {
- m_queue.push(rec);
- if (size == 0)
- m_cond.notify_one();
- return true;
- }
- }
-
- return false;
- }
-
- //! Attempts to dequeue a log record ready for processing from the queue, does not block if the queue is empty
- bool try_dequeue_ready(record_view& rec)
- {
- return try_dequeue(rec);
- }
-
- //! Attempts to dequeue log record from the queue, does not block if the queue is empty
- bool try_dequeue(record_view& rec)
- {
- lock_guard< mutex_type > lock(m_mutex);
- const std::size_t size = m_queue.size();
- if (size > 0)
- {
- rec.swap(m_queue.front());
- m_queue.pop();
- overflow_strategy::on_queue_space_available();
- return true;
- }
-
- return false;
- }
-
- //! Dequeues log record from the queue, blocks if the queue is empty
- bool dequeue_ready(record_view& rec)
- {
- unique_lock< mutex_type > lock(m_mutex);
-
- while (!m_interruption_requested)
- {
- const std::size_t size = m_queue.size();
- if (size > 0)
- {
- rec.swap(m_queue.front());
- m_queue.pop();
- overflow_strategy::on_queue_space_available();
- return true;
- }
- else
- {
- m_cond.wait(lock);
- }
- }
- m_interruption_requested = false;
-
- return false;
- }
-
- //! Wakes a thread possibly blocked in the \c dequeue method
- void interrupt_dequeue()
- {
- lock_guard< mutex_type > lock(m_mutex);
- m_interruption_requested = true;
- overflow_strategy::interrupt();
- m_cond.notify_one();
- }
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_BOUNDED_FIFO_QUEUE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/bounded_ordering_queue.hpp b/contrib/restricted/boost/boost/log/sinks/bounded_ordering_queue.hpp
deleted file mode 100644
index 157843f9ab..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/bounded_ordering_queue.hpp
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file bounded_ordering_queue.hpp
- * \author Andrey Semashev
- * \date 06.01.2012
- *
- * The header contains implementation of bounded ordering queueing strategy for
- * the asynchronous sink frontend.
- */
-
-#ifndef BOOST_LOG_SINKS_BOUNDED_ORDERING_QUEUE_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_BOUNDED_ORDERING_QUEUE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_LOG_NO_THREADS)
-#error Boost.Log: This header content is only supported in multithreaded environment
-#endif
-
-#include <cstddef>
-#include <queue>
-#include <vector>
-#include <boost/cstdint.hpp>
-#include <boost/thread/locks.hpp>
-#include <boost/thread/mutex.hpp>
-#include <boost/thread/condition_variable.hpp>
-#include <boost/thread/thread_time.hpp>
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-#include <boost/log/detail/timestamp.hpp>
-#include <boost/log/detail/enqueued_record.hpp>
-#include <boost/log/keywords/order.hpp>
-#include <boost/log/keywords/ordering_window.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-/*!
- * \brief Bounded ordering log record queueing strategy
- *
- * The \c bounded_ordering_queue class is intended to be used with
- * the \c asynchronous_sink frontend as a log record queueing strategy.
- *
- * This strategy provides the following properties to the record queueing mechanism:
- *
- * \li The queue has limited capacity specified by the \c MaxQueueSizeV template parameter.
- * \li Upon reaching the size limit, the queue invokes the overflow handling strategy
- * specified in the \c OverflowStrategyT template parameter to handle the situation.
- * The library provides overflow handling strategies for most common cases:
- * \c drop_on_overflow will silently discard the log record, and \c block_on_overflow
- * will put the enqueueing thread to wait until there is space in the queue.
- * \li The queue has a fixed latency window. This means that each log record put
- * into the queue will normally not be dequeued for a certain period of time.
- * \li The queue performs stable record ordering within the latency window.
- * The ordering predicate can be specified in the \c OrderT template parameter.
- */
-template< typename OrderT, std::size_t MaxQueueSizeV, typename OverflowStrategyT >
-class bounded_ordering_queue :
- private OverflowStrategyT
-{
-private:
- typedef OverflowStrategyT overflow_strategy;
- typedef boost::mutex mutex_type;
- typedef sinks::aux::enqueued_record enqueued_record;
-
- typedef std::priority_queue<
- enqueued_record,
- std::vector< enqueued_record >,
- enqueued_record::order< OrderT >
- > queue_type;
-
-private:
- //! Ordering window duration, in milliseconds
- const uint64_t m_ordering_window;
- //! Synchronization primitive
- mutex_type m_mutex;
- //! Condition to block the consuming thread on
- condition_variable m_cond;
- //! Log record queue
- queue_type m_queue;
- //! Interruption flag
- bool m_interruption_requested;
-
-public:
- /*!
- * Returns ordering window size specified during initialization
- */
- posix_time::time_duration get_ordering_window() const
- {
- return posix_time::milliseconds(m_ordering_window);
- }
-
- /*!
- * Returns default ordering window size.
- * The default window size is specific to the operating system thread scheduling mechanism.
- */
- static posix_time::time_duration get_default_ordering_window()
- {
- // The main idea behind this parameter is that the ordering window should be large enough
- // to allow the frontend to order records from different threads on an attribute
- // that contains system time. Thus this value should be:
- // * No less than the minimum time resolution quant that Boost.DateTime provides on the current OS.
- // For instance, on Windows it defaults to around 15-16 ms.
- // * No less than thread switching quant on the current OS. For now 30 ms is large enough window size to
- // switch threads on any known OS. It can be tuned for other platforms as needed.
- return posix_time::milliseconds(30);
- }
-
-protected:
- //! Initializing constructor
- template< typename ArgsT >
- explicit bounded_ordering_queue(ArgsT const& args) :
- m_ordering_window(args[keywords::ordering_window || &bounded_ordering_queue::get_default_ordering_window].total_milliseconds()),
- m_queue(args[keywords::order]),
- m_interruption_requested(false)
- {
- }
-
- //! Enqueues log record to the queue
- void enqueue(record_view const& rec)
- {
- unique_lock< mutex_type > lock(m_mutex);
- std::size_t size = m_queue.size();
- for (; size >= MaxQueueSizeV; size = m_queue.size())
- {
- if (!overflow_strategy::on_overflow(rec, lock))
- return;
- }
-
- m_queue.push(enqueued_record(rec));
- if (size == 0)
- m_cond.notify_one();
- }
-
- //! Attempts to enqueue log record to the queue
- bool try_enqueue(record_view const& rec)
- {
- unique_lock< mutex_type > lock(m_mutex, try_to_lock);
- if (lock.owns_lock())
- {
- const std::size_t size = m_queue.size();
-
- // Do not invoke the bounding strategy in case of overflow as it may block
- if (size < MaxQueueSizeV)
- {
- m_queue.push(enqueued_record(rec));
- if (size == 0)
- m_cond.notify_one();
- return true;
- }
- }
-
- return false;
- }
-
- //! Attempts to dequeue a log record ready for processing from the queue, does not block if the queue is empty
- bool try_dequeue_ready(record_view& rec)
- {
- lock_guard< mutex_type > lock(m_mutex);
- const std::size_t size = m_queue.size();
- if (size > 0)
- {
- const boost::log::aux::timestamp now = boost::log::aux::get_timestamp();
- enqueued_record const& elem = m_queue.top();
- if (static_cast< uint64_t >((now - elem.m_timestamp).milliseconds()) >= m_ordering_window)
- {
- // We got a new element
- rec = elem.m_record;
- m_queue.pop();
- overflow_strategy::on_queue_space_available();
- return true;
- }
- }
-
- return false;
- }
-
- //! Attempts to dequeue log record from the queue, does not block if the queue is empty
- bool try_dequeue(record_view& rec)
- {
- lock_guard< mutex_type > lock(m_mutex);
- const std::size_t size = m_queue.size();
- if (size > 0)
- {
- enqueued_record const& elem = m_queue.top();
- rec = elem.m_record;
- m_queue.pop();
- overflow_strategy::on_queue_space_available();
- return true;
- }
-
- return false;
- }
-
- //! Dequeues log record from the queue, blocks if the queue is empty
- bool dequeue_ready(record_view& rec)
- {
- unique_lock< mutex_type > lock(m_mutex);
-
- while (!m_interruption_requested)
- {
- const std::size_t size = m_queue.size();
- if (size > 0)
- {
- const boost::log::aux::timestamp now = boost::log::aux::get_timestamp();
- enqueued_record const& elem = m_queue.top();
- const uint64_t difference = (now - elem.m_timestamp).milliseconds();
- if (difference >= m_ordering_window)
- {
- rec = elem.m_record;
- m_queue.pop();
- overflow_strategy::on_queue_space_available();
- return true;
- }
- else
- {
- // Wait until the element becomes ready to be processed
- m_cond.timed_wait(lock, posix_time::milliseconds(m_ordering_window - difference));
- }
- }
- else
- {
- m_cond.wait(lock);
- }
- }
- m_interruption_requested = false;
-
- return false;
- }
-
- //! Wakes a thread possibly blocked in the \c dequeue method
- void interrupt_dequeue()
- {
- lock_guard< mutex_type > lock(m_mutex);
- m_interruption_requested = true;
- overflow_strategy::interrupt();
- m_cond.notify_one();
- }
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_BOUNDED_ORDERING_QUEUE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/debug_output_backend.hpp b/contrib/restricted/boost/boost/log/sinks/debug_output_backend.hpp
deleted file mode 100644
index 9feb83f4c6..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/debug_output_backend.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file debug_output_backend.hpp
- * \author Andrey Semashev
- * \date 07.11.2008
- *
- * The header contains a logging sink backend that outputs log records to the debugger.
- */
-
-#ifndef BOOST_LOG_SINKS_DEBUG_OUTPUT_BACKEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_DEBUG_OUTPUT_BACKEND_HPP_INCLUDED_
-
-#include <string>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_WITHOUT_DEBUG_OUTPUT
-
-#include <boost/log/sinks/basic_sink_backend.hpp>
-#include <boost/log/sinks/frontend_requirements.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-/*!
- * \brief An implementation of a logging sink backend that outputs to the debugger
- *
- * The sink uses Windows API in order to write log records as debug messages, if the
- * application process is run under debugger. The sink backend also provides a specific
- * filter that allows to check whether the debugger is available and thus elide unnecessary
- * formatting.
- */
-template< typename CharT >
-class basic_debug_output_backend :
- public basic_formatted_sink_backend< CharT, concurrent_feeding >
-{
- //! Base type
- typedef basic_formatted_sink_backend< CharT, concurrent_feeding > base_type;
-
-public:
- //! Character type
- typedef typename base_type::char_type char_type;
- //! String type to be used as a message text holder
- typedef typename base_type::string_type string_type;
-
-public:
- /*!
- * Constructor. Initializes the sink backend.
- */
- BOOST_LOG_API basic_debug_output_backend();
- /*!
- * Destructor
- */
- BOOST_LOG_API ~basic_debug_output_backend();
-
- /*!
- * The method passes the formatted message to debugger
- */
- BOOST_LOG_API void consume(record_view const& rec, string_type const& formatted_message);
-};
-
-#ifdef BOOST_LOG_USE_CHAR
-typedef basic_debug_output_backend< char > debug_output_backend; //!< Convenience typedef for narrow-character logging
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-typedef basic_debug_output_backend< wchar_t > wdebug_output_backend; //!< Convenience typedef for wide-character logging
-#endif
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_WITHOUT_DEBUG_OUTPUT
-
-#endif // BOOST_LOG_SINKS_DEBUG_OUTPUT_BACKEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/drop_on_overflow.hpp b/contrib/restricted/boost/boost/log/sinks/drop_on_overflow.hpp
deleted file mode 100644
index bcbbc4cf6c..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/drop_on_overflow.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file drop_on_overflow.hpp
- * \author Andrey Semashev
- * \date 04.01.2012
- *
- * The header contains implementation of \c drop_on_overflow strategy for handling
- * queue overflows in bounded queues for the asynchronous sink frontend.
- */
-
-#ifndef BOOST_LOG_SINKS_DROP_ON_OVERFLOW_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_DROP_ON_OVERFLOW_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-/*!
- * \brief Log record dropping strategy
- *
- * This strategy will cause log records to be discarded in case of
- * queue overflow in bounded asynchronous sinks. It should not be used
- * if losing log records is not acceptable.
- */
-class drop_on_overflow
-{
-#ifndef BOOST_LOG_DOXYGEN_PASS
-public:
- /*!
- * This method is called by the queue when overflow is detected.
- *
- * \retval true Attempt to enqueue the record again.
- * \retval false Discard the record.
- */
- template< typename LockT >
- static bool on_overflow(record_view const&, LockT&)
- {
- return false;
- }
-
- /*!
- * This method is called by the queue when there appears a free space.
- */
- static void on_queue_space_available()
- {
- }
-
- /*!
- * This method is called by the queue to interrupt any possible waits in \c on_overflow.
- */
- static void interrupt()
- {
- }
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_DROP_ON_OVERFLOW_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/event_log_backend.hpp b/contrib/restricted/boost/boost/log/sinks/event_log_backend.hpp
deleted file mode 100644
index 5378295160..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/event_log_backend.hpp
+++ /dev/null
@@ -1,662 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file event_log_backend.hpp
- * \author Andrey Semashev
- * \date 07.11.2008
- *
- * The header contains a logging sink backend that uses Windows NT event log API
- * for signaling application events.
- */
-
-#ifndef BOOST_LOG_SINKS_EVENT_LOG_BACKEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_EVENT_LOG_BACKEND_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_WITHOUT_EVENT_LOG
-
-#include <map>
-#include <vector>
-#include <string>
-#include <iosfwd>
-#include <boost/filesystem/path.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/keywords/message_file.hpp>
-#include <boost/log/keywords/log_name.hpp>
-#include <boost/log/keywords/log_source.hpp>
-#include <boost/log/keywords/registration.hpp>
-#include <boost/log/keywords/target.hpp>
-#include <boost/log/sinks/basic_sink_backend.hpp>
-#include <boost/log/sinks/frontend_requirements.hpp>
-#include <boost/log/sinks/attribute_mapping.hpp>
-#include <boost/log/sinks/event_log_constants.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/expressions/formatter.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-namespace event_log {
-
- //! Event log source registration modes
- enum registration_mode
- {
- never, //!< Never register event source, even if it's not registered
- on_demand, //!< Register if the source is not registered yet
- forced //!< Register always, event if the source is already registered
- };
-
- /*!
- * \brief Straightforward event type mapping
- *
- * This type of mapping assumes that attribute with a particular name always
- * provides values that map directly onto the native event types. The mapping
- * simply returns the extracted attribute value converted to the native event type.
- */
- template< typename AttributeValueT = int >
- class direct_event_type_mapping :
- public basic_direct_mapping< event_type, AttributeValueT >
- {
- //! Base type
- typedef basic_direct_mapping< event_type, AttributeValueT > base_type;
-
- public:
- /*!
- * Constructor
- *
- * \param name Attribute name
- */
- explicit direct_event_type_mapping(attribute_name const& name) :
- base_type(name, info)
- {
- }
- };
-
- /*!
- * \brief Customizable event type mapping
- *
- * The class allows to setup a custom mapping between an attribute and native event types.
- * The mapping should be initialized similarly to the standard \c map container, by using
- * indexing operator and assignment.
- */
- template< typename AttributeValueT = int >
- class custom_event_type_mapping :
- public basic_custom_mapping< event_type, AttributeValueT >
- {
- //! Base type
- typedef basic_custom_mapping< event_type, AttributeValueT > base_type;
-
- public:
- /*!
- * Constructor
- *
- * \param name Attribute name
- */
- explicit custom_event_type_mapping(attribute_name const& name) :
- base_type(name, info)
- {
- }
- };
-
- /*!
- * \brief Straightforward event ID mapping
- *
- * This type of mapping assumes that attribute with a particular name always
- * provides values that map directly onto the event identifiers. The mapping
- * simply returns the extracted attribute value converted to the event ID.
- */
- template< typename AttributeValueT = int >
- class direct_event_id_mapping :
- public basic_direct_mapping< event_id, AttributeValueT >
- {
- //! Base type
- typedef basic_direct_mapping< event_id, AttributeValueT > base_type;
-
- public:
- /*!
- * Constructor
- *
- * \param name Attribute name
- */
- explicit direct_event_id_mapping(attribute_name const& name) :
- base_type(name, make_event_id(0))
- {
- }
- };
-
- /*!
- * \brief Customizable event ID mapping
- *
- * The class allows to setup a custom mapping between an attribute and event identifiers.
- * The mapping should be initialized similarly to the standard \c map container, by using
- * indexing operator and assignment.
- */
- template< typename AttributeValueT = int >
- class custom_event_id_mapping :
- public basic_custom_mapping< event_id, AttributeValueT >
- {
- //! Base type
- typedef basic_custom_mapping< event_id, AttributeValueT > base_type;
-
- public:
- /*!
- * Constructor
- *
- * \param name Attribute name
- */
- explicit custom_event_id_mapping(attribute_name const& name) :
- base_type(name, make_event_id(0))
- {
- }
- };
-
- /*!
- * \brief Straightforward event category mapping
- *
- * This type of mapping assumes that attribute with a particular name always
- * provides values that map directly onto the event categories. The mapping
- * simply returns the extracted attribute value converted to the event category.
- */
- template< typename AttributeValueT = int >
- class direct_event_category_mapping :
- public basic_direct_mapping< event_category, AttributeValueT >
- {
- //! Base type
- typedef basic_direct_mapping< event_category, AttributeValueT > base_type;
-
- public:
- /*!
- * Constructor
- *
- * \param name Attribute name
- */
- explicit direct_event_category_mapping(attribute_name const& name) :
- base_type(name, make_event_category(0))
- {
- }
- };
-
- /*!
- * \brief Customizable event category mapping
- *
- * The class allows to setup a custom mapping between an attribute and event categories.
- * The mapping should be initialized similarly to the standard \c map container, by using
- * indexing operator and assignment.
- */
- template< typename AttributeValueT = int >
- class custom_event_category_mapping :
- public basic_custom_mapping< event_category, AttributeValueT >
- {
- //! Base type
- typedef basic_custom_mapping< event_category, AttributeValueT > base_type;
-
- public:
- /*!
- * Constructor
- *
- * \param name Attribute name
- */
- explicit custom_event_category_mapping(attribute_name const& name) :
- base_type(name, make_event_category(0))
- {
- }
- };
-
- /*!
- * \brief An event composer
- *
- * This class is a function object that extracts event identifier from the attribute values set
- * and formats insertion strings for the particular event. Each insertion string is formatted with
- * a distinct formatter, which can be created just like regular sinks formatters.
- *
- * Before using, the composer must be initialized with the following information:
- * \li Event identifier extraction logic. One can use \c basic_direct_event_id_mapping or
- * \c basic_custom_event_id_mapping classes in order to create such extractor and pass it
- * to the composer constructor.
- * \li Event identifiers and insertion string formatters. The composer provides the following
- * syntax to provide this information:
- *
- * \code
- * event_composer comp;
- * comp[MY_EVENT_ID1] % formatter1 % ... % formatterN;
- * comp[MY_EVENT_ID2] % formatter1 % ... % formatterN;
- * ...
- * \endcode
- *
- * The event identifiers in square brackets are provided by the message compiler generated
- * header (the actual names are specified in the .mc file). The formatters represent
- * the insertion strings that will be used to replace placeholders in event messages,
- * thus the number and the order of the formatters must correspond to the message definition.
- */
- template< typename CharT >
- class BOOST_LOG_API basic_event_composer
- {
- public:
- //! Character type
- typedef CharT char_type;
- //! String type to be used as a message text holder
- typedef std::basic_string< char_type > string_type;
-
- //! Event identifier mapper type
- typedef boost::log::aux::light_function< event_id (record_view const&) > event_id_mapper_type;
-
- //! Type of an insertion composer (a formatter)
- typedef basic_formatter< char_type > formatter_type;
- //! Type of the composed insertions list
- typedef std::vector< string_type > insertion_list;
-
- private:
- //! \cond
-
- //! The class that implements formatting of insertion strings
- class insertion_composer;
-
- //! Type of the events map
- typedef std::map< event_id, insertion_composer > event_map;
-
- //! A smart reference that puts formatters into the composer
- class event_map_reference;
- friend class event_map_reference;
- class event_map_reference
- {
- private:
- //! Event identifier
- event_id m_ID;
- //! A reference to the object that created the reference
- basic_event_composer< char_type >& m_Owner;
- //! A hint for the owner to optimize insertion
- insertion_composer* m_Composer;
-
- public:
- //! Initializing constructor
- explicit event_map_reference(event_id id, basic_event_composer< char_type >& owner) :
- m_ID(id),
- m_Owner(owner),
- m_Composer(0)
- {
- }
- //! The operator puts the formatter into the composer
- template< typename FormatterT >
- event_map_reference& operator% (FormatterT const& fmt)
- {
- m_Composer = m_Owner.add_formatter(m_ID, m_Composer, formatter_type(fmt));
- return *this;
- }
- };
-
- //! \endcond
-
- private:
- //! The mapper that will extract the event identifier
- event_id_mapper_type m_EventIDMapper;
- //! The map of event identifiers and their insertion composers
- event_map m_EventMap;
-
- public:
- /*!
- * Default constructor. Creates an empty map of events.
- *
- * \param id_mapper An event identifier mapping function that will be used to extract event ID from attribute values
- */
- explicit basic_event_composer(event_id_mapper_type const& id_mapper);
- /*!
- * Copy constructor. Performs a deep copy of the object.
- */
- basic_event_composer(basic_event_composer const& that);
- /*!
- * Destructor
- */
- ~basic_event_composer();
-
- /*!
- * Assignment. Provides strong exception guarantee.
- */
- basic_event_composer& operator= (basic_event_composer that);
- /*!
- * Swaps \c *this and \c that objects.
- */
- void swap(basic_event_composer& that);
- /*!
- * Initiates creation of a new event description. The result of the operator can be used to
- * add formatters for insertion strings construction. The returned reference type is implementation detail.
- *
- * \param id Event identifier.
- */
- event_map_reference operator[] (event_id id);
- /*!
- * Initiates creation of a new event description. The result of the operator can be used to
- * add formatters for insertion strings construction. The returned reference type is implementation detail.
- *
- * \param id Event identifier.
- */
- event_map_reference operator[] (int id);
- /*!
- * Event composition operator. Extracts an event identifier from the attribute values by calling event ID mapper.
- * Then runs all formatters that were registered for the event with the extracted ID. The results of formatting
- * are returned in the \a insertions parameter.
- *
- * \param rec Log record view
- * \param insertions A sequence of formatted insertion strings
- * \return An event identifier that was extracted from \c attributes
- */
- event_id operator() (record_view const& rec, insertion_list& insertions) const;
-
- private:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Adds a formatter to the insertion composers list
- insertion_composer* add_formatter(event_id id, insertion_composer* composer, formatter_type const& fmt);
-#endif // BOOST_LOG_DOXYGEN_PASS
- };
-
-#ifdef BOOST_LOG_USE_CHAR
- typedef basic_event_composer< char > event_composer; //!< Convenience typedef for narrow-character logging
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
- typedef basic_event_composer< wchar_t > wevent_composer; //!< Convenience typedef for wide-character logging
-#endif
-
-} // namespace event_log
-
-/*!
- * \brief An implementation of a simple logging sink backend that emits events into Windows NT event log
- *
- * The sink uses Windows NT 5 (Windows 2000) and later event log API to emit events
- * to an event log. The sink acts as an event source in terms of the API, it implements all needed resources
- * and source registration in the Windows registry that is needed for the event delivery.
- *
- * The backend performs message text formatting. The composed text is then passed as the first
- * and only string parameter of the event. The resource embedded into the backend describes the event
- * so that the parameter is inserted into the event description text, thus making it visible
- * in the event log.
- *
- * The backend allows to customize mapping of application severity levels to the native Windows event types.
- * This allows to write portable code even if OS-specific sinks, such as this one, are used.
- *
- * \note Since the backend registers itself into Windows registry as the resource file that contains
- * event description, it is important to keep the library binary in a stable place of the filesystem.
- * Otherwise Windows might not be able to load event resources from the library and display
- * events correctly.
- *
- * \note It is known that Windows is not able to find event resources in the application executable,
- * which is linked against the static build of the library. Users are advised to use dynamic
- * builds of the library to solve this problem.
- */
-template< typename CharT >
-class basic_simple_event_log_backend :
- public basic_formatted_sink_backend< CharT, concurrent_feeding >
-{
- //! Base type
- typedef basic_formatted_sink_backend< CharT, concurrent_feeding > base_type;
- //! Implementation type
- struct implementation;
-
-public:
- //! Character type
- typedef typename base_type::char_type char_type;
- //! String type to be used as a message text holder
- typedef typename base_type::string_type string_type;
-
- //! Mapper type for the event type
- typedef boost::log::aux::light_function< event_log::event_type (record_view const&) > event_type_mapper_type;
-
-private:
- //! Pointer to the backend implementation that hides various types from windows.h
- implementation* m_pImpl;
-
-public:
- /*!
- * Default constructor. Registers event source with name based on the application
- * executable file name in the Application log. If such a registration is already
- * present, it is not overridden.
- */
- BOOST_LOG_API basic_simple_event_log_backend();
- /*!
- * Constructor. Registers event log source with the specified parameters.
- * The following named parameters are supported:
- *
- * \li \c target - Specifies an UNC path to the remote server which log records should be sent to.
- * The local machine will be used to process log records, if not specified.
- * \li \c log_name - Specifies the log in which the source should be registered.
- * The result of \c get_default_log_name is used, if the parameter is not specified.
- * \li \c log_source - Specifies the source name. The result of \c get_default_source_name
- * is used, if the parameter is not specified.
- * \li \c registration - Specifies the event source registration mode in the Windows registry.
- * Can have values of the \c registration_mode enum. Default value: \c on_demand.
- *
- * \param args A set of named parameters.
- */
-#ifndef BOOST_LOG_DOXYGEN_PASS
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_CALL(basic_simple_event_log_backend, construct)
-#else
- template< typename... ArgsT >
- explicit basic_simple_event_log_backend(ArgsT... const& args);
-#endif
-
- /*!
- * Destructor. Unregisters event source. The log source description is not removed from the Windows registry.
- */
- BOOST_LOG_API ~basic_simple_event_log_backend();
-
- /*!
- * The method installs the function object that maps application severity levels to WinAPI event types
- */
- BOOST_LOG_API void set_event_type_mapper(event_type_mapper_type const& mapper);
-
- /*!
- * \returns Default log name: Application
- */
- BOOST_LOG_API static string_type get_default_log_name();
- /*!
- * \returns Default log source name that is based on the application executable file name and the sink name
- */
- BOOST_LOG_API static string_type get_default_source_name();
-
- /*!
- * The method puts the formatted message to the event log
- */
- BOOST_LOG_API void consume(record_view const& rec, string_type const& formatted_message);
-
-private:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Constructs backend implementation
- template< typename ArgsT >
- void construct(ArgsT const& args)
- {
- construct(
- args[keywords::target | string_type()],
- args[keywords::log_name || &basic_simple_event_log_backend::get_default_log_name],
- args[keywords::log_source || &basic_simple_event_log_backend::get_default_source_name],
- args[keywords::registration | event_log::on_demand]);
- }
- BOOST_LOG_API void construct(
- string_type const& target,
- string_type const& log_name,
- string_type const& source_name,
- event_log::registration_mode reg_mode);
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-/*!
- * \brief An implementation of a logging sink backend that emits events into Windows NT event log
- *
- * The sink uses Windows NT 5 (Windows 2000) and later event log API to emit events
- * to an event log. The sink acts as an event source. Unlike \c basic_simple_event_log_backend,
- * this sink backend allows users to specify the custom event message file and supports
- * mapping attribute values onto several insertion strings. Although it requires considerably
- * more scaffolding than the simple backend, this allows to support localizable event descriptions.
- *
- * Besides the file name of the module with event resources, the backend provides the following
- * customizations:
- * \li Remote server UNC address, log name and source name. These parameters have similar meaning
- * to \c basic_simple_event_log_backend.
- * \li Event type and category mappings. These are function object that allow to map attribute
- * values to the according event parameters. One can use mappings in the \c event_log namespace.
- * \li Event composer. This function object extracts event identifier and formats string insertions,
- * that will be used by the API to compose the final event message text.
- */
-template< typename CharT >
-class basic_event_log_backend :
- public basic_sink_backend< synchronized_feeding >
-{
- //! Base type
- typedef basic_sink_backend< synchronized_feeding > base_type;
- //! Implementation type
- struct implementation;
-
-public:
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Type of the composed insertions list
- typedef std::vector< string_type > insertion_list;
-
- //! Mapper type for the event type
- typedef boost::log::aux::light_function< event_log::event_type (record_view const&) > event_type_mapper_type;
- //! Mapper type for the event category
- typedef boost::log::aux::light_function< event_log::event_category (record_view const&) > event_category_mapper_type;
- //! Event composer type
- typedef boost::log::aux::light_function< event_log::event_id (record_view const&, insertion_list&) > event_composer_type;
-
-private:
- //! Pointer to the backend implementation that hides various types from windows.h
- implementation* m_pImpl;
-
-public:
- /*!
- * Constructor. Registers event source with name based on the application
- * executable file name in the Application log. If such a registration is already
- * present, it is not overridden.
- */
- template< typename T >
- explicit basic_event_log_backend(std::basic_string< T > const& message_file_name)
- {
- construct(keywords::message_file = message_file_name);
- }
- /*!
- * Constructor. Registers event source with name based on the application
- * executable file name in the Application log. If such a registration is already
- * present, it is not overridden.
- */
- explicit basic_event_log_backend(filesystem::path const& message_file_name)
- {
- construct(keywords::message_file = message_file_name);
- }
- /*!
- * Constructor. Registers event log source with the specified parameters.
- * The following named parameters are supported:
- *
- * \li \c message_file - Specifies the file name that contains resources that
- * describe events and categories. This parameter is mandatory unless \c registration is \c never.
- * \li \c target - Specifies an UNC path to the remote server to which log records should be sent to.
- * The local machine will be used to process log records, if not specified.
- * \li \c log_name - Specifies the log in which the source should be registered.
- * The result of \c get_default_log_name is used, if the parameter is not specified.
- * \li \c log_source - Specifies the source name. The result of \c get_default_source_name
- * is used, if the parameter is not specified.
- * \li \c registration - Specifies the event source registration mode in the Windows registry.
- * Can have values of the \c registration_mode enum. Default value: \c on_demand.
- *
- * \param args A set of named parameters.
- */
-#ifndef BOOST_LOG_DOXYGEN_PASS
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_CALL(basic_event_log_backend, construct)
-#else
- template< typename... ArgsT >
- explicit basic_event_log_backend(ArgsT... const& args);
-#endif
-
- /*!
- * Destructor. Unregisters event source. The log source description is not removed from the Windows registry.
- */
- BOOST_LOG_API ~basic_event_log_backend();
-
- /*!
- * The method creates an event in the event log
- *
- * \param rec Log record to consume
- */
- BOOST_LOG_API void consume(record_view const& rec);
-
- /*!
- * The method installs the function object that maps application severity levels to WinAPI event types
- */
- BOOST_LOG_API void set_event_type_mapper(event_type_mapper_type const& mapper);
-
- /*!
- * The method installs the function object that extracts event category from attribute values
- */
- BOOST_LOG_API void set_event_category_mapper(event_category_mapper_type const& mapper);
-
- /*!
- * The method installs the function object that extracts event identifier from the attributes and creates
- * insertion strings that will replace placeholders in the event message.
- */
- BOOST_LOG_API void set_event_composer(event_composer_type const& composer);
-
- /*!
- * \returns Default log name: Application
- */
- BOOST_LOG_API static string_type get_default_log_name();
- /*!
- * \returns Default log source name that is based on the application executable file name and the sink name
- */
- BOOST_LOG_API static string_type get_default_source_name();
-
-private:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Constructs backend implementation
- template< typename ArgsT >
- void construct(ArgsT const& args)
- {
- construct(
- filesystem::path(args[keywords::message_file | filesystem::path()]),
- args[keywords::target | string_type()],
- args[keywords::log_name || &basic_event_log_backend::get_default_log_name],
- args[keywords::log_source || &basic_event_log_backend::get_default_source_name],
- args[keywords::registration | event_log::on_demand]);
- }
- BOOST_LOG_API void construct(
- filesystem::path const& message_file_name,
- string_type const& target,
- string_type const& log_name,
- string_type const& source_name,
- event_log::registration_mode reg_mode);
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-#ifdef BOOST_LOG_USE_CHAR
-typedef basic_simple_event_log_backend< char > simple_event_log_backend; //!< Convenience typedef for narrow-character logging
-typedef basic_event_log_backend< char > event_log_backend; //!< Convenience typedef for narrow-character logging
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-typedef basic_simple_event_log_backend< wchar_t > wsimple_event_log_backend; //!< Convenience typedef for wide-character logging
-typedef basic_event_log_backend< wchar_t > wevent_log_backend; //!< Convenience typedef for wide-character logging
-#endif
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_WITHOUT_EVENT_LOG
-
-#endif // BOOST_LOG_SINKS_EVENT_LOG_BACKEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/event_log_constants.hpp b/contrib/restricted/boost/boost/log/sinks/event_log_constants.hpp
deleted file mode 100644
index 0b3f1d33b8..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/event_log_constants.hpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file event_log_constants.hpp
- * \author Andrey Semashev
- * \date 07.11.2008
- *
- * The header contains definition of constants related to Windows NT Event Log API.
- * The constants can be used in other places without the event log backend.
- */
-
-#ifndef BOOST_LOG_SINKS_EVENT_LOG_CONSTANTS_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_EVENT_LOG_CONSTANTS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_WITHOUT_EVENT_LOG
-
-#include <boost/log/detail/tagged_integer.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-namespace event_log {
-
- struct event_id_tag;
- //! A tagged integral type that represents event identifier for the Windows API
- typedef boost::log::aux::tagged_integer< unsigned int, event_id_tag > event_id;
- /*!
- * The function constructs event identifier from an integer
- */
- inline event_id make_event_id(unsigned int id)
- {
- event_id iden = { id };
- return iden;
- }
-
- struct event_category_tag;
- //! A tagged integral type that represents event category for the Windows API
- typedef boost::log::aux::tagged_integer< unsigned short, event_category_tag > event_category;
- /*!
- * The function constructs event category from an integer
- */
- inline event_category make_event_category(unsigned short cat)
- {
- event_category category = { cat };
- return category;
- }
-
- //! Windows event types
- enum event_type
- {
- success = 0, //!< Equivalent to EVENTLOG_SUCCESS
- info = 4, //!< Equivalent to EVENTLOG_INFORMATION_TYPE
- warning = 2, //!< Equivalent to EVENTLOG_WARNING_TYPE
- error = 1 //!< Equivalent to EVENTLOG_ERROR_TYPE
- };
-
- /*!
- * The function constructs log record level from an integer
- */
- BOOST_LOG_API event_type make_event_type(unsigned short lev);
-
-} // namespace event_log
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_WITHOUT_EVENT_LOG
-
-#endif // BOOST_LOG_SINKS_EVENT_LOG_CONSTANTS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/frontend_requirements.hpp b/contrib/restricted/boost/boost/log/sinks/frontend_requirements.hpp
deleted file mode 100644
index 3577ab1905..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/frontend_requirements.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file sinks/frontend_requirements.hpp
- * \author Andrey Semashev
- * \date 22.04.2007
- *
- * The header contains definition of requirement tags that sink backend may declare
- * with regard to frontends. These requirements ensure that a backend will not
- * be used with an incompatible frontend.
- */
-
-#ifndef BOOST_LOG_SINKS_FRONTEND_REQUIREMENTS_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_FRONTEND_REQUIREMENTS_HPP_INCLUDED_
-
-#include <boost/mpl/aux_/na.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/inherit.hpp>
-#include <boost/mpl/inherit_linearly.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_COMBINE_REQUIREMENTS_LIMIT
-//! The macro specifies the maximum number of requirements that can be combined with the \c combine_requirements metafunction
-#define BOOST_LOG_COMBINE_REQUIREMENTS_LIMIT 5
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-/*!
- * The sink backend expects pre-synchronized calls, all needed synchronization is implemented
- * in the frontend (IOW, only one thread is feeding records to the backend concurrently, but
- * it is possible for several threads to write sequentially). Note that if a frontend supports
- * synchronized record feeding, it will also report capable of concurrent record feeding.
- */
-struct synchronized_feeding {};
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-/*!
- * The sink backend ensures all needed synchronization, it is capable to handle multithreaded calls
- */
-struct concurrent_feeding : synchronized_feeding {};
-
-#else // !defined(BOOST_LOG_NO_THREADS)
-
-// If multithreading is disabled, threading models become redundant
-typedef synchronized_feeding concurrent_feeding;
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-/*!
- * The sink backend requires the frontend to perform log record formatting before feeding
- */
-struct formatted_records {};
-
-/*!
- * The sink backend supports flushing
- */
-struct flushing {};
-
-#ifdef BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * The metafunction combines multiple requirement tags into one type. The resulting type will
- * satisfy all specified requirements (i.e. \c has_requirement metafunction will return positive result).
- */
-template< typename... RequirementsT >
-struct combine_requirements;
-
-#else
-
-template< BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_LOG_COMBINE_REQUIREMENTS_LIMIT, typename ReqT, mpl::na) >
-struct combine_requirements :
- mpl::inherit_linearly<
- mpl::vector< BOOST_PP_ENUM_PARAMS(BOOST_LOG_COMBINE_REQUIREMENTS_LIMIT, ReqT) >,
- mpl::inherit2< mpl::_1, mpl::_2 >
- >
-{
-};
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * A helper metafunction to check if a requirement is satisfied. The \c TestedT template argument
- * should be the type combining one or several requirements and \c RequiredT is the requirement
- * to test against. The metafunction will yield a positive result if \c TestedT supports \c RequiredT.
- */
-template< typename TestedT, typename RequiredT >
-struct has_requirement :
- public is_base_of< RequiredT, TestedT >
-{
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_FRONTEND_REQUIREMENTS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/sink.hpp b/contrib/restricted/boost/boost/log/sinks/sink.hpp
deleted file mode 100644
index 2268b95d24..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/sink.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file sink.hpp
- * \author Andrey Semashev
- * \date 22.04.2007
- *
- * The header contains an interface declaration for all sinks. This interface is used by the
- * logging core to feed log records to sinks.
- */
-
-#ifndef BOOST_LOG_SINKS_SINK_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_SINK_HPP_INCLUDED_
-
-#include <string>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-//! A base class for a logging sink frontend
-class BOOST_LOG_NO_VTABLE sink
-{
-public:
- //! An exception handler type
- typedef boost::log::aux::light_function< void () > exception_handler_type;
-
-private:
- //! The flag indicates that the sink passes log records across thread boundaries
- const bool m_cross_thread;
-
-public:
- /*!
- * Default constructor
- */
- explicit sink(bool cross_thread) : m_cross_thread(cross_thread)
- {
- }
-
- /*!
- * Virtual destructor
- */
- virtual ~sink() {}
-
- /*!
- * The method returns \c true if no filter is set or the attribute values pass the filter
- *
- * \param attributes A set of attribute values of a logging record
- */
- virtual bool will_consume(attribute_value_set const& attributes) = 0;
-
- /*!
- * The method puts logging record to the sink
- *
- * \param rec Logging record to consume
- */
- virtual void consume(record_view const& rec) = 0;
-
- /*!
- * The method attempts to put logging record to the sink. The method may be used by the
- * core in order to determine the most efficient order of sinks to feed records to in
- * case of heavy contention. Sink implementations may implement try/backoff logic in
- * order to improve overall logging throughput.
- *
- * \param rec Logging record to consume
- * \return \c true, if the record was consumed, \c false, if not.
- */
- virtual bool try_consume(record_view const& rec)
- {
- consume(rec);
- return true;
- }
-
- /*!
- * The method performs flushing of any internal buffers that may hold log records. The method
- * may take considerable time to complete and may block both the calling thread and threads
- * attempting to put new records into the sink while this call is in progress.
- */
- virtual void flush() = 0;
-
- /*!
- * The method indicates that the sink passes log records between different threads. This information is
- * needed by the logging core to detach log records from all thread-specific resources before passing it
- * to the sink.
- */
- bool is_cross_thread() const BOOST_NOEXCEPT { return m_cross_thread; }
-
- BOOST_DELETED_FUNCTION(sink(sink const&))
- BOOST_DELETED_FUNCTION(sink& operator= (sink const&))
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_SINK_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/sync_frontend.hpp b/contrib/restricted/boost/boost/log/sinks/sync_frontend.hpp
deleted file mode 100644
index 6a927d0571..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/sync_frontend.hpp
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file sync_frontend.hpp
- * \author Andrey Semashev
- * \date 14.07.2009
- *
- * The header contains implementation of synchronous sink frontend.
- */
-
-#ifndef BOOST_LOG_SINKS_SYNC_FRONTEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_SYNC_FRONTEND_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_LOG_NO_THREADS)
-#error Boost.Log: Synchronous sink frontend is only supported in multithreaded environment
-#endif
-
-#include <boost/static_assert.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/thread/recursive_mutex.hpp>
-#include <boost/log/detail/locking_ptr.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/sinks/basic_sink_frontend.hpp>
-#include <boost/log/sinks/frontend_requirements.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1(n, data)\
- template< typename T0 >\
- explicit synchronous_sink(T0 const& arg0, typename boost::log::aux::enable_if_named_parameters< T0, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :\
- base_type(false),\
- m_pBackend(boost::make_shared< sink_backend_type >(arg0)) {}
-
-#define BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_N(n, data)\
- template< BOOST_PP_ENUM_PARAMS(n, typename T) >\
- explicit synchronous_sink(BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& arg)) :\
- base_type(false),\
- m_pBackend(boost::make_shared< sink_backend_type >(BOOST_PP_ENUM_PARAMS(n, arg))) {}
-
-#define BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL(z, n, data)\
- BOOST_PP_IF(BOOST_PP_EQUAL(n, 1), BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1, BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_N)(n, data)
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \brief Synchronous logging sink frontend
- *
- * The sink frontend serializes threads before passing logging records to the backend
- */
-template< typename SinkBackendT >
-class synchronous_sink :
- public aux::make_sink_frontend_base< SinkBackendT >::type
-{
- typedef typename aux::make_sink_frontend_base< SinkBackendT >::type base_type;
-
-private:
- //! Synchronization mutex type
- typedef boost::recursive_mutex backend_mutex_type;
-
-public:
- //! Sink implementation type
- typedef SinkBackendT sink_backend_type;
- //! \cond
- BOOST_STATIC_ASSERT_MSG((has_requirement< typename sink_backend_type::frontend_requirements, synchronized_feeding >::value), "Synchronous sink frontend is incompatible with the specified backend: thread synchronization requirements are not met");
- //! \endcond
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
- //! A pointer type that locks the backend until it's destroyed
- typedef boost::log::aux::locking_ptr< sink_backend_type, backend_mutex_type > locked_backend_ptr;
-
-#else // BOOST_LOG_DOXYGEN_PASS
-
- //! A pointer type that locks the backend until it's destroyed
- typedef implementation_defined locked_backend_ptr;
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-private:
- //! Synchronization mutex
- backend_mutex_type m_BackendMutex;
- //! Pointer to the backend
- const shared_ptr< sink_backend_type > m_pBackend;
-
-public:
- /*!
- * Default constructor. Constructs the sink backend instance.
- * Requires the backend to be default-constructible.
- */
- synchronous_sink() :
- base_type(false),
- m_pBackend(boost::make_shared< sink_backend_type >())
- {
- }
- /*!
- * Constructor attaches user-constructed backend instance
- *
- * \param backend Pointer to the backend instance
- *
- * \pre \a backend is not \c NULL.
- */
- explicit synchronous_sink(shared_ptr< sink_backend_type > const& backend) :
- base_type(false),
- m_pBackend(backend)
- {
- }
-
- /*!
- * Constructor that passes arbitrary named parameters to the interprocess sink backend constructor.
- * Refer to the backend documentation for the list of supported parameters.
- */
-#ifndef BOOST_LOG_DOXYGEN_PASS
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN(BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL, ~)
-#else
- template< typename... Args >
- explicit synchronous_sink(Args&&... args);
-#endif
-
- /*!
- * Locking accessor to the attached backend
- */
- locked_backend_ptr locked_backend()
- {
- return locked_backend_ptr(m_pBackend, m_BackendMutex);
- }
-
- /*!
- * Passes the log record to the backend
- */
- void consume(record_view const& rec)
- {
- base_type::feed_record(rec, m_BackendMutex, *m_pBackend);
- }
-
- /*!
- * The method attempts to pass logging record to the backend
- */
- bool try_consume(record_view const& rec)
- {
- return base_type::try_feed_record(rec, m_BackendMutex, *m_pBackend);
- }
-
- /*!
- * The method performs flushing of any internal buffers that may hold log records. The method
- * may take considerable time to complete and may block both the calling thread and threads
- * attempting to put new records into the sink while this call is in progress.
- */
- void flush()
- {
- base_type::flush_backend(m_BackendMutex, *m_pBackend);
- }
-};
-
-#undef BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1
-#undef BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_N
-#undef BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_SYNC_FRONTEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/syslog_backend.hpp b/contrib/restricted/boost/boost/log/sinks/syslog_backend.hpp
deleted file mode 100644
index 7424931189..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/syslog_backend.hpp
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file syslog_backend.hpp
- * \author Andrey Semashev
- * \date 08.01.2008
- *
- * The header contains implementation of a Syslog sink backend along with its setup facilities.
- */
-
-#ifndef BOOST_LOG_SINKS_SYSLOG_BACKEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_SYSLOG_BACKEND_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_WITHOUT_SYSLOG
-
-#include <string>
-#include <boost/log/detail/asio_fwd.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/sinks/basic_sink_backend.hpp>
-#include <boost/log/sinks/syslog_constants.hpp>
-#include <boost/log/sinks/attribute_mapping.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/keywords/facility.hpp>
-#include <boost/log/keywords/use_impl.hpp>
-#include <boost/log/keywords/ident.hpp>
-#include <boost/log/keywords/ip_version.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-//! Supported IP protocol versions
-enum ip_versions
-{
- v4,
- v6
-};
-
-namespace syslog {
-
- //! The enumeration defined the possible implementation types for the syslog backend
- enum impl_types
- {
-#ifdef BOOST_LOG_USE_NATIVE_SYSLOG
- native = 0 //!< Use native syslog API
-#ifndef BOOST_LOG_NO_ASIO
- ,
-#endif
-#endif
-#ifndef BOOST_LOG_NO_ASIO
- udp_socket_based = 1 //!< Use UDP sockets, according to RFC3164
-#endif
- };
-
- /*!
- * \brief Straightforward severity level mapping
- *
- * This type of mapping assumes that attribute with a particular name always
- * provides values that map directly onto the Syslog levels. The mapping
- * simply returns the extracted attribute value converted to the Syslog severity level.
- */
- template< typename AttributeValueT = int >
- class direct_severity_mapping :
- public basic_direct_mapping< level, AttributeValueT >
- {
- //! Base type
- typedef basic_direct_mapping< level, AttributeValueT > base_type;
-
- public:
- /*!
- * Constructor
- *
- * \param name Attribute name
- */
- explicit direct_severity_mapping(attribute_name const& name) :
- base_type(name, info)
- {
- }
- };
-
- /*!
- * \brief Customizable severity level mapping
- *
- * The class allows to setup a custom mapping between an attribute and Syslog severity levels.
- * The mapping should be initialized similarly to the standard \c map container, by using
- * indexing operator and assignment.
- */
- template< typename AttributeValueT = int >
- class custom_severity_mapping :
- public basic_custom_mapping< level, AttributeValueT >
- {
- //! Base type
- typedef basic_custom_mapping< level, AttributeValueT > base_type;
-
- public:
- /*!
- * Constructor
- *
- * \param name Attribute name
- */
- explicit custom_severity_mapping(attribute_name const& name) :
- base_type(name, info)
- {
- }
- };
-
-} // namespace syslog
-
-/*!
- * \brief An implementation of a syslog sink backend
- *
- * The backend provides support for the syslog protocol, defined in RFC3164.
- * The backend sends log records to a remote host via UDP. The host name can
- * be specified by calling the \c set_target_address method. By default log
- * records will be sent to localhost:514. The local address can be specified
- * as well, by calling the \c set_local_address method. By default syslog
- * packets will be sent from any local address available.
- *
- * It is safe to create several sink backends with the same local addresses -
- * the backends within the process will share the same socket. The same applies
- * to different processes that use the syslog backends to send records from
- * the same socket. However, it is not guaranteed to work if some third party
- * facility is using the socket.
- *
- * On systems with native syslog implementation it may be preferable to utilize
- * the POSIX syslog API instead of direct socket management in order to bypass
- * possible security limitations that may be in action. To do so one has to pass
- * the <tt>use_impl = native</tt> to the backend constructor. Note, however,
- * that in that case you will only have one chance to specify syslog facility and
- * process identification string - on the first native syslog backend construction.
- * Other native syslog backends will ignore these parameters.
- * Obviously, the \c set_local_address and \c set_target_address
- * methods have no effect for native backends. Using <tt>use_impl = native</tt>
- * on platforms with no native support for POSIX syslog API will have no effect.
- */
-class syslog_backend :
- public basic_formatted_sink_backend< char >
-{
- //! Base type
- typedef basic_formatted_sink_backend< char > base_type;
- //! Implementation type
- struct implementation;
-
-public:
- //! Character type
- typedef base_type::char_type char_type;
- //! String type that is used to pass message test
- typedef base_type::string_type string_type;
-
- //! Syslog severity level mapper type
- typedef boost::log::aux::light_function< syslog::level (record_view const&) > severity_mapper_type;
-
-private:
- //! Pointer to the implementation
- implementation* m_pImpl;
-
-public:
- /*!
- * Constructor. Creates a UDP socket-based backend with <tt>syslog::user</tt> facility code.
- * IPv4 protocol will be used.
- */
- BOOST_LOG_API syslog_backend();
- /*!
- * Constructor. Creates a sink backend with the specified named parameters.
- * The following named parameters are supported:
- *
- * \li \c facility - Specifies the facility code. If not specified, <tt>syslog::user</tt> will be used.
- * \li \c use_impl - Specifies the backend implementation. Can be one of:
- * \li \c native - Use the native syslog API, if available. If no native API
- * is available, it is equivalent to \c udp_socket_based.
- * \li \c udp_socket_based - Use the UDP socket-based implementation, conforming to
- * RFC3164 protocol specification. This is the default.
- * \li \c ip_version - Specifies IP protocol version to use, in case if socket-based implementation
- * is used. Can be either \c v4 (the default one) or \c v6.
- * \li \c ident - Process identification string. This parameter is only supported by native syslog implementation.
- */
-#ifndef BOOST_LOG_DOXYGEN_PASS
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_CALL(syslog_backend, construct)
-#else
- template< typename... ArgsT >
- explicit syslog_backend(ArgsT... const& args);
-#endif
-
- /*!
- * Destructor
- */
- BOOST_LOG_API ~syslog_backend();
-
- /*!
- * The method installs the function object that maps application severity levels to syslog levels
- */
- BOOST_LOG_API void set_severity_mapper(severity_mapper_type const& mapper);
-
-#if !defined(BOOST_LOG_NO_ASIO)
-
- /*!
- * The method sets the local host name which log records will be sent from. The host name
- * is resolved to obtain the final IP address.
- *
- * \note Does not have effect if the backend was constructed to use native syslog API
- *
- * \param addr The local address
- * \param port The local port number
- */
- BOOST_LOG_API void set_local_address(std::string const& addr, unsigned short port = 514);
- /*!
- * The method sets the local address which log records will be sent from.
- *
- * \note Does not have effect if the backend was constructed to use native syslog API
- *
- * \param addr The local address
- * \param port The local port number
- */
- BOOST_LOG_API void set_local_address(boost::asio::ip::address const& addr, unsigned short port = 514);
-
- /*!
- * The method sets the remote host name where log records will be sent to. The host name
- * is resolved to obtain the final IP address.
- *
- * \note Does not have effect if the backend was constructed to use native syslog API
- *
- * \param addr The remote host address
- * \param port The port number on the remote host
- */
- BOOST_LOG_API void set_target_address(std::string const& addr, unsigned short port = 514);
- /*!
- * The method sets the address of the remote host where log records will be sent to.
- *
- * \note Does not have effect if the backend was constructed to use native syslog API
- *
- * \param addr The remote host address
- * \param port The port number on the remote host
- */
- BOOST_LOG_API void set_target_address(boost::asio::ip::address const& addr, unsigned short port = 514);
-
-#endif // !defined(BOOST_LOG_NO_ASIO)
-
- /*!
- * The method passes the formatted message to the syslog API or sends to a syslog server
- */
- BOOST_LOG_API void consume(record_view const& rec, string_type const& formatted_message);
-
-private:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! The method creates the backend implementation
- template< typename ArgsT >
- void construct(ArgsT const& args)
- {
- construct(
- args[keywords::facility | syslog::user],
-#if !defined(BOOST_LOG_NO_ASIO)
- args[keywords::use_impl | syslog::udp_socket_based],
-#else
- args[keywords::use_impl | syslog::native],
-#endif
- args[keywords::ip_version | v4],
- args[keywords::ident | std::string()]);
- }
- BOOST_LOG_API void construct(
- syslog::facility facility, syslog::impl_types use_impl, ip_versions ip_version, std::string const& ident);
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_WITHOUT_SYSLOG
-
-#endif // BOOST_LOG_SINKS_SYSLOG_BACKEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/syslog_constants.hpp b/contrib/restricted/boost/boost/log/sinks/syslog_constants.hpp
deleted file mode 100644
index 7997110835..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/syslog_constants.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file syslog_constants.hpp
- * \author Andrey Semashev
- * \date 08.01.2008
- *
- * The header contains definition of constants related to Syslog API. The constants can be
- * used in other places without the Syslog backend.
- */
-
-#ifndef BOOST_LOG_SINKS_SYSLOG_CONSTANTS_HPP_INCLUDED_HPP_
-#define BOOST_LOG_SINKS_SYSLOG_CONSTANTS_HPP_INCLUDED_HPP_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_WITHOUT_SYSLOG
-
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-namespace syslog {
-
- //! Syslog record levels
- enum level
- {
- emergency = 0, //!< Equivalent to LOG_EMERG in syslog API
- alert = 1, //!< Equivalent to LOG_ALERT in syslog API
- critical = 2, //!< Equivalent to LOG_CRIT in syslog API
- error = 3, //!< Equivalent to LOG_ERROR in syslog API
- warning = 4, //!< Equivalent to LOG_WARNING in syslog API
- notice = 5, //!< Equivalent to LOG_NOTICE in syslog API
- info = 6, //!< Equivalent to LOG_INFO in syslog API
- debug = 7 //!< Equivalent to LOG_DEBUG in syslog API
- };
-
- /*!
- * The function constructs log record level from an integer
- */
- BOOST_LOG_API level make_level(int lev);
-
- //! Syslog facility codes
- enum facility
- {
- kernel = 0 * 8, //!< Kernel messages
- user = 1 * 8, //!< User-level messages. Equivalent to LOG_USER in syslog API.
- mail = 2 * 8, //!< Mail system messages. Equivalent to LOG_MAIL in syslog API.
- daemon = 3 * 8, //!< System daemons. Equivalent to LOG_DAEMON in syslog API.
- security0 = 4 * 8, //!< Security/authorization messages
- syslogd = 5 * 8, //!< Messages from the syslogd daemon. Equivalent to LOG_SYSLOG in syslog API.
- printer = 6 * 8, //!< Line printer subsystem. Equivalent to LOG_LPR in syslog API.
- news = 7 * 8, //!< Network news subsystem. Equivalent to LOG_NEWS in syslog API.
- uucp = 8 * 8, //!< Messages from UUCP subsystem. Equivalent to LOG_UUCP in syslog API.
- clock0 = 9 * 8, //!< Messages from the clock daemon
- security1 = 10 * 8, //!< Security/authorization messages
- ftp = 11 * 8, //!< Messages from FTP daemon
- ntp = 12 * 8, //!< Messages from NTP daemon
- log_audit = 13 * 8, //!< Security/authorization messages
- log_alert = 14 * 8, //!< Security/authorization messages
- clock1 = 15 * 8, //!< Messages from the clock daemon
- local0 = 16 * 8, //!< For local use. Equivalent to LOG_LOCAL0 in syslog API
- local1 = 17 * 8, //!< For local use. Equivalent to LOG_LOCAL1 in syslog API
- local2 = 18 * 8, //!< For local use. Equivalent to LOG_LOCAL2 in syslog API
- local3 = 19 * 8, //!< For local use. Equivalent to LOG_LOCAL3 in syslog API
- local4 = 20 * 8, //!< For local use. Equivalent to LOG_LOCAL4 in syslog API
- local5 = 21 * 8, //!< For local use. Equivalent to LOG_LOCAL5 in syslog API
- local6 = 22 * 8, //!< For local use. Equivalent to LOG_LOCAL6 in syslog API
- local7 = 23 * 8 //!< For local use. Equivalent to LOG_LOCAL7 in syslog API
- };
-
- /*!
- * The function constructs log source facility from an integer
- */
- BOOST_LOG_API facility make_facility(int fac);
-
-} // namespace syslog
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_WITHOUT_SYSLOG
-
-#endif // BOOST_LOG_SINKS_SYSLOG_CONSTANTS_HPP_INCLUDED_HPP_
diff --git a/contrib/restricted/boost/boost/log/sinks/text_file_backend.hpp b/contrib/restricted/boost/boost/log/sinks/text_file_backend.hpp
deleted file mode 100644
index 899b5c49bc..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/text_file_backend.hpp
+++ /dev/null
@@ -1,575 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file text_file_backend.hpp
- * \author Andrey Semashev
- * \date 09.06.2009
- *
- * The header contains implementation of a text file sink backend.
- */
-
-#ifndef BOOST_LOG_SINKS_TEXT_FILE_BACKEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_TEXT_FILE_BACKEND_HPP_INCLUDED_
-
-#include <ios>
-#include <string>
-#include <ostream>
-#include <boost/limits.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/date_time/date_defs.hpp>
-#include <boost/date_time/special_defs.hpp>
-#include <boost/date_time/gregorian/greg_day.hpp>
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-#include <boost/filesystem/path.hpp>
-#include <boost/log/keywords/max_size.hpp>
-#include <boost/log/keywords/max_files.hpp>
-#include <boost/log/keywords/min_free_space.hpp>
-#include <boost/log/keywords/target.hpp>
-#include <boost/log/keywords/file_name.hpp>
-#include <boost/log/keywords/open_mode.hpp>
-#include <boost/log/keywords/auto_flush.hpp>
-#include <boost/log/keywords/rotation_size.hpp>
-#include <boost/log/keywords/time_based_rotation.hpp>
-#include <boost/log/keywords/enable_final_rotation.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/sinks/basic_sink_backend.hpp>
-#include <boost/log/sinks/frontend_requirements.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-namespace file {
-
-//! The enumeration of the stored files scan methods
-enum scan_method
-{
- no_scan, //!< Don't scan for stored files
- scan_matching, //!< Scan for files with names matching the specified mask
- scan_all //!< Scan for all files in the directory
-};
-
-/*!
- * \brief Base class for file collectors
- *
- * All file collectors, supported by file sink backends, should inherit this class.
- */
-struct BOOST_LOG_NO_VTABLE collector
-{
- /*!
- * Default constructor
- */
- BOOST_DEFAULTED_FUNCTION(collector(), {})
-
- /*!
- * Virtual destructor
- */
- virtual ~collector() {}
-
- /*!
- * The function stores the specified file in the storage. May lead to an older file
- * deletion and a long file moving.
- *
- * \param src_path The name of the file to be stored
- */
- virtual void store_file(filesystem::path const& src_path) = 0;
-
- /*!
- * Scans the target directory for the files that have already been stored. The found
- * files are added to the collector in order to be tracked and erased, if needed.
- *
- * The function may scan the directory in two ways: it will either consider every
- * file in the directory a log file, or will only consider files with names that
- * match the specified pattern. The pattern may contain the following placeholders:
- *
- * \li %y, %Y, %m, %d - date components, in Boost.DateTime meaning.
- * \li %H, %M, %S, %f - time components, in Boost.DateTime meaning.
- * \li %N - numeric file counter. May also contain width specification
- * in printf-compatible form (e.g. %5N). The resulting number will always be zero-filled.
- * \li %% - a percent sign
- *
- * All other placeholders are not supported.
- *
- * \param method The method of scanning. If \c no_scan is specified, the call has no effect.
- * \param pattern The file name pattern if \a method is \c scan_matching. Otherwise the parameter
- * is not used.
- * \param counter If not \c NULL and \a method is \c scan_matching, the method suggests initial value
- * of a file counter that may be used in the file name pattern. The parameter
- * is not used otherwise.
- * \return The number of found files.
- *
- * \note In case if \a method is \c scan_matching the effect of this function is highly dependent
- * on the \a pattern definition. It is recommended to choose patterns with easily
- * distinguished placeholders (i.e. having delimiters between them). Otherwise
- * either some files can be mistakenly found or not found, which in turn may lead
- * to an incorrect file deletion.
- */
- virtual uintmax_t scan_for_files(
- scan_method method, filesystem::path const& pattern = filesystem::path(), unsigned int* counter = 0) = 0;
-
- BOOST_DELETED_FUNCTION(collector(collector const&))
- BOOST_DELETED_FUNCTION(collector& operator= (collector const&))
-};
-
-namespace aux {
-
- //! Creates and returns a file collector with the specified parameters
- BOOST_LOG_API shared_ptr< collector > make_collector(
- filesystem::path const& target_dir,
- uintmax_t max_size,
- uintmax_t min_free_space,
- uintmax_t max_files = (std::numeric_limits< uintmax_t >::max)()
- );
- template< typename ArgsT >
- inline shared_ptr< collector > make_collector(ArgsT const& args)
- {
- return aux::make_collector(
- filesystem::path(args[keywords::target]),
- args[keywords::max_size | (std::numeric_limits< uintmax_t >::max)()],
- args[keywords::min_free_space | static_cast< uintmax_t >(0)],
- args[keywords::max_files | (std::numeric_limits< uintmax_t >::max)()]);
- }
-
-} // namespace aux
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-template< typename T1 >
-inline shared_ptr< collector > make_collector(T1 const& a1)
-{
- return aux::make_collector(a1);
-}
-template< typename T1, typename T2 >
-inline shared_ptr< collector > make_collector(T1 const& a1, T2 const& a2)
-{
- return aux::make_collector((a1, a2));
-}
-template< typename T1, typename T2, typename T3 >
-inline shared_ptr< collector > make_collector(T1 const& a1, T2 const& a2, T3 const& a3)
-{
- return aux::make_collector((a1, a2, a3));
-}
-template< typename T1, typename T2, typename T3, typename T4 >
-inline shared_ptr< collector > make_collector(T1 const& a1, T2 const& a2, T3 const& a3, T4 const& a4)
-{
- return aux::make_collector((a1, a2, a3, a4));
-}
-
-#else
-
-/*!
- * The function creates a file collector for the specified target directory.
- * Each target directory is managed by a single file collector, so if
- * this function is called several times for the same directory,
- * it will return a reference to the same file collector. It is safe
- * to use the same collector in different sinks, even in a multithreaded
- * application.
- *
- * One can specify certain restrictions for the stored files, such as
- * maximum total size or minimum free space left in the target directory.
- * If any of the specified restrictions is not met, the oldest stored file
- * is deleted. If the same collector is requested more than once with
- * different restrictions, the collector will act according to the most strict
- * combination of all specified restrictions.
- *
- * The following named parameters are supported:
- *
- * \li \c target - Specifies the target directory for the files being stored in. This parameter
- * is mandatory.
- * \li \c max_size - Specifies the maximum total size, in bytes, of stored files that the collector
- * will try not to exceed. If the size exceeds this threshold the oldest file(s) is
- * deleted to free space. Note that the threshold may be exceeded if the size of
- * individual files exceed the \c max_size value. The threshold is not maintained,
- * if not specified.
- * \li \c min_free_space - Specifies the minimum free space, in bytes, in the target directory that
- * the collector tries to maintain. If the threshold is exceeded, the oldest
- * file(s) is deleted to free space. The threshold is not maintained, if not
- * specified.
- * \li \c max_files - Specifies the maximum number of log files stored. If the number of files exceeds
- * this threshold, the oldest file(s) is deleted to free space. The threshhold is
- * not maintained if not specified.
- *
- * \return The file collector.
- */
-template< typename... ArgsT >
-shared_ptr< collector > make_collector(ArgsT... const& args);
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * The class represents the time point of log file rotation. One can specify one of three
- * types of time point based rotation:
- *
- * \li rotation takes place every day, at the specified time
- * \li rotation takes place on the specified day of every week, at the specified time
- * \li rotation takes place on the specified day of every month, at the specified time
- *
- * The time points are considered to be local time.
- */
-class rotation_at_time_point
-{
-public:
- typedef bool result_type;
-
-private:
- enum day_kind
- {
- not_specified,
- weekday,
- monthday
- };
-
- day_kind m_DayKind : 2;
- unsigned char m_Day : 6;
- unsigned char m_Hour, m_Minute, m_Second;
-
- mutable posix_time::ptime m_Previous;
-
-public:
- /*!
- * Creates a rotation time point of every day at the specified time
- *
- * \param hour The rotation hour, should be within 0 and 23
- * \param minute The rotation minute, should be within 0 and 59
- * \param second The rotation second, should be within 0 and 59
- */
- BOOST_LOG_API explicit rotation_at_time_point(unsigned char hour, unsigned char minute, unsigned char second);
-
- /*!
- * Creates a rotation time point of each specified weekday at the specified time
- *
- * \param wday The weekday of the rotation
- * \param hour The rotation hour, should be within 0 and 23
- * \param minute The rotation minute, should be within 0 and 59
- * \param second The rotation second, should be within 0 and 59
- */
- BOOST_LOG_API explicit rotation_at_time_point(
- date_time::weekdays wday,
- unsigned char hour = 0,
- unsigned char minute = 0,
- unsigned char second = 0);
-
- /*!
- * Creates a rotation time point of each specified day of month at the specified time
- *
- * \param mday The monthday of the rotation, should be within 1 and 31
- * \param hour The rotation hour, should be within 0 and 23
- * \param minute The rotation minute, should be within 0 and 59
- * \param second The rotation second, should be within 0 and 59
- */
- BOOST_LOG_API explicit rotation_at_time_point(
- gregorian::greg_day mday,
- unsigned char hour = 0,
- unsigned char minute = 0,
- unsigned char second = 0);
-
- /*!
- * Checks if it's time to rotate the file
- */
- BOOST_LOG_API bool operator() () const;
-};
-
-/*!
- * The class represents the time interval of log file rotation. The log file will be rotated
- * after the specified time interval has passed.
- */
-class rotation_at_time_interval
-{
-public:
- typedef bool result_type;
-
-private:
- posix_time::time_duration m_Interval;
- mutable posix_time::ptime m_Previous;
-
-public:
- /*!
- * Creates a rotation time interval of the specified duration
- *
- * \param interval The interval of the rotation, should be no less than 1 second
- */
- explicit rotation_at_time_interval(posix_time::time_duration const& interval) :
- m_Interval(interval)
- {
- BOOST_ASSERT(!interval.is_special());
- BOOST_ASSERT(interval.total_seconds() > 0);
- }
-
- /*!
- * Checks if it's time to rotate the file
- */
- BOOST_LOG_API bool operator() () const;
-};
-
-} // namespace file
-
-
-/*!
- * \brief An implementation of a text file logging sink backend
- *
- * The sink backend puts formatted log records to a text file.
- * The sink supports file rotation and advanced file control, such as
- * size and file count restriction.
- */
-class text_file_backend :
- public basic_formatted_sink_backend<
- char,
- combine_requirements< synchronized_feeding, flushing >::type
- >
-{
- //! Base type
- typedef basic_formatted_sink_backend<
- char,
- combine_requirements< synchronized_feeding, flushing >::type
- > base_type;
-
-public:
- //! Character type
- typedef base_type::char_type char_type;
- //! String type to be used as a message text holder
- typedef base_type::string_type string_type;
- //! Stream type
- typedef std::basic_ostream< char_type > stream_type;
-
- //! File open handler
- typedef boost::log::aux::light_function< void (stream_type&) > open_handler_type;
- //! File close handler
- typedef boost::log::aux::light_function< void (stream_type&) > close_handler_type;
-
- //! Predicate that defines the time-based condition for file rotation
- typedef boost::log::aux::light_function< bool () > time_based_rotation_predicate;
-
-private:
- //! \cond
-
- struct implementation;
- implementation* m_pImpl;
-
- //! \endcond
-
-public:
- /*!
- * Default constructor. The constructed sink backend uses default values of all the parameters.
- */
- BOOST_LOG_API text_file_backend();
-
- /*!
- * Constructor. Creates a sink backend with the specified named parameters.
- * The following named parameters are supported:
- *
- * \li \c file_name - Specifies the file name pattern where logs are actually written to. The pattern may
- * contain directory and file name portions, but only the file name may contain
- * placeholders. The backend supports Boost.DateTime placeholders for injecting
- * current time and date into the file name. Also, an additional %N placeholder is
- * supported, it will be replaced with an integral increasing file counter. The placeholder
- * may also contain width specification in the printf-compatible form (e.g. %5N). The
- * printed file counter will always be zero-filled. If \c file_name is not specified,
- * pattern "%5N.log" will be used.
- * \li \c open_mode - File open mode. The mode should be presented in form of mask compatible to
- * <tt>std::ios_base::openmode</tt>. If not specified, <tt>trunc | out</tt> will be used.
- * \li \c rotation_size - Specifies the approximate size, in characters written, of the temporary file
- * upon which the file is passed to the file collector. Note the size does
- * not count any possible character conversions that may take place during
- * writing to the file. If not specified, the file won't be rotated upon reaching
- * any size.
- * \li \c time_based_rotation - Specifies the predicate for time-based file rotation.
- * No time-based file rotations will be performed, if not specified.
- * \li \c enable_final_rotation - Specifies a flag, whether or not perform log file rotation on
- * sink backend destruction. By default, is \c true.
- * \li \c auto_flush - Specifies a flag, whether or not to automatically flush the file after each
- * written log record. By default, is \c false.
- *
- * \note Read the caution note regarding file name pattern in the <tt>sinks::file::collector::scan_for_files</tt>
- * documentation.
- */
-#ifndef BOOST_LOG_DOXYGEN_PASS
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_CALL(text_file_backend, construct)
-#else
- template< typename... ArgsT >
- explicit text_file_backend(ArgsT... const& args);
-#endif
-
- /*!
- * Destructor
- */
- BOOST_LOG_API ~text_file_backend();
-
- /*!
- * The method sets file name wildcard for the files being written. The wildcard supports
- * date and time injection into the file name.
- *
- * \param pattern The name pattern for the file being written.
- */
- template< typename PathT >
- void set_file_name_pattern(PathT const& pattern)
- {
- set_file_name_pattern_internal(filesystem::path(pattern));
- }
-
- /*!
- * The method sets the file open mode
- *
- * \param mode File open mode
- */
- BOOST_LOG_API void set_open_mode(std::ios_base::openmode mode);
-
- /*!
- * The method sets the log file collector function. The function is called
- * on file rotation and is being passed the written file name.
- *
- * \param collector The file collector function object
- */
- BOOST_LOG_API void set_file_collector(shared_ptr< file::collector > const& collector);
-
- /*!
- * The method sets file opening handler. The handler will be called every time
- * the backend opens a new temporary file. The handler may write a header to the
- * opened file in order to maintain file validity.
- *
- * \param handler The file open handler function object
- */
- BOOST_LOG_API void set_open_handler(open_handler_type const& handler);
-
- /*!
- * The method sets file closing handler. The handler will be called every time
- * the backend closes a temporary file. The handler may write a footer to the
- * opened file in order to maintain file validity.
- *
- * \param handler The file close handler function object
- */
- BOOST_LOG_API void set_close_handler(close_handler_type const& handler);
-
- /*!
- * The method sets maximum file size. When the size is reached, file rotation is performed.
- *
- * \note The size does not count any possible character translations that may happen in
- * the underlying API. This may result in greater actual sizes of the written files.
- *
- * \param size The maximum file size, in characters.
- */
- BOOST_LOG_API void set_rotation_size(uintmax_t size);
-
- /*!
- * The method sets the predicate that defines the time-based condition for file rotation.
- *
- * \note The rotation always occurs on writing a log record, so the rotation is
- * not strictly bound to the specified condition.
- *
- * \param predicate The predicate that defines the time-based condition for file rotation.
- * If empty, no time-based rotation will take place.
- */
- BOOST_LOG_API void set_time_based_rotation(time_based_rotation_predicate const& predicate);
-
- /*!
- * The method allows to enable or disable log file rotation on sink destruction.
- *
- * By default the sink backend will rotate the log file, if it's been written to, on
- * destruction.
- *
- * \param enable The flag indicates whether the final rotation should be performed.
- */
- BOOST_LOG_API void enable_final_rotation(bool enable);
-
- /*!
- * Sets the flag to automatically flush write buffers of the file being written after each log record.
- *
- * \param enable The flag indicates whether the automatic buffer flush should be performed.
- */
- BOOST_LOG_API void auto_flush(bool enable = true);
-
- /*!
- * \return The name of the currently open log file. If no file is open, returns an empty path.
- */
- BOOST_LOG_API filesystem::path get_current_file_name() const;
-
- /*!
- * Performs scanning of the target directory for log files that may have been left from
- * previous runs of the application. The found files are considered by the file collector
- * as if they were rotated.
- *
- * The file scan can be performed in two ways: either all files in the target directory will
- * be considered as log files, or only those files that satisfy the file name pattern.
- * See documentation on <tt>sinks::file::collector::scan_for_files</tt> for more information.
- *
- * \pre File collector and the proper file name pattern have already been set.
- *
- * \param method File scanning method
- * \param update_counter If \c true and \a method is \c scan_matching, the method attempts
- * to update the internal file counter according to the found files. The counter
- * is unaffected otherwise.
- * \return The number of files found.
- *
- * \note The method essentially delegates to the same-named function of the file collector.
- */
- BOOST_LOG_API uintmax_t scan_for_files(
- file::scan_method method = file::scan_matching, bool update_counter = true);
-
- /*!
- * The method writes the message to the sink
- */
- BOOST_LOG_API void consume(record_view const& rec, string_type const& formatted_message);
-
- /*!
- * The method flushes the currently open log file
- */
- BOOST_LOG_API void flush();
-
- /*!
- * The method rotates the file
- */
- BOOST_LOG_API void rotate_file();
-
-private:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Constructor implementation
- template< typename ArgsT >
- void construct(ArgsT const& args)
- {
- construct(
- filesystem::path(args[keywords::file_name | filesystem::path()]),
- args[keywords::open_mode | (std::ios_base::trunc | std::ios_base::out)],
- args[keywords::rotation_size | (std::numeric_limits< uintmax_t >::max)()],
- args[keywords::time_based_rotation | time_based_rotation_predicate()],
- args[keywords::auto_flush | false],
- args[keywords::enable_final_rotation | true]);
- }
- //! Constructor implementation
- BOOST_LOG_API void construct(
- filesystem::path const& pattern,
- std::ios_base::openmode mode,
- uintmax_t rotation_size,
- time_based_rotation_predicate const& time_based_rotation,
- bool auto_flush,
- bool enable_final_rotation);
-
- //! The method sets file name mask
- BOOST_LOG_API void set_file_name_pattern_internal(filesystem::path const& pattern);
-
- //! Closes the currently open file
- void close_file();
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_TEXT_FILE_BACKEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/text_ipc_message_queue_backend.hpp b/contrib/restricted/boost/boost/log/sinks/text_ipc_message_queue_backend.hpp
deleted file mode 100644
index 370ccfb32f..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/text_ipc_message_queue_backend.hpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright Lingxi Li 2015.
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file text_ipc_message_queue_backend.hpp
- * \author Lingxi Li
- * \author Andrey Semashev
- * \date 14.10.2015
- *
- * The header contains implementation of a text interprocess message queue sink
- * backend along with implementation of a supporting interprocess message queue.
- */
-
-#ifndef BOOST_LOG_SINKS_TEXT_IPC_MESSAGE_QUEUE_BACKEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_TEXT_IPC_MESSAGE_QUEUE_BACKEND_HPP_INCLUDED_
-
-#include <limits>
-#include <string>
-#include <boost/cstdint.hpp>
-#include <boost/move/core.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/sinks/basic_sink_backend.hpp>
-#include <boost/log/sinks/frontend_requirements.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_IPC_BACKEND_CTOR_FORWARD_INTERNAL_1(n, data)\
- template< typename T0 >\
- explicit text_ipc_message_queue_backend(T0 const& arg0, typename boost::log::aux::enable_if_named_parameters< T0, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :\
- m_queue(arg0) {}
-
-#define BOOST_LOG_IPC_BACKEND_CTOR_FORWARD_INTERNAL_N(n, data)\
- template< BOOST_PP_ENUM_PARAMS(n, typename T) >\
- explicit text_ipc_message_queue_backend(BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& arg)) :\
- m_queue(BOOST_PP_ENUM_PARAMS(n, arg)) {}
-
-#define BOOST_LOG_IPC_BACKEND_CTOR_FORWARD_INTERNAL(z, n, data)\
- BOOST_PP_IF(BOOST_PP_EQUAL(n, 1), BOOST_LOG_IPC_BACKEND_CTOR_FORWARD_INTERNAL_1, BOOST_LOG_IPC_BACKEND_CTOR_FORWARD_INTERNAL_N)(n, data)
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \brief An implementation of a text interprocess message queue sink backend and
- * a supporting interprocess message queue.
- *
- * The sink backend sends formatted log messages to an interprocess message queue
- * which can be extracted by a viewer process. Methods of this class are not
- * thread-safe, unless otherwise specified.
- */
-template< typename QueueT >
-class text_ipc_message_queue_backend :
- public basic_formatted_sink_backend< char, concurrent_feeding >
-{
- //! Base type
- typedef basic_formatted_sink_backend< char, concurrent_feeding > base_type;
-
-public:
- //! Character type
- typedef base_type::char_type char_type;
- //! String type to be used as a message text holder
- typedef base_type::string_type string_type;
- //! Interprocess message queue type
- typedef QueueT queue_type;
-
-private:
- //! Interprocess queue
- queue_type m_queue;
-
-public:
- /*!
- * Default constructor. The method constructs the backend using the default-constructed
- * interprocess message queue. The queue may need additional setup in order to be able
- * to send messages.
- */
- text_ipc_message_queue_backend() BOOST_NOEXCEPT
- {
- }
-
- /*!
- * Initializing constructor. The method constructs the backend using the provided
- * interprocess message queue. The constructor moves from the provided queue.
- */
- explicit text_ipc_message_queue_backend(BOOST_RV_REF(queue_type) queue) BOOST_NOEXCEPT :
- m_queue(static_cast< BOOST_RV_REF(queue_type) >(queue))
- {
- }
-
- /*!
- * Constructor that passes arbitrary named parameters to the interprocess queue constructor.
- * Refer to the queue documentation for the list of supported parameters.
- */
-#ifndef BOOST_LOG_DOXYGEN_PASS
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN(BOOST_LOG_IPC_BACKEND_CTOR_FORWARD_INTERNAL, ~)
-#else
- template< typename... Args >
- explicit text_ipc_message_queue_backend(Args&&... args);
-#endif
-
- /*!
- * The method returns a reference to the managed \c queue_type object.
- *
- * \return A reference to the managed \c queue_type object.
- */
- queue_type& message_queue() BOOST_NOEXCEPT { return m_queue; }
-
- /*!
- * The method returns a constant reference to the managed \c queue_type object.
- *
- * \return A constant reference to the managed \c queue_type object.
- */
- queue_type const& message_queue() const BOOST_NOEXCEPT { return m_queue; }
-
- /*!
- * Tests whether the object is associated with any message queue. Only when the backend has
- * an associated message queue, will any message be sent.
- *
- * \return \c true if the object is associated with a message queue, and \c false otherwise.
- */
- bool is_open() const BOOST_NOEXCEPT { return m_queue.is_open(); }
-
- /*!
- * The method writes the message to the backend. Concurrent calls to this method
- * are allowed. Therefore, the backend may be used with unlocked frontend. <tt>stop_local()</tt>
- * can be used to have a blocked <tt>consume()</tt> call return and prevent future
- * calls to <tt>consume()</tt> from blocking.
- */
- void consume(record_view const&, string_type const& formatted_message)
- {
- if (m_queue.is_open())
- {
- typedef typename queue_type::size_type size_type;
- const string_type::size_type size = formatted_message.size();
- if (BOOST_UNLIKELY(size > static_cast< string_type::size_type >((std::numeric_limits< size_type >::max)())))
- BOOST_LOG_THROW_DESCR(limitation_error, "Message too long to send to an interprocess queue");
- m_queue.send(formatted_message.data(), static_cast< size_type >(size));
- }
- }
-};
-
-#undef BOOST_LOG_IPC_BACKEND_CTOR_FORWARD_INTERNAL_1
-#undef BOOST_LOG_IPC_BACKEND_CTOR_FORWARD_INTERNAL_N
-#undef BOOST_LOG_IPC_BACKEND_CTOR_FORWARD_INTERNAL
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_TEXT_IPC_MESSAGE_QUEUE_BACKEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/text_multifile_backend.hpp b/contrib/restricted/boost/boost/log/sinks/text_multifile_backend.hpp
deleted file mode 100644
index 8e707b990c..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/text_multifile_backend.hpp
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file text_multifile_backend.hpp
- * \author Andrey Semashev
- * \date 09.06.2009
- *
- * The header contains implementation of a text multi-file sink backend.
- */
-
-#ifndef BOOST_LOG_SINKS_TEXT_MULTIFILE_BACKEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_TEXT_MULTIFILE_BACKEND_HPP_INCLUDED_
-
-#include <ios>
-#include <string>
-#include <locale>
-#include <ostream>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/filesystem/path.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/detail/cleanup_scope_guard.hpp>
-#include <boost/log/sinks/basic_sink_backend.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-namespace file {
-
- /*!
- * An adapter class that allows to use regular formatters as file name generators.
- */
- template< typename FormatterT >
- class file_name_composer_adapter
- {
- public:
- //! Functor result type
- typedef filesystem::path result_type;
- //! File name character type
- typedef result_type::string_type::value_type native_char_type;
- //! The adopted formatter type
- typedef FormatterT formatter_type;
- //! Formatting stream type
- typedef basic_formatting_ostream< native_char_type > stream_type;
-
- private:
- //! The adopted formatter
- formatter_type m_Formatter;
- //! Formatted file name storage
- mutable result_type::string_type m_FileName;
- //! Formatting stream
- mutable stream_type m_FormattingStream;
-
- public:
- /*!
- * Initializing constructor
- */
- explicit file_name_composer_adapter(formatter_type const& formatter, std::locale const& loc = std::locale()) :
- m_Formatter(formatter),
- m_FormattingStream(m_FileName)
- {
- m_FormattingStream.exceptions(std::ios_base::badbit | std::ios_base::failbit);
- m_FormattingStream.imbue(loc);
- }
- /*!
- * Copy constructor
- */
- file_name_composer_adapter(file_name_composer_adapter const& that) :
- m_Formatter(that.m_Formatter),
- m_FormattingStream(m_FileName)
- {
- m_FormattingStream.exceptions(std::ios_base::badbit | std::ios_base::failbit);
- m_FormattingStream.imbue(that.m_FormattingStream.getloc());
- }
- /*!
- * Assignment
- */
- file_name_composer_adapter& operator= (file_name_composer_adapter const& that)
- {
- m_Formatter = that.m_Formatter;
- return *this;
- }
-
- /*!
- * The operator generates a file name based on the log record
- */
- result_type operator() (record_view const& rec) const
- {
- boost::log::aux::cleanup_guard< stream_type > cleanup1(m_FormattingStream);
- boost::log::aux::cleanup_guard< result_type::string_type > cleanup2(m_FileName);
-
- m_Formatter(rec, m_FormattingStream);
- m_FormattingStream.flush();
-
- return result_type(m_FileName);
- }
- };
-
- /*!
- * The function adopts a log record formatter into a file name generator
- *
- * \param fmt The formatter function object to adopt
- * \param loc The locale to use to character code conversion and formatting
- */
- template< typename FormatterT >
- inline file_name_composer_adapter< FormatterT > as_file_name_composer(
- FormatterT const& fmt, std::locale const& loc = std::locale())
- {
- return file_name_composer_adapter< FormatterT >(fmt, loc);
- }
-
-} // namespace file
-
-
-/*!
- * \brief An implementation of a text multiple files logging sink backend
- *
- * The sink backend puts formatted log records to one of the text files.
- * The particular file is chosen upon each record's attribute values, which allows
- * to distribute records into individual files or to group records related to
- * some entity or process in a separate file.
- */
-class text_multifile_backend :
- public basic_formatted_sink_backend< char >
-{
- //! Base type
- typedef basic_formatted_sink_backend< char > base_type;
-
-public:
- //! Character type
- typedef base_type::char_type char_type;
- //! String type to be used as a message text holder
- typedef base_type::string_type string_type;
-
- //! File name composer functor type
- typedef boost::log::aux::light_function< filesystem::path (record_view const&) > file_name_composer_type;
-
-private:
- //! \cond
-
- struct implementation;
- implementation* m_pImpl;
-
- //! \endcond
-
-public:
- /*!
- * Default constructor. The constructed sink backend has no file name composer and
- * thus will not write any files.
- */
- BOOST_LOG_API text_multifile_backend();
-
- /*!
- * Destructor
- */
- BOOST_LOG_API ~text_multifile_backend();
-
- /*!
- * The method sets file name composer functional object. Log record formatters are accepted, too.
- *
- * \param composer File name composer functor
- */
- template< typename ComposerT >
- void set_file_name_composer(ComposerT const& composer)
- {
- set_file_name_composer_internal(composer);
- }
-
- /*!
- * The method writes the message to the sink
- */
- BOOST_LOG_API void consume(record_view const& rec, string_type const& formatted_message);
-
-private:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! The method sets the file name composer
- BOOST_LOG_API void set_file_name_composer_internal(file_name_composer_type const& composer);
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_TEXT_MULTIFILE_BACKEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/text_ostream_backend.hpp b/contrib/restricted/boost/boost/log/sinks/text_ostream_backend.hpp
deleted file mode 100644
index 9d8ad0d6cd..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/text_ostream_backend.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file text_ostream_backend.hpp
- * \author Andrey Semashev
- * \date 22.04.2007
- *
- * The header contains implementation of a text output stream sink backend.
- */
-
-#ifndef BOOST_LOG_SINKS_TEXT_OSTREAM_BACKEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_TEXT_OSTREAM_BACKEND_HPP_INCLUDED_
-
-#include <ostream>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/sinks/basic_sink_backend.hpp>
-#include <boost/log/sinks/frontend_requirements.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-/*!
- * \brief An implementation of a text output stream logging sink backend
- *
- * The sink backend puts formatted log records to one or more text streams.
- */
-template< typename CharT >
-class basic_text_ostream_backend :
- public basic_formatted_sink_backend<
- CharT,
- combine_requirements< synchronized_feeding, flushing >::type
- >
-{
- //! Base type
- typedef basic_formatted_sink_backend<
- CharT,
- combine_requirements< synchronized_feeding, flushing >::type
- > base_type;
-
-public:
- //! Character type
- typedef typename base_type::char_type char_type;
- //! String type to be used as a message text holder
- typedef typename base_type::string_type string_type;
- //! Output stream type
- typedef std::basic_ostream< char_type > stream_type;
-
-private:
- //! \cond
-
- struct implementation;
- implementation* m_pImpl;
-
- //! \endcond
-
-public:
- /*!
- * Constructor. No streams attached to the constructed backend, auto flush feature disabled.
- */
- BOOST_LOG_API basic_text_ostream_backend();
- /*!
- * Destructor
- */
- BOOST_LOG_API ~basic_text_ostream_backend();
-
- /*!
- * The method adds a new stream to the sink.
- *
- * \param strm Pointer to the stream. Must not be NULL.
- */
- BOOST_LOG_API void add_stream(shared_ptr< stream_type > const& strm);
- /*!
- * The method removes a stream from the sink. If the stream is not attached to the sink,
- * the method has no effect.
- *
- * \param strm Pointer to the stream. Must not be NULL.
- */
- BOOST_LOG_API void remove_stream(shared_ptr< stream_type > const& strm);
-
- /*!
- * Sets the flag to automatically flush buffers of all attached streams after each log record
- */
- BOOST_LOG_API void auto_flush(bool f = true);
-
- /*!
- * The method writes the message to the sink
- */
- BOOST_LOG_API void consume(record_view const& rec, string_type const& formatted_message);
-
- /*!
- * The method flushes the associated streams
- */
- BOOST_LOG_API void flush();
-};
-
-#ifdef BOOST_LOG_USE_CHAR
-typedef basic_text_ostream_backend< char > text_ostream_backend; //!< Convenience typedef for narrow-character logging
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-typedef basic_text_ostream_backend< wchar_t > wtext_ostream_backend; //!< Convenience typedef for wide-character logging
-#endif
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_TEXT_OSTREAM_BACKEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/unbounded_fifo_queue.hpp b/contrib/restricted/boost/boost/log/sinks/unbounded_fifo_queue.hpp
deleted file mode 100644
index 9fdb44cc3e..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/unbounded_fifo_queue.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file unbounded_fifo_queue.hpp
- * \author Andrey Semashev
- * \date 24.07.2011
- *
- * The header contains implementation of unbounded FIFO queueing strategy for
- * the asynchronous sink frontend.
- */
-
-#ifndef BOOST_LOG_SINKS_UNBOUNDED_FIFO_QUEUE_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_UNBOUNDED_FIFO_QUEUE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_LOG_NO_THREADS)
-#error Boost.Log: This header content is only supported in multithreaded environment
-#endif
-
-#include <boost/memory_order.hpp>
-#include <boost/atomic/atomic.hpp>
-#include <boost/log/detail/event.hpp>
-#include <boost/log/detail/threadsafe_queue.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-/*!
- * \brief Unbounded FIFO log record queueing strategy
- *
- * The \c unbounded_fifo_queue class is intended to be used with
- * the \c asynchronous_sink frontend as a log record queueing strategy.
- *
- * This strategy implements the simplest logic of log record buffering between
- * threads: the queue has no limits and imposes no ordering over the queued
- * elements aside from the order in which they are enqueued.
- * Because of this the queue provides decent performance and scalability,
- * however if sink backends can't consume log records fast enough the queue
- * may grow uncontrollably. When this is an issue, it is recommended to
- * use one of the bounded strategies.
- */
-class unbounded_fifo_queue
-{
-private:
- typedef boost::log::aux::threadsafe_queue< record_view > queue_type;
-
-private:
- //! Thread-safe queue
- queue_type m_queue;
- //! Event object to block on
- boost::log::aux::event m_event;
- //! Interruption flag
- boost::atomic< bool > m_interruption_requested;
-
-protected:
- //! Default constructor
- unbounded_fifo_queue() : m_interruption_requested(false)
- {
- }
- //! Initializing constructor
- template< typename ArgsT >
- explicit unbounded_fifo_queue(ArgsT const&) : m_interruption_requested(false)
- {
- }
-
- //! Enqueues log record to the queue
- void enqueue(record_view const& rec)
- {
- m_queue.push(rec);
- m_event.set_signalled();
- }
-
- //! Attempts to enqueue log record to the queue
- bool try_enqueue(record_view const& rec)
- {
- // Assume the call never blocks
- enqueue(rec);
- return true;
- }
-
- //! Attempts to dequeue a log record ready for processing from the queue, does not block if the queue is empty
- bool try_dequeue_ready(record_view& rec)
- {
- return m_queue.try_pop(rec);
- }
-
- //! Attempts to dequeue log record from the queue, does not block if the queue is empty
- bool try_dequeue(record_view& rec)
- {
- return m_queue.try_pop(rec);
- }
-
- //! Dequeues log record from the queue, blocks if the queue is empty
- bool dequeue_ready(record_view& rec)
- {
- // Try the fast way first
- if (m_queue.try_pop(rec))
- return true;
-
- // Ok, we probably have to wait for new records
- while (true)
- {
- m_event.wait();
- if (m_interruption_requested.exchange(false, boost::memory_order_acquire))
- return false;
- if (m_queue.try_pop(rec))
- return true;
- }
- }
-
- //! Wakes a thread possibly blocked in the \c dequeue method
- void interrupt_dequeue()
- {
- m_interruption_requested.store(true, boost::memory_order_release);
- m_event.set_signalled();
- }
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_UNBOUNDED_FIFO_QUEUE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/unbounded_ordering_queue.hpp b/contrib/restricted/boost/boost/log/sinks/unbounded_ordering_queue.hpp
deleted file mode 100644
index c84d8fd4d8..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/unbounded_ordering_queue.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file unbounded_ordering_queue.hpp
- * \author Andrey Semashev
- * \date 24.07.2011
- *
- * The header contains implementation of unbounded ordering record queueing strategy for
- * the asynchronous sink frontend.
- */
-
-#ifndef BOOST_LOG_SINKS_UNBOUNDED_ORDERING_QUEUE_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_UNBOUNDED_ORDERING_QUEUE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_LOG_NO_THREADS)
-#error Boost.Log: This header content is only supported in multithreaded environment
-#endif
-
-#include <queue>
-#include <vector>
-#include <boost/cstdint.hpp>
-#include <boost/thread/locks.hpp>
-#include <boost/thread/mutex.hpp>
-#include <boost/thread/condition_variable.hpp>
-#include <boost/thread/thread_time.hpp>
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-#include <boost/log/detail/timestamp.hpp>
-#include <boost/log/detail/enqueued_record.hpp>
-#include <boost/log/keywords/order.hpp>
-#include <boost/log/keywords/ordering_window.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-/*!
- * \brief Unbounded ordering log record queueing strategy
- *
- * The \c unbounded_ordering_queue class is intended to be used with
- * the \c asynchronous_sink frontend as a log record queueing strategy.
- *
- * This strategy provides the following properties to the record queueing mechanism:
- *
- * \li The queue has no size limits.
- * \li The queue has a fixed latency window. This means that each log record put
- * into the queue will normally not be dequeued for a certain period of time.
- * \li The queue performs stable record ordering within the latency window.
- * The ordering predicate can be specified in the \c OrderT template parameter.
- *
- * Since this queue has no size limits, it may grow uncontrollably if sink backends
- * dequeue log records not fast enough. When this is an issue, it is recommended to
- * use one of the bounded strategies.
- */
-template< typename OrderT >
-class unbounded_ordering_queue
-{
-private:
- typedef boost::mutex mutex_type;
- typedef sinks::aux::enqueued_record enqueued_record;
-
- typedef std::priority_queue<
- enqueued_record,
- std::vector< enqueued_record >,
- enqueued_record::order< OrderT >
- > queue_type;
-
-private:
- //! Ordering window duration, in milliseconds
- const uint64_t m_ordering_window;
- //! Synchronization mutex
- mutex_type m_mutex;
- //! Condition for blocking
- condition_variable m_cond;
- //! Thread-safe queue
- queue_type m_queue;
- //! Interruption flag
- bool m_interruption_requested;
-
-public:
- /*!
- * Returns ordering window size specified during initialization
- */
- posix_time::time_duration get_ordering_window() const
- {
- return posix_time::milliseconds(m_ordering_window);
- }
-
- /*!
- * Returns default ordering window size.
- * The default window size is specific to the operating system thread scheduling mechanism.
- */
- static posix_time::time_duration get_default_ordering_window()
- {
- // The main idea behind this parameter is that the ordering window should be large enough
- // to allow the frontend to order records from different threads on an attribute
- // that contains system time. Thus this value should be:
- // * No less than the minimum time resolution quant that Boost.DateTime provides on the current OS.
- // For instance, on Windows it defaults to around 15-16 ms.
- // * No less than thread switching quant on the current OS. For now 30 ms is large enough window size to
- // switch threads on any known OS. It can be tuned for other platforms as needed.
- return posix_time::milliseconds(30);
- }
-
-protected:
- //! Initializing constructor
- template< typename ArgsT >
- explicit unbounded_ordering_queue(ArgsT const& args) :
- m_ordering_window(args[keywords::ordering_window || &unbounded_ordering_queue::get_default_ordering_window].total_milliseconds()),
- m_queue(args[keywords::order]),
- m_interruption_requested(false)
- {
- }
-
- //! Enqueues log record to the queue
- void enqueue(record_view const& rec)
- {
- lock_guard< mutex_type > lock(m_mutex);
- enqueue_unlocked(rec);
- }
-
- //! Attempts to enqueue log record to the queue
- bool try_enqueue(record_view const& rec)
- {
- unique_lock< mutex_type > lock(m_mutex, try_to_lock);
- if (lock.owns_lock())
- {
- enqueue_unlocked(rec);
- return true;
- }
- else
- return false;
- }
-
- //! Attempts to dequeue a log record ready for processing from the queue, does not block if no log records are ready to be processed
- bool try_dequeue_ready(record_view& rec)
- {
- lock_guard< mutex_type > lock(m_mutex);
- if (!m_queue.empty())
- {
- const boost::log::aux::timestamp now = boost::log::aux::get_timestamp();
- enqueued_record const& elem = m_queue.top();
- if (static_cast< uint64_t >((now - elem.m_timestamp).milliseconds()) >= m_ordering_window)
- {
- // We got a new element
- rec = elem.m_record;
- m_queue.pop();
- return true;
- }
- }
-
- return false;
- }
-
- //! Attempts to dequeue log record from the queue, does not block.
- bool try_dequeue(record_view& rec)
- {
- lock_guard< mutex_type > lock(m_mutex);
- if (!m_queue.empty())
- {
- enqueued_record const& elem = m_queue.top();
- rec = elem.m_record;
- m_queue.pop();
- return true;
- }
-
- return false;
- }
-
- //! Dequeues log record from the queue, blocks if no log records are ready to be processed
- bool dequeue_ready(record_view& rec)
- {
- unique_lock< mutex_type > lock(m_mutex);
- while (!m_interruption_requested)
- {
- if (!m_queue.empty())
- {
- const boost::log::aux::timestamp now = boost::log::aux::get_timestamp();
- enqueued_record const& elem = m_queue.top();
- const uint64_t difference = (now - elem.m_timestamp).milliseconds();
- if (difference >= m_ordering_window)
- {
- // We got a new element
- rec = elem.m_record;
- m_queue.pop();
- return true;
- }
- else
- {
- // Wait until the element becomes ready to be processed
- m_cond.timed_wait(lock, posix_time::milliseconds(m_ordering_window - difference));
- }
- }
- else
- {
- // Wait for an element to come
- m_cond.wait(lock);
- }
- }
- m_interruption_requested = false;
-
- return false;
- }
-
- //! Wakes a thread possibly blocked in the \c dequeue method
- void interrupt_dequeue()
- {
- lock_guard< mutex_type > lock(m_mutex);
- m_interruption_requested = true;
- m_cond.notify_one();
- }
-
-private:
- //! Enqueues a log record
- void enqueue_unlocked(record_view const& rec)
- {
- const bool was_empty = m_queue.empty();
- m_queue.push(enqueued_record(rec));
- if (was_empty)
- m_cond.notify_one();
- }
-};
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_UNBOUNDED_ORDERING_QUEUE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sinks/unlocked_frontend.hpp b/contrib/restricted/boost/boost/log/sinks/unlocked_frontend.hpp
deleted file mode 100644
index 918efeb6d2..0000000000
--- a/contrib/restricted/boost/boost/log/sinks/unlocked_frontend.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file unlocked_frontend.hpp
- * \author Andrey Semashev
- * \date 14.07.2009
- *
- * The header contains declaration of an unlocked sink frontend.
- */
-
-#ifndef BOOST_LOG_SINKS_UNLOCKED_FRONTEND_HPP_INCLUDED_
-#define BOOST_LOG_SINKS_UNLOCKED_FRONTEND_HPP_INCLUDED_
-
-#include <boost/static_assert.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/detail/fake_mutex.hpp>
-#include <boost/log/sinks/basic_sink_frontend.hpp>
-#include <boost/log/sinks/frontend_requirements.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1(n, data)\
- template< typename T0 >\
- explicit unlocked_sink(T0 const& arg0, typename boost::log::aux::enable_if_named_parameters< T0, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :\
- base_type(false),\
- m_pBackend(boost::make_shared< sink_backend_type >(arg0)) {}
-
-#define BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_N(n, data)\
- template< BOOST_PP_ENUM_PARAMS(n, typename T) >\
- explicit unlocked_sink(BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& arg)) :\
- base_type(false),\
- m_pBackend(boost::make_shared< sink_backend_type >(BOOST_PP_ENUM_PARAMS(n, arg))) {}
-
-#define BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL(z, n, data)\
- BOOST_PP_IF(BOOST_PP_EQUAL(n, 1), BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1, BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_N)(n, data)
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \brief Non-blocking logging sink frontend
- *
- * The sink frontend does not perform thread synchronization and
- * simply passes logging records to the sink backend.
- */
-template< typename SinkBackendT >
-class unlocked_sink :
- public aux::make_sink_frontend_base< SinkBackendT >::type
-{
- typedef typename aux::make_sink_frontend_base< SinkBackendT >::type base_type;
-
-public:
- //! Sink implementation type
- typedef SinkBackendT sink_backend_type;
- //! \cond
- BOOST_STATIC_ASSERT_MSG((has_requirement< typename sink_backend_type::frontend_requirements, concurrent_feeding >::value), "Unlocked sink frontend is incompatible with the specified backend: thread synchronization requirements are not met");
- //! \endcond
-
- //! Type of pointer to the backend
- typedef shared_ptr< sink_backend_type > locked_backend_ptr;
-
-private:
- //! Pointer to the backend
- const shared_ptr< sink_backend_type > m_pBackend;
-
-public:
- /*!
- * Default constructor. Constructs the sink backend instance.
- * Requires the backend to be default-constructible.
- */
- unlocked_sink() :
- base_type(false),
- m_pBackend(boost::make_shared< sink_backend_type >())
- {
- }
- /*!
- * Constructor attaches user-constructed backend instance
- *
- * \param backend Pointer to the backend instance
- *
- * \pre \a backend is not \c NULL.
- */
- explicit unlocked_sink(shared_ptr< sink_backend_type > const& backend) :
- base_type(false),
- m_pBackend(backend)
- {
- }
-
- /*!
- * Constructor that passes arbitrary named parameters to the interprocess sink backend constructor.
- * Refer to the backend documentation for the list of supported parameters.
- */
-#ifndef BOOST_LOG_DOXYGEN_PASS
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN(BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL, ~)
-#else
- template< typename... Args >
- explicit unlocked_sink(Args&&... args);
-#endif
-
- /*!
- * Locking accessor to the attached backend.
- *
- * \note Does not do any actual locking, provided only for interface consistency
- * with other frontends.
- */
- locked_backend_ptr locked_backend()
- {
- return m_pBackend;
- }
-
- /*!
- * Passes the log record to the backend
- */
- void consume(record_view const& rec)
- {
- boost::log::aux::fake_mutex m;
- base_type::feed_record(rec, m, *m_pBackend);
- }
-
- /*!
- * The method performs flushing of any internal buffers that may hold log records. The method
- * may take considerable time to complete and may block both the calling thread and threads
- * attempting to put new records into the sink while this call is in progress.
- */
- void flush()
- {
- boost::log::aux::fake_mutex m;
- base_type::flush_backend(m, *m_pBackend);
- }
-};
-
-#undef BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1
-#undef BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_N
-#undef BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SINKS_UNLOCKED_FRONTEND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/basic_logger.hpp b/contrib/restricted/boost/boost/log/sources/basic_logger.hpp
deleted file mode 100644
index 58bd6594c5..0000000000
--- a/contrib/restricted/boost/boost/log/sources/basic_logger.hpp
+++ /dev/null
@@ -1,742 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file basic_logger.hpp
- * \author Andrey Semashev
- * \date 08.03.2007
- *
- * The header contains implementation of a base class for loggers. Convenience macros
- * for defining custom loggers are also provided.
- */
-
-#ifndef BOOST_LOG_SOURCES_BASIC_LOGGER_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_BASIC_LOGGER_HPP_INCLUDED_
-
-#include <exception>
-#include <utility>
-#include <ostream>
-#include <boost/assert.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/core/addressof.hpp>
-#include <boost/preprocessor/facilities/empty.hpp>
-#include <boost/preprocessor/facilities/identity.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/attributes/attribute_set.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/core/core.hpp>
-#include <boost/log/core/record.hpp>
-#include <boost/log/sources/features.hpp>
-#include <boost/log/sources/threading_models.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-/*!
- * \brief Basic logger class
- *
- * The \c basic_logger class template serves as a base class for all loggers
- * provided by the library. It can also be used as a base for user-defined
- * loggers. The template parameters are:
- *
- * \li \c CharT - logging character type
- * \li \c FinalT - final type of the logger that eventually derives from
- * the \c basic_logger. There may be other classes in the hierarchy
- * between the final class and \c basic_logger.
- * \li \c ThreadingModelT - threading model policy. Must provide methods
- * of the Boost.Thread locking concept used in \c basic_logger class
- * and all its derivatives in the hierarchy up to the \c FinalT class.
- * The \c basic_logger class itself requires methods of the
- * SharedLockable concept. The threading model policy must also be
- * default and copy-constructible and support member function \c swap.
- * There are currently two policies provided: \c single_thread_model
- * and \c multi_thread_model.
- *
- * The logger implements fundamental facilities of loggers, such as storing
- * source-specific attribute set and formatting log record messages. The basic
- * logger interacts with the logging core in order to apply filtering and
- * pass records to sinks.
- */
-template< typename CharT, typename FinalT, typename ThreadingModelT >
-class basic_logger :
- public ThreadingModelT
-{
- typedef basic_logger this_type;
- BOOST_COPYABLE_AND_MOVABLE_ALT(this_type)
-
-public:
- //! Character type
- typedef CharT char_type;
- //! Final logger type
- typedef FinalT final_type;
- //! Threading model type
- typedef ThreadingModelT threading_model;
-
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Lock requirement for the swap_unlocked method
- typedef boost::log::aux::exclusive_lock_guard< threading_model > swap_lock;
- //! Lock requirement for the add_attribute_unlocked method
- typedef boost::log::aux::exclusive_lock_guard< threading_model > add_attribute_lock;
- //! Lock requirement for the remove_attribute_unlocked method
- typedef boost::log::aux::exclusive_lock_guard< threading_model > remove_attribute_lock;
- //! Lock requirement for the remove_all_attributes_unlocked method
- typedef boost::log::aux::exclusive_lock_guard< threading_model > remove_all_attributes_lock;
- //! Lock requirement for the get_attributes method
- typedef boost::log::aux::shared_lock_guard< const threading_model > get_attributes_lock;
- //! Lock requirement for the open_record_unlocked method
- typedef boost::log::aux::shared_lock_guard< threading_model > open_record_lock;
- //! Lock requirement for the set_attributes method
- typedef boost::log::aux::exclusive_lock_guard< threading_model > set_attributes_lock;
-#else
- typedef no_lock< threading_model > swap_lock;
- typedef no_lock< threading_model > add_attribute_lock;
- typedef no_lock< threading_model > remove_attribute_lock;
- typedef no_lock< threading_model > remove_all_attributes_lock;
- typedef no_lock< const threading_model > get_attributes_lock;
- typedef no_lock< threading_model > open_record_lock;
- typedef no_lock< threading_model > set_attributes_lock;
-#endif
-
- //! Lock requirement for the push_record_unlocked method
- typedef no_lock< threading_model > push_record_lock;
-
-private:
- //! A pointer to the logging system
- core_ptr m_pCore;
-
- //! Logger-specific attribute set
- attribute_set m_Attributes;
-
-public:
- /*!
- * Constructor. Initializes internal data structures of the basic logger class,
- * acquires reference to the logging core.
- */
- basic_logger() :
- threading_model(),
- m_pCore(core::get())
- {
- }
- /*!
- * Copy constructor. Copies all attributes from the source logger.
- *
- * \note Not thread-safe. The source logger must be locked in the final class before copying.
- *
- * \param that Source logger
- */
- basic_logger(basic_logger const& that) :
- threading_model(static_cast< threading_model const& >(that)),
- m_pCore(core::get()),
- m_Attributes(that.m_Attributes)
- {
- }
- /*!
- * Move constructor. Moves all attributes from the source logger.
- *
- * \note Not thread-safe. The source logger must be locked in the final class before copying.
- *
- * \param that Source logger
- */
- basic_logger(BOOST_RV_REF(basic_logger) that) :
- threading_model(boost::move(static_cast< threading_model& >(that)))
- {
- m_pCore.swap(that.m_pCore);
- m_Attributes.swap(that.m_Attributes);
- }
- /*!
- * Constructor with named arguments. The constructor ignores all arguments. The result of
- * construction is equivalent to default construction.
- */
- template< typename ArgsT >
- explicit basic_logger(ArgsT const&) :
- threading_model(),
- m_pCore(core::get())
- {
- }
-
-protected:
- /*!
- * An accessor to the logging system pointer
- */
- core_ptr const& core() const { return m_pCore; }
- /*!
- * An accessor to the logger attributes
- */
- attribute_set& attributes() { return m_Attributes; }
- /*!
- * An accessor to the logger attributes
- */
- attribute_set const& attributes() const { return m_Attributes; }
- /*!
- * An accessor to the threading model base
- */
- threading_model& get_threading_model() { return *this; }
- /*!
- * An accessor to the threading model base
- */
- threading_model const& get_threading_model() const { return *this; }
- /*!
- * An accessor to the final logger
- */
- final_type* final_this()
- {
- BOOST_LOG_ASSUME(this != NULL);
- return static_cast< final_type* >(this);
- }
- /*!
- * An accessor to the final logger
- */
- final_type const* final_this() const
- {
- BOOST_LOG_ASSUME(this != NULL);
- return static_cast< final_type const* >(this);
- }
-
- /*!
- * Unlocked \c swap
- */
- void swap_unlocked(basic_logger& that)
- {
- get_threading_model().swap(that.get_threading_model());
- m_Attributes.swap(that.m_Attributes);
- }
-
- /*!
- * Unlocked \c add_attribute
- */
- std::pair< attribute_set::iterator, bool > add_attribute_unlocked(attribute_name const& name, attribute const& attr)
- {
- return m_Attributes.insert(name, attr);
- }
-
- /*!
- * Unlocked \c remove_attribute
- */
- void remove_attribute_unlocked(attribute_set::iterator it)
- {
- m_Attributes.erase(it);
- }
-
- /*!
- * Unlocked \c remove_all_attributes
- */
- void remove_all_attributes_unlocked()
- {
- m_Attributes.clear();
- }
-
- /*!
- * Unlocked \c open_record
- */
- record open_record_unlocked()
- {
- return m_pCore->open_record(m_Attributes);
- }
- /*!
- * Unlocked \c open_record
- */
- template< typename ArgsT >
- record open_record_unlocked(ArgsT const&)
- {
- return m_pCore->open_record(m_Attributes);
- }
-
- /*!
- * Unlocked \c push_record
- */
- void push_record_unlocked(BOOST_RV_REF(record) rec)
- {
- m_pCore->push_record(boost::move(rec));
- }
-
- /*!
- * Unlocked \c get_attributes
- */
- attribute_set get_attributes_unlocked() const
- {
- return m_Attributes;
- }
-
- /*!
- * Unlocked \c set_attributes
- */
- void set_attributes_unlocked(attribute_set const& attrs)
- {
- m_Attributes = attrs;
- }
-
- //! Assignment is closed (should be implemented through copy and swap in the final class)
- BOOST_DELETED_FUNCTION(basic_logger& operator= (basic_logger const&))
-};
-
-/*!
- * Free-standing swap for all loggers
- */
-template< typename CharT, typename FinalT, typename ThreadingModelT >
-inline void swap(
- basic_logger< CharT, FinalT, ThreadingModelT >& left,
- basic_logger< CharT, FinalT, ThreadingModelT >& right)
-{
- static_cast< FinalT& >(left).swap(static_cast< FinalT& >(right));
-}
-
-/*!
- * \brief A composite logger that inherits a number of features
- *
- * The composite logger is a helper class that simplifies feature composition into the final logger.
- * The user's logger class is expected to derive from the composite logger class, instantiated with
- * the character type, the user's logger class, the threading model and the list of the required features.
- * The former three parameters are passed to the \c basic_logger class template. The feature list
- * must be an MPL type sequence, where each element is a unary MPL metafunction class, that upon
- * applying on its argument results in a logging feature class that derives from the argument.
- * Every logger feature provided by the library can participate in the feature list.
- */
-template< typename CharT, typename FinalT, typename ThreadingModelT, typename FeaturesT >
-class basic_composite_logger :
- public boost::log::sources::aux::inherit_features<
- basic_logger< CharT, FinalT, ThreadingModelT >,
- FeaturesT
- >::type
-{
-private:
- //! Base type (the hierarchy of features)
- typedef typename boost::log::sources::aux::inherit_features<
- basic_logger< CharT, FinalT, ThreadingModelT >,
- FeaturesT
- >::type base_type;
-
-protected:
- //! The composite logger type (for use in the user's logger class)
- typedef basic_composite_logger logger_base;
- BOOST_COPYABLE_AND_MOVABLE_ALT(logger_base)
-
-public:
- //! Threading model being used
- typedef typename base_type::threading_model threading_model;
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-public:
- /*!
- * Default constructor (default-constructs all features)
- */
- basic_composite_logger() {}
- /*!
- * Copy constructor
- */
- basic_composite_logger(basic_composite_logger const& that) :
- base_type
- ((
- boost::log::aux::shared_lock_guard< const threading_model >(that.get_threading_model()),
- static_cast< base_type const& >(that)
- ))
- {
- }
- /*!
- * Move constructor
- */
- basic_composite_logger(BOOST_RV_REF(logger_base) that) :
- base_type(boost::move(static_cast< base_type& >(that)))
- {
- }
- /*!
- * Constructor with named parameters
- */
- template< typename ArgsT >
- explicit basic_composite_logger(ArgsT const& args) : base_type(args)
- {
- }
-
- /*!
- * The method adds an attribute to the source-specific attribute set. The attribute will be implicitly added to
- * every log record made with the current logger.
- *
- * \param name The attribute name.
- * \param attr The attribute factory.
- * \return A pair of values. If the second member is \c true, then the attribute is added and the first member points to the
- * attribute. Otherwise the attribute was not added and the first member points to the attribute that prevents
- * addition.
- */
- std::pair< attribute_set::iterator, bool > add_attribute(attribute_name const& name, attribute const& attr)
- {
- typename base_type::add_attribute_lock lock(base_type::get_threading_model());
- return base_type::add_attribute_unlocked(name, attr);
- }
- /*!
- * The method removes an attribute from the source-specific attribute set.
- *
- * \pre The attribute was added with the add_attribute call for this instance of the logger.
- * \post The attribute is no longer registered as a source-specific attribute for this logger. The iterator is invalidated after removal.
- *
- * \param it Iterator to the previously added attribute.
- */
- void remove_attribute(attribute_set::iterator it)
- {
- typename base_type::remove_attribute_lock lock(base_type::get_threading_model());
- base_type::remove_attribute_unlocked(it);
- }
-
- /*!
- * The method removes all attributes from the logger. All iterators and references to the removed attributes are invalidated.
- */
- void remove_all_attributes()
- {
- typename base_type::remove_all_attributes_lock lock(base_type::get_threading_model());
- base_type::remove_all_attributes_unlocked();
- }
-
- /*!
- * The method retrieves a copy of a set with all attributes from the logger.
- *
- * \return The copy of the attribute set. Attributes are shallow-copied.
- */
- attribute_set get_attributes() const
- {
- typename base_type::get_attributes_lock lock(base_type::get_threading_model());
- return base_type::get_attributes_unlocked();
- }
-
- /*!
- * The method installs the whole attribute set into the logger. All iterators and references to elements of
- * the previous set are invalidated. Iterators to the \a attrs set are not valid to be used with the logger (that is,
- * the logger owns a copy of \a attrs after completion).
- *
- * \param attrs The set of attributes to install into the logger. Attributes are shallow-copied.
- */
- void set_attributes(attribute_set const& attrs)
- {
- typename base_type::set_attributes_lock lock(base_type::get_threading_model());
- base_type::set_attributes_unlocked(attrs);
- }
-
- /*!
- * The method opens a new log record in the logging core.
- *
- * \return A valid record handle if the logging record is opened successfully, an invalid handle otherwise.
- */
- record open_record()
- {
- // Perform a quick check first
- if (this->core()->get_logging_enabled())
- {
- typename base_type::open_record_lock lock(base_type::get_threading_model());
- return base_type::open_record_unlocked(boost::log::aux::empty_arg_list());
- }
- else
- return record();
- }
- /*!
- * The method opens a new log record in the logging core.
- *
- * \param args A set of additional named arguments. The parameter is ignored.
- * \return A valid record handle if the logging record is opened successfully, an invalid handle otherwise.
- */
- template< typename ArgsT >
- record open_record(ArgsT const& args)
- {
- // Perform a quick check first
- if (this->core()->get_logging_enabled())
- {
- typename base_type::open_record_lock lock(base_type::get_threading_model());
- return base_type::open_record_unlocked(args);
- }
- else
- return record();
- }
- /*!
- * The method pushes the constructed message to the logging core
- *
- * \param rec The log record with the formatted message
- */
- void push_record(BOOST_RV_REF(record) rec)
- {
- typename base_type::push_record_lock lock(base_type::get_threading_model());
- base_type::push_record_unlocked(boost::move(rec));
- }
- /*!
- * Thread-safe implementation of swap
- */
- void swap(basic_composite_logger& that)
- {
- boost::log::aux::multiple_unique_lock2<
- threading_model,
- threading_model
- > lock(base_type::get_threading_model(), that.get_threading_model());
- base_type::swap_unlocked(that);
- }
-
-protected:
- /*!
- * Assignment for the final class. Threadsafe, provides strong exception guarantee.
- */
- FinalT& assign(FinalT const& that)
- {
- BOOST_LOG_ASSUME(this != NULL);
- if (static_cast< FinalT* >(this) != boost::addressof(that))
- {
- // We'll have to explicitly create the copy in order to make sure it's unlocked when we attempt to lock *this
- FinalT tmp(that);
- boost::log::aux::exclusive_lock_guard< threading_model > lock(base_type::get_threading_model());
- base_type::swap_unlocked(tmp);
- }
- return static_cast< FinalT& >(*this);
- }
-};
-
-//! An optimized composite logger version with no multithreading support
-template< typename CharT, typename FinalT, typename FeaturesT >
-class basic_composite_logger< CharT, FinalT, single_thread_model, FeaturesT > :
- public boost::log::sources::aux::inherit_features<
- basic_logger< CharT, FinalT, single_thread_model >,
- FeaturesT
- >::type
-{
-private:
- typedef typename boost::log::sources::aux::inherit_features<
- basic_logger< CharT, FinalT, single_thread_model >,
- FeaturesT
- >::type base_type;
-
-protected:
- typedef basic_composite_logger logger_base;
- BOOST_COPYABLE_AND_MOVABLE_ALT(logger_base)
-
-public:
- typedef typename base_type::threading_model threading_model;
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-public:
- basic_composite_logger() {}
- basic_composite_logger(basic_composite_logger const& that) :
- base_type(static_cast< base_type const& >(that))
- {
- }
- basic_composite_logger(BOOST_RV_REF(logger_base) that) :
- base_type(boost::move(static_cast< base_type& >(that)))
- {
- }
- template< typename ArgsT >
- explicit basic_composite_logger(ArgsT const& args) : base_type(args)
- {
- }
-
- std::pair< attribute_set::iterator, bool > add_attribute(attribute_name const& name, attribute const& attr)
- {
- return base_type::add_attribute_unlocked(name, attr);
- }
- void remove_attribute(attribute_set::iterator it)
- {
- base_type::remove_attribute_unlocked(it);
- }
- void remove_all_attributes()
- {
- base_type::remove_all_attributes_unlocked();
- }
- attribute_set get_attributes() const
- {
- return base_type::get_attributes_unlocked();
- }
- void set_attributes(attribute_set const& attrs)
- {
- base_type::set_attributes_unlocked(attrs);
- }
- record open_record()
- {
- // Perform a quick check first
- if (this->core()->get_logging_enabled())
- return base_type::open_record_unlocked(boost::log::aux::empty_arg_list());
- else
- return record();
- }
- template< typename ArgsT >
- record open_record(ArgsT const& args)
- {
- // Perform a quick check first
- if (this->core()->get_logging_enabled())
- return base_type::open_record_unlocked(args);
- else
- return record();
- }
- void push_record(BOOST_RV_REF(record) rec)
- {
- base_type::push_record_unlocked(boost::move(rec));
- }
- void swap(basic_composite_logger& that)
- {
- base_type::swap_unlocked(that);
- }
-
-protected:
- FinalT& assign(FinalT that)
- {
- base_type::swap_unlocked(that);
- return static_cast< FinalT& >(*this);
- }
-};
-
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS_IMPL(class_type, typename_keyword)\
- public:\
- BOOST_DEFAULTED_FUNCTION(class_type(), {})\
- class_type(class_type const& that) : class_type::logger_base(\
- static_cast< typename_keyword() class_type::logger_base const& >(that)) {}\
- class_type(BOOST_RV_REF(class_type) that) : class_type::logger_base(\
- ::boost::move(static_cast< typename_keyword() class_type::logger_base& >(that))) {}\
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_FORWARD(class_type, class_type::logger_base)\
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS(class_type)\
- BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS_IMPL(class_type, BOOST_PP_EMPTY)
-
-#define BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS_TEMPLATE(class_type)\
- BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS_IMPL(class_type, BOOST_PP_IDENTITY(typename))
-
-#define BOOST_LOG_FORWARD_LOGGER_ASSIGNMENT(class_type)\
- public:\
- class_type& operator= (BOOST_COPY_ASSIGN_REF(class_type) that)\
- {\
- return class_type::logger_base::assign(static_cast< class_type const& >(that));\
- }\
- class_type& operator= (BOOST_RV_REF(class_type) that)\
- {\
- BOOST_LOG_EXPR_IF_MT(::boost::log::aux::exclusive_lock_guard< class_type::threading_model > lock(this->get_threading_model());)\
- this->swap_unlocked(that);\
- return *this;\
- }
-
-#define BOOST_LOG_FORWARD_LOGGER_ASSIGNMENT_TEMPLATE(class_type)\
- public:\
- class_type& operator= (BOOST_COPY_ASSIGN_REF(class_type) that)\
- {\
- return class_type::logger_base::assign(static_cast< class_type const& >(that));\
- }\
- class_type& operator= (BOOST_RV_REF(class_type) that)\
- {\
- BOOST_LOG_EXPR_IF_MT(::boost::log::aux::exclusive_lock_guard< typename class_type::threading_model > lock(this->get_threading_model());)\
- this->swap_unlocked(that);\
- return *this;\
- }
-
-#define BOOST_LOG_FORWARD_LOGGER_MEMBERS(class_type)\
- BOOST_COPYABLE_AND_MOVABLE(class_type)\
- BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS(class_type)\
- BOOST_LOG_FORWARD_LOGGER_ASSIGNMENT(class_type)
-
-#define BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(class_type)\
- BOOST_COPYABLE_AND_MOVABLE(class_type)\
- BOOST_LOG_FORWARD_LOGGER_CONSTRUCTORS_TEMPLATE(class_type)\
- BOOST_LOG_FORWARD_LOGGER_ASSIGNMENT_TEMPLATE(class_type)
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-/*!
- * \brief The macro declares a logger class that inherits a number of base classes
- *
- * \param type_name The name of the logger class to declare
- * \param char_type The character type of the logger. Either char or wchar_t expected.
- * \param base_seq A Boost.Preprocessor sequence of type identifiers of the base classes templates
- * \param threading A threading model class
- */
-#define BOOST_LOG_DECLARE_LOGGER_TYPE(type_name, char_type, base_seq, threading)\
- class type_name :\
- public ::boost::log::sources::basic_composite_logger<\
- char_type,\
- type_name,\
- threading,\
- ::boost::log::sources::features< BOOST_PP_SEQ_ENUM(base_seq) >\
- >\
- {\
- BOOST_LOG_FORWARD_LOGGER_MEMBERS(type_name)\
- }
-
-
-
-#ifdef BOOST_LOG_USE_CHAR
-
-/*!
- * \brief The macro declares a narrow-char logger class that inherits a number of base classes
- *
- * Equivalent to BOOST_LOG_DECLARE_LOGGER_TYPE(type_name, char, base_seq, single_thread_model)
- *
- * \param type_name The name of the logger class to declare
- * \param base_seq A Boost.Preprocessor sequence of type identifiers of the base classes templates
- */
-#define BOOST_LOG_DECLARE_LOGGER(type_name, base_seq)\
- BOOST_LOG_DECLARE_LOGGER_TYPE(type_name, char, base_seq, ::boost::log::sources::single_thread_model)
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-/*!
- * \brief The macro declares a narrow-char thread-safe logger class that inherits a number of base classes
- *
- * Equivalent to <tt>BOOST_LOG_DECLARE_LOGGER_TYPE(type_name, char, base_seq, multi_thread_model< shared_mutex >)</tt>
- *
- * \param type_name The name of the logger class to declare
- * \param base_seq A Boost.Preprocessor sequence of type identifiers of the base classes templates
- */
-#define BOOST_LOG_DECLARE_LOGGER_MT(type_name, base_seq)\
- BOOST_LOG_DECLARE_LOGGER_TYPE(type_name, char, base_seq,\
- ::boost::log::sources::multi_thread_model< ::boost::shared_mutex >)
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-/*!
- * \brief The macro declares a wide-char logger class that inherits a number of base classes
- *
- * Equivalent to BOOST_LOG_DECLARE_LOGGER_TYPE(type_name, wchar_t, base_seq, single_thread_model)
- *
- * \param type_name The name of the logger class to declare
- * \param base_seq A Boost.Preprocessor sequence of type identifiers of the base classes templates
- */
-#define BOOST_LOG_DECLARE_WLOGGER(type_name, base_seq)\
- BOOST_LOG_DECLARE_LOGGER_TYPE(type_name, wchar_t, base_seq, ::boost::log::sources::single_thread_model)
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-/*!
- * \brief The macro declares a wide-char thread-safe logger class that inherits a number of base classes
- *
- * Equivalent to <tt>BOOST_LOG_DECLARE_LOGGER_TYPE(type_name, wchar_t, base_seq, multi_thread_model< shared_mutex >)</tt>
- *
- * \param type_name The name of the logger class to declare
- * \param base_seq A Boost.Preprocessor sequence of type identifiers of the base classes templates
- */
-#define BOOST_LOG_DECLARE_WLOGGER_MT(type_name, base_seq)\
- BOOST_LOG_DECLARE_LOGGER_TYPE(type_name, wchar_t, base_seq,\
- ::boost::log::sources::multi_thread_model< ::boost::shared_mutex >)
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-#endif // BOOST_LOG_USE_WCHAR_T
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_BASIC_LOGGER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/channel_feature.hpp b/contrib/restricted/boost/boost/log/sources/channel_feature.hpp
deleted file mode 100644
index d7e88c4aad..0000000000
--- a/contrib/restricted/boost/boost/log/sources/channel_feature.hpp
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file channel_feature.hpp
- * \author Andrey Semashev
- * \date 28.02.2008
- *
- * The header contains implementation of a channel support feature.
- */
-
-#ifndef BOOST_LOG_SOURCES_CHANNEL_FEATURE_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_CHANNEL_FEATURE_HPP_INCLUDED_
-
-#include <string>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/locks.hpp>
-#include <boost/log/detail/default_attribute_names.hpp>
-#include <boost/log/keywords/channel.hpp>
-#include <boost/log/attributes/mutable_constant.hpp>
-#include <boost/log/utility/strictest_lock.hpp>
-#include <boost/log/core/record.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-/*!
- * \brief Channel feature implementation
- */
-template< typename BaseT, typename ChannelT >
-class basic_channel_logger :
- public BaseT
-{
- //! Base type
- typedef BaseT base_type;
- typedef basic_channel_logger this_type;
- BOOST_COPYABLE_AND_MOVABLE_ALT(this_type)
-
-public:
- //! Character type
- typedef typename base_type::char_type char_type;
- //! Final type
- typedef typename base_type::final_type final_type;
- //! Threading model being used
- typedef typename base_type::threading_model threading_model;
-
- //! Channel type
- typedef ChannelT channel_type;
- //! Channel attribute type
- typedef attributes::mutable_constant< channel_type > channel_attribute;
-
- //! Lock requirement for the \c open_record_unlocked method
- typedef typename strictest_lock<
- typename base_type::open_record_lock,
-#ifndef BOOST_LOG_NO_THREADS
- boost::log::aux::exclusive_lock_guard< threading_model >
-#else
- no_lock< threading_model >
-#endif // !defined(BOOST_LOG_NO_THREADS)
- >::type open_record_lock;
-
- //! Lock requirement for the \c swap_unlocked method
- typedef typename strictest_lock<
- typename base_type::swap_lock,
-#ifndef BOOST_LOG_NO_THREADS
- boost::log::aux::exclusive_lock_guard< threading_model >
-#else
- no_lock< threading_model >
-#endif // !defined(BOOST_LOG_NO_THREADS)
- >::type swap_lock;
-
-private:
- //! Default channel name generator
- struct make_default_channel_name
- {
- typedef channel_type result_type;
- result_type operator() () const { return result_type(); }
- };
-
-private:
- //! Channel attribute
- channel_attribute m_ChannelAttr;
-
-public:
- /*!
- * Default constructor. The constructed logger has the default-constructed channel name.
- */
- basic_channel_logger() : base_type(), m_ChannelAttr(channel_type())
- {
- base_type::add_attribute_unlocked(boost::log::aux::default_attribute_names::channel(), m_ChannelAttr);
- }
- /*!
- * Copy constructor
- */
- basic_channel_logger(basic_channel_logger const& that) :
- base_type(static_cast< base_type const& >(that)),
- m_ChannelAttr(that.m_ChannelAttr)
- {
- base_type::attributes()[boost::log::aux::default_attribute_names::channel()] = m_ChannelAttr;
- }
- /*!
- * Move constructor
- */
- basic_channel_logger(BOOST_RV_REF(basic_channel_logger) that) :
- base_type(boost::move(static_cast< base_type& >(that))),
- m_ChannelAttr(boost::move(that.m_ChannelAttr))
- {
- base_type::attributes()[boost::log::aux::default_attribute_names::channel()] = m_ChannelAttr;
- }
- /*!
- * Constructor with arguments. Allows to register a channel name attribute on construction.
- *
- * \param args A set of named arguments. The following arguments are supported:
- * \li \c channel - a string that represents the channel name
- */
- template< typename ArgsT >
- explicit basic_channel_logger(ArgsT const& args) :
- base_type(args),
- m_ChannelAttr(args[keywords::channel || make_default_channel_name()])
- {
- base_type::add_attribute_unlocked(boost::log::aux::default_attribute_names::channel(), m_ChannelAttr);
- }
-
- /*!
- * The observer of the channel name
- *
- * \return The channel name that was set by the logger
- */
- channel_type channel() const
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::shared_lock_guard< const threading_model > lock(this->get_threading_model());)
- return m_ChannelAttr.get();
- }
-
- /*!
- * The setter of the channel name
- *
- * \param ch The channel name to be set for the logger
- */
- void channel(channel_type const& ch)
- {
- BOOST_LOG_EXPR_IF_MT(boost::log::aux::exclusive_lock_guard< threading_model > lock(this->get_threading_model());)
- m_ChannelAttr.set(ch);
- }
-
-protected:
- /*!
- * Channel attribute accessor
- */
- channel_attribute const& get_channel_attribute() const { return m_ChannelAttr; }
-
- /*!
- * Unlocked \c open_record
- */
- template< typename ArgsT >
- record open_record_unlocked(ArgsT const& args)
- {
- return open_record_with_channel_unlocked(args, args[keywords::channel | parameter::void_()]);
- }
-
- /*!
- * Unlocked swap
- */
- void swap_unlocked(basic_channel_logger& that)
- {
- base_type::swap_unlocked(static_cast< base_type& >(that));
- m_ChannelAttr.swap(that.m_ChannelAttr);
- }
-
-private:
- //! The \c open_record implementation for the case when the channel is specified in log statement
- template< typename ArgsT, typename T >
- record open_record_with_channel_unlocked(ArgsT const& args, T const& ch)
- {
- m_ChannelAttr.set(ch);
- return base_type::open_record_unlocked(args);
- }
- //! The \c open_record implementation for the case when the channel is not specified in log statement
- template< typename ArgsT >
- record open_record_with_channel_unlocked(ArgsT const& args, parameter::void_)
- {
- return base_type::open_record_unlocked(args);
- }
-};
-
-/*!
- * \brief Channel support feature
- *
- * The logger with this feature automatically registers an attribute with the specified
- * on construction value, which is a channel name. The channel name can be modified
- * through the logger life time, either by calling the \c channel method or by specifying
- * the name in the logging statement.
- *
- * The type of the channel name can be customized by providing it as a template parameter
- * to the feature template. By default, a string will be used.
- */
-template< typename ChannelT = std::string >
-struct channel
-{
- template< typename BaseT >
- struct apply
- {
- typedef basic_channel_logger<
- BaseT,
- ChannelT
- > type;
- };
-};
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-//! The macro allows to put a record with a specific channel name into log
-#define BOOST_LOG_STREAM_CHANNEL(logger, chan)\
- BOOST_LOG_STREAM_WITH_PARAMS((logger), (::boost::log::keywords::channel = (chan)))
-
-#ifndef BOOST_LOG_NO_SHORTHAND_NAMES
-
-//! An equivalent to BOOST_LOG_STREAM_CHANNEL(logger, chan)
-#define BOOST_LOG_CHANNEL(logger, chan) BOOST_LOG_STREAM_CHANNEL(logger, chan)
-
-#endif // BOOST_LOG_NO_SHORTHAND_NAMES
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_CHANNEL_FEATURE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/channel_logger.hpp b/contrib/restricted/boost/boost/log/sources/channel_logger.hpp
deleted file mode 100644
index 72ba645d94..0000000000
--- a/contrib/restricted/boost/boost/log/sources/channel_logger.hpp
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file channel_logger.hpp
- * \author Andrey Semashev
- * \date 28.02.2008
- *
- * The header contains implementation of a logger with channel support.
- */
-
-#ifndef BOOST_LOG_SOURCES_CHANNEL_LOGGER_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_CHANNEL_LOGGER_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/light_rw_mutex.hpp>
-#endif // !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/sources/features.hpp>
-#include <boost/log/sources/basic_logger.hpp>
-#include <boost/log/sources/threading_models.hpp>
-#include <boost/log/sources/channel_feature.hpp>
-#include <boost/log/keywords/channel.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#ifdef BOOST_LOG_USE_CHAR
-
-//! Narrow-char logger with channel support
-template< typename ChannelT = std::string >
-class channel_logger :
- public basic_composite_logger<
- char,
- channel_logger< ChannelT >,
- single_thread_model,
- features< channel< ChannelT > >
- >
-{
- typedef typename channel_logger::logger_base base_type;
-
-public:
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(channel_logger)
-
- explicit channel_logger(ChannelT const& channel) : base_type(keywords::channel = channel)
- {
- }
-};
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-//! Narrow-char thread-safe logger with channel support
-template< typename ChannelT = std::string >
-class channel_logger_mt :
- public basic_composite_logger<
- char,
- channel_logger_mt< ChannelT >,
- multi_thread_model< boost::log::aux::light_rw_mutex >,
- features< channel< ChannelT > >
- >
-{
- typedef typename channel_logger_mt::logger_base base_type;
-
-public:
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(channel_logger_mt)
-
- explicit channel_logger_mt(ChannelT const& channel) : base_type(keywords::channel = channel)
- {
- }
-};
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-//! Wide-char logger with channel support
-template< typename ChannelT = std::wstring >
-class wchannel_logger :
- public basic_composite_logger<
- wchar_t,
- wchannel_logger< ChannelT >,
- single_thread_model,
- features< channel< ChannelT > >
- >
-{
- typedef typename wchannel_logger::logger_base base_type;
-
-public:
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(wchannel_logger)
-
- explicit wchannel_logger(ChannelT const& channel) : base_type(keywords::channel = channel)
- {
- }
-};
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-//! Wide-char thread-safe logger with channel support
-template< typename ChannelT = std::wstring >
-class wchannel_logger_mt :
- public basic_composite_logger<
- wchar_t,
- wchannel_logger< ChannelT >,
- multi_thread_model< boost::log::aux::light_rw_mutex >,
- features< channel< ChannelT > >
- >
-{
- typedef typename wchannel_logger_mt::logger_base base_type;
-
-public:
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(wchannel_logger_mt)
-
- explicit wchannel_logger_mt(ChannelT const& channel) : base_type(keywords::channel = channel)
- {
- }
-};
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-#endif // BOOST_LOG_USE_WCHAR_T
-
-#else // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \brief Narrow-char logger. Functionally equivalent to \c basic_channel_logger.
- *
- * See \c channel class template for a more detailed description
- */
-template< typename ChannelT = std::string >
-class channel_logger :
- public basic_composite_logger<
- char,
- channel_logger< ChannelT >,
- single_thread_model,
- features< channel< ChannelT > >
- >
-{
-public:
- /*!
- * Default constructor
- */
- channel_logger();
- /*!
- * Copy constructor
- */
- channel_logger(channel_logger const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit channel_logger(ArgsT... const& args);
- /*!
- * The constructor creates the logger with the specified channel name
- *
- * \param channel The channel name
- */
- explicit channel_logger(ChannelT const& channel);
- /*!
- * Assignment operator
- */
- channel_logger& operator= (channel_logger const& that)
- /*!
- * Swaps two loggers
- */
- void swap(channel_logger& that);
-};
-
-/*!
- * \brief Narrow-char thread-safe logger. Functionally equivalent to \c basic_channel_logger.
- *
- * See \c channel class template for a more detailed description
- */
-template< typename ChannelT = std::string >
-class channel_logger_mt :
- public basic_composite_logger<
- char,
- channel_logger_mt< ChannelT >,
- multi_thread_model< implementation_defined >,
- features< channel< ChannelT > >
- >
-{
-public:
- /*!
- * Default constructor
- */
- channel_logger_mt();
- /*!
- * Copy constructor
- */
- channel_logger_mt(channel_logger_mt const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit channel_logger_mt(ArgsT... const& args);
- /*!
- * The constructor creates the logger with the specified channel name
- *
- * \param channel The channel name
- */
- explicit channel_logger_mt(ChannelT const& channel);
- /*!
- * Assignment operator
- */
- channel_logger_mt& operator= (channel_logger_mt const& that)
- /*!
- * Swaps two loggers
- */
- void swap(channel_logger_mt& that);
-};
-
-/*!
- * \brief Wide-char logger. Functionally equivalent to \c basic_channel_logger.
- *
- * See \c channel class template for a more detailed description
- */
-template< typename ChannelT = std::wstring >
-class wchannel_logger :
- public basic_composite_logger<
- wchar_t,
- wchannel_logger< ChannelT >,
- single_thread_model,
- features< channel< ChannelT > >
- >
-{
-public:
- /*!
- * Default constructor
- */
- wchannel_logger();
- /*!
- * Copy constructor
- */
- wchannel_logger(wchannel_logger const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit wchannel_logger(ArgsT... const& args);
- /*!
- * The constructor creates the logger with the specified channel name
- *
- * \param channel The channel name
- */
- explicit wchannel_logger(ChannelT const& channel);
- /*!
- * Assignment operator
- */
- wchannel_logger& operator= (wchannel_logger const& that)
- /*!
- * Swaps two loggers
- */
- void swap(wchannel_logger& that);
-};
-
-/*!
- * \brief Wide-char thread-safe logger. Functionally equivalent to \c basic_channel_logger.
- *
- * See \c channel class template for a more detailed description
- */
-template< typename ChannelT = std::wstring >
-class wchannel_logger_mt :
- public basic_composite_logger<
- wchar_t,
- wchannel_logger< ChannelT >,
- multi_thread_model< implementation_defined >,
- features< channel< ChannelT > >
- >
-{
-public:
- /*!
- * Default constructor
- */
- wchannel_logger_mt();
- /*!
- * Copy constructor
- */
- wchannel_logger_mt(wchannel_logger_mt const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit wchannel_logger_mt(ArgsT... const& args);
- /*!
- * The constructor creates the logger with the specified channel name
- *
- * \param channel The channel name
- */
- explicit wchannel_logger_mt(ChannelT const& channel);
- /*!
- * Assignment operator
- */
- wchannel_logger_mt& operator= (wchannel_logger_mt const& that)
- /*!
- * Swaps two loggers
- */
- void swap(wchannel_logger_mt& that);
-};
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_CHANNEL_LOGGER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/exception_handler_feature.hpp b/contrib/restricted/boost/boost/log/sources/exception_handler_feature.hpp
deleted file mode 100644
index d29041109d..0000000000
--- a/contrib/restricted/boost/boost/log/sources/exception_handler_feature.hpp
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file exception_handler_feature.hpp
- * \author Andrey Semashev
- * \date 17.07.2009
- *
- * The header contains implementation of an exception handler support feature.
- */
-
-#ifndef BOOST_LOG_SOURCES_EXCEPTION_HANDLER_FEATURE_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_EXCEPTION_HANDLER_FEATURE_HPP_INCLUDED_
-
-#include <boost/mpl/if.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/detail/locks.hpp>
-#include <boost/log/core/record.hpp>
-#include <boost/log/sources/threading_models.hpp>
-#include <boost/log/utility/strictest_lock.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/thread/exceptions.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-/*!
- * \brief Exception handler feature implementation
- */
-template< typename BaseT >
-class basic_exception_handler_logger :
- public BaseT
-{
- //! Base type
- typedef BaseT base_type;
- typedef basic_exception_handler_logger this_type;
- BOOST_COPYABLE_AND_MOVABLE_ALT(this_type)
-
-public:
- //! Threading model being used
- typedef typename base_type::threading_model threading_model;
- //! Final logger type
- typedef typename base_type::final_type final_type;
- //! Exception handler function type
- typedef boost::log::aux::light_function< void () > exception_handler_type;
-
-#if defined(BOOST_LOG_DOXYGEN_PASS)
- //! Lock requirement for the open_record_unlocked method
- typedef typename strictest_lock<
- typename base_type::open_record_lock,
- no_lock< threading_model >
- >::type open_record_lock;
- //! Lock requirement for the push_record_unlocked method
- typedef typename strictest_lock<
- typename base_type::push_record_lock,
- no_lock< threading_model >
- >::type push_record_lock;
-#endif // defined(BOOST_LOG_DOXYGEN_PASS)
-
- //! Lock requirement for the swap_unlocked method
- typedef typename strictest_lock<
- typename base_type::swap_lock,
-#ifndef BOOST_LOG_NO_THREADS
- boost::log::aux::exclusive_lock_guard< threading_model >
-#else
- no_lock< threading_model >
-#endif // !defined(BOOST_LOG_NO_THREADS)
- >::type swap_lock;
-
-private:
- //! Exception handler
- exception_handler_type m_ExceptionHandler;
-
-public:
- /*!
- * Default constructor. The constructed logger does not have an exception handler.
- */
- basic_exception_handler_logger() : base_type()
- {
- }
- /*!
- * Copy constructor
- */
- basic_exception_handler_logger(basic_exception_handler_logger const& that) :
- base_type(static_cast< base_type const& >(that)),
- m_ExceptionHandler(that.m_ExceptionHandler)
- {
- }
- /*!
- * Move constructor
- */
- basic_exception_handler_logger(BOOST_RV_REF(basic_exception_handler_logger) that) :
- base_type(boost::move(static_cast< base_type& >(that))),
- m_ExceptionHandler(boost::move(that.m_ExceptionHandler))
- {
- }
- /*!
- * Constructor with arguments. Passes arguments to other features.
- */
- template< typename ArgsT >
- explicit basic_exception_handler_logger(ArgsT const& args) :
- base_type(args)
- {
- }
-
- /*!
- * The method sets exception handler function. The function will be called with no arguments
- * in case if an exception occurs during either \c open_record or \c push_record method
- * execution. Since exception handler is called from a \c catch statement, the exception
- * can be rethrown in order to determine its type.
- *
- * By default no handler is installed, thus any exception is propagated as usual.
- *
- * \sa <tt>utility/exception_handler.hpp</tt>
- * \param handler Exception handling function
- *
- * \note The exception handler can be invoked in several threads concurrently.
- *
- * \note Thread interruptions are not affected by exception handlers.
- */
- template< typename HandlerT >
- void set_exception_handler(HandlerT const& handler)
- {
-#ifndef BOOST_LOG_NO_THREADS
- boost::log::aux::exclusive_lock_guard< threading_model > lock(this->get_threading_model());
-#endif
- m_ExceptionHandler = handler;
- }
-
-protected:
- /*!
- * Unlocked \c open_record
- */
- template< typename ArgsT >
- record open_record_unlocked(ArgsT const& args)
- {
- try
- {
- return base_type::open_record_unlocked(args);
- }
-#ifndef BOOST_LOG_NO_THREADS
- catch (thread_interrupted&)
- {
- throw;
- }
-#endif
- catch (...)
- {
- handle_exception();
- return record();
- }
- }
-
- /*!
- * Unlocked \c push_record
- */
- void push_record_unlocked(BOOST_RV_REF(record) rec)
- {
- try
- {
- base_type::push_record_unlocked(boost::move(rec));
- }
-#ifndef BOOST_LOG_NO_THREADS
- catch (thread_interrupted&)
- {
- throw;
- }
-#endif
- catch (...)
- {
- handle_exception();
- }
- }
-
- /*!
- * Unlocked swap
- */
- void swap_unlocked(basic_exception_handler_logger& that)
- {
- base_type::swap_unlocked(static_cast< base_type& >(that));
- m_ExceptionHandler.swap(that.m_ExceptionHandler);
- }
-
-private:
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
- //! The function handles the intercepted exception
- void handle_exception()
- {
-#ifndef BOOST_LOG_NO_THREADS
- // Here's the trick with the lock type. Since the lock
- // is only needed when an exception is caught, we indicate
- // no locking requirements in the push_record_lock type.
- // However, if other features don't require locking either,
- // we shall acquire a read lock here, when an exception is caught.
- // If other features do require locking, the thread model is
- // already locked by now, and we don't do locking at all.
- typedef typename mpl::if_<
- is_same< no_lock< threading_model >, typename final_type::push_record_lock >,
- boost::log::aux::shared_lock_guard< threading_model >,
- no_lock< threading_model >
- >::type lock_type;
- lock_type lock(base_type::get_threading_model());
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
- if (m_ExceptionHandler.empty())
- throw;
- m_ExceptionHandler();
- }
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-};
-
-/*!
- * \brief Exception handler support feature
- *
- * The logger with this feature will provide an additional method to
- * install an exception handler functional object. This functional
- * object will be called if during either opening or pushing a record
- * an exception is thrown from the logging core.
- */
-struct exception_handler
-{
- template< typename BaseT >
- struct apply
- {
- typedef basic_exception_handler_logger< BaseT > type;
- };
-};
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_EXCEPTION_HANDLER_FEATURE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/features.hpp b/contrib/restricted/boost/boost/log/sources/features.hpp
deleted file mode 100644
index c7761b4d11..0000000000
--- a/contrib/restricted/boost/boost/log/sources/features.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file sources/features.hpp
- * \author Andrey Semashev
- * \date 17.07.2009
- *
- * The header contains definition of a features list class template.
- */
-
-#ifndef BOOST_LOG_SOURCES_FEATURES_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_FEATURES_HPP_INCLUDED_
-
-#include <boost/mpl/lambda.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#include <boost/preprocessor/facilities/intercept.hpp>
-
-//! The macro defines the maximum number of features that can be specified for a logger
-#ifndef BOOST_LOG_FEATURES_LIMIT
-#define BOOST_LOG_FEATURES_LIMIT 10
-#endif // BOOST_LOG_FEATURES_LIMIT
-
-#endif
-
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-#if defined(BOOST_LOG_DOXYGEN_PASS) || !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-/*!
- * \brief A type sequence of logger features
- *
- * This class template can be used to specify logger features in a \c basic_composite_logger instantiation.
- */
-template< typename... FeaturesT >
-struct features
-{
-};
-
-namespace aux {
-
-//! The metafunction produces the inherited features hierarchy with \c RootT as the ultimate base type
-template< typename RootT, typename FeaturesT >
-struct inherit_features;
-
-template< typename RootT, typename FeatureT0, typename... FeaturesT >
-struct inherit_features< RootT, features< FeatureT0, FeaturesT... > >
-{
- typedef typename mpl::lambda<
- FeatureT0
- >::type::BOOST_NESTED_TEMPLATE apply<
- typename inherit_features<
- RootT,
- features< FeaturesT... >
- >::type
- >::type type;
-};
-
-template< typename RootT, typename FeatureT0 >
-struct inherit_features< RootT, features< FeatureT0 > >
-{
- typedef typename mpl::lambda<
- FeatureT0
- >::type::BOOST_NESTED_TEMPLATE apply<
- RootT
- >::type type;
-};
-
-template< typename RootT >
-struct inherit_features< RootT, features< > >
-{
- typedef RootT type;
-};
-
-} // namespace aux
-
-#else
-
-//! A type sequence of logger features
-template< BOOST_PP_ENUM_BINARY_PARAMS(BOOST_LOG_FEATURES_LIMIT, typename FeatureT, = void BOOST_PP_INTERCEPT) >
-struct features
-{
-};
-
-namespace aux {
-
-template< typename RootT, typename FeaturesT >
-struct inherit_features;
-
-template< typename RootT, BOOST_PP_ENUM_PARAMS(BOOST_LOG_FEATURES_LIMIT, typename FeatureT) >
-struct inherit_features< RootT, features< BOOST_PP_ENUM_PARAMS(BOOST_LOG_FEATURES_LIMIT, FeatureT) > >
-{
- typedef typename mpl::lambda<
- FeatureT0
- >::type::BOOST_NESTED_TEMPLATE apply<
- typename inherit_features<
- RootT,
- features< BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_LOG_FEATURES_LIMIT, FeatureT) >
- >::type
- >::type type;
-};
-
-template< typename RootT, typename FeatureT0 >
-struct inherit_features< RootT, features< FeatureT0, BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_LOG_FEATURES_LIMIT, void BOOST_PP_INTERCEPT) > >
-{
- typedef typename mpl::lambda<
- FeatureT0
- >::type::BOOST_NESTED_TEMPLATE apply<
- RootT
- >::type type;
-};
-
-template< typename RootT >
-struct inherit_features< RootT, features< BOOST_PP_ENUM_PARAMS(BOOST_LOG_FEATURES_LIMIT, void BOOST_PP_INTERCEPT) > >
-{
- typedef RootT type;
-};
-
-} // namespace aux
-
-#endif
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_FEATURES_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/global_logger_storage.hpp b/contrib/restricted/boost/boost/log/sources/global_logger_storage.hpp
deleted file mode 100644
index dad41a128c..0000000000
--- a/contrib/restricted/boost/boost/log/sources/global_logger_storage.hpp
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file global_logger_storage.hpp
- * \author Andrey Semashev
- * \date 21.04.2008
- *
- * The header contains implementation of facilities to declare global loggers.
- */
-
-#ifndef BOOST_LOG_SOURCES_GLOBAL_LOGGER_STORAGE_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_GLOBAL_LOGGER_STORAGE_HPP_INCLUDED_
-
-#include <stdexcept>
-#include <boost/type_index.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/singleton.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-namespace aux {
-
-//! The base class for logger holders
-struct logger_holder_base
-{
- //! The source file name where the logger was registered
- const char* const m_RegistrationFile;
- //! The line number where the logger was registered
- const unsigned int m_RegistrationLine;
- //! Stored logger type
- const typeindex::type_index m_LoggerType;
-
- logger_holder_base(const char* file, unsigned int line, typeindex::type_index logger_type) BOOST_NOEXCEPT :
- m_RegistrationFile(file),
- m_RegistrationLine(line),
- m_LoggerType(logger_type)
- {
- }
-};
-
-//! The actual logger holder class
-template< typename LoggerT >
-struct logger_holder :
- public logger_holder_base
-{
- //! The logger instance
- LoggerT m_Logger;
-
- logger_holder(const char* file, unsigned int line, LoggerT const& logger) :
- logger_holder_base(file, line, typeindex::type_id< LoggerT >()),
- m_Logger(logger)
- {
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- logger_holder(const char* file, unsigned int line, LoggerT&& logger) :
- logger_holder_base(file, line, typeindex::type_id< LoggerT >()),
- m_Logger(static_cast< LoggerT&& >(logger))
- {
- }
-#endif
-};
-
-//! The class implements a global repository of tagged loggers
-struct global_storage
-{
- typedef shared_ptr< logger_holder_base >(*initializer_t)();
-
- //! Finds or creates the logger and returns its holder
- BOOST_LOG_API static shared_ptr< logger_holder_base > get_or_init(typeindex::type_index key, initializer_t initializer);
-
- // Non-constructible, non-copyable, non-assignable
- BOOST_DELETED_FUNCTION(global_storage())
- BOOST_DELETED_FUNCTION(global_storage(global_storage const&))
- BOOST_DELETED_FUNCTION(global_storage& operator= (global_storage const&))
-};
-
-//! Throws the \c odr_violation exception
-BOOST_LOG_API BOOST_LOG_NORETURN void throw_odr_violation(
- typeindex::type_index tag_type,
- typeindex::type_index logger_type,
- logger_holder_base const& registered);
-
-//! The class implements a logger singleton
-template< typename TagT >
-struct logger_singleton :
- public boost::log::aux::lazy_singleton<
- logger_singleton< TagT >,
- shared_ptr< logger_holder< typename TagT::logger_type > >
- >
-{
- //! Base type
- typedef boost::log::aux::lazy_singleton<
- logger_singleton< TagT >,
- shared_ptr< logger_holder< typename TagT::logger_type > >
- > base_type;
- //! Logger type
- typedef typename TagT::logger_type logger_type;
-
- //! Returns the logger instance
- static logger_type& get()
- {
- return base_type::get()->m_Logger;
- }
-
- //! Initializes the logger instance (called only once)
- static void init_instance()
- {
- shared_ptr< logger_holder< logger_type > >& instance = base_type::get_instance();
- const typeindex::type_index tag_type_index = typeindex::type_id< TagT >();
- shared_ptr< logger_holder_base > holder = global_storage::get_or_init(tag_type_index, &logger_singleton::construct_logger);
- const typeindex::type_index logger_type_index = typeindex::type_id< logger_type >();
- if (holder->m_LoggerType == logger_type_index)
- {
- // Note: dynamic_cast may fail here if logger_type is not visible (for example, with Clang on Linux, if the original logger
- // instance was initialized in a different DSO than where it's being queried). logger_holder visibility doesn't
- // have effect since it is inhibited by the template parameter visibility.
- instance = boost::static_pointer_cast< logger_holder< logger_type > >(holder);
- }
- else
- {
- // In pure C++ this should never happen, since there cannot be two
- // different tag types that have equal type_infos. In real life it can
- // happen if the same-named tag is defined differently in two or more
- // dlls. This check is intended to detect such ODR violations. However, there
- // is no protection against different definitions of the logger type itself.
- boost::log::sources::aux::throw_odr_violation(tag_type_index, logger_type_index, *holder);
- }
- }
-
-private:
- //! Constructs a logger holder
- static shared_ptr< logger_holder_base > construct_logger()
- {
- return boost::make_shared< logger_holder< logger_type > >(
- TagT::registration_file(),
- static_cast< unsigned int >(TagT::registration_line),
- TagT::construct_logger());
- }
-};
-
-} // namespace aux
-
-//! The macro forward-declares a global logger with a custom initialization
-#define BOOST_LOG_GLOBAL_LOGGER(tag_name, logger)\
- struct tag_name\
- {\
- typedef logger logger_type;\
- enum registration_line_t { registration_line = __LINE__ };\
- static const char* registration_file() { return __FILE__; }\
- static logger_type construct_logger();\
- static inline logger_type& get()\
- {\
- return ::boost::log::sources::aux::logger_singleton< tag_name >::get();\
- }\
- };
-
-//! The macro defines a global logger initialization routine
-#define BOOST_LOG_GLOBAL_LOGGER_INIT(tag_name, logger)\
- tag_name::logger_type tag_name::construct_logger()
-
-//! The macro defines a global logger initializer that will default-construct the logger
-#define BOOST_LOG_GLOBAL_LOGGER_DEFAULT(tag_name, logger)\
- BOOST_LOG_GLOBAL_LOGGER_INIT(tag_name, logger)\
- {\
- return logger_type();\
- }
-
-//! The macro defines a global logger initializer that will construct the logger with the specified constructor arguments
-#define BOOST_LOG_GLOBAL_LOGGER_CTOR_ARGS(tag_name, logger, args)\
- BOOST_LOG_GLOBAL_LOGGER_INIT(tag_name, logger)\
- {\
- return logger_type(BOOST_PP_SEQ_ENUM(args));\
- }
-
-//! The macro declares a global logger with a custom initialization
-#define BOOST_LOG_INLINE_GLOBAL_LOGGER_INIT(tag_name, logger)\
- BOOST_LOG_GLOBAL_LOGGER(tag_name, logger)\
- inline BOOST_LOG_GLOBAL_LOGGER_INIT(tag_name, logger)
-
-//! The macro declares a global logger that will be default-constructed
-#define BOOST_LOG_INLINE_GLOBAL_LOGGER_DEFAULT(tag_name, logger)\
- BOOST_LOG_INLINE_GLOBAL_LOGGER_INIT(tag_name, logger)\
- {\
- return logger_type();\
- }
-
-//! The macro declares a global logger that will be constructed with the specified arguments
-#define BOOST_LOG_INLINE_GLOBAL_LOGGER_CTOR_ARGS(tag_name, logger, args)\
- BOOST_LOG_INLINE_GLOBAL_LOGGER_INIT(tag_name, logger)\
- {\
- return logger_type(BOOST_PP_SEQ_ENUM(args));\
- }
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_GLOBAL_LOGGER_STORAGE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/logger.hpp b/contrib/restricted/boost/boost/log/sources/logger.hpp
deleted file mode 100644
index c1ad01d4ab..0000000000
--- a/contrib/restricted/boost/boost/log/sources/logger.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file logger.hpp
- * \author Andrey Semashev
- * \date 08.03.2007
- *
- * The header contains implementation of a simplistic logger with no features.
- */
-
-#ifndef BOOST_LOG_SOURCES_LOGGER_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_LOGGER_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/sources/basic_logger.hpp>
-#include <boost/log/sources/features.hpp>
-#include <boost/log/sources/threading_models.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/light_rw_mutex.hpp>
-#endif // !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-#ifdef BOOST_LOG_USE_CHAR
-
-/*!
- * \brief Narrow-char logger. Functionally equivalent to \c basic_logger.
- *
- * See \c basic_logger class template for a more detailed description.
- */
-class logger :
- public basic_composite_logger< char, logger, single_thread_model, features< > >
-{
- BOOST_LOG_FORWARD_LOGGER_MEMBERS(logger)
-};
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-/*!
- * \brief Narrow-char thread-safe logger. Functionally equivalent to \c basic_logger.
- *
- * See \c basic_logger class template for a more detailed description.
- */
-class logger_mt :
- public basic_composite_logger< char, logger_mt, multi_thread_model< boost::log::aux::light_rw_mutex >, features< > >
-{
- BOOST_LOG_FORWARD_LOGGER_MEMBERS(logger_mt)
-};
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-/*!
- * \brief Wide-char logger. Functionally equivalent to \c basic_logger.
- *
- * See \c basic_logger class template for a more detailed description.
- */
-class wlogger :
- public basic_composite_logger< wchar_t, wlogger, single_thread_model, features< > >
-{
- BOOST_LOG_FORWARD_LOGGER_MEMBERS(wlogger)
-};
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-/*!
- * \brief Wide-char thread-safe logger. Functionally equivalent to \c basic_logger.
- *
- * See \c basic_logger class template for a more detailed description.
- */
-class wlogger_mt :
- public basic_composite_logger< wchar_t, wlogger_mt, multi_thread_model< boost::log::aux::light_rw_mutex >, features< > >
-{
- BOOST_LOG_FORWARD_LOGGER_MEMBERS(wlogger_mt)
-};
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-#endif // BOOST_LOG_USE_WCHAR_T
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_LOGGER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/record_ostream.hpp b/contrib/restricted/boost/boost/log/sources/record_ostream.hpp
deleted file mode 100644
index 6e80ba4d5d..0000000000
--- a/contrib/restricted/boost/boost/log/sources/record_ostream.hpp
+++ /dev/null
@@ -1,583 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file record_ostream.hpp
- * \author Andrey Semashev
- * \date 09.03.2009
- *
- * This header contains a wrapper class around a logging record that allows to compose the
- * record message with a streaming expression.
- */
-
-#ifndef BOOST_LOG_SOURCES_RECORD_OSTREAM_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_RECORD_OSTREAM_HPP_INCLUDED_
-
-#include <string>
-#include <iosfwd>
-#include <ostream>
-#include <boost/assert.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_scalar.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/core/addressof.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/native_typeof.hpp>
-#include <boost/log/detail/unhandled_exception_count.hpp>
-#include <boost/log/core/record.hpp>
-#include <boost/log/utility/unique_identifier_name.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-template< typename CharT >
-class basic_record_ostream;
-
-namespace aux {
-
-template< typename StreamT, typename T, bool ByValueV, typename R >
-struct enable_record_ostream_generic_operator {};
-template< typename CharT, typename T, typename R >
-struct enable_record_ostream_generic_operator< basic_record_ostream< CharT >, T, false, R > :
- public boost::disable_if_c< boost::is_scalar< typename boost::remove_cv< T >::type >::value, R >
-{
-};
-template< typename CharT, typename T, typename R >
-struct enable_record_ostream_generic_operator< basic_record_ostream< CharT >, T, true, R > :
- public boost::enable_if_c< boost::is_enum< typename boost::remove_cv< T >::type >::value, R >
-{
-};
-
-} // namespace aux
-
-/*!
- * \brief Logging record adapter with a streaming capability
- *
- * This class allows to compose the logging record message by streaming operations. It
- * aggregates the log record and provides the standard output stream interface.
- */
-template< typename CharT >
-class basic_record_ostream :
- public basic_formatting_ostream< CharT >
-{
- //! Self type
- typedef basic_record_ostream< CharT > this_type;
- //! Base stream class
- typedef basic_formatting_ostream< CharT > base_type;
-
-public:
- //! Character type
- typedef CharT char_type;
- //! String type to be used as a message text holder
- typedef std::basic_string< char_type > string_type;
- //! Stream type
- typedef std::basic_ostream< char_type > stream_type;
- //! Character traits
- typedef typename base_type::traits_type traits_type;
-
-private:
- //! Log record
- record* m_record;
-
-public:
- /*!
- * Default constructor. Creates an empty record that is equivalent to the invalid record handle.
- * The stream capability is not available after construction.
- *
- * \post <tt>!*this == true</tt>
- */
- basic_record_ostream() BOOST_NOEXCEPT : m_record(NULL) {}
-
- /*!
- * Constructor from a record object. Attaches to the provided record.
- *
- * \pre <tt>!!rec == true</tt>
- * \post <tt>&this->get_record() == &rec</tt>
- * \param rec The record handle being attached to
- */
- explicit basic_record_ostream(record& rec)
- {
- BOOST_ASSERT_MSG(!!rec, "Boost.Log: basic_record_ostream should only be attached to a valid record");
- m_record = &rec;
- init_stream();
- }
-
- /*!
- * Destructor. Destroys the record, releases any sinks and attribute values that were involved in processing this record.
- */
- ~basic_record_ostream() BOOST_NOEXCEPT
- {
- detach_from_record();
- }
-
- /*!
- * Conversion to an unspecified boolean type
- *
- * \return \c true, if stream is valid and ready for formatting, \c false, if the stream is not valid. The latter also applies to
- * the case when the stream is not attached to a log record.
- */
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
-
- /*!
- * Inverted conversion to an unspecified boolean type
- *
- * \return \c false, if stream is valid and ready for formatting, \c true, if the stream is not valid. The latter also applies to
- * the case when the stream is not attached to a log record.
- */
- bool operator! () const BOOST_NOEXCEPT
- {
- return (!m_record || base_type::fail());
- }
-
- /*!
- * Flushes internal buffers to complete all pending formatting operations and returns the aggregated log record
- *
- * \return The aggregated record object
- */
- record& get_record()
- {
- BOOST_ASSERT(m_record != NULL);
- this->flush();
- return *m_record;
- }
-
- /*!
- * Flushes internal buffers to complete all pending formatting operations and returns the aggregated log record
- *
- * \return The aggregated record object
- */
- record const& get_record() const
- {
- BOOST_ASSERT(m_record != NULL);
- const_cast< this_type* >(this)->flush();
- return *m_record;
- }
-
- /*!
- * If the stream is attached to a log record, flushes internal buffers to complete all pending formatting operations.
- * Then reattaches the stream to another log record.
- *
- * \param rec New log record to attach to
- */
- void attach_record(record& rec)
- {
- BOOST_ASSERT_MSG(!!rec, "Boost.Log: basic_record_ostream should only be attached to a valid record");
- detach_from_record();
- m_record = &rec;
- init_stream();
- }
-
- //! The function resets the stream into a detached (default initialized) state
- BOOST_LOG_API void detach_from_record() BOOST_NOEXCEPT;
-
- basic_record_ostream& operator<< (typename base_type::ios_base_manip manip)
- {
- static_cast< base_type& >(*this) << manip;
- return *this;
- }
- basic_record_ostream& operator<< (typename base_type::basic_ios_manip manip)
- {
- static_cast< base_type& >(*this) << manip;
- return *this;
- }
- basic_record_ostream& operator<< (typename base_type::stream_manip manip)
- {
- static_cast< base_type& >(*this) << manip;
- return *this;
- }
-
- basic_record_ostream& operator<< (char c)
- {
- static_cast< base_type& >(*this) << c;
- return *this;
- }
- basic_record_ostream& operator<< (const char* p)
- {
- static_cast< base_type& >(*this) << p;
- return *this;
- }
-
- // When no native character type is supported, the following overloads are disabled as they have ambiguous meaning.
- // Use basic_string_view or basic_string to explicitly indicate that the data is a string.
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
- basic_record_ostream& operator<< (wchar_t c)
- {
- static_cast< base_type& >(*this) << c;
- return *this;
- }
- basic_record_ostream& operator<< (const wchar_t* p)
- {
- static_cast< base_type& >(*this) << p;
- return *this;
- }
-#endif
-#if !defined(BOOST_LOG_NO_CXX11_CODECVT_FACETS)
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
- basic_record_ostream& operator<< (char16_t c)
- {
- static_cast< base_type& >(*this) << c;
- return *this;
- }
- basic_record_ostream& operator<< (const char16_t* p)
- {
- static_cast< base_type& >(*this) << p;
- return *this;
- }
-#endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
- basic_record_ostream& operator<< (char32_t c)
- {
- static_cast< base_type& >(*this) << c;
- return *this;
- }
- basic_record_ostream& operator<< (const char32_t* p)
- {
- static_cast< base_type& >(*this) << p;
- return *this;
- }
-#endif
-#endif
-
- basic_record_ostream& operator<< (bool value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
- basic_record_ostream& operator<< (signed char value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
- basic_record_ostream& operator<< (unsigned char value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
- basic_record_ostream& operator<< (short value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
- basic_record_ostream& operator<< (unsigned short value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
- basic_record_ostream& operator<< (int value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
- basic_record_ostream& operator<< (unsigned int value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
- basic_record_ostream& operator<< (long value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
- basic_record_ostream& operator<< (unsigned long value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
-#if !defined(BOOST_NO_LONG_LONG)
- basic_record_ostream& operator<< (long long value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
- basic_record_ostream& operator<< (unsigned long long value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
-#endif
-
- basic_record_ostream& operator<< (float value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
- basic_record_ostream& operator<< (double value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
- basic_record_ostream& operator<< (long double value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
-
- basic_record_ostream& operator<< (const void* value)
- {
- static_cast< base_type& >(*this) << value;
- return *this;
- }
-
- basic_record_ostream& operator<< (std::basic_streambuf< char_type, traits_type >* buf)
- {
- static_cast< base_type& >(*this) << buf;
- return *this;
- }
-
-private:
- //! The function initializes the stream and the stream buffer
- BOOST_LOG_API void init_stream();
-
- // Copy and assignment are closed
- BOOST_DELETED_FUNCTION(basic_record_ostream(basic_record_ostream const&))
- BOOST_DELETED_FUNCTION(basic_record_ostream& operator= (basic_record_ostream const&))
-};
-
-
-#ifdef BOOST_LOG_USE_CHAR
-typedef basic_record_ostream< char > record_ostream; //!< Convenience typedef for narrow-character logging
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-typedef basic_record_ostream< wchar_t > wrecord_ostream; //!< Convenience typedef for wide-character logging
-#endif
-
-// Implementation note: these operators below should be the least attractive for the compiler
-// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose.
-// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload
-// would be more preferred than the typical one written by users:
-//
-// record_ostream& operator<< (record_ostream& strm, my_type const& arg);
-//
-// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required
-// if there is a perfect forwarding overload.
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_record_ostream_generic_operator< StreamT, T, true, StreamT& >::type
-operator<< (StreamT& strm, T value)
-{
- typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
- static_cast< formatting_ostream_type& >(strm) << value;
- return strm;
-}
-
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_record_ostream_generic_operator< StreamT, T, false, StreamT& >::type
-operator<< (StreamT& strm, T const& value)
-{
- typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
- static_cast< formatting_ostream_type& >(strm) << value;
- return strm;
-}
-
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_record_ostream_generic_operator< StreamT, T, false, StreamT& >::type
-operator<< (StreamT& strm, T& value)
-{
- typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
- static_cast< formatting_ostream_type& >(strm) << value;
- return strm;
-}
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_record_ostream_generic_operator< StreamT, T, true, StreamT& >::type
-operator<< (StreamT&& strm, T value)
-{
- typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
- static_cast< formatting_ostream_type& >(strm) << value;
- return strm;
-}
-
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_record_ostream_generic_operator< StreamT, T, false, StreamT& >::type
-operator<< (StreamT&& strm, T const& value)
-{
- typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
- static_cast< formatting_ostream_type& >(strm) << value;
- return strm;
-}
-
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_record_ostream_generic_operator< StreamT, T, false, StreamT& >::type
-operator<< (StreamT&& strm, T& value)
-{
- typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type;
- static_cast< formatting_ostream_type& >(strm) << value;
- return strm;
-}
-
-#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-namespace aux {
-
-//! Internal class that provides formatting streams for record pumps
-template< typename CharT >
-struct stream_provider
-{
- //! Character type
- typedef CharT char_type;
-
- //! Formatting stream compound
- struct stream_compound
- {
- stream_compound* next;
-
- //! Log record stream adapter
- basic_record_ostream< char_type > stream;
-
- //! Initializing constructor
- explicit stream_compound(record& rec) : next(NULL), stream(rec) {}
- };
-
- //! The method returns an allocated stream compound
- BOOST_LOG_API static stream_compound* allocate_compound(record& rec);
- //! The method releases a compound
- BOOST_LOG_API static void release_compound(stream_compound* compound) BOOST_NOEXCEPT;
-
- // Non-constructible, non-copyable, non-assignable
- BOOST_DELETED_FUNCTION(stream_provider())
- BOOST_DELETED_FUNCTION(stream_provider(stream_provider const&))
- BOOST_DELETED_FUNCTION(stream_provider& operator= (stream_provider const&))
-};
-
-
-/*!
- * \brief Logging record pump implementation
- *
- * The pump is used to format the logging record message text and then
- * push it to the logging core. It is constructed on each attempt to write
- * a log record and destroyed afterwards.
- *
- * The pump class template is instantiated on the logger type.
- */
-template< typename LoggerT >
-class record_pump
-{
- BOOST_MOVABLE_BUT_NOT_COPYABLE(record_pump)
-
-private:
- //! Logger type
- typedef LoggerT logger_type;
- //! Character type
- typedef typename logger_type::char_type char_type;
- //! Stream compound provider
- typedef stream_provider< char_type > stream_provider_type;
- //! Stream compound type
- typedef typename stream_provider_type::stream_compound stream_compound;
-
- //! Stream compound release guard
- class auto_release;
- friend class auto_release;
- class auto_release
- {
- stream_compound* m_pCompound;
-
- public:
- explicit auto_release(stream_compound* p) BOOST_NOEXCEPT : m_pCompound(p) {}
- ~auto_release() BOOST_NOEXCEPT { stream_provider_type::release_compound(m_pCompound); }
- };
-
-protected:
- //! A reference to the logger
- logger_type* m_pLogger;
- //! Stream compound
- stream_compound* m_pStreamCompound;
- //! Exception state
- const unsigned int m_ExceptionCount;
-
-public:
- //! Constructor
- explicit record_pump(logger_type& lg, record& rec) :
- m_pLogger(boost::addressof(lg)),
- m_pStreamCompound(stream_provider_type::allocate_compound(rec)),
- m_ExceptionCount(unhandled_exception_count())
- {
- }
- //! Move constructor
- record_pump(BOOST_RV_REF(record_pump) that) BOOST_NOEXCEPT :
- m_pLogger(that.m_pLogger),
- m_pStreamCompound(that.m_pStreamCompound),
- m_ExceptionCount(that.m_ExceptionCount)
- {
- that.m_pLogger = 0;
- that.m_pStreamCompound = 0;
- }
- //! Destructor. Pushes the composed message to log.
- ~record_pump() BOOST_NOEXCEPT_IF(false)
- {
- if (m_pLogger)
- {
- auto_release cleanup(m_pStreamCompound); // destructor doesn't throw
- // Only push the record if no exception has been thrown in the streaming expression (if possible)
- if (m_ExceptionCount >= unhandled_exception_count())
- m_pLogger->push_record(boost::move(m_pStreamCompound->stream.get_record()));
- }
- }
-
- //! Returns the stream to be used for message text formatting
- basic_record_ostream< char_type >& stream() const BOOST_NOEXCEPT
- {
- BOOST_ASSERT(m_pStreamCompound != 0);
- return m_pStreamCompound->stream;
- }
-};
-
-template< typename LoggerT >
-BOOST_FORCEINLINE record_pump< LoggerT > make_record_pump(LoggerT& lg, record& rec)
-{
- return record_pump< LoggerT >(lg, rec);
-}
-
-} // namespace aux
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_STREAM_INTERNAL(logger, rec_var)\
- for (::boost::log::record rec_var = (logger).open_record(); !!rec_var;)\
- ::boost::log::aux::make_record_pump((logger), rec_var).stream()
-
-#define BOOST_LOG_STREAM_WITH_PARAMS_INTERNAL(logger, rec_var, params_seq)\
- for (::boost::log::record rec_var = (logger).open_record((BOOST_PP_SEQ_ENUM(params_seq))); !!rec_var;)\
- ::boost::log::aux::make_record_pump((logger), rec_var).stream()
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-//! The macro writes a record to the log
-#define BOOST_LOG_STREAM(logger)\
- BOOST_LOG_STREAM_INTERNAL(logger, BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_record_))
-
-//! The macro writes a record to the log and allows to pass additional named arguments to the logger
-#define BOOST_LOG_STREAM_WITH_PARAMS(logger, params_seq)\
- BOOST_LOG_STREAM_WITH_PARAMS_INTERNAL(logger, BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_record_), params_seq)
-
-#ifndef BOOST_LOG_NO_SHORTHAND_NAMES
-
-//! An equivalent to BOOST_LOG_STREAM(logger)
-#define BOOST_LOG(logger) BOOST_LOG_STREAM(logger)
-
-//! An equivalent to BOOST_LOG_STREAM_WITH_PARAMS(logger, params_seq)
-#define BOOST_LOG_WITH_PARAMS(logger, params_seq) BOOST_LOG_STREAM_WITH_PARAMS(logger, params_seq)
-
-#endif // BOOST_LOG_NO_SHORTHAND_NAMES
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_RECORD_OSTREAM_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/severity_channel_logger.hpp b/contrib/restricted/boost/boost/log/sources/severity_channel_logger.hpp
deleted file mode 100644
index 502cd3a442..0000000000
--- a/contrib/restricted/boost/boost/log/sources/severity_channel_logger.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file severity_channel_logger.hpp
- * \author Andrey Semashev
- * \date 28.02.2008
- *
- * The header contains implementation of a logger with severity level and channel support.
- */
-
-#ifndef BOOST_LOG_SOURCES_SEVERITY_CHANNEL_LOGGER_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_SEVERITY_CHANNEL_LOGGER_HPP_INCLUDED_
-
-#include <string>
-#include <boost/log/detail/config.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/light_rw_mutex.hpp>
-#endif // !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/sources/features.hpp>
-#include <boost/log/sources/basic_logger.hpp>
-#include <boost/log/sources/threading_models.hpp>
-#include <boost/log/sources/severity_feature.hpp>
-#include <boost/log/sources/channel_feature.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#ifdef BOOST_LOG_USE_CHAR
-
-//! Narrow-char logger with severity level and channel support
-template< typename LevelT = int, typename ChannelT = std::string >
-class severity_channel_logger :
- public basic_composite_logger<
- char,
- severity_channel_logger< LevelT, ChannelT >,
- single_thread_model,
- features<
- severity< LevelT >,
- channel< ChannelT >
- >
- >
-{
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(severity_channel_logger)
-};
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-//! Narrow-char thread-safe logger with severity level and channel support
-template< typename LevelT = int, typename ChannelT = std::string >
-class severity_channel_logger_mt :
- public basic_composite_logger<
- char,
- severity_channel_logger_mt< LevelT, ChannelT >,
- multi_thread_model< boost::log::aux::light_rw_mutex >,
- features<
- severity< LevelT >,
- channel< ChannelT >
- >
- >
-{
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(severity_channel_logger_mt)
-};
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-//! Wide-char logger with severity level and channel support
-template< typename LevelT = int, typename ChannelT = std::wstring >
-class wseverity_channel_logger :
- public basic_composite_logger<
- wchar_t,
- wseverity_channel_logger< LevelT, ChannelT >,
- single_thread_model,
- features<
- severity< LevelT >,
- channel< ChannelT >
- >
- >
-{
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(wseverity_channel_logger)
-};
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-//! Wide-char thread-safe logger with severity level and channel support
-template< typename LevelT = int, typename ChannelT = std::wstring >
-class wseverity_channel_logger_mt :
- public basic_composite_logger<
- wchar_t,
- wseverity_channel_logger_mt< LevelT, ChannelT >,
- multi_thread_model< boost::log::aux::light_rw_mutex >,
- features<
- severity< LevelT >,
- channel< ChannelT >
- >
- >
-{
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(wseverity_channel_logger_mt)
-};
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-#endif // BOOST_LOG_USE_WCHAR_T
-
-#else // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \brief Narrow-char logger. Functionally equivalent to \c basic_severity_logger and \c basic_channel_logger.
- *
- * See \c severity and \c channel class templates for a more detailed description
- */
-template< typename LevelT = int, typename ChannelT = std::string >
-class severity_channel_logger :
- public basic_composite_logger<
- char,
- severity_channel_logger< LevelT, ChannelT >,
- single_thread_model,
- features<
- severity< LevelT >,
- channel< ChannelT >
- >
- >
-{
-public:
- /*!
- * Default constructor
- */
- severity_channel_logger();
- /*!
- * Copy constructor
- */
- severity_channel_logger(severity_channel_logger const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit severity_channel_logger(ArgsT... const& args);
- /*!
- * Assignment operator
- */
- severity_channel_logger& operator= (severity_channel_logger const& that)
- /*!
- * Swaps two loggers
- */
- void swap(severity_channel_logger& that);
-};
-
-/*!
- * \brief Narrow-char thread-safe logger. Functionally equivalent to \c basic_severity_logger and \c basic_channel_logger.
- *
- * See \c severity and \c channel class templates for a more detailed description
- */
-template< typename LevelT = int, typename ChannelT = std::string >
-class severity_channel_logger_mt :
- public basic_composite_logger<
- char,
- severity_channel_logger_mt< LevelT, ChannelT >,
- multi_thread_model< implementation_defined >,
- features<
- severity< LevelT >,
- channel< ChannelT >
- >
- >
-{
-public:
- /*!
- * Default constructor
- */
- severity_channel_logger_mt();
- /*!
- * Copy constructor
- */
- severity_channel_logger_mt(severity_channel_logger_mt const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit severity_channel_logger_mt(ArgsT... const& args);
- /*!
- * Assignment operator
- */
- severity_channel_logger_mt& operator= (severity_channel_logger_mt const& that)
- /*!
- * Swaps two loggers
- */
- void swap(severity_channel_logger_mt& that);
-};
-
-/*!
- * \brief Wide-char logger. Functionally equivalent to \c basic_severity_logger and \c basic_channel_logger.
- *
- * See \c severity and \c channel class templates for a more detailed description
- */
-template< typename LevelT = int, typename ChannelT = std::wstring >
-class wseverity_channel_logger :
- public basic_composite_logger<
- wchar_t,
- wseverity_channel_logger< LevelT, ChannelT >,
- single_thread_model,
- features<
- severity< LevelT >,
- channel< ChannelT >
- >
- >
-{
-public:
- /*!
- * Default constructor
- */
- wseverity_channel_logger();
- /*!
- * Copy constructor
- */
- wseverity_channel_logger(wseverity_channel_logger const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit wseverity_channel_logger(ArgsT... const& args);
- /*!
- * Assignment operator
- */
- wseverity_channel_logger& operator= (wseverity_channel_logger const& that)
- /*!
- * Swaps two loggers
- */
- void swap(wseverity_channel_logger& that);
-};
-
-/*!
- * \brief Wide-char thread-safe logger. Functionally equivalent to \c basic_severity_logger and \c basic_channel_logger.
- *
- * See \c severity and \c channel class templates for a more detailed description
- */
-template< typename LevelT = int, typename ChannelT = std::wstring >
-class wseverity_channel_logger_mt :
- public basic_composite_logger<
- wchar_t,
- wseverity_channel_logger_mt< LevelT, ChannelT >,
- multi_thread_model< implementation_defined >,
- features<
- severity< LevelT >,
- channel< ChannelT >
- >
- >
-{
-public:
- /*!
- * Default constructor
- */
- wseverity_channel_logger_mt();
- /*!
- * Copy constructor
- */
- wseverity_channel_logger_mt(wseverity_channel_logger_mt const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit wseverity_channel_logger_mt(ArgsT... const& args);
- /*!
- * Assignment operator
- */
- wseverity_channel_logger_mt& operator= (wseverity_channel_logger_mt const& that)
- /*!
- * Swaps two loggers
- */
- void swap(wseverity_channel_logger_mt& that);
-};
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-//! The macro allows to put a record with a specific channel name into log
-#define BOOST_LOG_STREAM_CHANNEL_SEV(logger, chan, lvl)\
- BOOST_LOG_STREAM_WITH_PARAMS((logger), (::boost::log::keywords::channel = (chan))(::boost::log::keywords::severity = (lvl)))
-
-#ifndef BOOST_LOG_NO_SHORTHAND_NAMES
-
-//! An equivalent to BOOST_LOG_STREAM_CHANNEL_SEV(logger, chan, lvl)
-#define BOOST_LOG_CHANNEL_SEV(logger, chan, lvl) BOOST_LOG_STREAM_CHANNEL_SEV(logger, chan, lvl)
-
-#endif // BOOST_LOG_NO_SHORTHAND_NAMES
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_SEVERITY_CHANNEL_LOGGER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/severity_feature.hpp b/contrib/restricted/boost/boost/log/sources/severity_feature.hpp
deleted file mode 100644
index 101769bda1..0000000000
--- a/contrib/restricted/boost/boost/log/sources/severity_feature.hpp
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file severity_feature.hpp
- * \author Andrey Semashev
- * \date 08.03.2007
- *
- * The header contains implementation of a severity level support feature.
- */
-
-#ifndef BOOST_LOG_SOURCES_SEVERITY_FEATURE_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_SEVERITY_FEATURE_HPP_INCLUDED_
-
-#include <boost/cstdint.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/smart_ptr/intrusive_ptr.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/locks.hpp>
-#include <boost/log/detail/default_attribute_names.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_cast.hpp>
-#include <boost/log/attributes/attribute_value_impl.hpp>
-#include <boost/log/utility/strictest_lock.hpp>
-#include <boost/log/utility/type_dispatch/type_dispatcher.hpp>
-#include <boost/log/keywords/severity.hpp>
-#include <boost/log/core/record.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-namespace aux {
-
- //! The method returns the storage for severity level for the current thread
- BOOST_LOG_API uintmax_t& get_severity_level();
-
- //! Severity level attribute implementation
- template< typename LevelT >
- class severity_level :
- public attribute
- {
- typedef severity_level this_type;
- BOOST_COPYABLE_AND_MOVABLE(this_type)
-
- public:
- //! Stored level type
- typedef LevelT value_type;
- BOOST_STATIC_ASSERT_MSG(sizeof(value_type) <= sizeof(uintmax_t), "Boost.Log: Unsupported severity level type, the severity level must fit into uintmax_t");
-
- protected:
- //! Factory implementation
- class BOOST_SYMBOL_VISIBLE impl :
- public attribute_value::impl
- {
- public:
- //! The method dispatches the value to the given object
- bool dispatch(type_dispatcher& dispatcher)
- {
- type_dispatcher::callback< value_type > callback = dispatcher.get_callback< value_type >();
- if (callback)
- {
- callback(reinterpret_cast< value_type const& >(get_severity_level()));
- return true;
- }
- else
- return false;
- }
-
- //! The method is called when the attribute value is passed to another thread
- intrusive_ptr< attribute_value::impl > detach_from_thread()
- {
- #if !defined(BOOST_LOG_NO_THREADS)
- return new attributes::attribute_value_impl< value_type >(
- reinterpret_cast< value_type const& >(get_severity_level()));
- #else
- // With multithreading disabled we may safely return this here. This method will not be called anyway.
- return this;
- #endif
- }
- };
-
- public:
- //! Default constructor
- severity_level() : attribute(new impl())
- {
- }
- //! Copy constructor
- severity_level(severity_level const& that) : attribute(static_cast< attribute const& >(that))
- {
- }
- //! Move constructor
- severity_level(BOOST_RV_REF(severity_level) that) : attribute(boost::move(static_cast< attribute& >(that)))
- {
- }
- //! Constructor for casting support
- explicit severity_level(attributes::cast_source const& source) :
- attribute(source.as< impl >())
- {
- }
-
- /*!
- * Copy assignment
- */
- severity_level& operator= (BOOST_COPY_ASSIGN_REF(severity_level) that)
- {
- attribute::operator= (that);
- return *this;
- }
-
- /*!
- * Move assignment
- */
- severity_level& operator= (BOOST_RV_REF(severity_level) that)
- {
- this->swap(that);
- return *this;
- }
-
- //! The method sets the actual level
- void set_value(value_type level)
- {
- reinterpret_cast< value_type& >(get_severity_level()) = level;
- }
- };
-
-} // namespace aux
-
-/*!
- * \brief Severity level feature implementation
- */
-template< typename BaseT, typename LevelT = int >
-class basic_severity_logger :
- public BaseT
-{
- //! Base type
- typedef BaseT base_type;
- typedef basic_severity_logger this_type;
- BOOST_COPYABLE_AND_MOVABLE_ALT(this_type)
-
-public:
- //! Character type
- typedef typename base_type::char_type char_type;
- //! Final type
- typedef typename base_type::final_type final_type;
- //! Threading model being used
- typedef typename base_type::threading_model threading_model;
-
- //! Severity level type
- typedef LevelT severity_level;
- //! Severity attribute type
- typedef aux::severity_level< severity_level > severity_attribute;
-
-#if defined(BOOST_LOG_DOXYGEN_PASS)
- //! Lock requirement for the \c open_record_unlocked method
- typedef typename strictest_lock<
- typename base_type::open_record_lock,
- no_lock< threading_model >
- >::type open_record_lock;
-#endif // defined(BOOST_LOG_DOXYGEN_PASS)
-
- //! Lock requirement for the \c swap_unlocked method
- typedef typename strictest_lock<
- typename base_type::swap_lock,
-#ifndef BOOST_LOG_NO_THREADS
- boost::log::aux::exclusive_lock_guard< threading_model >
-#else
- no_lock< threading_model >
-#endif // !defined(BOOST_LOG_NO_THREADS)
- >::type swap_lock;
-
-private:
- //! Default severity
- severity_level m_DefaultSeverity;
- //! Severity attribute
- severity_attribute m_SeverityAttr;
-
-public:
- /*!
- * Default constructor. The constructed logger will have a severity attribute registered.
- * The default level for log records will be 0.
- */
- basic_severity_logger() :
- base_type(),
- m_DefaultSeverity(static_cast< severity_level >(0))
- {
- base_type::add_attribute_unlocked(boost::log::aux::default_attribute_names::severity(), m_SeverityAttr);
- }
- /*!
- * Copy constructor
- */
- basic_severity_logger(basic_severity_logger const& that) :
- base_type(static_cast< base_type const& >(that)),
- m_DefaultSeverity(that.m_DefaultSeverity),
- m_SeverityAttr(that.m_SeverityAttr)
- {
- base_type::attributes()[boost::log::aux::default_attribute_names::severity()] = m_SeverityAttr;
- }
- /*!
- * Move constructor
- */
- basic_severity_logger(BOOST_RV_REF(basic_severity_logger) that) :
- base_type(boost::move(static_cast< base_type& >(that))),
- m_DefaultSeverity(boost::move(that.m_DefaultSeverity)),
- m_SeverityAttr(boost::move(that.m_SeverityAttr))
- {
- base_type::attributes()[boost::log::aux::default_attribute_names::severity()] = m_SeverityAttr;
- }
- /*!
- * Constructor with named arguments. Allows to setup the default level for log records.
- *
- * \param args A set of named arguments. The following arguments are supported:
- * \li \c severity - default severity value
- */
- template< typename ArgsT >
- explicit basic_severity_logger(ArgsT const& args) :
- base_type(args),
- m_DefaultSeverity(args[keywords::severity | severity_level()])
- {
- base_type::add_attribute_unlocked(boost::log::aux::default_attribute_names::severity(), m_SeverityAttr);
- }
-
- /*!
- * Default severity value getter
- */
- severity_level default_severity() const { return m_DefaultSeverity; }
-
-protected:
- /*!
- * Severity attribute accessor
- */
- severity_attribute const& get_severity_attribute() const { return m_SeverityAttr; }
-
- /*!
- * Unlocked \c open_record
- */
- template< typename ArgsT >
- record open_record_unlocked(ArgsT const& args)
- {
- m_SeverityAttr.set_value(args[keywords::severity | m_DefaultSeverity]);
- return base_type::open_record_unlocked(args);
- }
-
- //! Unlocked \c swap
- void swap_unlocked(basic_severity_logger& that)
- {
- base_type::swap_unlocked(static_cast< base_type& >(that));
- severity_level t = m_DefaultSeverity;
- m_DefaultSeverity = that.m_DefaultSeverity;
- that.m_DefaultSeverity = t;
- m_SeverityAttr.swap(that.m_SeverityAttr);
- }
-};
-
-/*!
- * \brief Severity level support feature
- *
- * The logger with this feature registers a special attribute with an integral value type on construction.
- * This attribute will provide severity level for each log record being made through the logger.
- * The severity level can be omitted on logging record construction, in which case the default
- * level will be used. The default level can also be customized by passing it to the logger constructor.
- *
- * The type of the severity level attribute can be specified as a template parameter for the feature
- * template. By default, \c int will be used.
- */
-template< typename LevelT = int >
-struct severity
-{
- template< typename BaseT >
- struct apply
- {
- typedef basic_severity_logger<
- BaseT,
- LevelT
- > type;
- };
-};
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-//! The macro allows to put a record with a specific severity level into log
-#define BOOST_LOG_STREAM_SEV(logger, lvl)\
- BOOST_LOG_STREAM_WITH_PARAMS((logger), (::boost::log::keywords::severity = (lvl)))
-
-#ifndef BOOST_LOG_NO_SHORTHAND_NAMES
-
-//! An equivalent to BOOST_LOG_STREAM_SEV(logger, lvl)
-#define BOOST_LOG_SEV(logger, lvl) BOOST_LOG_STREAM_SEV(logger, lvl)
-
-#endif // BOOST_LOG_NO_SHORTHAND_NAMES
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_SEVERITY_FEATURE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/severity_logger.hpp b/contrib/restricted/boost/boost/log/sources/severity_logger.hpp
deleted file mode 100644
index 25a9312573..0000000000
--- a/contrib/restricted/boost/boost/log/sources/severity_logger.hpp
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file severity_logger.hpp
- * \author Andrey Semashev
- * \date 08.03.2007
- *
- * The header contains implementation of a logger with severity level support.
- */
-
-#ifndef BOOST_LOG_SOURCES_SEVERITY_LOGGER_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_SEVERITY_LOGGER_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/light_rw_mutex.hpp>
-#endif // !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/sources/features.hpp>
-#include <boost/log/sources/basic_logger.hpp>
-#include <boost/log/sources/threading_models.hpp>
-#include <boost/log/sources/severity_feature.hpp>
-#include <boost/log/keywords/severity.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#ifdef BOOST_LOG_USE_CHAR
-
-//! Narrow-char logger with severity level support
-template< typename LevelT = int >
-class severity_logger :
- public basic_composite_logger<
- char,
- severity_logger< LevelT >,
- single_thread_model,
- features< severity< LevelT > >
- >
-{
- typedef typename severity_logger::logger_base base_type;
-
-public:
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(severity_logger)
-
- explicit severity_logger(LevelT level) : base_type(keywords::severity = level)
- {
- }
-};
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-//! Narrow-char thread-safe logger with severity level support
-template< typename LevelT = int >
-class severity_logger_mt :
- public basic_composite_logger<
- char,
- severity_logger_mt< LevelT >,
- multi_thread_model< boost::log::aux::light_rw_mutex >,
- features< severity< LevelT > >
- >
-{
- typedef typename severity_logger_mt::logger_base base_type;
-
-public:
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(severity_logger_mt)
-
- explicit severity_logger_mt(LevelT level) : base_type(keywords::severity = level)
- {
- }
-};
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-#endif
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-//! Wide-char logger with severity level support
-template< typename LevelT = int >
-class wseverity_logger :
- public basic_composite_logger<
- wchar_t,
- wseverity_logger< LevelT >,
- single_thread_model,
- features< severity< LevelT > >
- >
-{
- typedef typename wseverity_logger::logger_base base_type;
-
-public:
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(wseverity_logger)
-
- explicit wseverity_logger(LevelT level) : base_type(keywords::severity = level)
- {
- }
-};
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-//! Wide-char thread-safe logger with severity level support
-template< typename LevelT = int >
-class wseverity_logger_mt :
- public basic_composite_logger<
- wchar_t,
- wseverity_logger_mt< LevelT >,
- multi_thread_model< boost::log::aux::light_rw_mutex >,
- features< severity< LevelT > >
- >
-{
- typedef typename wseverity_logger_mt::logger_base base_type;
-
-public:
- BOOST_LOG_FORWARD_LOGGER_MEMBERS_TEMPLATE(wseverity_logger_mt)
-
- explicit wseverity_logger_mt(LevelT level) : base_type(keywords::severity = level)
- {
- }
-};
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-#endif
-
-#else // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \brief Narrow-char logger. Functionally equivalent to \c basic_severity_logger.
- *
- * See \c severity class template for a more detailed description
- */
-template< typename LevelT = int >
-class severity_logger :
- public basic_composite_logger<
- char,
- severity_logger< LevelT >,
- single_thread_model,
- features< severity< LevelT > >
- >
-{
-public:
- /*!
- * Default constructor
- */
- severity_logger();
- /*!
- * Copy constructor
- */
- severity_logger(severity_logger const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit severity_logger(ArgsT... const& args);
- /*!
- * The constructor creates the logger with the specified default severity level
- *
- * \param level The default severity level
- */
- explicit severity_logger(LevelT level);
- /*!
- * Assignment operator
- */
- severity_logger& operator= (severity_logger const& that)
- /*!
- * Swaps two loggers
- */
- void swap(severity_logger& that);
-};
-
-/*!
- * \brief Narrow-char thread-safe logger. Functionally equivalent to \c basic_severity_logger.
- *
- * See \c severity class template for a more detailed description
- */
-template< typename LevelT = int >
-class severity_logger_mt :
- public basic_composite_logger<
- char,
- severity_logger_mt< LevelT >,
- multi_thread_model< implementation_defined >,
- features< severity< LevelT > >
- >
-{
-public:
- /*!
- * Default constructor
- */
- severity_logger_mt();
- /*!
- * Copy constructor
- */
- severity_logger_mt(severity_logger_mt const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit severity_logger_mt(ArgsT... const& args);
- /*!
- * The constructor creates the logger with the specified default severity level
- *
- * \param level The default severity level
- */
- explicit severity_logger_mt(LevelT level);
- /*!
- * Assignment operator
- */
- severity_logger_mt& operator= (severity_logger_mt const& that)
- /*!
- * Swaps two loggers
- */
- void swap(severity_logger_mt& that);
-};
-
-/*!
- * \brief Wide-char logger. Functionally equivalent to \c basic_severity_logger.
- *
- * See \c severity class template for a more detailed description
- */
-template< typename LevelT = int >
-class wseverity_logger :
- public basic_composite_logger<
- wchar_t,
- wseverity_logger< LevelT >,
- single_thread_model,
- features< severity< LevelT > >
- >
-{
-public:
- /*!
- * Default constructor
- */
- wseverity_logger();
- /*!
- * Copy constructor
- */
- wseverity_logger(wseverity_logger const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit wseverity_logger(ArgsT... const& args);
- /*!
- * The constructor creates the logger with the specified default severity level
- *
- * \param level The default severity level
- */
- explicit wseverity_logger(LevelT level);
- /*!
- * Assignment operator
- */
- wseverity_logger& operator= (wseverity_logger const& that)
- /*!
- * Swaps two loggers
- */
- void swap(wseverity_logger& that);
-};
-
-/*!
- * \brief Wide-char thread-safe logger. Functionally equivalent to \c basic_severity_logger.
- *
- * See \c severity class template for a more detailed description
- */
-template< typename LevelT = int >
-class wseverity_logger_mt :
- public basic_composite_logger<
- wchar_t,
- wseverity_logger_mt< LevelT >,
- multi_thread_model< implementation_defined >,
- features< severity< LevelT > >
- >
-{
-public:
- /*!
- * Default constructor
- */
- wseverity_logger_mt();
- /*!
- * Copy constructor
- */
- wseverity_logger_mt(wseverity_logger_mt const& that);
- /*!
- * Constructor with named arguments
- */
- template< typename... ArgsT >
- explicit wseverity_logger_mt(ArgsT... const& args);
- /*!
- * The constructor creates the logger with the specified default severity level
- *
- * \param level The default severity level
- */
- explicit wseverity_logger_mt(LevelT level);
- /*!
- * Assignment operator
- */
- wseverity_logger_mt& operator= (wseverity_logger_mt const& that)
- /*!
- * Swaps two loggers
- */
- void swap(wseverity_logger_mt& that);
-};
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_SEVERITY_LOGGER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/sources/threading_models.hpp b/contrib/restricted/boost/boost/log/sources/threading_models.hpp
deleted file mode 100644
index 5fe6d1a6e4..0000000000
--- a/contrib/restricted/boost/boost/log/sources/threading_models.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file sources/threading_models.hpp
- * \author Andrey Semashev
- * \date 04.10.2008
- *
- * The header contains definition of threading models that can be used in loggers.
- * The header also provides a number of tags that can be used to express lock requirements
- * on a function callee.
- */
-
-#ifndef BOOST_LOG_SOURCES_THREADING_MODELS_HPP_INCLUDED_
-#define BOOST_LOG_SOURCES_THREADING_MODELS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/locks.hpp> // is_mutex_type
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/mpl/bool.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-//! Single thread locking model
-struct single_thread_model
-{
- // We provide methods for the most advanced locking concept: UpgradeLockable
- void lock_shared() const {}
- bool try_lock_shared() const { return true; }
- template< typename TimeT >
- bool timed_lock_shared(TimeT const&) const { return true; }
- void unlock_shared() const {}
- void lock() const {}
- bool try_lock() const { return true; }
- template< typename TimeT >
- bool timed_lock(TimeT const&) const { return true; }
- void unlock() const {}
- void lock_upgrade() const {}
- bool try_lock_upgrade() const { return true; }
- template< typename TimeT >
- bool timed_lock_upgrade(TimeT const&) const { return true; }
- void unlock_upgrade() const {}
- void unlock_upgrade_and_lock() const {}
- void unlock_and_lock_upgrade() const {}
- void unlock_and_lock_shared() const {}
- void unlock_upgrade_and_lock_shared() const {}
-
- void swap(single_thread_model&) {}
-};
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-//! Multi-thread locking model with maximum locking capabilities
-template< typename MutexT >
-struct multi_thread_model
-{
- multi_thread_model() {}
- multi_thread_model(multi_thread_model const&) {}
- multi_thread_model& operator= (multi_thread_model const&) { return *this; }
-
- void lock_shared() const { m_Mutex.lock_shared(); }
- bool try_lock_shared() const { return m_Mutex.try_lock_shared(); }
- template< typename TimeT >
- bool timed_lock_shared(TimeT const& t) const { return m_Mutex.timed_lock_shared(t); }
- void unlock_shared() const { m_Mutex.unlock_shared(); }
- void lock() const { m_Mutex.lock(); }
- bool try_lock() const { return m_Mutex.try_lock(); }
- template< typename TimeT >
- bool timed_lock(TimeT const& t) const { return m_Mutex.timed_lock(t); }
- void unlock() const { m_Mutex.unlock(); }
- void lock_upgrade() const { m_Mutex.lock_upgrade(); }
- bool try_lock_upgrade() const { return m_Mutex.try_lock_upgrade(); }
- template< typename TimeT >
- bool timed_lock_upgrade(TimeT const& t) const { return m_Mutex.timed_lock_upgrade(t); }
- void unlock_upgrade() const { m_Mutex.unlock_upgrade(); }
- void unlock_upgrade_and_lock() const { m_Mutex.unlock_upgrade_and_lock(); }
- void unlock_and_lock_upgrade() const { m_Mutex.unlock_and_lock_upgrade(); }
- void unlock_and_lock_shared() const { m_Mutex.unlock_and_lock_shared(); }
- void unlock_upgrade_and_lock_shared() const { m_Mutex.unlock_upgrade_and_lock_shared(); }
-
- void swap(multi_thread_model&) {}
-
-private:
- //! Synchronization primitive
- mutable MutexT m_Mutex;
-};
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-#if !defined(BOOST_LOG_NO_THREADS) && !defined(BOOST_LOG_DOXYGEN_PASS)
-
-template< >
-struct is_mutex_type< boost::log::sources::single_thread_model > : mpl::true_
-{
-};
-
-template< typename T >
-struct is_mutex_type< boost::log::sources::multi_thread_model< T > > : mpl::true_
-{
-};
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SOURCES_THREADING_MODELS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/support/date_time.hpp b/contrib/restricted/boost/boost/log/support/date_time.hpp
deleted file mode 100644
index 0699ea7e43..0000000000
--- a/contrib/restricted/boost/boost/log/support/date_time.hpp
+++ /dev/null
@@ -1,548 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file support/date_time.hpp
- * \author Andrey Semashev
- * \date 07.11.2012
- *
- * This header enables Boost.DateTime support for Boost.Log.
- */
-
-#ifndef BOOST_LOG_SUPPORT_DATE_TIME_HPP_INCLUDED_
-#define BOOST_LOG_SUPPORT_DATE_TIME_HPP_INCLUDED_
-
-#include <ctime>
-#include <string>
-#include <locale>
-#include <ostream>
-#include <iterator>
-#include <boost/cstdint.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/date_time/time.hpp>
-#include <boost/date_time/date.hpp>
-#include <boost/date_time/gregorian/gregorian_types.hpp>
-#include <boost/date_time/local_time/local_time_types.hpp>
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/date_time_format_parser.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/detail/decomposed_time.hpp>
-#include <boost/log/detail/date_time_fmt_gen_traits_fwd.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-namespace date_time_support {
-
-template< typename DateT, typename ValueT >
-inline void decompose_date(DateT const& d, boost::log::aux::decomposed_time_wrapper< ValueT >& v)
-{
- typedef typename DateT::ymd_type ymd_type;
- ymd_type ymd = d.year_month_day();
- v.year = static_cast< uint32_t >(ymd.year);
- v.month = static_cast< uint32_t >(ymd.month);
- v.day = static_cast< uint32_t >(ymd.day);
-}
-
-template< typename TimeDurationT, typename ValueT >
-inline void decompose_time_of_day(TimeDurationT const& tod, boost::log::aux::decomposed_time_wrapper< ValueT >& v)
-{
- v.hours = static_cast< uint32_t >(tod.hours());
- v.minutes = static_cast< uint32_t >(tod.minutes());
- v.seconds = static_cast< uint32_t >(tod.seconds());
-
- typedef typename TimeDurationT::traits_type traits_type;
- enum
- {
- adjustment_ratio = (traits_type::ticks_per_second > boost::log::aux::decomposed_time::subseconds_per_second ?
- traits_type::ticks_per_second / boost::log::aux::decomposed_time::subseconds_per_second :
- boost::log::aux::decomposed_time::subseconds_per_second / traits_type::ticks_per_second)
- };
- uint64_t frac = tod.fractional_seconds();
- v.subseconds = static_cast< uint32_t >(traits_type::ticks_per_second > boost::log::aux::decomposed_time::subseconds_per_second ? frac / adjustment_ratio : frac * adjustment_ratio);
-}
-
-template< typename TimeDurationT, typename ValueT >
-inline void decompose_time_duration(TimeDurationT const& dur, boost::log::aux::decomposed_time_wrapper< ValueT >& v)
-{
- if (dur.is_negative())
- {
- v.negative = true;
- (decompose_time_of_day)(-dur, v);
- }
- else
- (decompose_time_of_day)(dur, v);
-}
-
-template< typename DateDurationT, typename ValueT >
-inline void decompose_date_duration(DateDurationT const& dur, boost::log::aux::decomposed_time_wrapper< ValueT >& v)
-{
- if (dur.is_negative())
- {
- v.negative = true;
- v.day = static_cast< uint32_t >((-dur).days());
- }
- else
- v.day = static_cast< uint32_t >(dur.days());
-}
-
-template< typename TimeT, typename ValueT >
-inline void decompose_time(TimeT const& t, boost::log::aux::decomposed_time_wrapper< ValueT >& v)
-{
- (decompose_date)(t.date(), v);
- (decompose_time_of_day)(t.time_of_day(), v);
-}
-
-} // namespace date_time_support
-
-template< typename TimeT, typename CharT >
-struct date_time_formatter_generator_traits_impl
-{
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Formatting stream type
- typedef basic_formatting_ostream< char_type > stream_type;
- //! Value type
- typedef TimeT value_type;
-
- //! Formatter function
- typedef boost::log::aux::light_function< void (stream_type&, value_type const&) > formatter_function_type;
-
- //! Formatter implementation
- class formatter :
- public boost::log::aux::date_time_formatter< boost::log::aux::decomposed_time_wrapper< value_type >, char_type >
- {
- BOOST_COPYABLE_AND_MOVABLE_ALT(formatter)
-
- private:
- // Do not change this typedef, copy-pasting the inherited class from above will break compilation with MSVC 2012 because it incorrectly binds value_type.
- typedef typename formatter::date_time_formatter_ base_type;
-
- public:
- typedef typename base_type::result_type result_type;
- // This typedef is needed to work around MSVC 2012 crappy name lookup. Otherwise base_type::value_type is bound instead.
- typedef typename date_time_formatter_generator_traits_impl< TimeT, CharT >::value_type value_type;
-
- public:
- BOOST_DEFAULTED_FUNCTION(formatter(), {})
- formatter(formatter const& that) : base_type(static_cast< base_type const& >(that)) {}
- formatter(BOOST_RV_REF(formatter) that) { this->swap(that); }
-
- formatter& operator= (formatter that)
- {
- this->swap(that);
- return *this;
- }
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- if (value.is_not_a_date_time())
- strm << "not-a-date-time";
- else if (value.is_pos_infinity())
- strm << "+infinity";
- else if (value.is_neg_infinity())
- strm << "-infinity";
- else
- {
- boost::log::aux::decomposed_time_wrapper< value_type > val(value);
- date_time_support::decompose_time(value, val);
- base_type::operator() (strm, val);
- }
- }
- };
-
- //! The function parses format string and constructs formatter function
- static formatter_function_type parse(string_type const& format)
- {
- formatter fmt;
- boost::log::aux::decomposed_time_formatter_builder< formatter, char_type > builder(fmt);
- boost::log::aux::parse_date_time_format(format, builder);
- return formatter_function_type(boost::move(fmt));
- }
-};
-
-template< typename CharT, typename VoidT >
-struct date_time_formatter_generator_traits< posix_time::ptime, CharT, VoidT > :
- public date_time_formatter_generator_traits_impl< posix_time::ptime, CharT >
-{
-};
-
-template< typename TimeT, typename TimeZoneT, typename CharT, typename VoidT >
-struct date_time_formatter_generator_traits< local_time::local_date_time_base< TimeT, TimeZoneT >, CharT, VoidT >
-{
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Formatting stream type
- typedef basic_formatting_ostream< char_type > stream_type;
- //! Value type
- typedef local_time::local_date_time_base< TimeT, TimeZoneT > value_type;
-
- //! Formatter function
- typedef boost::log::aux::light_function< void (stream_type&, value_type const&) > formatter_function_type;
-
- //! Formatter implementation
- class formatter :
- public boost::log::aux::date_time_formatter< boost::log::aux::decomposed_time_wrapper< value_type >, char_type >
- {
- BOOST_COPYABLE_AND_MOVABLE_ALT(formatter)
-
- private:
- // Do not change this typedef, copy-pasting the inherited class from above will break compilation with MSVC 2012 because it incorrectly binds value_type.
- typedef typename formatter::date_time_formatter_ base_type;
-
- public:
- typedef typename base_type::result_type result_type;
- typedef typename base_type::context context;
- // This typedef is needed to work around MSVC 2012 crappy name lookup. Otherwise base_type::value_type is bound instead.
- typedef typename date_time_formatter_generator_traits< local_time::local_date_time_base< TimeT, TimeZoneT >, CharT, VoidT >::value_type value_type;
-
- public:
- BOOST_DEFAULTED_FUNCTION(formatter(), {})
- formatter(formatter const& that) : base_type(static_cast< base_type const& >(that)) {}
- formatter(BOOST_RV_REF(formatter) that) { this->swap(that); }
-
- formatter& operator= (formatter that)
- {
- this->swap(that);
- return *this;
- }
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- if (value.is_not_a_date_time())
- strm << "not-a-date-time";
- else if (value.is_pos_infinity())
- strm << "+infinity";
- else if (value.is_neg_infinity())
- strm << "-infinity";
- else
- {
- boost::log::aux::decomposed_time_wrapper< value_type > val(value);
- date_time_support::decompose_time(value.local_time(), val);
- base_type::operator() (strm, val);
- }
- }
-
- public:
- static void format_iso_time_zone(context& ctx)
- {
- ctx.strm << ctx.value.m_time.zone_abbrev(true);
- ctx.strm.flush();
- }
-
- static void format_extended_iso_time_zone(context& ctx)
- {
- ctx.strm << ctx.value.m_time.zone_name(true);
- ctx.strm.flush();
- }
- };
-
- class formatter_builder :
- public boost::log::aux::decomposed_time_formatter_builder< formatter, char_type >
- {
- private:
- typedef boost::log::aux::decomposed_time_formatter_builder< formatter, char_type > base_type;
-
- public:
- explicit formatter_builder(formatter& fmt) : base_type(fmt)
- {
- }
-
- void on_iso_time_zone()
- {
- this->m_formatter.add_formatter(&formatter::format_iso_time_zone);
- }
-
- void on_extended_iso_time_zone()
- {
- this->m_formatter.add_formatter(&formatter::format_extended_iso_time_zone);
- }
- };
-
- //! The function parses format string and constructs formatter function
- static formatter_function_type parse(string_type const& format)
- {
- formatter fmt;
- formatter_builder builder(fmt);
- boost::log::aux::parse_date_time_format(format, builder);
- return formatter_function_type(boost::move(fmt));
- }
-};
-
-template< typename DateT, typename CharT >
-struct date_formatter_generator_traits_impl
-{
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Formatting stream type
- typedef basic_formatting_ostream< char_type > stream_type;
- //! Value type
- typedef DateT value_type;
-
- //! Formatter function
- typedef boost::log::aux::light_function< void (stream_type&, value_type const&) > formatter_function_type;
-
- //! Formatter implementation
- class formatter :
- public boost::log::aux::date_time_formatter< boost::log::aux::decomposed_time_wrapper< value_type >, char_type >
- {
- BOOST_COPYABLE_AND_MOVABLE_ALT(formatter)
-
- private:
- // Do not change this typedef, copy-pasting the inherited class from above will break compilation with MSVC 2012 because it incorrectly binds value_type.
- typedef typename formatter::date_time_formatter_ base_type;
-
- public:
- typedef typename base_type::result_type result_type;
- // This typedef is needed to work around MSVC 2012 crappy name lookup. Otherwise base_type::value_type is bound instead.
- typedef typename date_formatter_generator_traits_impl< DateT, CharT >::value_type value_type;
-
- public:
- BOOST_DEFAULTED_FUNCTION(formatter(), {})
- formatter(formatter const& that) : base_type(static_cast< base_type const& >(that)) {}
- formatter(BOOST_RV_REF(formatter) that) { this->swap(that); }
-
- formatter& operator= (formatter that)
- {
- this->swap(that);
- return *this;
- }
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- if (value.is_not_a_date())
- strm << "not-a-date-time";
- else if (value.is_pos_infinity())
- strm << "+infinity";
- else if (value.is_neg_infinity())
- strm << "-infinity";
- else
- {
- boost::log::aux::decomposed_time_wrapper< value_type > val(value);
- date_time_support::decompose_date(value, val);
- base_type::operator() (strm, val);
- }
- }
- };
-
- //! The function parses format string and constructs formatter function
- static formatter_function_type parse(string_type const& format)
- {
- formatter fmt;
- boost::log::aux::decomposed_time_formatter_builder< formatter, char_type > builder(fmt);
- boost::log::aux::parse_date_format(format, builder);
- return formatter_function_type(boost::move(fmt));
- }
-};
-
-template< typename CharT, typename VoidT >
-struct date_time_formatter_generator_traits< gregorian::date, CharT, VoidT > :
- public date_formatter_generator_traits_impl< gregorian::date, CharT >
-{
-};
-
-template< typename TimeDurationT, typename CharT >
-struct time_duration_formatter_generator_traits_impl
-{
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Formatting stream type
- typedef basic_formatting_ostream< char_type > stream_type;
- //! Value type
- typedef TimeDurationT value_type;
-
- //! Formatter function
- typedef boost::log::aux::light_function< void (stream_type&, value_type const&) > formatter_function_type;
-
- //! Formatter implementation
- class formatter :
- public boost::log::aux::date_time_formatter< boost::log::aux::decomposed_time_wrapper< value_type >, char_type >
- {
- BOOST_COPYABLE_AND_MOVABLE_ALT(formatter)
-
- private:
- // Do not change this typedef, copy-pasting the inherited class from above will break compilation with MSVC 2012 because it incorrectly binds value_type.
- typedef typename formatter::date_time_formatter_ base_type;
-
- public:
- typedef typename base_type::result_type result_type;
- // This typedef is needed to work around MSVC 2012 crappy name lookup. Otherwise base_type::value_type is bound instead.
- typedef typename time_duration_formatter_generator_traits_impl< TimeDurationT, CharT >::value_type value_type;
-
- public:
- BOOST_DEFAULTED_FUNCTION(formatter(), {})
- formatter(formatter const& that) : base_type(static_cast< base_type const& >(that)) {}
- formatter(BOOST_RV_REF(formatter) that) { this->swap(that); }
-
- formatter& operator= (formatter that)
- {
- this->swap(that);
- return *this;
- }
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- if (value.is_not_a_date_time())
- strm << "not-a-date-time";
- else if (value.is_pos_infinity())
- strm << "+infinity";
- else if (value.is_neg_infinity())
- strm << "-infinity";
- else
- {
- boost::log::aux::decomposed_time_wrapper< value_type > val(value);
- date_time_support::decompose_time_duration(value, val);
- base_type::operator() (strm, val);
- }
- }
- };
-
- //! The function parses format string and constructs formatter function
- static formatter_function_type parse(string_type const& format)
- {
- formatter fmt;
- boost::log::aux::decomposed_time_formatter_builder< formatter, char_type > builder(fmt);
- boost::log::aux::parse_time_format(format, builder);
- return formatter_function_type(boost::move(fmt));
- }
-};
-
-template< typename CharT, typename VoidT >
-struct date_time_formatter_generator_traits< posix_time::time_duration, CharT, VoidT > :
- public time_duration_formatter_generator_traits_impl< posix_time::time_duration, CharT >
-{
-};
-
-template< typename CharT, typename VoidT >
-struct date_time_formatter_generator_traits< posix_time::hours, CharT, VoidT > :
- public time_duration_formatter_generator_traits_impl< posix_time::hours, CharT >
-{
-};
-
-template< typename CharT, typename VoidT >
-struct date_time_formatter_generator_traits< posix_time::minutes, CharT, VoidT > :
- public time_duration_formatter_generator_traits_impl< posix_time::minutes, CharT >
-{
-};
-
-template< typename CharT, typename VoidT >
-struct date_time_formatter_generator_traits< posix_time::seconds, CharT, VoidT > :
- public time_duration_formatter_generator_traits_impl< posix_time::seconds, CharT >
-{
-};
-
-template< typename BaseDurationT, uint64_t FracOfSecondV, typename CharT, typename VoidT >
-struct date_time_formatter_generator_traits< date_time::subsecond_duration< BaseDurationT, FracOfSecondV >, CharT, VoidT > :
- public time_duration_formatter_generator_traits_impl< date_time::subsecond_duration< BaseDurationT, FracOfSecondV >, CharT >
-{
-};
-
-template< typename DateDurationT, typename CharT >
-struct date_duration_formatter_generator_traits_impl
-{
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Formatting stream type
- typedef basic_formatting_ostream< char_type > stream_type;
- //! Value type
- typedef DateDurationT value_type;
-
- //! Formatter function
- typedef boost::log::aux::light_function< void (stream_type&, value_type const&) > formatter_function_type;
-
- //! Formatter implementation
- class formatter :
- public boost::log::aux::date_time_formatter< boost::log::aux::decomposed_time_wrapper< value_type >, char_type >
- {
- BOOST_COPYABLE_AND_MOVABLE_ALT(formatter)
-
- private:
- // Do not change this typedef, copy-pasting the inherited class from above will break compilation with MSVC 2012 because it incorrectly binds value_type.
- typedef typename formatter::date_time_formatter_ base_type;
-
- public:
- typedef typename base_type::result_type result_type;
- // This typedef is needed to work around MSVC 2012 crappy name lookup. Otherwise base_type::value_type is bound instead.
- typedef typename date_duration_formatter_generator_traits_impl< DateDurationT, CharT >::value_type value_type;
-
- public:
- BOOST_DEFAULTED_FUNCTION(formatter(), {})
- formatter(formatter const& that) : base_type(static_cast< base_type const& >(that)) {}
- formatter(BOOST_RV_REF(formatter) that) { this->swap(that); }
-
- formatter& operator= (formatter that)
- {
- this->swap(that);
- return *this;
- }
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- if (value.is_not_a_date())
- strm << "not-a-date-time";
- else if (value.is_pos_infinity())
- strm << "+infinity";
- else if (value.is_neg_infinity())
- strm << "-infinity";
- else
- {
- boost::log::aux::decomposed_time_wrapper< value_type > val(value);
- date_time_support::decompose_date_duration(value, val);
- base_type::operator() (strm, val);
- }
- }
- };
-
- //! The function parses format string and constructs formatter function
- static formatter_function_type parse(string_type const& format)
- {
- formatter fmt;
- boost::log::aux::decomposed_time_formatter_builder< formatter, char_type > builder(fmt);
- boost::log::aux::parse_date_format(format, builder);
- return formatter_function_type(boost::move(fmt));
- }
-};
-
-template< typename CharT, typename VoidT >
-struct date_time_formatter_generator_traits< gregorian::date_duration, CharT, VoidT > :
- public date_formatter_generator_traits_impl< gregorian::date_duration, CharT >
-{
-};
-
-} // namespace aux
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SUPPORT_DATE_TIME_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/support/exception.hpp b/contrib/restricted/boost/boost/log/support/exception.hpp
deleted file mode 100644
index 160521d3c9..0000000000
--- a/contrib/restricted/boost/boost/log/support/exception.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file support/exception.hpp
- * \author Andrey Semashev
- * \date 18.07.2009
- *
- * This header enables Boost.Exception support for Boost.Log.
- */
-
-#ifndef BOOST_LOG_SUPPORT_EXCEPTION_HPP_INCLUDED_
-#define BOOST_LOG_SUPPORT_EXCEPTION_HPP_INCLUDED_
-
-#include <string>
-#include <boost/type_index.hpp>
-#include <boost/exception/info.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/named_scope.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * Attribute name exception information
- */
-typedef error_info< struct attribute_name_info_tag, attribute_name > attribute_name_info;
-
-/*!
- * Type info exception information
- */
-typedef error_info< struct type_info_info_tag, typeindex::type_index > type_info_info;
-
-/*!
- * Parse position exception information
- */
-typedef error_info< struct position_info_tag, unsigned int > position_info;
-
-/*!
- * Current scope exception information
- */
-typedef error_info< struct current_scope_info_tag, attributes::named_scope_list > current_scope_info;
-
-/*!
- * The function returns an error information object that contains current stack of scopes.
- * This information can then be attached to an exception and extracted at the catch site.
- * The extracted scope list won't be affected by any scope changes that may happen during
- * the exception propagation.
- *
- * \note See the \c named_scope attribute documentation on how to maintain scope list.
- */
-inline current_scope_info current_scope()
-{
- return current_scope_info(attributes::named_scope::get_scopes());
-}
-
-namespace ipc {
-
-class object_name;
-
-/*!
- * System resource name
- */
-typedef error_info< struct object_name_tag, object_name > object_name_info;
-
-} // namespace ipc
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SUPPORT_EXCEPTION_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/support/regex.hpp b/contrib/restricted/boost/boost/log/support/regex.hpp
deleted file mode 100644
index baa5ae0683..0000000000
--- a/contrib/restricted/boost/boost/log/support/regex.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file support/regex.hpp
- * \author Andrey Semashev
- * \date 18.07.2009
- *
- * This header enables Boost.Regex support for Boost.Log.
- */
-
-#ifndef BOOST_LOG_SUPPORT_REGEX_HPP_INCLUDED_
-#define BOOST_LOG_SUPPORT_REGEX_HPP_INCLUDED_
-
-#include <string>
-#include <boost/regex.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/functional/matches.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! This tag type is used if an expression is recognized as a Boost.Regex expression
-struct boost_regex_expression_tag;
-
-//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits
-template< typename CharT, typename TraitsT >
-struct matching_expression_kind< boost::basic_regex< CharT, TraitsT > >
-{
- typedef boost_regex_expression_tag type;
-};
-
-//! The matching function implementation
-template< typename ExpressionT >
-struct match_traits< ExpressionT, boost_regex_expression_tag >
-{
- typedef ExpressionT compiled_type;
- static compiled_type compile(ExpressionT const& expr) { return expr; }
-
- template< typename StringT, typename CharT, typename TraitsT >
- static bool matches(StringT const& str, boost::basic_regex< CharT, TraitsT > const& expr, boost::regex_constants::match_flag_type flags = boost::regex_constants::match_default)
- {
- return boost::regex_match(str.begin(), str.end(), expr, flags);
- }
-
- template< typename CharT, typename StringTraitsT, typename AllocatorT, typename ReTraitsT >
- static bool matches(
- std::basic_string< CharT, StringTraitsT, AllocatorT > const& str,
- boost::basic_regex< CharT, ReTraitsT > const& expr,
- boost::regex_constants::match_flag_type flags = boost::regex_constants::match_default)
- {
- const CharT* p = str.c_str();
- return boost::regex_match(p, p + str.size(), expr, flags);
- }
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SUPPORT_REGEX_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/support/spirit_classic.hpp b/contrib/restricted/boost/boost/log/support/spirit_classic.hpp
deleted file mode 100644
index 5f117388d8..0000000000
--- a/contrib/restricted/boost/boost/log/support/spirit_classic.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file support/spirit_classic.hpp
- * \author Andrey Semashev
- * \date 19.07.2009
- *
- * This header enables Boost.Spirit (classic) support for Boost.Log.
- */
-
-#ifndef BOOST_LOG_SUPPORT_SPIRIT_CLASSIC_HPP_INCLUDED_
-#define BOOST_LOG_SUPPORT_SPIRIT_CLASSIC_HPP_INCLUDED_
-
-#include <boost/mpl/bool.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/functional/matches.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined(BOOST_LOG_NO_THREADS) && !defined(BOOST_SPIRIT_THREADSAFE) && !defined(BOOST_LOG_DOXYGEN_PASS)
-/*
- * As Boost.Log filters may be called in multiple threads concurrently,
- * this may lead to using Boost.Spirit parsers in a multithreaded context.
- * In order to protect parsers properly, BOOST_SPIRIT_THREADSAFE macro should
- * be defined.
- *
- * If we got here, it means that the user did not define that macro and we
- * have to define it ourselves. However, it may also lead to ODR violations
- * or even total ignorance of this macro, if the user has included Boost.Spirit
- * headers before including this header, or uses Boost.Spirit without the macro
- * in other translation units. The only reliable way to settle this problem is to
- * define the macro for the whole project (i.e. all translation units).
- */
-#if defined(__GNUC__)
-#pragma message "Boost.Log: Boost.Spirit requires BOOST_SPIRIT_THREADSAFE macro to be defined if parsers are used in a multithreaded context. It is strongly recommended to define this macro project-wide."
-#elif defined(_MSC_VER)
-#pragma message("Boost.Log: Boost.Spirit requires BOOST_SPIRIT_THREADSAFE macro to be defined if parsers are used in a multithreaded context. It is strongly recommended to define this macro project-wide.")
-#endif
-#define BOOST_SPIRIT_THREADSAFE 1
-#endif // !defined(BOOST_LOG_NO_THREADS) && !defined(BOOST_SPIRIT_THREADSAFE)
-
-#include <boost/spirit/include/classic_parser.hpp>
-
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! This tag type is used if an expression is recognized as a Boost.Spirit.Classic expression
-struct boost_spirit_classic_expression_tag;
-
-//! The trait verifies if the type can be converted to a Boost.Spirit (classic) parser
-template< typename T >
-struct is_spirit_classic_parser
-{
-private:
- typedef char yes_type;
- struct no_type { char dummy[2]; };
-
- template< typename U >
- static yes_type check_spirit_classic_parser(spirit::classic::parser< U > const&);
- static no_type check_spirit_classic_parser(...);
- static T& get_T();
-
-public:
- enum { value = sizeof(check_spirit_classic_parser(get_T())) == sizeof(yes_type) };
- typedef mpl::bool_< value > type;
-};
-
-//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits
-template< typename ExpressionT >
-struct matching_expression_kind< ExpressionT, typename boost::enable_if_c< is_spirit_classic_parser< ExpressionT >::value >::type >
-{
- typedef boost_spirit_classic_expression_tag type;
-};
-
-//! The matching function implementation
-template< typename ExpressionT >
-struct match_traits< ExpressionT, boost_spirit_classic_expression_tag >
-{
- typedef ExpressionT compiled_type;
- static compiled_type compile(ExpressionT const& expr) { return expr; }
-
- template< typename StringT >
- static bool matches(StringT const& str, ExpressionT const& expr)
- {
- typedef typename StringT::const_iterator const_iterator;
- spirit::classic::parse_info< const_iterator > info =
- spirit::classic::parse(str.begin(), str.end(), expr);
- return info.full;
- }
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SUPPORT_SPIRIT_CLASSIC_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/support/spirit_qi.hpp b/contrib/restricted/boost/boost/log/support/spirit_qi.hpp
deleted file mode 100644
index e335d1ae55..0000000000
--- a/contrib/restricted/boost/boost/log/support/spirit_qi.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file support/spirit_qi.hpp
- * \author Andrey Semashev
- * \date 19.07.2009
- *
- * This header enables Boost.Spirit.Qi support for Boost.Log.
- */
-
-#ifndef BOOST_LOG_SUPPORT_SPIRIT_QI_HPP_INCLUDED_
-#define BOOST_LOG_SUPPORT_SPIRIT_QI_HPP_INCLUDED_
-
-#include <boost/core/enable_if.hpp>
-#include <boost/spirit/include/qi_parse.hpp>
-#include <boost/spirit/include/qi_domain.hpp>
-#include <boost/spirit/include/support_unused.hpp>
-#include <boost/spirit/home/support/meta_compiler.hpp> // spirit::compile()
-#include <boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp> // rule forward declaration
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/functional/matches.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! This tag type is used if an expression is recognized as a Boost.Spirit.Qi expression
-struct boost_spirit_qi_expression_tag;
-
-//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits
-template< typename ExpressionT >
-struct matching_expression_kind< ExpressionT, typename boost::enable_if_c< spirit::traits::matches< spirit::qi::domain, ExpressionT >::value >::type >
-{
- typedef boost_spirit_qi_expression_tag type;
-};
-
-//! The matching function implementation
-template< typename ExpressionT >
-struct match_traits< ExpressionT, boost_spirit_qi_expression_tag >
-{
- typedef typename spirit::result_of::compile< spirit::qi::domain, ExpressionT, spirit::unused_type >::type compiled_type;
-
- static compiled_type compile(ExpressionT const& expr)
- {
- return spirit::compile< spirit::qi::domain >(expr);
- }
-
- template< typename StringT >
- static bool matches(StringT const& str, ExpressionT const& expr)
- {
- typedef typename StringT::const_iterator const_iterator;
- const_iterator it = str.begin(), end = str.end();
- return (spirit::qi::parse(it, end, expr) && it == end);
- }
-};
-
-//! The matching function implementation
-template< typename IteratorT, typename T1, typename T2, typename T3, typename T4 >
-struct match_traits< spirit::qi::rule< IteratorT, T1, T2, T3, T4 >, boost_spirit_qi_expression_tag >
-{
- typedef spirit::qi::rule< IteratorT, T1, T2, T3, T4 > compiled_type;
- static compiled_type compile(compiled_type const& expr) { return expr; }
-
- template< typename StringT >
- static bool matches(StringT const& str, compiled_type const& expr)
- {
- typedef typename StringT::const_iterator const_iterator;
- const_iterator it = str.begin(), end = str.end();
- return (spirit::qi::parse(it, end, expr) && it == end);
- }
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SUPPORT_SPIRIT_QI_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/support/std_regex.hpp b/contrib/restricted/boost/boost/log/support/std_regex.hpp
deleted file mode 100644
index 1c2a97cd1c..0000000000
--- a/contrib/restricted/boost/boost/log/support/std_regex.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file support/std_regex.hpp
- * \author Andrey Semashev
- * \date 19.03.2014
- *
- * This header enables \c std::regex support for Boost.Log.
- */
-
-#ifndef BOOST_LOG_SUPPORT_STD_REGEX_HPP_INCLUDED_
-#define BOOST_LOG_SUPPORT_STD_REGEX_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_NO_CXX11_HDR_REGEX)
-
-#if defined(__GNUC__)
-#pragma message "Boost.Log: This header requires support for std::regex in the standard library."
-#elif defined(_MSC_VER)
-#pragma message("Boost.Log: This header requires support for std::regex in the standard library.")
-#endif
-
-#else // defined(BOOST_NO_CXX11_HDR_REGEX)
-
-#include <regex>
-#include <string>
-#include <boost/log/utility/functional/matches.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! This tag type is used if an expression is recognized as \c std::regex
-struct std_regex_expression_tag;
-
-//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits
-template< typename CharT, typename ReTraitsT >
-struct matching_expression_kind< std::basic_regex< CharT, ReTraitsT > >
-{
- typedef std_regex_expression_tag type;
-};
-
-//! The matching function implementation
-template< typename ExpressionT >
-struct match_traits< ExpressionT, std_regex_expression_tag >
-{
- typedef ExpressionT compiled_type;
- static compiled_type compile(ExpressionT const& expr) { return expr; }
-
- template< typename StringT, typename CharT, typename ReTraitsT >
- static bool matches(StringT const& str, std::basic_regex< CharT, ReTraitsT > const& expr, std::regex_constants::match_flag_type flags = std::regex_constants::match_default)
- {
- return std::regex_match(str.begin(), str.end(), expr, flags);
- }
-
- template< typename CharT, typename StringTraitsT, typename AllocatorT, typename ReTraitsT >
- static bool matches(std::basic_string< CharT, StringTraitsT, AllocatorT > const& str, std::basic_regex< CharT, ReTraitsT > const& expr, std::regex_constants::match_flag_type flags = std::regex_constants::match_default)
- {
- const CharT* p = str.c_str();
- return std::regex_match(p, p + str.size(), expr, flags);
- }
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // defined(BOOST_NO_CXX11_HDR_REGEX)
-
-#endif // BOOST_LOG_SUPPORT_STD_REGEX_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/support/xpressive.hpp b/contrib/restricted/boost/boost/log/support/xpressive.hpp
deleted file mode 100644
index 60384c421c..0000000000
--- a/contrib/restricted/boost/boost/log/support/xpressive.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file support/xpressive.hpp
- * \author Andrey Semashev
- * \date 18.07.2009
- *
- * This header enables Boost.Xpressive support for Boost.Log.
- */
-
-#ifndef BOOST_LOG_SUPPORT_XPRESSIVE_HPP_INCLUDED_
-#define BOOST_LOG_SUPPORT_XPRESSIVE_HPP_INCLUDED_
-
-#include <string>
-#include <boost/xpressive/basic_regex.hpp>
-#include <boost/xpressive/regex_constants.hpp>
-#include <boost/xpressive/regex_algorithms.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/functional/matches.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! This tag type is used if an expression is recognized as a Boost.Xpressive expression
-struct boost_xpressive_expression_tag;
-
-//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits
-template< typename T >
-struct matching_expression_kind< xpressive::basic_regex< T > >
-{
- typedef boost_xpressive_expression_tag type;
-};
-
-//! The matching function implementation
-template< typename ExpressionT >
-struct match_traits< ExpressionT, boost_xpressive_expression_tag >
-{
- typedef ExpressionT compiled_type;
- static compiled_type compile(ExpressionT const& expr) { return expr; }
-
- template< typename StringT, typename T >
- static bool matches(StringT const& str, xpressive::basic_regex< T > const& expr, xpressive::regex_constants::match_flag_type flags = xpressive::regex_constants::match_default)
- {
- return xpressive::regex_match(str, expr, flags);
- }
-
- template< typename CharT, typename TraitsT, typename AllocatorT >
- static bool matches(std::basic_string< CharT, TraitsT, AllocatorT > const& str, xpressive::basic_regex< const CharT* > const& expr, xpressive::regex_constants::match_flag_type flags = xpressive::regex_constants::match_default)
- {
- const CharT* p = str.c_str();
- return xpressive::regex_match(p, p + str.size(), expr, flags);
- }
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SUPPORT_XPRESSIVE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/trivial.hpp b/contrib/restricted/boost/boost/log/trivial.hpp
deleted file mode 100644
index ece0c900e6..0000000000
--- a/contrib/restricted/boost/boost/log/trivial.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file log/trivial.hpp
- * \author Andrey Semashev
- * \date 07.11.2009
- *
- * This header defines tools for trivial logging support
- */
-
-#ifndef BOOST_LOG_TRIVIAL_HPP_INCLUDED_
-#define BOOST_LOG_TRIVIAL_HPP_INCLUDED_
-
-#include <iosfwd>
-#include <ostream>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/keywords/severity.hpp>
-#include <boost/log/sources/severity_logger.hpp>
-#include <boost/log/sources/record_ostream.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if !defined(BOOST_LOG_USE_CHAR)
-#error Boost.Log: Trivial logging is available for narrow-character builds only. Use advanced initialization routines to setup wide-character logging.
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace trivial {
-
-//! Trivial severity levels
-enum severity_level
-{
- trace,
- debug,
- info,
- warning,
- error,
- fatal
-};
-
-//! Returns stringized enumeration value or \c NULL, if the value is not valid
-BOOST_LOG_API const char* to_string(severity_level lvl);
-
-//! Outputs stringized representation of the severity level to the stream
-template< typename CharT, typename TraitsT >
-inline std::basic_ostream< CharT, TraitsT >& operator<< (
- std::basic_ostream< CharT, TraitsT >& strm, severity_level lvl)
-{
- const char* str = boost::log::trivial::to_string(lvl);
- if (str)
- strm << str;
- else
- strm << static_cast< int >(lvl);
- return strm;
-}
-
-//! Reads stringized representation of the severity level from the stream
-template< typename CharT, typename TraitsT >
-BOOST_LOG_API std::basic_istream< CharT, TraitsT >& operator>> (
- std::basic_istream< CharT, TraitsT >& strm, severity_level& lvl);
-
-//! Trivial logger type
-#if !defined(BOOST_LOG_NO_THREADS)
-typedef sources::severity_logger_mt< severity_level > logger_type;
-#else
-typedef sources::severity_logger< severity_level > logger_type;
-#endif
-
-/*!
- * \brief Trivial logger tag
- *
- * This tag can be used to acquire the logger that is used with lrivial logging macros.
- * This may be useful when the logger is used with other macros which require a logger.
- */
-struct logger
-{
- //! Logger type
- typedef trivial::logger_type logger_type;
-
- /*!
- * Returns a reference to the trivial logger instance
- */
- static BOOST_LOG_API logger_type& get();
-
- // Implementation details - never use these
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
- enum registration_line_t { registration_line = __LINE__ };
- static const char* registration_file() { return __FILE__; }
- static BOOST_LOG_API logger_type construct_logger();
-#endif
-};
-
-/*!
- * The macro is used to initiate logging. The \c lvl argument of the macro specifies one of the following
- * severity levels: \c trace, \c debug, \c info, \c warning, \c error or \c fatal (see \c severity_level enum).
- * Following the macro, there may be a streaming expression that composes the record message string. For example:
- *
- * \code
- * BOOST_LOG_TRIVIAL(info) << "Hello, world!";
- * \endcode
- */
-#define BOOST_LOG_TRIVIAL(lvl)\
- BOOST_LOG_STREAM_WITH_PARAMS(::boost::log::trivial::logger::get(),\
- (::boost::log::keywords::severity = ::boost::log::trivial::lvl))
-
-} // namespace trivial
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-#if defined(BOOST_LOG_EXPRESSIONS_KEYWORD_HPP_INCLUDED_)
-#include <boost/log/detail/trivial_keyword.hpp>
-#endif
-
-#endif // BOOST_LOG_TRIVIAL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/exception_handler.hpp b/contrib/restricted/boost/boost/log/utility/exception_handler.hpp
deleted file mode 100644
index 9b8551ac0d..0000000000
--- a/contrib/restricted/boost/boost/log/utility/exception_handler.hpp
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file exception_handler.hpp
- * \author Andrey Semashev
- * \date 12.07.2009
- *
- * This header contains tools for exception handlers support in different parts of the library.
- */
-
-#ifndef BOOST_LOG_UTILITY_EXCEPTION_HANDLER_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_EXCEPTION_HANDLER_HPP_INCLUDED_
-
-#include <new> // std::nothrow_t
-#include <boost/mpl/bind.hpp>
-#include <boost/mpl/quote.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/functional/nop.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_MAX_EXCEPTION_TYPES
-//! Maximum number of exception types that can be specified for exception handlers
-#define BOOST_LOG_MAX_EXCEPTION_TYPES 10
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_exception_types, exception_types, false)
-
-//! Root class for the exception handler class hierarchy
-template< typename HandlerT >
-class eh_root
-{
-public:
- //! The exception handler type
- typedef HandlerT handler_type;
- //! The handler result type
- typedef void result_type;
-
-protected:
- //! Exception handler
- handler_type m_Handler;
-
-public:
- //! Initializing constructor
- explicit eh_root(handler_type const& handler) : m_Handler(handler)
- {
- }
-
- //! Exception launcher
- void operator()() const
- {
- throw;
- }
-};
-
-//! A cons-list element of the exception handler class hierarchy
-template< typename ExceptionT, typename BaseT >
-class eh_cons :
- public BaseT
-{
- //! Base type
- typedef BaseT base_type;
-
-public:
- //! The exception handler type
- typedef typename base_type::handler_type handler_type;
-
-public:
- //! Initializing constructor
- explicit eh_cons(handler_type const& handler) : base_type(handler)
- {
- }
-
- //! Exception launcher
- void operator()() const
- {
- try
- {
- base_type::operator()();
- }
- catch (ExceptionT& e)
- {
- this->m_Handler(e);
- }
- }
-};
-
-template< template< typename, typename > class EHT, typename HandlerT >
-struct make_self_contained_exception_handler
-{
- typedef EHT< typename HandlerT::exception_types, HandlerT > type;
-};
-
-} // namespace aux
-
-/*!
- * An exception handler functional object. The handler aggregates a user-defined
- * functional object that will be called when one of the specified exception types
- * is caught.
- */
-template< typename SequenceT, typename HandlerT >
-class exception_handler :
- public mpl::fold<
- SequenceT,
- aux::eh_root< HandlerT >,
- mpl::bind< mpl::quote2< aux::eh_cons >, mpl::_2, mpl::_1 >
- >::type
-{
- //! Base type
- typedef typename mpl::fold<
- SequenceT,
- aux::eh_root< HandlerT >,
- mpl::bind< mpl::quote2< aux::eh_cons >, mpl::_2, mpl::_1 >
- >::type base_type;
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- typedef typename base_type::handler_type handler_type;
-#else
- //! The exception handler type
- typedef HandlerT handler_type;
- //! The handler result type
- typedef void result_type;
-#endif
-
-public:
- /*!
- * Initializing constructor. Creates an exception handler with the specified
- * function object that will receive the exception.
- */
- explicit exception_handler(handler_type const& handler) : base_type(handler)
- {
- }
-
- /*!
- * Exception launcher. Rethrows the current exception in order to detect its type
- * and pass it to the aggregated function object.
- *
- * \note Must be called from within a \c catch statement.
- */
- void operator()() const
- {
- base_type::operator()();
- }
-};
-
-/*!
- * A no-throw exception handler functional object. Acts similar to \c exception_handler,
- * but in case if the exception cannot be handled the exception is not propagated
- * from the handler. Instead the user-defined functional object is called with
- * no parameters.
- */
-template< typename SequenceT, typename HandlerT >
-class nothrow_exception_handler :
- public exception_handler< SequenceT, HandlerT >
-{
- //! Base type
- typedef exception_handler< SequenceT, HandlerT > base_type;
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- typedef typename base_type::handler_type handler_type;
-#else
- //! The exception handler type
- typedef HandlerT handler_type;
- //! The handler result type
- typedef void result_type;
-#endif
-
-public:
- /*!
- * Initializing constructor. Creates an exception handler with the specified
- * function object that will receive the exception.
- */
- explicit nothrow_exception_handler(handler_type const& handler) : base_type(handler)
- {
- }
-
- /*!
- * Exception launcher. Rethrows the current exception in order to detect its type
- * and pass it to the aggregated function object. If the type of the exception
- * could not be detected, the user-defined handler is called with no arguments.
- *
- * \note Must be called from within a \c catch statement.
- */
- void operator()() const
- {
- try
- {
- base_type::operator()();
- }
- catch (...)
- {
- this->m_Handler();
- }
- }
-};
-
-/*!
- * The function creates an empty exception handler that effectively suppresses any exception
- */
-inline nop make_exception_suppressor()
-{
- return nop();
-}
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-template< typename HandlerT >
-inline typename boost::lazy_enable_if_c<
- aux::has_exception_types< HandlerT >::value,
- aux::make_self_contained_exception_handler< exception_handler, HandlerT >
->::type make_exception_handler(HandlerT const& handler)
-{
- typedef typename aux::make_self_contained_exception_handler< exception_handler, HandlerT >::type eh_t;
- return eh_t(handler);
-}
-
-template< typename HandlerT >
-inline typename boost::lazy_enable_if_c<
- aux::has_exception_types< HandlerT >::value,
- aux::make_self_contained_exception_handler< nothrow_exception_handler, HandlerT >
->::type make_exception_handler(HandlerT const& handler, std::nothrow_t const&)
-{
- typedef typename aux::make_self_contained_exception_handler< nothrow_exception_handler, HandlerT >::type eh_t;
- return eh_t(handler);
-}
-
-#define BOOST_LOG_MAKE_EXCEPTION_HANDLER_INTERNAL(z, n, data)\
- template< BOOST_PP_ENUM_PARAMS(n, typename T), typename HandlerT >\
- inline exception_handler<\
- BOOST_PP_CAT(mpl::vector, n)< BOOST_PP_ENUM_PARAMS(n, T) >,\
- HandlerT\
- > make_exception_handler(HandlerT const& handler)\
- {\
- typedef exception_handler<\
- BOOST_PP_CAT(mpl::vector, n)< BOOST_PP_ENUM_PARAMS(n, T) >,\
- HandlerT\
- > eh_t;\
- return eh_t(handler);\
- }\
- template< BOOST_PP_ENUM_PARAMS(n, typename T), typename HandlerT >\
- inline nothrow_exception_handler<\
- BOOST_PP_CAT(mpl::vector, n)< BOOST_PP_ENUM_PARAMS(n, T) >,\
- HandlerT\
- > make_exception_handler(HandlerT const& handler, std::nothrow_t const&)\
- {\
- typedef nothrow_exception_handler<\
- BOOST_PP_CAT(mpl::vector, n)< BOOST_PP_ENUM_PARAMS(n, T) >,\
- HandlerT\
- > eh_t;\
- return eh_t(handler);\
- }
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_LOG_MAX_EXCEPTION_TYPES, BOOST_LOG_MAKE_EXCEPTION_HANDLER_INTERNAL, ~)
-
-#undef BOOST_LOG_MAKE_EXCEPTION_HANDLER_INTERNAL
-
-#else // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * The function creates an exception handler functional object. The handler will call to the
- * user-specified functional object with an exception as its argument.
- *
- * \param handler User-defined functional object that will receive exceptions.
- * \return A nullary functional object that should be called from within a \c catch statement.
- *
- * \note This form requires the user-defined functional object to have an \c exception_types
- * nested type. This type should be an MPL sequence of all expected exception types.
- */
-template< typename HandlerT >
-exception_handler< typename HandlerT::exception_types, HandlerT >
-make_exception_handler(HandlerT const& handler);
-
-/*!
- * The function creates an exception handler functional object. The handler will call to the
- * user-specified functional object with an exception as its argument. If the exception type
- * cannot be identified, the handler will call the user-defined functor with no arguments,
- * instead of propagating exception to the caller.
- *
- * \overload
- *
- * \param handler User-defined functional object that will receive exceptions.
- * \return A nullary functional object that should be called from within a \c catch statement.
- *
- * \note This form requires the user-defined functional object to have an \c exception_types
- * nested type. This type should be an MPL sequence of all expected exception types.
- */
-template< typename HandlerT >
-nothrow_exception_handler< typename HandlerT::exception_types, HandlerT >
-make_exception_handler(HandlerT const& handler, std::nothrow_t const&);
-
-/*!
- * The function creates an exception handler functional object. The handler will call to the
- * user-specified functional object with an exception as its argument. All expected exception
- * types should be specified as first template parameters explicitly, in the order they would
- * be specified in a corresponding <tt>try/catch</tt> statement.
- *
- * \overload
- *
- * \param handler User-defined functional object that will receive exceptions.
- * \return A nullary functional object that should be called from within a \c catch statement.
- */
-template< typename... ExceptionsT, typename HandlerT >
-exception_handler< MPL_sequence_of_ExceptionsT, HandlerT >
-make_exception_handler(HandlerT const& handler);
-
-/*!
- * The function creates an exception handler functional object. The handler will call to the
- * user-specified functional object with an exception as its argument. If the exception type
- * cannot be identified, the handler will call the user-defined functor with no arguments,
- * instead of propagating exception to the caller. All expected exception types should be
- * specified as first template parameters explicitly, in the order they would be specified in
- * a corresponding <tt>try/catch</tt> statement.
- *
- * \overload
- *
- * \param handler User-defined functional object that will receive exceptions.
- * \return A nullary functional object that should be called from within a \c catch statement.
- */
-template< typename... ExceptionsT, typename HandlerT >
-nothrow_exception_handler< MPL_sequence_of_ExceptionsT, HandlerT >
-make_exception_handler(HandlerT const& handler, std::nothrow_t const&);
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_EXCEPTION_HANDLER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/formatting_ostream.hpp b/contrib/restricted/boost/boost/log/utility/formatting_ostream.hpp
deleted file mode 100644
index b39feeb664..0000000000
--- a/contrib/restricted/boost/boost/log/utility/formatting_ostream.hpp
+++ /dev/null
@@ -1,916 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatting_ostream.hpp
- * \author Andrey Semashev
- * \date 11.07.2012
- *
- * The header contains implementation of a string stream used for log record formatting.
- */
-
-#ifndef BOOST_LOG_UTILITY_FORMATTING_OSTREAM_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FORMATTING_OSTREAM_HPP_INCLUDED_
-
-#include <ostream>
-#include <string>
-#include <memory>
-#include <locale>
-#include <boost/core/enable_if.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/utility/string_ref_fwd.hpp>
-#include <boost/utility/string_view_fwd.hpp>
-#include <boost/type_traits/is_enum.hpp>
-#include <boost/type_traits/is_scalar.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/attachable_sstream_buf.hpp>
-#include <boost/log/detail/code_conversion.hpp>
-#include <boost/log/utility/string_literal_fwd.hpp>
-#include <boost/log/utility/formatting_ostream_fwd.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename T, typename R >
-struct enable_if_streamable_char_type {};
-template< typename R >
-struct enable_if_streamable_char_type< char, R > { typedef R type; };
-template< typename R >
-struct enable_if_streamable_char_type< wchar_t, R > { typedef R type; };
-#if !defined(BOOST_LOG_NO_CXX11_CODECVT_FACETS)
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
-template< typename R >
-struct enable_if_streamable_char_type< char16_t, R > { typedef R type; };
-#endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
-template< typename R >
-struct enable_if_streamable_char_type< char32_t, R > { typedef R type; };
-#endif
-#endif
-
-template< typename StreamT, typename T, bool ByValueV, typename R >
-struct enable_formatting_ostream_generic_operator {};
-template< typename CharT, typename TraitsT, typename AllocatorT, typename T, typename R >
-struct enable_formatting_ostream_generic_operator< basic_formatting_ostream< CharT, TraitsT, AllocatorT >, T, false, R > :
- public boost::disable_if_c< boost::is_scalar< typename boost::remove_cv< T >::type >::value, R >
-{
-};
-template< typename CharT, typename TraitsT, typename AllocatorT, typename T, typename R >
-struct enable_formatting_ostream_generic_operator< basic_formatting_ostream< CharT, TraitsT, AllocatorT >, T, true, R > :
- public boost::enable_if_c< boost::is_enum< typename boost::remove_cv< T >::type >::value, R >
-{
-};
-
-} // namespace aux
-
-/*!
- * \brief Stream wrapper for log records formatting.
- *
- * This stream wrapper is used by the library for log record formatting. It implements the standard string stream interface
- * with a few differences:
- *
- * \li It does not derive from standard types <tt>std::basic_ostream</tt>, <tt>std::basic_ios</tt> and <tt>std::ios_base</tt>,
- * although it tries to implement their interfaces closely. There are a few small differences, mostly regarding <tt>rdbuf</tt>
- * and <tt>str</tt> signatures, as well as the supported insertion operator overloads. The actual wrapped stream can be accessed
- * through the <tt>stream</tt> methods.
- * \li By default, \c bool values are formatted using alphabetical representation rather than numeric.
- * \li The stream supports writing strings of character types different from the stream character type. The stream will perform
- * character code conversion as needed using the imbued locale.
- * \li The stream operates on an external string object rather than on the embedded one. The string can be attached or detached
- * from the stream dynamically.
- *
- * Although <tt>basic_formatting_ostream</tt> does not derive from <tt>std::basic_ostream</tt>, users are not required to add
- * special overloads of \c operator<< for it since the stream will by default reuse the operators for <tt>std::basic_ostream</tt>.
- * However, one can define special overloads of \c operator<< for <tt>basic_formatting_ostream</tt> if a certain type needs
- * special formatting when output to log.
- */
-template< typename CharT, typename TraitsT, typename AllocatorT >
-class basic_formatting_ostream
-{
-public:
- //! Character type
- typedef CharT char_type;
- //! Character traits
- typedef TraitsT traits_type;
- //! Memory allocator
- typedef AllocatorT allocator_type;
- //! Stream buffer type
- typedef boost::log::aux::basic_ostringstreambuf< char_type, traits_type, allocator_type > streambuf_type;
- //! Target string type
- typedef typename streambuf_type::string_type string_type;
-
- //! Stream type
- typedef std::basic_ostream< char_type, traits_type > ostream_type;
- //! Stream position type
- typedef typename ostream_type::pos_type pos_type;
- //! Stream offset type
- typedef typename ostream_type::off_type off_type;
- //! Integer type for characters
- typedef typename ostream_type::int_type int_type;
-
- typedef typename ostream_type::failure failure;
- typedef typename ostream_type::fmtflags fmtflags;
- typedef typename ostream_type::iostate iostate;
- typedef typename ostream_type::openmode openmode;
- typedef typename ostream_type::seekdir seekdir;
- typedef typename ostream_type::Init Init;
-
- typedef typename ostream_type::event event;
- typedef typename ostream_type::event_callback event_callback;
-
- class sentry :
- public ostream_type::sentry
- {
- typedef typename ostream_type::sentry base_type;
-
- public:
- explicit sentry(basic_formatting_ostream& strm) : base_type(strm.stream())
- {
- }
-
- // A workaround for Solaris Studio 12.4 compiler, see: https://svn.boost.org/trac/boost/ticket/11545
- BOOST_EXPLICIT_OPERATOR_BOOL()
- bool operator! () const { return !static_cast< base_type const& >(*this); }
-
- BOOST_DELETED_FUNCTION(sentry(sentry const&))
- BOOST_DELETED_FUNCTION(sentry& operator= (sentry const&))
- };
-
-protected:
- // Function types
- typedef std::ios_base& (*ios_base_manip)(std::ios_base&);
- typedef std::basic_ios< char_type, traits_type >& (*basic_ios_manip)(std::basic_ios< char_type, traits_type >&);
- typedef ostream_type& (*stream_manip)(ostream_type&);
-
-public:
- static BOOST_CONSTEXPR_OR_CONST fmtflags boolalpha = ostream_type::boolalpha;
- static BOOST_CONSTEXPR_OR_CONST fmtflags dec = ostream_type::dec;
- static BOOST_CONSTEXPR_OR_CONST fmtflags fixed = ostream_type::fixed;
- static BOOST_CONSTEXPR_OR_CONST fmtflags hex = ostream_type::hex;
- static BOOST_CONSTEXPR_OR_CONST fmtflags internal = ostream_type::internal;
- static BOOST_CONSTEXPR_OR_CONST fmtflags left = ostream_type::left;
- static BOOST_CONSTEXPR_OR_CONST fmtflags oct = ostream_type::oct;
- static BOOST_CONSTEXPR_OR_CONST fmtflags right = ostream_type::right;
- static BOOST_CONSTEXPR_OR_CONST fmtflags scientific = ostream_type::scientific;
- static BOOST_CONSTEXPR_OR_CONST fmtflags showbase = ostream_type::showbase;
- static BOOST_CONSTEXPR_OR_CONST fmtflags showpoint = ostream_type::showpoint;
- static BOOST_CONSTEXPR_OR_CONST fmtflags skipws = ostream_type::skipws;
- static BOOST_CONSTEXPR_OR_CONST fmtflags unitbuf = ostream_type::unitbuf;
- static BOOST_CONSTEXPR_OR_CONST fmtflags uppercase = ostream_type::uppercase;
- static BOOST_CONSTEXPR_OR_CONST fmtflags adjustfield = ostream_type::adjustfield;
- static BOOST_CONSTEXPR_OR_CONST fmtflags basefield = ostream_type::basefield;
- static BOOST_CONSTEXPR_OR_CONST fmtflags floatfield = ostream_type::floatfield;
-
- static BOOST_CONSTEXPR_OR_CONST iostate badbit = ostream_type::badbit;
- static BOOST_CONSTEXPR_OR_CONST iostate eofbit = ostream_type::eofbit;
- static BOOST_CONSTEXPR_OR_CONST iostate failbit = ostream_type::failbit;
- static BOOST_CONSTEXPR_OR_CONST iostate goodbit = ostream_type::goodbit;
-
- static BOOST_CONSTEXPR_OR_CONST openmode app = ostream_type::app;
- static BOOST_CONSTEXPR_OR_CONST openmode ate = ostream_type::ate;
- static BOOST_CONSTEXPR_OR_CONST openmode binary = ostream_type::binary;
- static BOOST_CONSTEXPR_OR_CONST openmode in = ostream_type::in;
- static BOOST_CONSTEXPR_OR_CONST openmode out = ostream_type::out;
- static BOOST_CONSTEXPR_OR_CONST openmode trunc = ostream_type::trunc;
-
- static BOOST_CONSTEXPR_OR_CONST seekdir beg = ostream_type::beg;
- static BOOST_CONSTEXPR_OR_CONST seekdir cur = ostream_type::cur;
- static BOOST_CONSTEXPR_OR_CONST seekdir end = ostream_type::end;
-
- static BOOST_CONSTEXPR_OR_CONST event erase_event = ostream_type::erase_event;
- static BOOST_CONSTEXPR_OR_CONST event imbue_event = ostream_type::imbue_event;
- static BOOST_CONSTEXPR_OR_CONST event copyfmt_event = ostream_type::copyfmt_event;
-
-private:
- mutable streambuf_type m_streambuf;
- ostream_type m_stream;
-
-public:
- /*!
- * Default constructor. Creates an empty record that is equivalent to the invalid record handle.
- * The stream capability is not available after construction.
- *
- * \post <tt>!*this == true</tt>
- */
- basic_formatting_ostream() : m_stream(&m_streambuf)
- {
- init_stream();
- }
-
- /*!
- * Initializing constructor. Attaches the string to the constructed stream.
- * The string will be used to store the formatted characters.
- *
- * \post <tt>!*this == false</tt>
- * \param str The string buffer to attach.
- */
- explicit basic_formatting_ostream(string_type& str) :
- m_streambuf(str),
- m_stream(&m_streambuf)
- {
- init_stream();
- }
-
- /*!
- * Destructor. Destroys the record, releases any sinks and attribute values that were involved in processing this record.
- */
- ~basic_formatting_ostream()
- {
- if (m_streambuf.storage())
- flush();
- }
-
- /*!
- * Attaches the stream to the string. The string will be used to store the formatted characters.
- *
- * \param str The string buffer to attach.
- */
- void attach(string_type& str)
- {
- m_streambuf.attach(str);
- m_stream.clear(ostream_type::goodbit);
- }
- /*!
- * Detaches the stream from the string. Any buffered data is flushed to the string.
- */
- void detach()
- {
- m_streambuf.detach();
- m_stream.clear(ostream_type::badbit);
- }
-
- /*!
- * \returns Reference to the attached string. The string must be attached before calling this method.
- */
- string_type const& str() const
- {
- string_type* const storage = m_streambuf.storage();
- BOOST_ASSERT(storage != NULL);
-
- m_streambuf.pubsync();
-
- return *storage;
- }
-
- /*!
- * \returns Reference to the wrapped stream
- */
- ostream_type& stream() { return m_stream; }
-
- /*!
- * \returns Reference to the wrapped stream
- */
- ostream_type const& stream() const { return m_stream; }
-
- // std::ios_base method forwarders
- fmtflags flags() const { return m_stream.flags(); }
- fmtflags flags(fmtflags f) { return m_stream.flags(f); }
- fmtflags setf(fmtflags f) { return m_stream.setf(f); }
- fmtflags setf(fmtflags f, fmtflags mask) { return m_stream.setf(f, mask); }
- void unsetf(fmtflags f) { m_stream.unsetf(f); }
-
- std::streamsize precision() const { return m_stream.precision(); }
- std::streamsize precision(std::streamsize p) { return m_stream.precision(p); }
-
- std::streamsize width() const { return m_stream.width(); }
- std::streamsize width(std::streamsize w) { return m_stream.width(w); }
-
- std::locale getloc() const { return m_stream.getloc(); }
- std::locale imbue(std::locale const& loc) { return m_stream.imbue(loc); }
-
- static int xalloc() { return ostream_type::xalloc(); }
- long& iword(int index) { return m_stream.iword(index); }
- void*& pword(int index) { return m_stream.pword(index); }
-
- void register_callback(event_callback fn, int index) { m_stream.register_callback(fn, index); }
-
- static bool sync_with_stdio(bool sync = true) { return ostream_type::sync_with_stdio(sync); }
-
- // std::basic_ios method forwarders
- BOOST_EXPLICIT_OPERATOR_BOOL()
- bool operator! () const { return !m_stream; }
-
- iostate rdstate() const { return m_stream.rdstate(); }
- void clear(iostate state = goodbit) { m_stream.clear(state); }
- void setstate(iostate state) { m_stream.setstate(state); }
- bool good() const { return m_stream.good(); }
- bool eof() const { return m_stream.eof(); }
- bool fail() const { return m_stream.fail(); }
- bool bad() const { return m_stream.bad(); }
-
- iostate exceptions() const { return m_stream.exceptions(); }
- void exceptions(iostate s) { m_stream.exceptions(s); }
-
- ostream_type* tie() const { return m_stream.tie(); }
- ostream_type* tie(ostream_type* strm) { return m_stream.tie(strm); }
-
- streambuf_type* rdbuf() const { return &m_streambuf; }
-
- basic_formatting_ostream& copyfmt(std::basic_ios< char_type, traits_type >& rhs)
- {
- m_stream.copyfmt(rhs);
- return *this;
- }
- basic_formatting_ostream& copyfmt(basic_formatting_ostream& rhs)
- {
- m_stream.copyfmt(rhs.stream());
- return *this;
- }
-
- char_type fill() const { return m_stream.fill(); }
- char_type fill(char_type ch) { return m_stream.fill(ch); }
-
- char narrow(char_type ch, char def) const { return m_stream.narrow(ch, def); }
- char_type widen(char ch) const { return m_stream.widen(ch); }
-
- // std::basic_ostream method forwarders
- basic_formatting_ostream& flush()
- {
- m_stream.flush();
- return *this;
- }
-
- pos_type tellp() { return m_stream.tellp(); }
- basic_formatting_ostream& seekp(pos_type pos)
- {
- m_stream.seekp(pos);
- return *this;
- }
- basic_formatting_ostream& seekp(off_type off, std::ios_base::seekdir dir)
- {
- m_stream.seekp(off, dir);
- return *this;
- }
-
- basic_formatting_ostream& put(char_type c)
- {
- m_stream.put(c);
- return *this;
- }
-
- template< typename OtherCharT >
- typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- put(OtherCharT c)
- {
- write(&c, 1);
- return *this;
- }
-
- basic_formatting_ostream& write(const char_type* p, std::streamsize size)
- {
- m_stream.write(p, size);
- return *this;
- }
-
- template< typename OtherCharT >
- typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- write(const OtherCharT* p, std::streamsize size)
- {
- sentry guard(*this);
- if (!!guard)
- {
- m_stream.flush();
-
- if (!m_streambuf.storage_overflow())
- {
- string_type* storage = m_streambuf.storage();
- if (!aux::code_convert(p, static_cast< std::size_t >(size), *storage, m_streambuf.max_size(), m_stream.getloc()))
- m_streambuf.storage_overflow(true);
- }
- }
-
- return *this;
- }
-
- basic_formatting_ostream& operator<< (ios_base_manip manip)
- {
- m_stream << manip;
- return *this;
- }
- basic_formatting_ostream& operator<< (basic_ios_manip manip)
- {
- m_stream << manip;
- return *this;
- }
- basic_formatting_ostream& operator<< (stream_manip manip)
- {
- m_stream << manip;
- return *this;
- }
-
- basic_formatting_ostream& operator<< (char c)
- {
- return this->formatted_write(&c, 1);
- }
- basic_formatting_ostream& operator<< (const char* p)
- {
- return this->formatted_write(p, static_cast< std::streamsize >(std::char_traits< char >::length(p)));
- }
-
- // When no native character type is supported, the following overloads are disabled as they have ambiguous meaning.
- // Use basic_string_view or basic_string to explicitly indicate that the data is a string.
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
- basic_formatting_ostream& operator<< (wchar_t c)
- {
- return this->formatted_write(&c, 1);
- }
- basic_formatting_ostream& operator<< (const wchar_t* p)
- {
- return this->formatted_write(p, static_cast< std::streamsize >(std::char_traits< wchar_t >::length(p)));
- }
-#endif
-#if !defined(BOOST_LOG_NO_CXX11_CODECVT_FACETS)
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
- basic_formatting_ostream& operator<< (char16_t c)
- {
- return this->formatted_write(&c, 1);
- }
- basic_formatting_ostream& operator<< (const char16_t* p)
- {
- return this->formatted_write(p, static_cast< std::streamsize >(std::char_traits< char16_t >::length(p)));
- }
-#endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
- basic_formatting_ostream& operator<< (char32_t c)
- {
- return this->formatted_write(&c, 1);
- }
- basic_formatting_ostream& operator<< (const char32_t* p)
- {
- return this->formatted_write(p, static_cast< std::streamsize >(std::char_traits< char32_t >::length(p)));
- }
-#endif
-#endif
-
- basic_formatting_ostream& operator<< (bool value)
- {
- m_stream << value;
- return *this;
- }
- basic_formatting_ostream& operator<< (signed char value)
- {
- m_stream << value;
- return *this;
- }
- basic_formatting_ostream& operator<< (unsigned char value)
- {
- m_stream << value;
- return *this;
- }
- basic_formatting_ostream& operator<< (short value)
- {
- m_stream << value;
- return *this;
- }
- basic_formatting_ostream& operator<< (unsigned short value)
- {
- m_stream << value;
- return *this;
- }
- basic_formatting_ostream& operator<< (int value)
- {
- m_stream << value;
- return *this;
- }
- basic_formatting_ostream& operator<< (unsigned int value)
- {
- m_stream << value;
- return *this;
- }
- basic_formatting_ostream& operator<< (long value)
- {
- m_stream << value;
- return *this;
- }
- basic_formatting_ostream& operator<< (unsigned long value)
- {
- m_stream << value;
- return *this;
- }
-#if !defined(BOOST_NO_LONG_LONG)
- basic_formatting_ostream& operator<< (long long value)
- {
- m_stream << value;
- return *this;
- }
- basic_formatting_ostream& operator<< (unsigned long long value)
- {
- m_stream << value;
- return *this;
- }
-#endif
-
- basic_formatting_ostream& operator<< (float value)
- {
- m_stream << value;
- return *this;
- }
- basic_formatting_ostream& operator<< (double value)
- {
- m_stream << value;
- return *this;
- }
- basic_formatting_ostream& operator<< (long double value)
- {
- m_stream << value;
- return *this;
- }
-
- basic_formatting_ostream& operator<< (const void* value)
- {
- m_stream << value;
- return *this;
- }
-
- basic_formatting_ostream& operator<< (std::basic_streambuf< char_type, traits_type >* buf)
- {
- m_stream << buf;
- return *this;
- }
-
- template< typename OtherCharT, typename OtherTraitsT, typename OtherAllocatorT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream& strm, std::basic_string< OtherCharT, OtherTraitsT, OtherAllocatorT > const& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream& strm, basic_string_literal< OtherCharT, OtherTraitsT > const& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream& strm, basic_string_view< OtherCharT, OtherTraitsT > const& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- // Deprecated overload
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream& strm, basic_string_ref< OtherCharT, OtherTraitsT > const& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- template< typename OtherCharT, typename OtherTraitsT, typename OtherAllocatorT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream& strm, std::basic_string< OtherCharT, OtherTraitsT, OtherAllocatorT >& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream& strm, basic_string_literal< OtherCharT, OtherTraitsT >& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream& strm, basic_string_view< OtherCharT, OtherTraitsT >& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- // Deprecated overload
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream& strm, basic_string_ref< OtherCharT, OtherTraitsT >& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename OtherCharT, typename OtherTraitsT, typename OtherAllocatorT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream&& strm, std::basic_string< OtherCharT, OtherTraitsT, OtherAllocatorT > const& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream&& strm, basic_string_literal< OtherCharT, OtherTraitsT > const& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream&& strm, basic_string_view< OtherCharT, OtherTraitsT > const& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- // Deprecated overload
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream&& strm, basic_string_ref< OtherCharT, OtherTraitsT > const& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- template< typename OtherCharT, typename OtherTraitsT, typename OtherAllocatorT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream&& strm, std::basic_string< OtherCharT, OtherTraitsT, OtherAllocatorT >& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream&& strm, basic_string_literal< OtherCharT, OtherTraitsT >& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream&& strm, basic_string_view< OtherCharT, OtherTraitsT >& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-
- // Deprecated overload
- template< typename OtherCharT, typename OtherTraitsT >
- friend typename aux::enable_if_streamable_char_type< OtherCharT, basic_formatting_ostream& >::type
- operator<< (basic_formatting_ostream&& strm, basic_string_ref< OtherCharT, OtherTraitsT >& str)
- {
- return strm.formatted_write(str.data(), static_cast< std::streamsize >(str.size()));
- }
-#endif
-
-protected:
- void init_stream()
- {
- m_stream.exceptions(ostream_type::goodbit);
- m_stream.clear(m_streambuf.storage() ? ostream_type::goodbit : ostream_type::badbit);
- m_stream.flags
- (
- ostream_type::dec |
- ostream_type::skipws |
- ostream_type::boolalpha // this differs from the default stream flags but makes logs look better
- );
- m_stream.width(0);
- m_stream.precision(6);
- m_stream.fill(static_cast< char_type >(' '));
- }
-
-private:
- basic_formatting_ostream& formatted_write(const char_type* p, std::streamsize size)
- {
- sentry guard(*this);
- if (!!guard)
- {
- m_stream.flush();
-
- if (m_stream.width() <= size)
- m_streambuf.append(p, static_cast< std::size_t >(size));
- else
- this->aligned_write(p, size);
-
- m_stream.width(0);
- }
-
- return *this;
- }
-
- template< typename OtherCharT >
- basic_formatting_ostream& formatted_write(const OtherCharT* p, std::streamsize size)
- {
- sentry guard(*this);
- if (!!guard)
- {
- m_stream.flush();
-
- if (m_stream.width() <= size)
- {
- if (!m_streambuf.storage_overflow())
- {
- if (!aux::code_convert(p, static_cast< std::size_t >(size), *m_streambuf.storage(), m_streambuf.max_size(), m_stream.getloc()))
- m_streambuf.storage_overflow(true);
- }
- }
- else
- this->aligned_write(p, size);
-
- m_stream.width(0);
- }
-
- return *this;
- }
-
- void aligned_write(const char_type* p, std::streamsize size);
-
- template< typename OtherCharT >
- void aligned_write(const OtherCharT* p, std::streamsize size);
-
- //! Copy constructor (closed)
- BOOST_DELETED_FUNCTION(basic_formatting_ostream(basic_formatting_ostream const& that))
- //! Assignment (closed)
- BOOST_DELETED_FUNCTION(basic_formatting_ostream& operator= (basic_formatting_ostream const& that))
-};
-
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::boolalpha;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::dec;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fixed;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::hex;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::internal;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::left;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::oct;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::right;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::scientific;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::showbase;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::showpoint;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::skipws;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::unitbuf;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::uppercase;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::adjustfield;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::basefield;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::fmtflags basic_formatting_ostream< CharT, TraitsT, AllocatorT >::floatfield;
-
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::iostate basic_formatting_ostream< CharT, TraitsT, AllocatorT >::badbit;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::iostate basic_formatting_ostream< CharT, TraitsT, AllocatorT >::eofbit;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::iostate basic_formatting_ostream< CharT, TraitsT, AllocatorT >::failbit;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::iostate basic_formatting_ostream< CharT, TraitsT, AllocatorT >::goodbit;
-
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::openmode basic_formatting_ostream< CharT, TraitsT, AllocatorT >::app;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::openmode basic_formatting_ostream< CharT, TraitsT, AllocatorT >::ate;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::openmode basic_formatting_ostream< CharT, TraitsT, AllocatorT >::binary;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::openmode basic_formatting_ostream< CharT, TraitsT, AllocatorT >::in;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::openmode basic_formatting_ostream< CharT, TraitsT, AllocatorT >::out;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::openmode basic_formatting_ostream< CharT, TraitsT, AllocatorT >::trunc;
-
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::seekdir basic_formatting_ostream< CharT, TraitsT, AllocatorT >::beg;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::seekdir basic_formatting_ostream< CharT, TraitsT, AllocatorT >::cur;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::seekdir basic_formatting_ostream< CharT, TraitsT, AllocatorT >::end;
-
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::event basic_formatting_ostream< CharT, TraitsT, AllocatorT >::erase_event;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::event basic_formatting_ostream< CharT, TraitsT, AllocatorT >::imbue_event;
-template< typename CharT, typename TraitsT, typename AllocatorT >
-BOOST_CONSTEXPR_OR_CONST typename basic_formatting_ostream< CharT, TraitsT, AllocatorT >::event basic_formatting_ostream< CharT, TraitsT, AllocatorT >::copyfmt_event;
-
-template< typename CharT, typename TraitsT, typename AllocatorT >
-void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const char_type* p, std::streamsize size)
-{
- typename string_type::size_type const alignment_size =
- static_cast< typename string_type::size_type >(m_stream.width() - size);
- const bool align_left = (m_stream.flags() & ostream_type::adjustfield) == ostream_type::left;
- if (align_left)
- {
- m_streambuf.append(p, static_cast< std::size_t >(size));
- m_streambuf.append(alignment_size, m_stream.fill());
- }
- else
- {
- m_streambuf.append(alignment_size, m_stream.fill());
- m_streambuf.append(p, static_cast< std::size_t >(size));
- }
-}
-
-template< typename CharT, typename TraitsT, typename AllocatorT >
-template< typename OtherCharT >
-void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const OtherCharT* p, std::streamsize size)
-{
- string_type* const storage = m_streambuf.storage();
- typename string_type::size_type const alignment_size =
- static_cast< typename string_type::size_type >(m_stream.width() - size);
- const bool align_left = (m_stream.flags() & ostream_type::adjustfield) == ostream_type::left;
- if (align_left)
- {
- if (!m_streambuf.storage_overflow())
- {
- if (!aux::code_convert(p, static_cast< std::size_t >(size), *storage, m_streambuf.max_size(), m_stream.getloc()))
- m_streambuf.storage_overflow(true);
- }
- m_streambuf.append(alignment_size, m_stream.fill());
- }
- else
- {
- m_streambuf.append(alignment_size, m_stream.fill());
- if (!m_streambuf.storage_overflow())
- {
- if (!aux::code_convert(p, static_cast< std::size_t >(size), *storage, m_streambuf.max_size(), m_stream.getloc()))
- m_streambuf.storage_overflow(true);
- }
- }
-}
-
-// Implementation note: these operators below should be the least attractive for the compiler
-// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose.
-// We also don't use perfect forwarding for the right hand argument because in this case the generic overload
-// would be more preferred than the typical one written by users:
-//
-// formatting_ostream& operator<< (formatting_ostream& strm, my_type const& arg);
-//
-// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required
-// if there is a perfect forwarding overload.
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_formatting_ostream_generic_operator< StreamT, T, true, StreamT& >::type
-operator<< (StreamT& strm, T value)
-{
- strm.stream() << value;
- return strm;
-}
-
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_formatting_ostream_generic_operator< StreamT, T, false, StreamT& >::type
-operator<< (StreamT& strm, T const& value)
-{
- strm.stream() << value;
- return strm;
-}
-
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_formatting_ostream_generic_operator< StreamT, T, false, StreamT& >::type
-operator<< (StreamT& strm, T& value)
-{
- strm.stream() << value;
- return strm;
-}
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_formatting_ostream_generic_operator< StreamT, T, true, StreamT& >::type
-operator<< (StreamT&& strm, T value)
-{
- strm.stream() << value;
- return strm;
-}
-
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_formatting_ostream_generic_operator< StreamT, T, false, StreamT& >::type
-operator<< (StreamT&& strm, T const& value)
-{
- strm.stream() << value;
- return strm;
-}
-
-template< typename StreamT, typename T >
-inline typename boost::log::aux::enable_formatting_ostream_generic_operator< StreamT, T, false, StreamT& >::type
-operator<< (StreamT&& strm, T& value)
-{
- strm.stream() << value;
- return strm;
-}
-
-#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FORMATTING_OSTREAM_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/formatting_ostream_fwd.hpp b/contrib/restricted/boost/boost/log/utility/formatting_ostream_fwd.hpp
deleted file mode 100644
index 8e4ec2583f..0000000000
--- a/contrib/restricted/boost/boost/log/utility/formatting_ostream_fwd.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatting_ostream_fwd.hpp
- * \author Andrey Semashev
- * \date 11.07.2012
- *
- * The header contains forward declaration of a string stream used for log record formatting.
- */
-
-#ifndef BOOST_LOG_UTILITY_FORMATTING_OSTREAM_FWD_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FORMATTING_OSTREAM_FWD_HPP_INCLUDED_
-
-#include <string>
-#include <memory>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief Stream for log records formatting
- */
-template<
- typename CharT,
- typename TraitsT = std::char_traits< CharT >,
- typename AllocatorT = std::allocator< CharT >
->
-class basic_formatting_ostream;
-
-#ifdef BOOST_LOG_USE_CHAR
-typedef basic_formatting_ostream< char > formatting_ostream;
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-typedef basic_formatting_ostream< wchar_t > wformatting_ostream;
-#endif
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_UTILITY_FORMATTING_OSTREAM_FWD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional.hpp b/contrib/restricted/boost/boost/log/utility/functional.hpp
deleted file mode 100644
index 5b7024c4be..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional.hpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file functional.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header includes all functional helpers.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#include <boost/log/utility/functional/logical.hpp>
-#include <boost/log/utility/functional/in_range.hpp>
-#include <boost/log/utility/functional/begins_with.hpp>
-#include <boost/log/utility/functional/ends_with.hpp>
-#include <boost/log/utility/functional/contains.hpp>
-#include <boost/log/utility/functional/matches.hpp>
-
-#include <boost/log/utility/functional/nop.hpp>
-#include <boost/log/utility/functional/bind_assign.hpp>
-#include <boost/log/utility/functional/bind_output.hpp>
-#include <boost/log/utility/functional/bind_to_log.hpp>
-#include <boost/log/utility/functional/bind.hpp>
-#include <boost/log/utility/functional/fun_ref.hpp>
-#include <boost/log/utility/functional/as_action.hpp>
-#include <boost/log/utility/functional/save_result.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/as_action.hpp b/contrib/restricted/boost/boost/log/utility/functional/as_action.hpp
deleted file mode 100644
index 14a3b8ce23..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/as_action.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file as_action.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains function object adapter for compatibility with Boost.Spirit actions interface requirements.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_AS_ACTION_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_AS_ACTION_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! Function object adapter for Boost.Spirit actions
-template< typename FunT >
-struct as_action_adapter
-{
- typedef typename FunT::result_type result_type;
-
- BOOST_DEFAULTED_FUNCTION(as_action_adapter(), {})
- explicit as_action_adapter(FunT const& fun) : m_fun(fun) {}
-
- template< typename AttributeT, typename ContextT >
- result_type operator() (AttributeT const& attr, ContextT const& ctx, bool& pass) const
- {
- return m_fun(attr);
- }
-
-private:
- FunT m_fun;
-};
-
-template< typename FunT >
-BOOST_FORCEINLINE as_action_adapter< FunT > as_action(FunT const& fun)
-{
- return as_action_adapter< FunT >(fun);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_AS_ACTION_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/begins_with.hpp b/contrib/restricted/boost/boost/log/utility/functional/begins_with.hpp
deleted file mode 100644
index 6a7e58efb7..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/begins_with.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file begins_with.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains a predicate for checking if the provided string begins with a substring.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_BEGINS_WITH_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_BEGINS_WITH_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! The \c begins_with functor
-struct begins_with_fun
-{
- typedef bool result_type;
-
- template< typename T, typename U >
- bool operator() (T const& left, U const& right) const
- {
- typedef typename T::const_iterator left_iterator;
- typedef typename U::const_iterator right_iterator;
-
- left_iterator left_it = left.begin(), left_end = left.end();
- right_iterator right_it = right.begin(), right_end = right.end();
- for (; left_it != left_end && right_it != right_end; ++left_it, ++right_it)
- {
- if (*left_it != *right_it)
- break;
- }
- return right_it == right_end;
- }
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_BEGINS_WITH_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/bind.hpp b/contrib/restricted/boost/boost/log/utility/functional/bind.hpp
deleted file mode 100644
index f6f07b8de9..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/bind.hpp
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file bind.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains function object adapters.
- * This is a lightweight alternative to what Boost.Phoenix and Boost.Bind provides.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_BIND_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_BIND_HPP_INCLUDED_
-
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename T >
-struct make_arg_type
-{
- typedef T const& type;
-};
-
-template< typename T >
-struct make_arg_type< T& >
-{
- typedef T& type;
-};
-
-} // namespace aux
-
-//! First argument binder
-template< typename FunT, typename FirstArgT >
-struct binder1st :
- private FunT
-{
- typedef typename FunT::result_type result_type;
-
- binder1st(FunT const& fun, typename aux::make_arg_type< FirstArgT >::type arg) : FunT(fun), m_arg(arg) {}
-
- result_type operator() () const
- {
- return FunT::operator()(m_arg);
- }
-
- template< typename T0 >
- result_type operator() (T0 const& arg0) const
- {
- return FunT::operator()(m_arg, arg0);
- }
-
- template< typename T0, typename T1 >
- result_type operator() (T0 const& arg0, T1 const& arg1) const
- {
- return FunT::operator()(m_arg, arg0, arg1);
- }
-
-private:
- FirstArgT m_arg;
-};
-
-//! First argument binder
-template< typename FunT, typename FirstArgT >
-struct binder1st< FunT&, FirstArgT >
-{
- typedef typename remove_cv< FunT >::type::result_type result_type;
-
- binder1st(FunT& fun, typename aux::make_arg_type< FirstArgT >::type arg) : m_fun(fun), m_arg(arg) {}
-
- result_type operator() () const
- {
- return m_fun(m_arg);
- }
-
- template< typename T0 >
- result_type operator() (T0 const& arg0) const
- {
- return m_fun(m_arg, arg0);
- }
-
- template< typename T0, typename T1 >
- result_type operator() (T0 const& arg0, T1 const& arg1) const
- {
- return m_fun(m_arg, arg0, arg1);
- }
-
-private:
- FunT& m_fun;
- FirstArgT m_arg;
-};
-
-template< typename FunT, typename FirstArgT >
-BOOST_FORCEINLINE binder1st< FunT, FirstArgT > bind1st(FunT fun, FirstArgT const& arg)
-{
- return binder1st< FunT, FirstArgT >(fun, arg);
-}
-
-template< typename FunT, typename FirstArgT >
-BOOST_FORCEINLINE binder1st< FunT, FirstArgT > bind1st(FunT fun, FirstArgT& arg)
-{
- return binder1st< FunT, FirstArgT >(fun, arg);
-}
-
-//! Second argument binder
-template< typename FunT, typename SecondArgT >
-struct binder2nd :
- private FunT
-{
- typedef typename FunT::result_type result_type;
-
- binder2nd(FunT const& fun, typename aux::make_arg_type< SecondArgT >::type arg) : FunT(fun), m_arg(arg) {}
-
- template< typename T >
- result_type operator() (T const& arg) const
- {
- return FunT::operator()(arg, m_arg);
- }
-
- template< typename T0, typename T1 >
- result_type operator() (T0 const& arg0, T1 const& arg1) const
- {
- return FunT::operator()(arg0, m_arg, arg1);
- }
-
-private:
- SecondArgT m_arg;
-};
-
-//! Second argument binder
-template< typename FunT, typename SecondArgT >
-struct binder2nd< FunT&, SecondArgT >
-{
- typedef typename remove_cv< FunT >::type::result_type result_type;
-
- binder2nd(FunT& fun, typename aux::make_arg_type< SecondArgT >::type arg) : m_fun(fun), m_arg(arg) {}
-
- template< typename T >
- result_type operator() (T const& arg) const
- {
- return m_fun(arg, m_arg);
- }
-
- template< typename T0, typename T1 >
- result_type operator() (T0 const& arg0, T1 const& arg1) const
- {
- return m_fun(arg0, m_arg, arg1);
- }
-
-private:
- FunT& m_fun;
- SecondArgT m_arg;
-};
-
-template< typename FunT, typename SecondArgT >
-BOOST_FORCEINLINE binder2nd< FunT, SecondArgT > bind2nd(FunT fun, SecondArgT const& arg)
-{
- return binder2nd< FunT, SecondArgT >(fun, arg);
-}
-
-template< typename FunT, typename SecondArgT >
-BOOST_FORCEINLINE binder2nd< FunT, SecondArgT > bind2nd(FunT fun, SecondArgT& arg)
-{
- return binder2nd< FunT, SecondArgT >(fun, arg);
-}
-
-//! Third argument binder
-template< typename FunT, typename ThirdArgT >
-struct binder3rd :
- private FunT
-{
- typedef typename FunT::result_type result_type;
-
- binder3rd(FunT const& fun, typename aux::make_arg_type< ThirdArgT >::type arg) : FunT(fun), m_arg(arg) {}
-
- template< typename T0, typename T1 >
- result_type operator() (T0 const& arg0, T1 const& arg1) const
- {
- return FunT::operator()(arg0, arg1, m_arg);
- }
-
-private:
- ThirdArgT m_arg;
-};
-
-//! Third argument binder
-template< typename FunT, typename ThirdArgT >
-struct binder3rd< FunT&, ThirdArgT >
-{
- typedef typename remove_cv< FunT >::type::result_type result_type;
-
- binder3rd(FunT& fun, typename aux::make_arg_type< ThirdArgT >::type arg) : m_fun(fun), m_arg(arg) {}
-
- template< typename T0, typename T1 >
- result_type operator() (T0 const& arg0, T1 const& arg1) const
- {
- return m_fun(arg0, arg1, m_arg);
- }
-
-private:
- FunT& m_fun;
- ThirdArgT m_arg;
-};
-
-template< typename FunT, typename ThirdArgT >
-BOOST_FORCEINLINE binder3rd< FunT, ThirdArgT > bind3rd(FunT fun, ThirdArgT const& arg)
-{
- return binder3rd< FunT, ThirdArgT >(fun, arg);
-}
-
-template< typename FunT, typename ThirdArgT >
-BOOST_FORCEINLINE binder3rd< FunT, ThirdArgT > bind3rd(FunT fun, ThirdArgT& arg)
-{
- return binder3rd< FunT, ThirdArgT >(fun, arg);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_BIND_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/bind_assign.hpp b/contrib/restricted/boost/boost/log/utility/functional/bind_assign.hpp
deleted file mode 100644
index 12d274bdbd..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/bind_assign.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file bind_assign.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains a function object that assigns the received value to the bound object.
- * This is a lightweight alternative to what Boost.Phoenix and Boost.Lambda provides.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_BIND_ASSIGN_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_BIND_ASSIGN_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/functional/bind.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! The function object that assigns its second operand to the first one
-struct assign_fun
-{
- typedef void result_type;
-
- template< typename LeftT, typename RightT >
- void operator() (LeftT& assignee, RightT const& val) const
- {
- assignee = val;
- }
-};
-
-template< typename AssigneeT >
-BOOST_FORCEINLINE binder1st< assign_fun, AssigneeT& > bind_assign(AssigneeT& assignee)
-{
- return binder1st< assign_fun, AssigneeT& >(assign_fun(), assignee);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_BIND_ASSIGN_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/bind_output.hpp b/contrib/restricted/boost/boost/log/utility/functional/bind_output.hpp
deleted file mode 100644
index 9624d8215c..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/bind_output.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file bind_output.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains a function object that puts the received value to the bound stream.
- * This is a lightweight alternative to what Boost.Phoenix and Boost.Lambda provides.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_BIND_OUTPUT_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_BIND_OUTPUT_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/functional/bind.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! The function object that outputs its second operand to the first one
-struct output_fun
-{
- typedef void result_type;
-
- template< typename StreamT, typename T >
- void operator() (StreamT& strm, T const& val) const
- {
- strm << val;
- }
-};
-
-template< typename StreamT >
-BOOST_FORCEINLINE binder1st< output_fun, StreamT& > bind_output(StreamT& strm)
-{
- return binder1st< output_fun, StreamT& >(output_fun(), strm);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_BIND_OUTPUT_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/bind_to_log.hpp b/contrib/restricted/boost/boost/log/utility/functional/bind_to_log.hpp
deleted file mode 100644
index 7a79893a59..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/bind_to_log.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file bind_to_log.hpp
- * \author Andrey Semashev
- * \date 06.11.2012
- *
- * This header contains a function object that puts the received value to the bound stream using the \c to_log manipulator.
- * This is a lightweight alternative to what Boost.Phoenix and Boost.Lambda provides.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_BIND_TO_LOG_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_BIND_TO_LOG_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/functional/bind.hpp>
-#include <boost/log/utility/manipulators/to_log.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! The function object that outputs its second operand to the first one
-template< typename TagT = void >
-struct to_log_fun
-{
- typedef void result_type;
-
- template< typename StreamT, typename T >
- void operator() (StreamT& strm, T const& val) const
- {
- strm << boost::log::to_log< TagT >(val);
- }
-};
-
-//! The function object that outputs its second operand to the first one
-template< >
-struct to_log_fun< void >
-{
- typedef void result_type;
-
- template< typename StreamT, typename T >
- void operator() (StreamT& strm, T const& val) const
- {
- strm << boost::log::to_log(val);
- }
-};
-
-template< typename StreamT >
-BOOST_FORCEINLINE binder1st< to_log_fun< >, StreamT& > bind_to_log(StreamT& strm)
-{
- return binder1st< to_log_fun< >, StreamT& >(to_log_fun< >(), strm);
-}
-
-template< typename TagT, typename StreamT >
-BOOST_FORCEINLINE binder1st< to_log_fun< TagT >, StreamT& > bind_to_log(StreamT& strm)
-{
- return binder1st< to_log_fun< TagT >, StreamT& >(to_log_fun< TagT >(), strm);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_BIND_TO_LOG_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/contains.hpp b/contrib/restricted/boost/boost/log/utility/functional/contains.hpp
deleted file mode 100644
index 347506a6ec..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/contains.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file contains.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains a predicate for checking if the provided string contains a substring.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_CONTAINS_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_CONTAINS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! The \c contains functor
-struct contains_fun
-{
- typedef bool result_type;
-
- template< typename T, typename U >
- bool operator() (T const& left, U const& right) const
- {
- typedef typename T::const_iterator left_iterator;
- typedef typename U::const_iterator right_iterator;
-
- typename U::size_type const right_size = right.size();
- if (left.size() >= right_size)
- {
- const left_iterator search_end = left.end() - right_size + 1;
- const right_iterator right_end = right.end();
- for (left_iterator it = left.begin(); it != search_end; ++it)
- {
- left_iterator left_it = it;
- right_iterator right_it = right.begin();
- for (; right_it != right_end; ++left_it, ++right_it)
- {
- if (*left_it != *right_it)
- break;
- }
- if (right_it == right_end)
- return true;
- }
- }
-
- return false;
- }
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_CONTAINS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/ends_with.hpp b/contrib/restricted/boost/boost/log/utility/functional/ends_with.hpp
deleted file mode 100644
index dd31533644..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/ends_with.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file ends_with.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains a predicate for checking if the provided string ends with a substring.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_ENDS_WITH_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_ENDS_WITH_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! The \c ends_with functor
-struct ends_with_fun
-{
- typedef bool result_type;
-
- template< typename T, typename U >
- bool operator() (T const& left, U const& right) const
- {
- typedef typename T::const_reverse_iterator left_iterator;
- typedef typename U::const_reverse_iterator right_iterator;
-
- left_iterator left_it = left.rbegin(), left_end = left.rend();
- right_iterator right_it = right.rbegin(), right_end = right.rend();
- for (; left_it != left_end && right_it != right_end; ++left_it, ++right_it)
- {
- if (*left_it != *right_it)
- break;
- }
- return right_it == right_end;
- }
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_ENDS_WITH_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/fun_ref.hpp b/contrib/restricted/boost/boost/log/utility/functional/fun_ref.hpp
deleted file mode 100644
index a50375b588..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/fun_ref.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file fun_ref.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains function object reference adapter. The adapter stores a reference to external
- * function object and forwards all calls to the referred function.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_FUN_REF_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_FUN_REF_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! Reference wrapper for function objects
-template< typename FunT >
-struct function_reference_wrapper
-{
- typedef typename FunT::result_type result_type;
-
- explicit function_reference_wrapper(FunT& fun) : m_Fun(fun) {}
-
- result_type operator() () const
- {
- return m_Fun();
- }
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
- template< typename... ArgsT >
- result_type operator() (ArgsT const&... args) const
- {
- return m_Fun(args...);
- }
-#else
- template< typename T >
- result_type operator() (T const& arg) const
- {
- return m_Fun(arg);
- }
-
- template< typename T1, typename T2 >
- result_type operator() (T1 const& arg1, T2 const& arg2) const
- {
- return m_Fun(arg1, arg2);
- }
-#endif
-
-private:
- FunT& m_Fun;
-};
-
-template< typename FunT >
-BOOST_FORCEINLINE function_reference_wrapper< FunT > fun_ref(FunT& fun)
-{
- return function_reference_wrapper< FunT >(fun);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_FUN_REF_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/in_range.hpp b/contrib/restricted/boost/boost/log/utility/functional/in_range.hpp
deleted file mode 100644
index b87160ef03..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/in_range.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file in_range.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains a predicate for checking if the provided value is within a half-open range.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_IN_RANGE_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_IN_RANGE_HPP_INCLUDED_
-
-#include <utility>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/functional/logical.hpp> // make_common_integral_type
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! The in_range functor
-struct in_range_fun
-{
- typedef bool result_type;
-
- template< typename T, typename U >
- bool operator() (T const& value, std::pair< U, U > const& rng) const
- {
- return op(value, rng, typename mpl::and_< is_integral< T >, is_integral< U > >::type());
- }
-
-private:
- template< typename T, typename U >
- static bool op(T const& value, std::pair< U, U > const& rng, mpl::false_ const&)
- {
- return (value >= rng.first && value < rng.second);
- }
- template< typename T, typename U >
- static bool op(T const& value, std::pair< U, U > const& rng, mpl::true_ const&)
- {
- typedef typename aux::make_common_integral_type< T, U >::type common_integral_type;
- return (static_cast< common_integral_type >(value) >= static_cast< common_integral_type >(rng.first))
- && (static_cast< common_integral_type >(value) < static_cast< common_integral_type >(rng.second));
- }
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_IN_RANGE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/logical.hpp b/contrib/restricted/boost/boost/log/utility/functional/logical.hpp
deleted file mode 100644
index bdba8b8f8d..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/logical.hpp
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file logical.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains logical predicates for value comparison, analogous to \c std::less, \c std::greater
- * and others. The main difference from the standard equivalents is that the predicates defined in this
- * header are not templates and therefore do not require a fixed argument type. Furthermore, both arguments
- * may have different types, in which case the comparison is performed without type conversion.
- *
- * \note In case if arguments are integral, the conversion is performed according to the standard C++ rules
- * in order to avoid warnings from the compiler.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_LOGICAL_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_LOGICAL_HPP_INCLUDED_
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_unsigned.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The trait creates a common integral type suitable for comparison. This is mostly to silence compiler warnings like 'signed/unsigned mismatch'.
-template< typename T, typename U, unsigned int TSizeV = sizeof(T), unsigned int USizeV = sizeof(U), bool TSmallerThanU = (sizeof(T) < sizeof(U)) >
-struct make_common_integral_type
-{
- typedef T type;
-};
-
-//! Specialization for case when \c T is smaller than \c U
-template< typename T, typename U, unsigned int TSizeV, unsigned int USizeV >
-struct make_common_integral_type< T, U, TSizeV, USizeV, true >
-{
- typedef U type;
-};
-
-//! Specialization for the case when both types have the same size
-template< typename T, typename U, unsigned int SizeV >
-struct make_common_integral_type< T, U, SizeV, SizeV, false > :
- public mpl::if_<
- is_unsigned< T >,
- T,
- U
- >
-{
-};
-
-} // namespace aux
-
-//! Equality predicate
-struct equal_to
-{
- typedef bool result_type;
-
- template< typename T, typename U >
- bool operator() (T const& left, U const& right) const
- {
- return op(left, right, typename mpl::and_< is_integral< T >, is_integral< U > >::type());
- }
-
-private:
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::false_ const&)
- {
- return (left == right);
- }
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::true_ const&)
- {
- typedef typename aux::make_common_integral_type< T, U >::type common_integral_type;
- return static_cast< common_integral_type >(left) == static_cast< common_integral_type >(right);
- }
-};
-
-//! Inequality predicate
-struct not_equal_to
-{
- typedef bool result_type;
-
- template< typename T, typename U >
- bool operator() (T const& left, U const& right) const
- {
- return op(left, right, typename mpl::and_< is_integral< T >, is_integral< U > >::type());
- }
-
-private:
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::false_ const&)
- {
- return (left != right);
- }
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::true_ const&)
- {
- typedef typename aux::make_common_integral_type< T, U >::type common_integral_type;
- return static_cast< common_integral_type >(left) != static_cast< common_integral_type >(right);
- }
-};
-
-//! Less predicate
-struct less
-{
- typedef bool result_type;
-
- template< typename T, typename U >
- bool operator() (T const& left, U const& right) const
- {
- return op(left, right, typename mpl::and_< is_integral< T >, is_integral< U > >::type());
- }
-
-private:
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::false_ const&)
- {
- return (left < right);
- }
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::true_ const&)
- {
- typedef typename aux::make_common_integral_type< T, U >::type common_integral_type;
- return static_cast< common_integral_type >(left) < static_cast< common_integral_type >(right);
- }
-};
-
-//! Greater predicate
-struct greater
-{
- typedef bool result_type;
-
- template< typename T, typename U >
- bool operator() (T const& left, U const& right) const
- {
- return op(left, right, typename mpl::and_< is_integral< T >, is_integral< U > >::type());
- }
-
-private:
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::false_ const&)
- {
- return (left > right);
- }
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::true_ const&)
- {
- typedef typename aux::make_common_integral_type< T, U >::type common_integral_type;
- return static_cast< common_integral_type >(left) > static_cast< common_integral_type >(right);
- }
-};
-
-//! Less or equal predicate
-struct less_equal
-{
- typedef bool result_type;
-
- template< typename T, typename U >
- bool operator() (T const& left, U const& right) const
- {
- return op(left, right, typename mpl::and_< is_integral< T >, is_integral< U > >::type());
- }
-
-private:
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::false_ const&)
- {
- return (left <= right);
- }
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::true_ const&)
- {
- typedef typename aux::make_common_integral_type< T, U >::type common_integral_type;
- return static_cast< common_integral_type >(left) <= static_cast< common_integral_type >(right);
- }
-};
-
-//! Greater or equal predicate
-struct greater_equal
-{
- typedef bool result_type;
-
- template< typename T, typename U >
- bool operator() (T const& left, U const& right) const
- {
- return op(left, right, typename mpl::and_< is_integral< T >, is_integral< U > >::type());
- }
-
-private:
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::false_ const&)
- {
- return (left >= right);
- }
- template< typename T, typename U >
- static bool op(T const& left, U const& right, mpl::true_ const&)
- {
- typedef typename aux::make_common_integral_type< T, U >::type common_integral_type;
- return static_cast< common_integral_type >(left) >= static_cast< common_integral_type >(right);
- }
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_LOGICAL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/matches.hpp b/contrib/restricted/boost/boost/log/utility/functional/matches.hpp
deleted file mode 100644
index f6c4de7203..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/matches.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file matches.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains a predicate for checking if the provided string matches a regular expression.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_MATCHES_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_MATCHES_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The metafunction detects the matching expression kind and returns a tag that is used to specialize \c match_traits
-template< typename ExpressionT, typename = void >
-struct matching_expression_kind;
-
-//! The matching function implementation
-template< typename ExpressionT, typename TagT = typename matching_expression_kind< ExpressionT >::type >
-struct match_traits;
-
-} // namespace aux
-
-//! The regex matching functor
-struct matches_fun
-{
- typedef bool result_type;
-
- template< typename StringT, typename ExpressionT >
- bool operator() (StringT const& str, ExpressionT const& expr) const
- {
- typedef aux::match_traits< ExpressionT > impl;
- return impl::matches(str, expr);
- }
- template< typename StringT, typename ExpressionT, typename ArgT >
- bool operator() (StringT const& str, ExpressionT const& expr, ArgT const& arg) const
- {
- typedef aux::match_traits< ExpressionT > impl;
- return impl::matches(str, expr, arg);
- }
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_MATCHES_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/nop.hpp b/contrib/restricted/boost/boost/log/utility/functional/nop.hpp
deleted file mode 100644
index 6bef78d2c2..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/nop.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file nop.hpp
- * \author Andrey Semashev
- * \date 30.03.2008
- *
- * This header contains a function object that does nothing.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_NOP_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_NOP_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! The function object that does nothing
-struct nop
-{
- typedef void result_type;
-
- void operator() () const BOOST_NOEXCEPT {}
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
- template< typename... ArgsT >
- void operator() (ArgsT const&...) const BOOST_NOEXCEPT {}
-#else
- template< typename T >
- void operator() (T const&) const BOOST_NOEXCEPT {}
- template< typename T1, typename T2 >
- void operator() (T1 const&, T2 const&) const BOOST_NOEXCEPT {}
- template< typename T1, typename T2, typename T3 >
- void operator() (T1 const&, T2 const&, T3 const&) const BOOST_NOEXCEPT {}
-#endif
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_NOP_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/functional/save_result.hpp b/contrib/restricted/boost/boost/log/utility/functional/save_result.hpp
deleted file mode 100644
index 6c1c23a2d3..0000000000
--- a/contrib/restricted/boost/boost/log/utility/functional/save_result.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file save_result.hpp
- * \author Andrey Semashev
- * \date 19.01.2013
- *
- * This header contains function object adapter that saves the result of the adopted function to an external variable.
- */
-
-#ifndef BOOST_LOG_UTILITY_FUNCTIONAL_SAVE_RESULT_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_FUNCTIONAL_SAVE_RESULT_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! Function object wrapper for saving the adopted function object result
-template< typename FunT, typename AssigneeT >
-struct save_result_wrapper
-{
- typedef void result_type;
-
- save_result_wrapper(FunT fun, AssigneeT& assignee) : m_fun(fun), m_assignee(assignee) {}
-
- template< typename ArgT >
- result_type operator() (ArgT const& arg) const
- {
- m_assignee = m_fun(arg);
- }
-
-private:
- FunT m_fun;
- AssigneeT& m_assignee;
-};
-
-template< typename FunT, typename AssigneeT >
-BOOST_FORCEINLINE save_result_wrapper< FunT, AssigneeT > save_result(FunT const& fun, AssigneeT& assignee)
-{
- return save_result_wrapper< FunT, AssigneeT >(fun, assignee);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_FUNCTIONAL_SAVE_RESULT_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/ipc/object_name.hpp b/contrib/restricted/boost/boost/log/utility/ipc/object_name.hpp
deleted file mode 100644
index 582ecdcbf3..0000000000
--- a/contrib/restricted/boost/boost/log/utility/ipc/object_name.hpp
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file utility/ipc/object_name.hpp
- * \author Andrey Semashev
- * \date 05.03.2016
- *
- * The header contains declaration of a system object name wrapper.
- */
-
-#ifndef BOOST_LOG_UTILITY_IPC_OBJECT_NAME_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_IPC_OBJECT_NAME_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <cstddef>
-#include <iosfwd>
-#include <string>
-#include <boost/move/core.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace ipc {
-
-/*!
- * \brief A system object name class
- *
- * In order to identify a system-wide object such as a shared memory segment or a named synchronization primitive the object has to be given a name.
- * The format of the name is specific to the operating system and the \c object_name class provides an abstraction for names of objects. It also
- * provides means for scoping, which allows to avoid name clashes between different processes.
- *
- * The object name is a UTF-8 encoded string. The portable object name should consist of the following characters:
- *
- * <pre>
- * A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- * a b c d e f g h i j k l m n o p q r s t u v w x y z
- * 0 1 2 3 4 5 6 7 8 9 . _ -
- * </pre>
- *
- * \note The character set corresponds to the POSIX Portable Filename Character Set (http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_278).
- *
- * Use of other characters may result in non-portable system-specific behavior.
- *
- * The name can have one of the following scopes:
- *
- * \li \c global - objects within this scope are visible to any process on the system. In order to use this scope the process may need to have
- * extended privileges. This scope is not available for Windows Store applications.
- * \li \c user - objects within this scope can be opened by processes running under the same user as the current process.
- * \li \c session - objects within this scope are visible to processes within the session of the current process. The definition of a session may vary between
- * operating systems. On POSIX, a session is typically a group of processes attached to a single virtual terminal device. On Windows a session is
- * started when a user logs into the system. There is also a separate session for Windows services.
- * \li \c process_group - objects within this scope are visible to processes within the process group of the current process. Currently, on Windows all processes
- * running in the current session are considered members of the same process group. This may change in future.
- *
- * The scopes are not overlapping. For instance, if an object is created in the global scope, the object cannot be opened with the same name but in user's scope.
- *
- * Note that name scoping is not a security feature. On some systems any process on the system has technical capability to open objects within any scope.
- * The scope is only used to help avoid name clashes between processes using \c object_name to identify objects.
- */
-class object_name
-{
-public:
- //! Name scopes
- enum scope
- {
- global, //!< The name has global scope; any process in the system has the potential to open the resource identified by the name
- user, //!< The name is limited to processes running under the current user
- session, //!< The name is limited to processes running in the current login session
- process_group //!< The name is limited to processes running in the current process group
- };
-
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
-
- BOOST_COPYABLE_AND_MOVABLE(object_name)
-
-private:
- std::string m_name;
-
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-
-public:
- /*!
- * Default constructor. The method creates an empty object name.
- *
- * \post <tt>empty() == true</tt>
- */
- object_name() BOOST_NOEXCEPT
- {
- }
-
- /*!
- * Move constructor.
- */
- object_name(BOOST_RV_REF(object_name) that) BOOST_NOEXCEPT
- {
- m_name.swap(that.m_name);
- }
-
- /*!
- * Copy constructor.
- */
- object_name(object_name const& that) : m_name(that.m_name)
- {
- }
-
- /*!
- * Constructor from the native string.
- *
- * \param str The object name string, must not be \c NULL. The string format is specific to the operating system.
- */
- static object_name from_native(const char* str)
- {
- object_name name;
- name.m_name = str;
- return name;
- }
-
- /*!
- * Constructor from the native string.
- *
- * \param str The object name string. The string format is specific to the operating system.
- */
- static object_name from_native(std::string const& str)
- {
- object_name name;
- name.m_name = str;
- return name;
- }
-
- /*!
- * Constructor from the object name
- * \param ns The scope of the object name
- * \param str The object name, must not be NULL.
- */
- BOOST_LOG_API object_name(scope ns, const char* str);
-
- /*!
- * Constructor from the object name
- * \param ns The scope of the object name
- * \param str The object name
- */
- BOOST_LOG_API object_name(scope ns, std::string const& str);
-
- /*!
- * Move assignment
- */
- object_name& operator= (BOOST_RV_REF(object_name) that) BOOST_NOEXCEPT
- {
- m_name.clear();
- m_name.swap(that.m_name);
- return *this;
- }
-
- /*!
- * Copy assignment
- */
- object_name& operator= (BOOST_COPY_ASSIGN_REF(object_name) that)
- {
- m_name = that.m_name;
- return *this;
- }
-
- /*!
- * Returns \c true if the object name is empty
- */
- bool empty() const BOOST_NOEXCEPT { return m_name.empty(); }
-
- /*!
- * Returns length of the name, in bytes
- */
- std::size_t size() const BOOST_NOEXCEPT { return m_name.size(); }
-
- /*!
- * Returns the name string
- */
- const char* c_str() const BOOST_NOEXCEPT { return m_name.c_str(); }
-
- /*!
- * Swaps the object name with another object name
- */
- void swap(object_name& that) BOOST_NOEXCEPT { m_name.swap(that.m_name); }
-
- /*!
- * Swaps two object names
- */
- friend void swap(object_name& left, object_name& right) BOOST_NOEXCEPT
- {
- left.swap(right);
- }
-
- /*!
- * Returns string representation of the object name
- */
- friend std::string to_string(object_name const& name)
- {
- return name.m_name;
- }
-
- /*!
- * Equality operator
- */
- friend bool operator== (object_name const& left, object_name const& right) BOOST_NOEXCEPT
- {
- return left.m_name == right.m_name;
- }
- /*!
- * Inequality operator
- */
- friend bool operator!= (object_name const& left, object_name const& right) BOOST_NOEXCEPT
- {
- return left.m_name != right.m_name;
- }
- /*!
- * Less operator
- */
- friend bool operator< (object_name const& left, object_name const& right) BOOST_NOEXCEPT
- {
- return left.m_name < right.m_name;
- }
- /*!
- * Greater operator
- */
- friend bool operator> (object_name const& left, object_name const& right) BOOST_NOEXCEPT
- {
- return left.m_name > right.m_name;
- }
- /*!
- * Less or equal operator
- */
- friend bool operator<= (object_name const& left, object_name const& right) BOOST_NOEXCEPT
- {
- return left.m_name <= right.m_name;
- }
- /*!
- * Greater or equal operator
- */
- friend bool operator>= (object_name const& left, object_name const& right) BOOST_NOEXCEPT
- {
- return left.m_name >= right.m_name;
- }
-
- /*!
- * Stream ouput operator
- */
- template< typename CharT, typename TraitsT >
- friend std::basic_ostream< CharT, TraitsT >& operator<< (std::basic_ostream< CharT, TraitsT >& strm, object_name const& name)
- {
- strm << name.c_str();
- return strm;
- }
-};
-
-} // namespace ipc
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_IPC_OBJECT_NAME_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/ipc/reliable_message_queue.hpp b/contrib/restricted/boost/boost/log/utility/ipc/reliable_message_queue.hpp
deleted file mode 100644
index 5159d72ef6..0000000000
--- a/contrib/restricted/boost/boost/log/utility/ipc/reliable_message_queue.hpp
+++ /dev/null
@@ -1,776 +0,0 @@
-/*
- * Copyright Lingxi Li 2015.
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file utility/ipc/reliable_message_queue.hpp
- * \author Lingxi Li
- * \author Andrey Semashev
- * \date 01.01.2016
- *
- * The header contains declaration of a reliable interprocess message queue.
- */
-
-#ifndef BOOST_LOG_UTILITY_IPC_RELIABLE_MESSAGE_QUEUE_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_IPC_RELIABLE_MESSAGE_QUEUE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <cstddef>
-#include <boost/cstdint.hpp>
-#include <boost/move/core.hpp>
-#include <boost/log/keywords/open_mode.hpp>
-#include <boost/log/keywords/name.hpp>
-#include <boost/log/keywords/capacity.hpp>
-#include <boost/log/keywords/block_size.hpp>
-#include <boost/log/keywords/overflow_policy.hpp>
-#include <boost/log/keywords/permissions.hpp>
-#include <boost/log/utility/open_mode.hpp>
-#include <boost/log/utility/permissions.hpp>
-#include <boost/log/utility/ipc/object_name.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace ipc {
-
-namespace aux {
-
-template< typename T, typename R >
-struct enable_if_byte {};
-template< typename R >
-struct enable_if_byte< char, R > { typedef R type; };
-template< typename R >
-struct enable_if_byte< signed char, R > { typedef R type; };
-template< typename R >
-struct enable_if_byte< unsigned char, R > { typedef R type; };
-
-} // namespace aux
-
-/*!
- * \brief A reliable interprocess message queue
- *
- * The queue implements a reliable one-way channel of passing messages from one or multiple writers to a single reader.
- * The format of the messages is user-defined and must be consistent across all writers and the reader. The queue does
- * not enforce any specific format of the messages, other than they should be supplied as a contiguous array of bytes.
- *
- * The queue internally uses a process-shared storage identified by an \c object_name (the queue name). Refer to \c object_name
- * documentation for details on restrictions imposed on object names.
- *
- * The queue storage is organized as a fixed number of blocks of a fixed size. The block size must be an integer power of 2 and
- * is expressed in bytes. Each written message, together with some metadata added by the queue, consumes an integer number
- * of blocks. Each read message received by the reader releases the blocks allocated for that message. As such the maximum size
- * of a message is slightly less than block size times capacity of the queue. For efficiency, it is recommended to choose
- * block size large enough to accommodate most of the messages to be passed through the queue.
- *
- * The queue is considered empty when no messages are enqueued (all blocks are free). The queue is considered full at the point
- * of enqueueing a message when there is not enough free blocks to accommodate the message.
- *
- * The queue is reliable in that it will not drop successfully sent messages that are not received by the reader, other than the
- * case when a non-empty queue is destroyed by the last user. If a message cannot be enqueued by the writer because the queue is
- * full, the queue can either block the writer or return an error or throw an exception, depending on the policy specified at
- * the queue creation. The policy is object local, i.e. different writers and the reader can have different overflow policies.
- *
- * If the queue is empty and the reader attempts to dequeue a message, it will block until a message is enqueued by a writer.
- *
- * A blocked reader or writer can be unblocked by calling \c stop_local. After this method is called, all threads blocked on
- * this particular object are released and return \c operation_result::aborted. The other instances of the queue (in the current
- * or other processes) are unaffected. In order to restore the normal functioning of the queue instance after the \c stop_local
- * call the user has to invoke \c reset_local.
- *
- * The queue does not guarantee any particular order of received messages from different writer threads. Messages sent by a
- * particular writer thread will be received in the order of sending.
- *
- * Methods of this class are not thread-safe, unless otherwise specified.
- */
-class reliable_message_queue
-{
-public:
- //! Result codes for various operations on the queue
- enum operation_result
- {
- succeeded, //!< The operation has completed successfully
- no_space, //!< The message could not be sent because the queue is full
- aborted //!< The operation has been aborted because the queue method <tt>stop_local()</tt> has been called
- };
-
- //! Interprocess queue overflow policies
- enum overflow_policy
- {
- //! Block the send operation when the queue is full
- block_on_overflow,
- //! Return \c operation_result::no_space when the queue is full
- fail_on_overflow,
- //! Throw \c capacity_limit_reached exception when the queue is full
- throw_on_overflow
- };
-
- //! Queue message size type
- typedef uint32_t size_type;
-
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
-
- BOOST_MOVABLE_BUT_NOT_COPYABLE(reliable_message_queue)
-
-private:
- typedef void (*receive_handler)(void* state, const void* data, size_type size);
-
- struct fixed_buffer_state
- {
- uint8_t* data;
- size_type size;
- };
-
- struct implementation;
- implementation* m_impl;
-
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-
-public:
- /*!
- * Default constructor. The method constructs an object that is not associated with any
- * message queue.
- *
- * \post <tt>is_open() == false</tt>
- */
- BOOST_CONSTEXPR reliable_message_queue() BOOST_NOEXCEPT : m_impl(NULL)
- {
- }
-
- /*!
- * Constructor. The method is used to construct an object and create the associated
- * message queue. The constructed object will be in running state if the message queue is
- * successfully created.
- *
- * \post <tt>is_open() == true</tt>
- *
- * \param name Name of the message queue to be associated with.
- * \param capacity Maximum number of allocation blocks the queue can hold.
- * \param block_size Size in bytes of allocation block. Must be a power of 2.
- * \param oflow_policy Queue behavior policy in case of overflow.
- * \param perms Access permissions for the associated message queue.
- */
- reliable_message_queue
- (
- open_mode::create_only_tag,
- object_name const& name,
- uint32_t capacity,
- size_type block_size,
- overflow_policy oflow_policy = block_on_overflow,
- permissions const& perms = permissions()
- ) :
- m_impl(NULL)
- {
- this->create(name, capacity, block_size, oflow_policy, perms);
- }
-
- /*!
- * Constructor. The method is used to construct an object and create or open the associated
- * message queue. The constructed object will be in running state if the message queue is
- * successfully created or opened. If the message queue that is identified by the name already
- * exists then the other queue parameters are ignored. The actual queue parameters can be obtained
- * with accessors from the constructed object.
- *
- * \post <tt>is_open() == true</tt>
- *
- * \param name Name of the message queue to be associated with.
- * \param capacity Maximum number of allocation blocks the queue can hold.
- * \param block_size Size in bytes of allocation block. Must be a power of 2.
- * \param oflow_policy Queue behavior policy in case of overflow.
- * \param perms Access permissions for the associated message queue.
- */
- reliable_message_queue
- (
- open_mode::open_or_create_tag,
- object_name const& name,
- uint32_t capacity,
- size_type block_size,
- overflow_policy oflow_policy = block_on_overflow,
- permissions const& perms = permissions()
- ) :
- m_impl(NULL)
- {
- this->open_or_create(name, capacity, block_size, oflow_policy, perms);
- }
-
- /*!
- * Constructor. The method is used to construct an object and open the existing
- * message queue. The constructed object will be in running state if the message queue is
- * successfully opened.
- *
- * \post <tt>is_open() == true</tt>
- *
- * \param name Name of the message queue to be associated with.
- * \param oflow_policy Queue behavior policy in case of overflow.
- * \param perms Access permissions for the associated message queue. The permissions will only be used
- * if the queue implementation has to create system objects while operating.
- * This parameter is currently not used on POSIX systems.
- */
- reliable_message_queue
- (
- open_mode::open_only_tag,
- object_name const& name,
- overflow_policy oflow_policy = block_on_overflow,
- permissions const& perms = permissions()
- ) :
- m_impl(NULL)
- {
- this->open(name, oflow_policy, perms);
- }
-
- /*!
- * Constructor with named parameters. The method is used to construct an object and create or open
- * the associated message queue. The constructed object will be in running state if the message queue is
- * successfully created.
- *
- * The following named parameters are accepted:
- *
- * * open_mode - One of the open mode tags: \c open_mode::create_only, \c open_mode::open_only or
- * \c open_mode::open_or_create.
- * * name - Name of the message queue to be associated with.
- * * capacity - Maximum number of allocation blocks the queue can hold. Used only if the queue is created.
- * * block_size - Size in bytes of allocation block. Must be a power of 2. Used only if the queue is created.
- * * overflow_policy - Queue behavior policy in case of overflow, see \c overflow_policy.
- * * permissions - Access permissions for the associated message queue.
- *
- * \post <tt>is_open() == true</tt>
- */
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
- BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_CALL(reliable_message_queue, construct)
-#else
- template< typename... Args >
- explicit reliable_message_queue(Args const&... args);
-#endif
-
- /*!
- * Destructor. Calls <tt>close()</tt>.
- */
- ~reliable_message_queue() BOOST_NOEXCEPT
- {
- this->close();
- }
-
- /*!
- * Move constructor. The method move-constructs an object from \c other. After
- * the call, the constructed object becomes \c other, while \c other is left in
- * default constructed state.
- *
- * \param that The object to be moved.
- */
- reliable_message_queue(BOOST_RV_REF(reliable_message_queue) that) BOOST_NOEXCEPT :
- m_impl(that.m_impl)
- {
- that.m_impl = NULL;
- }
-
- /*!
- * Move assignment operator. If the object is associated with a message queue,
- * <tt>close()</tt> is first called and the precondition to calling <tt>close()</tt>
- * applies. After the call, the object becomes \a that while \a that is left
- * in default constructed state.
- *
- * \param that The object to be moved.
- *
- * \return A reference to the assigned object.
- */
- reliable_message_queue& operator= (BOOST_RV_REF(reliable_message_queue) that) BOOST_NOEXCEPT
- {
- reliable_message_queue other(static_cast< BOOST_RV_REF(reliable_message_queue) >(that));
- this->swap(other);
- return *this;
- }
-
- /*!
- * The method swaps the object with \a that.
- *
- * \param that The other object to swap with.
- */
- void swap(reliable_message_queue& that) BOOST_NOEXCEPT
- {
- implementation* p = m_impl;
- m_impl = that.m_impl;
- that.m_impl = p;
- }
-
- //! Swaps the two \c reliable_message_queue objects.
- friend void swap(reliable_message_queue& a, reliable_message_queue& b) BOOST_NOEXCEPT
- {
- a.swap(b);
- }
-
- /*!
- * The method creates the message queue to be associated with the object. After the call,
- * the object will be in running state if a message queue is successfully created.
- *
- * \pre <tt>is_open() == false</tt>
- * \post <tt>is_open() == true</tt>
- *
- * \param name Name of the message queue to be associated with.
- * \param capacity Maximum number of allocation blocks the queue can hold.
- * \param block_size Size in bytes of allocation block. Must be a power of 2.
- * \param oflow_policy Queue behavior policy in case of overflow.
- * \param perms Access permissions for the associated message queue.
- */
- BOOST_LOG_API void create
- (
- object_name const& name,
- uint32_t capacity,
- size_type block_size,
- overflow_policy oflow_policy = block_on_overflow,
- permissions const& perms = permissions()
- );
-
- /*!
- * The method creates or opens the message queue to be associated with the object.
- * After the call, the object will be in running state if a message queue is successfully
- * created or opened. If the message queue that is identified by the name already exists then
- * the other queue parameters are ignored. The actual queue parameters can be obtained
- * with accessors from this object after this method returns.
- *
- * \pre <tt>is_open() == false</tt>
- * \post <tt>is_open() == true</tt>
- *
- * \param name Name of the message queue to be associated with.
- * \param capacity Maximum number of allocation blocks the queue can hold.
- * \param block_size Size in bytes of allocation block. Must be a power of 2.
- * \param oflow_policy Queue behavior policy in case of overflow.
- * \param perms Access permissions for the associated message queue.
- */
- BOOST_LOG_API void open_or_create
- (
- object_name const& name,
- uint32_t capacity,
- size_type block_size,
- overflow_policy oflow_policy = block_on_overflow,
- permissions const& perms = permissions()
- );
-
- /*!
- * The method opens the existing message queue to be associated with the object.
- * After the call, the object will be in running state if a message queue is successfully
- * opened.
- *
- * \pre <tt>is_open() == false</tt>
- * \post <tt>is_open() == true</tt>
- *
- * \param name Name of the message queue to be associated with.
- * \param oflow_policy Queue behavior policy in case of overflow.
- * \param perms Access permissions for the associated message queue. The permissions will only be used
- * if the queue implementation has to create system objects while operating.
- * This parameter is currently not used on POSIX systems.
- */
- BOOST_LOG_API void open
- (
- object_name const& name,
- overflow_policy oflow_policy = block_on_overflow,
- permissions const& perms = permissions()
- );
-
- /*!
- * Tests whether the object is associated with any message queue.
- *
- * \return \c true if the object is associated with a message queue, and \c false otherwise.
- */
- bool is_open() const BOOST_NOEXCEPT
- {
- return m_impl != NULL;
- }
-
- /*!
- * This method empties the associated message queue. Concurrent calls to this method, <tt>send()</tt>,
- * <tt>try_send()</tt>, <tt>receive()</tt>, <tt>try_receive()</tt>, and <tt>stop_local()</tt> are allowed.
- *
- * \pre <tt>is_open() == true</tt>
- */
- BOOST_LOG_API void clear();
-
- /*!
- * The method returns the name of the associated message queue.
- *
- * \pre <tt>is_open() == true</tt>
- *
- * \return Name of the associated message queue
- */
- BOOST_LOG_API object_name const& name() const;
-
- /*!
- * The method returns the maximum number of allocation blocks the associated message queue
- * can hold. Note that the returned value may be different from the corresponding
- * value passed to the constructor or <tt>open_or_create()</tt>, for the message queue may
- * not have been created by this object.
- *
- * \pre <tt>is_open() == true</tt>
- *
- * \return Maximum number of allocation blocks the associated message queue can hold.
- */
- BOOST_LOG_API uint32_t capacity() const;
-
- /*!
- * The method returns the allocation block size, in bytes. Each message in the
- * associated message queue consumes an integer number of allocation blocks.
- * Note that the returned value may be different from the corresponding value passed
- * to the constructor or <tt>open_or_create()</tt>, for the message queue may not
- * have been created by this object.
- *
- * \pre <tt>is_open() == true</tt>
- *
- * \return Allocation block size, in bytes.
- */
- BOOST_LOG_API size_type block_size() const;
-
- /*!
- * The method wakes up all threads that are blocked in calls to <tt>send()</tt> or
- * <tt>receive()</tt>. Those calls would then return <tt>operation_result::aborted</tt>.
- * Note that, the method does not block until the woken-up threads have actually
- * returned from <tt>send()</tt> or <tt>receive()</tt>. Other means is needed to ensure
- * that calls to <tt>send()</tt> or <tt>receive()</tt> have returned, e.g., joining the
- * threads that might be blocking on the calls.
- *
- * The method also puts the object in stopped state. When in stopped state, calls to
- * <tt>send()</tt> or <tt>receive()</tt> will return immediately with return value
- * <tt>operation_result::aborted</tt> when they would otherwise block in running state.
- *
- * Concurrent calls to this method, <tt>send()</tt>, <tt>try_send()</tt>, <tt>receive()</tt>,
- * <tt>try_receive()</tt>, and <tt>clear()</tt> are allowed.
- *
- * \pre <tt>is_open() == true</tt>
- */
- BOOST_LOG_API void stop_local();
-
- /*!
- * The method puts the object in running state where calls to <tt>send()</tt> or
- * <tt>receive()</tt> may block. This method is not thread-safe.
- *
- * \pre <tt>is_open() == true</tt>
- */
- BOOST_LOG_API void reset_local();
-
- /*!
- * The method disassociates the associated message queue, if any. No other threads
- * should be using this object before calling this method. The <tt>stop_local()</tt> method
- * can be used to have any threads currently blocked in <tt>send()</tt> or
- * <tt>receive()</tt> return, and prevent further calls to them from blocking. Typically,
- * before calling this method, one would first call <tt>stop_local()</tt> and then join all
- * threads that might be blocking on <tt>send()</tt> or <tt>receive()</tt> to ensure that
- * they have returned from the calls. The associated message queue is destroyed if the
- * object represents the last outstanding reference to it.
- *
- * \post <tt>is_open() == false</tt>
- */
- void close() BOOST_NOEXCEPT
- {
- if (is_open())
- do_close();
- }
-
- /*!
- * The method sends a message to the associated message queue. When the object is in
- * running state and the queue has no free space for the message, the method either blocks
- * or throws an exception, depending on the overflow policy that was specified on the queue
- * opening/creation. If blocking policy is in effect, the blocking can be interrupted by
- * calling <tt>stop_local()</tt>, in which case the method returns \c operation_result::aborted.
- * When the object is already in the stopped state, the method does not block but returns
- * immediately with return value \c operation_result::aborted.
- *
- * It is possible to send an empty message by passing \c 0 to the parameter \c message_size.
- *
- * Concurrent calls to <tt>send()</tt>, <tt>try_send()</tt>, <tt>receive()</tt>, <tt>try_receive()</tt>,
- * <tt>stop_local()</tt>, and <tt>clear()</tt> are allowed.
- *
- * \pre <tt>is_open() == true</tt>
- *
- * \param message_data The message data to send. Ignored when \c message_size is \c 0.
- * \param message_size Size of the message data in bytes. If the size is larger than
- * the associated message queue capacity, an <tt>std::logic_error</tt> exception is thrown.
- *
- * \retval operation_result::succeeded if the operation is successful
- * \retval operation_result::no_space if \c overflow_policy::fail_on_overflow is in effect and the queue is full
- * \retval operation_result::aborted if the call was interrupted by <tt>stop_local()</tt>
- *
- * <b>Throws:</b> <tt>std::logic_error</tt> in case if the message size exceeds the queue
- * capacity, <tt>system_error</tt> in case if a native OS method fails.
- */
- BOOST_LOG_API operation_result send(void const* message_data, size_type message_size);
-
- /*!
- * The method performs an attempt to send a message to the associated message queue.
- * The method is non-blocking, and always returns immediately.
- * <tt>boost::system::system_error</tt> is thrown for errors resulting from native
- * operating system calls. Note that it is possible to send an empty message by passing
- * \c 0 to the parameter \c message_size. Concurrent calls to <tt>send()</tt>,
- * <tt>try_send()</tt>, <tt>receive()</tt>, <tt>try_receive()</tt>, <tt>stop_local()</tt>,
- * and <tt>clear()</tt> are allowed.
- *
- * \pre <tt>is_open() == true</tt>
- *
- * \param message_data The message data to send. Ignored when \c message_size is \c 0.
- * \param message_size Size of the message data in bytes. If the size is larger than the
- * maximum size allowed by the associated message queue, an
- * <tt>std::logic_error</tt> exception is thrown.
- *
- * \return \c true if the message is successfully sent, and \c false otherwise (e.g.,
- * when the queue is full).
- *
- * <b>Throws:</b> <tt>std::logic_error</tt> in case if the message size exceeds the queue
- * capacity, <tt>system_error</tt> in case if a native OS method fails.
- */
- BOOST_LOG_API bool try_send(void const* message_data, size_type message_size);
-
- /*!
- * The method takes a message from the associated message queue. When the object is in
- * running state and the queue is empty, the method blocks. The blocking is interrupted
- * when <tt>stop_local()</tt> is called, in which case the method returns \c operation_result::aborted.
- * When the object is already in the stopped state and the queue is empty, the method
- * does not block but returns immediately with return value \c operation_result::aborted.
- *
- * Concurrent calls to <tt>send()</tt>, <tt>try_send()</tt>, <tt>receive()</tt>,
- * <tt>try_receive()</tt>, <tt>stop_local()</tt>, and <tt>clear()</tt> are allowed.
- *
- * \pre <tt>is_open() == true</tt>
- *
- * \param buffer The memory buffer to store the received message in.
- * \param buffer_size The size of the buffer, in bytes.
- * \param message_size Receives the size of the received message, in bytes.
- *
- * \retval operation_result::succeeded if the operation is successful
- * \retval operation_result::aborted if the call was interrupted by <tt>stop_local()</tt>
- */
- operation_result receive(void* buffer, size_type buffer_size, size_type& message_size)
- {
- fixed_buffer_state state = { static_cast< uint8_t* >(buffer), buffer_size };
- operation_result result = do_receive(&reliable_message_queue::fixed_buffer_receive_handler, &state);
- message_size = buffer_size - state.size;
- return result;
- }
-
- /*!
- * The method takes a message from the associated message queue. When the object is in
- * running state and the queue is empty, the method blocks. The blocking is interrupted
- * when <tt>stop_local()</tt> is called, in which case the method returns \c operation_result::aborted.
- * When the object is already in the stopped state and the queue is empty, the method
- * does not block but returns immediately with return value \c operation_result::aborted.
- *
- * Concurrent calls to <tt>send()</tt>, <tt>try_send()</tt>, <tt>receive()</tt>,
- * <tt>try_receive()</tt>, <tt>stop_local()</tt>, and <tt>clear()</tt> are allowed.
- *
- * \pre <tt>is_open() == true</tt>
- *
- * \param buffer The memory buffer to store the received message in.
- * \param message_size Receives the size of the received message, in bytes.
- *
- * \retval operation_result::succeeded if the operation is successful
- * \retval operation_result::aborted if the call was interrupted by <tt>stop_local()</tt>
- */
- template< typename ElementT, size_type SizeV >
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
- typename aux::enable_if_byte< ElementT, operation_result >::type
-#else
- operation_result
-#endif
- receive(ElementT (&buffer)[SizeV], size_type& message_size)
- {
- return receive(buffer, SizeV, message_size);
- }
-
- /*!
- * The method takes a message from the associated message queue. When the object is in
- * running state and the queue is empty, the method blocks. The blocking is interrupted
- * when <tt>stop_local()</tt> is called, in which case the method returns \c operation_result::aborted.
- * When the object is already in the stopped state and the queue is empty, the method
- * does not block but returns immediately with return value \c operation_result::aborted.
- *
- * Concurrent calls to <tt>send()</tt>, <tt>try_send()</tt>, <tt>receive()</tt>,
- * <tt>try_receive()</tt>, <tt>stop_local()</tt>, and <tt>clear()</tt> are allowed.
- *
- * \pre <tt>is_open() == true</tt>
- *
- * \param container The container to store the received message in. The container should have
- * value type of <tt>char</tt>, <tt>signed char</tt> or <tt>unsigned char</tt>
- * and support inserting elements at the end.
- *
- * \retval operation_result::succeeded if the operation is successful
- * \retval operation_result::aborted if the call was interrupted by <tt>stop_local()</tt>
- */
- template< typename ContainerT >
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
- typename aux::enable_if_byte< typename ContainerT::value_type, operation_result >::type
-#else
- operation_result
-#endif
- receive(ContainerT& container)
- {
- return do_receive(&reliable_message_queue::container_receive_handler< ContainerT >, &container);
- }
-
- /*!
- * The method performs an attempt to take a message from the associated message queue. The
- * method is non-blocking, and always returns immediately.
- *
- * Concurrent calls to <tt>send()</tt>, <tt>try_send()</tt>, <tt>receive()</tt>,
- * <tt>try_receive()</tt>, <tt>stop_local()</tt>, and <tt>clear()</tt> are allowed.
- *
- * \pre <tt>is_open() == true</tt>
- *
- * \param buffer The memory buffer to store the received message in.
- * \param buffer_size The size of the buffer, in bytes.
- * \param message_size Receives the size of the received message, in bytes.
- *
- * \return \c true if a message is successfully received, and \c false otherwise (e.g.,
- * when the queue is empty).
- */
- bool try_receive(void* buffer, size_type buffer_size, size_type& message_size)
- {
- fixed_buffer_state state = { static_cast< uint8_t* >(buffer), buffer_size };
- bool result = do_try_receive(&reliable_message_queue::fixed_buffer_receive_handler, &state);
- message_size = buffer_size - state.size;
- return result;
- }
-
- /*!
- * The method performs an attempt to take a message from the associated message queue. The
- * method is non-blocking, and always returns immediately.
- *
- * Concurrent calls to <tt>send()</tt>, <tt>try_send()</tt>, <tt>receive()</tt>,
- * <tt>try_receive()</tt>, <tt>stop_local()</tt>, and <tt>clear()</tt> are allowed.
- *
- * \pre <tt>is_open() == true</tt>
- *
- * \param buffer The memory buffer to store the received message in.
- * \param message_size Receives the size of the received message, in bytes.
- *
- * \return \c true if a message is successfully received, and \c false otherwise (e.g.,
- * when the queue is empty).
- */
- template< typename ElementT, size_type SizeV >
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
- typename aux::enable_if_byte< ElementT, bool >::type
-#else
- bool
-#endif
- try_receive(ElementT (&buffer)[SizeV], size_type& message_size)
- {
- return try_receive(buffer, SizeV, message_size);
- }
-
- /*!
- * The method performs an attempt to take a message from the associated message queue. The
- * method is non-blocking, and always returns immediately.
- *
- * Concurrent calls to <tt>send()</tt>, <tt>try_send()</tt>, <tt>receive()</tt>,
- * <tt>try_receive()</tt>, <tt>stop_local()</tt>, and <tt>clear()</tt> are allowed.
- *
- * \pre <tt>is_open() == true</tt>
- *
- * \param container The container to store the received message in. The container should have
- * value type of <tt>char</tt>, <tt>signed char</tt> or <tt>unsigned char</tt>
- * and support inserting elements at the end.
- *
- * \return \c true if a message is successfully received, and \c false otherwise (e.g.,
- * when the queue is empty).
- */
- template< typename ContainerT >
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
- typename aux::enable_if_byte< typename ContainerT::value_type, bool >::type
-#else
- bool
-#endif
- try_receive(ContainerT& container)
- {
- return do_try_receive(&reliable_message_queue::container_receive_handler< ContainerT >, &container);
- }
-
- /*!
- * The method frees system-wide resources, associated with the interprocess queue with the supplied name.
- * The queue referred to by the specified name must not be opened in any process at the point of this call.
- * After this call succeeds a new queue with the specified name can be created.
- *
- * This call can be useful to recover from an earlier process misbehavior (e.g. a crash without properly
- * closing the message queue). In this case resources allocated for the interprocess queue may remain
- * allocated after the last process closed the queue, which in turn may prevent creating a new queue with
- * the same name. By calling this method before creating a queue the application can attempt to ensure
- * it starts with a clean slate.
- *
- * On some platforms resources associated with the queue are automatically reclaimed by the operating system
- * when the last process using those resources terminates (even if it terminates abnormally). On these
- * platforms this call may be a no-op. However, portable code should still call this method at appropriate
- * places to ensure compatibility with other platforms and future library versions, which may change implementation
- * of the queue.
- *
- * \param name Name of the message queue to be removed.
- */
- static BOOST_LOG_API void remove(object_name const& name);
-
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
-private:
- //! Implementation of the constructor with named arguments
- template< typename ArgsT >
- void construct(ArgsT const& args)
- {
- m_impl = NULL;
- construct_dispatch(args[keywords::open_mode], args);
- }
-
- //! Implementation of the constructor with named arguments
- template< typename ArgsT >
- void construct_dispatch(open_mode::create_only_tag, ArgsT const& args)
- {
- this->create(args[keywords::name], args[keywords::capacity], args[keywords::block_size], args[keywords::overflow_policy | block_on_overflow], args[keywords::permissions | permissions()]);
- }
-
- //! Implementation of the constructor with named arguments
- template< typename ArgsT >
- void construct_dispatch(open_mode::open_or_create_tag, ArgsT const& args)
- {
- this->open_or_create(args[keywords::name], args[keywords::capacity], args[keywords::block_size], args[keywords::overflow_policy | block_on_overflow], args[keywords::permissions | permissions()]);
- }
-
- //! Implementation of the constructor with named arguments
- template< typename ArgsT >
- void construct_dispatch(open_mode::open_only_tag, ArgsT const& args)
- {
- this->open(args[keywords::name], args[keywords::overflow_policy | block_on_overflow], args[keywords::permissions | permissions()]);
- }
-
- //! Closes the message queue, if it's open
- BOOST_LOG_API void do_close() BOOST_NOEXCEPT;
-
- //! Receives the message from the queue and calls the handler to place the data in the user's storage
- BOOST_LOG_API operation_result do_receive(receive_handler handler, void* state);
- //! Attempts to receives the message from the queue and calls the handler to place the data in the user's storage
- BOOST_LOG_API bool do_try_receive(receive_handler handler, void* state);
-
- //! Fixed buffer receive handler
- static BOOST_LOG_API void fixed_buffer_receive_handler(void* state, const void* data, size_type size);
- //! Receive handler for a container
- template< typename ContainerT >
- static void container_receive_handler(void* state, const void* data, size_type size)
- {
- ContainerT* const container = static_cast< ContainerT* >(state);
- container->insert
- (
- container->end(),
- static_cast< typename ContainerT::value_type const* >(data),
- static_cast< typename ContainerT::value_type const* >(data) + size
- );
- }
-#endif
-};
-
-} // namespace ipc
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_IPC_RELIABLE_MESSAGE_QUEUE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/manipulators.hpp b/contrib/restricted/boost/boost/log/utility/manipulators.hpp
deleted file mode 100644
index cb39fd2416..0000000000
--- a/contrib/restricted/boost/boost/log/utility/manipulators.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file manipulators.hpp
- * \author Andrey Semashev
- * \date 06.11.2012
- *
- * This header includes all manipulators.
- */
-
-#ifndef BOOST_LOG_UTILITY_MANIPULATORS_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_MANIPULATORS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#include <boost/log/utility/manipulators/add_value.hpp>
-#include <boost/log/utility/manipulators/to_log.hpp>
-#include <boost/log/utility/manipulators/dump.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_LOG_UTILITY_MANIPULATORS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/manipulators/add_value.hpp b/contrib/restricted/boost/boost/log/utility/manipulators/add_value.hpp
deleted file mode 100644
index 270cedf65e..0000000000
--- a/contrib/restricted/boost/boost/log/utility/manipulators/add_value.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file add_value.hpp
- * \author Andrey Semashev
- * \date 26.11.2012
- *
- * This header contains the \c add_value manipulator.
- */
-
-#ifndef BOOST_LOG_UTILITY_MANIPULATORS_ADD_VALUE_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_MANIPULATORS_ADD_VALUE_HPP_INCLUDED_
-
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_scalar.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/embedded_string_type.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute_value_impl.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/sources/record_ostream.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifdef _MSC_VER
-#pragma warning(push)
-// 'boost::log::v2s_mt_nt6::add_value_manip<RefT>::m_value' : reference member is initialized to a temporary that doesn't persist after the constructor exits
-// This is intentional since the manipulator can be used with a temporary, which will be used before the streaming expression ends and it is destroyed.
-#pragma warning(disable: 4413)
-// returning address of local variable or temporary
-// This warning refers to add_value_manip<RefT>::get_value() when RefT is an rvalue reference. We store the reference in the manipulator and we intend to return it as is.
-#pragma warning(disable: 4172)
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! Attribute value manipulator
-template< typename RefT >
-class add_value_manip
-{
-public:
- //! Stored reference type
- typedef RefT reference_type;
- //! Attribute value type
- typedef typename remove_cv< typename remove_reference< reference_type >::type >::type value_type;
-
-private:
- // The stored reference type is an lvalue reference since apparently different compilers (GCC and MSVC) have different quirks when rvalue references are stored as members.
- // Additionally, MSVC (at least 11.0) has a bug which causes a dangling reference to be stored in the manipulator, if a scalar rvalue is passed to the add_value generator.
- // To work around this problem we save the value inside the manipulator in this case.
- typedef typename remove_reference< reference_type >::type& lvalue_reference_type;
-
- typedef typename mpl::if_<
- is_scalar< value_type >,
- value_type,
- lvalue_reference_type
- >::type stored_type;
-
- typedef typename mpl::if_<
- is_scalar< value_type >,
- value_type,
- reference_type
- >::type get_value_result_type;
-
-private:
- //! Attribute value
- stored_type m_value;
- //! Attribute name
- attribute_name m_name;
-
-public:
- //! Initializing constructor
- add_value_manip(attribute_name const& name, reference_type value) : m_value(static_cast< lvalue_reference_type >(value)), m_name(name)
- {
- }
-
- //! Returns attribute name
- attribute_name get_name() const { return m_name; }
- //! Returns attribute value
- get_value_result_type get_value() const { return static_cast< get_value_result_type >(m_value); }
-};
-
-//! The operator attaches an attribute value to the log record
-template< typename CharT, typename RefT >
-inline basic_record_ostream< CharT >& operator<< (basic_record_ostream< CharT >& strm, add_value_manip< RefT > const& manip)
-{
- typedef typename aux::make_embedded_string_type< typename add_value_manip< RefT >::value_type >::type value_type;
- attribute_value value(new attributes::attribute_value_impl< value_type >(manip.get_value()));
- strm.get_record().attribute_values().insert(manip.get_name(), value);
- return strm;
-}
-
-//! The function creates a manipulator that attaches an attribute value to a log record
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-template< typename T >
-inline add_value_manip< T&& > add_value(attribute_name const& name, T&& value)
-{
- return add_value_manip< T&& >(name, static_cast< T&& >(value));
-}
-
-//! \overload
-template< typename DescriptorT, template< typename > class ActorT >
-inline add_value_manip< typename DescriptorT::value_type&& >
-add_value(expressions::attribute_keyword< DescriptorT, ActorT > const&, typename DescriptorT::value_type&& value)
-{
- typedef typename DescriptorT::value_type value_type;
- return add_value_manip< value_type&& >(DescriptorT::get_name(), static_cast< value_type&& >(value));
-}
-
-//! \overload
-template< typename DescriptorT, template< typename > class ActorT >
-inline add_value_manip< typename DescriptorT::value_type& >
-add_value(expressions::attribute_keyword< DescriptorT, ActorT > const&, typename DescriptorT::value_type& value)
-{
- return add_value_manip< typename DescriptorT::value_type& >(DescriptorT::get_name(), value);
-}
-
-//! \overload
-template< typename DescriptorT, template< typename > class ActorT >
-inline add_value_manip< typename DescriptorT::value_type const& >
-add_value(expressions::attribute_keyword< DescriptorT, ActorT > const&, typename DescriptorT::value_type const& value)
-{
- return add_value_manip< typename DescriptorT::value_type const& >(DescriptorT::get_name(), value);
-}
-
-#else // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-template< typename T >
-inline add_value_manip< T const& > add_value(attribute_name const& name, T const& value)
-{
- return add_value_manip< T const& >(name, value);
-}
-
-template< typename DescriptorT, template< typename > class ActorT >
-inline add_value_manip< typename DescriptorT::value_type const& >
-add_value(expressions::attribute_keyword< DescriptorT, ActorT > const&, typename DescriptorT::value_type const& value)
-{
- return add_value_manip< typename DescriptorT::value_type const& >(DescriptorT::get_name(), value);
-}
-
-#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_MANIPULATORS_ADD_VALUE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/manipulators/dump.hpp b/contrib/restricted/boost/boost/log/utility/manipulators/dump.hpp
deleted file mode 100644
index 3341376f39..0000000000
--- a/contrib/restricted/boost/boost/log/utility/manipulators/dump.hpp
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file dump.hpp
- * \author Andrey Semashev
- * \date 03.05.2013
- *
- * This header contains the \c dump output manipulator.
- */
-
-#ifndef BOOST_LOG_UTILITY_MANIPULATORS_DUMP_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_MANIPULATORS_DUMP_HPP_INCLUDED_
-
-#include <cstddef>
-#include <iosfwd>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-typedef void dump_data_char_t(const void* data, std::size_t size, std::basic_ostream< char >& strm);
-extern BOOST_LOG_API dump_data_char_t* dump_data_char;
-BOOST_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< char >& strm)
-{
- (dump_data_char)(data, size, strm);
-}
-
-typedef void dump_data_wchar_t(const void* data, std::size_t size, std::basic_ostream< wchar_t >& strm);
-extern BOOST_LOG_API dump_data_wchar_t* dump_data_wchar;
-BOOST_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< wchar_t >& strm)
-{
- (dump_data_wchar)(data, size, strm);
-}
-
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
-typedef void dump_data_char16_t(const void* data, std::size_t size, std::basic_ostream< char16_t >& strm);
-extern BOOST_LOG_API dump_data_char16_t* dump_data_char16;
-BOOST_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< char16_t >& strm)
-{
- (dump_data_char16)(data, size, strm);
-}
-#endif
-
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
-typedef void dump_data_char32_t(const void* data, std::size_t size, std::basic_ostream< char32_t >& strm);
-extern BOOST_LOG_API dump_data_char32_t* dump_data_char32;
-BOOST_FORCEINLINE void dump_data(const void* data, std::size_t size, std::basic_ostream< char32_t >& strm)
-{
- (dump_data_char32)(data, size, strm);
-}
-#endif
-
-template< std::size_t SizeV, typename R >
-struct enable_dump_size_based
-{
-};
-
-template< typename R >
-struct enable_dump_size_based< 1u, R >
-{
- typedef R type;
-};
-
-template< typename T, typename R >
-struct enable_dump :
- public enable_dump_size_based< sizeof(T), R >
-{
-};
-
-template< typename R >
-struct enable_dump< void, R >
-{
- typedef R type;
-};
-
-template< typename R >
-struct enable_dump< const void, R >
-{
- typedef R type;
-};
-
-template< typename R >
-struct enable_dump< volatile void, R >
-{
- typedef R type;
-};
-
-template< typename R >
-struct enable_dump< const volatile void, R >
-{
- typedef R type;
-};
-
-} // namespace aux
-
-/*!
- * \brief Manipulator for printing binary representation of the data
- */
-class dump_manip
-{
-private:
- //! Beginning of the data
- const void* m_data;
- //! Size of the data, in bytes
- std::size_t m_size;
-
-public:
- dump_manip(const void* data, std::size_t size) BOOST_NOEXCEPT : m_data(data), m_size(size) {}
- dump_manip(dump_manip const& that) BOOST_NOEXCEPT : m_data(that.m_data), m_size(that.m_size) {}
-
- const void* get_data() const BOOST_NOEXCEPT { return m_data; }
- std::size_t get_size() const BOOST_NOEXCEPT { return m_size; }
-};
-
-//! The operator outputs binary data to a stream
-template< typename CharT, typename TraitsT >
-inline std::basic_ostream< CharT, TraitsT >& operator<< (std::basic_ostream< CharT, TraitsT >& strm, dump_manip const& manip)
-{
- if (strm.good())
- aux::dump_data(manip.get_data(), manip.get_size(), strm);
-
- return strm;
-}
-
-/*!
- * \brief Manipulator for printing binary representation of the data with a size limit
- */
-class bounded_dump_manip :
- public dump_manip
-{
-private:
- //! Maximum size to output, in bytes
- std::size_t m_max_size;
-
-public:
- bounded_dump_manip(const void* data, std::size_t size, std::size_t max_size) BOOST_NOEXCEPT : dump_manip(data, size), m_max_size(max_size) {}
- bounded_dump_manip(bounded_dump_manip const& that) BOOST_NOEXCEPT : dump_manip(static_cast< dump_manip const& >(that)), m_max_size(that.m_max_size) {}
-
- std::size_t get_max_size() const BOOST_NOEXCEPT { return m_max_size; }
-};
-
-//! The operator outputs binary data to a stream
-template< typename CharT, typename TraitsT >
-inline std::basic_ostream< CharT, TraitsT >& operator<< (std::basic_ostream< CharT, TraitsT >& strm, bounded_dump_manip const& manip)
-{
- if (strm.good())
- {
- const std::size_t size = manip.get_size(), max_size = manip.get_max_size();
- if (max_size >= size)
- {
- aux::dump_data(manip.get_data(), size, strm);
- }
- else
- {
- aux::dump_data(manip.get_data(), max_size, strm);
- strm << " and " << (size - max_size) << " bytes more";
- }
- }
-
- return strm;
-}
-
-/*!
- * \brief Creates a stream manipulator that will output contents of a memory region in hexadecimal form
- * \param data The pointer to the beginning of the region
- * \param size The size of the region, in bytes
- * \return The manipulator that is to be put to a stream
- */
-template< typename T >
-inline typename aux::enable_dump< T, dump_manip >::type dump(T* data, std::size_t size) BOOST_NOEXCEPT
-{
- return dump_manip((const void*)data, size);
-}
-
-/*!
- * \brief Creates a stream manipulator that will dump elements of an array in hexadecimal form
- * \param data The pointer to the beginning of the array
- * \param count The size of the region, in number of \c T elements
- * \return The manipulator that is to be put to a stream
- */
-template< typename T >
-inline dump_manip dump_elements(T* data, std::size_t count) BOOST_NOEXCEPT
-{
- return dump_manip((const void*)data, count * sizeof(T));
-}
-
-/*!
- * \brief Creates a stream manipulator that will output contents of a memory region in hexadecimal form
- * \param data The pointer to the beginning of the region
- * \param size The size of the region, in bytes
- * \param max_size The maximum number of bytes of the region to output
- * \return The manipulator that is to be put to a stream
- */
-template< typename T >
-inline typename aux::enable_dump< T, bounded_dump_manip >::type dump(T* data, std::size_t size, std::size_t max_size) BOOST_NOEXCEPT
-{
- return bounded_dump_manip((const void*)data, size, max_size);
-}
-
-/*!
- * \brief Creates a stream manipulator that will dump elements of an array in hexadecimal form
- * \param data The pointer to the beginning of the array
- * \param count The size of the region, in number of \c T elements
- * \param max_count The maximum number of elements to output
- * \return The manipulator that is to be put to a stream
- */
-template< typename T >
-inline bounded_dump_manip dump_elements(T* data, std::size_t count, std::size_t max_count) BOOST_NOEXCEPT
-{
- return bounded_dump_manip((const void*)data, count * sizeof(T), max_count * sizeof(T));
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_MANIPULATORS_DUMP_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/manipulators/to_log.hpp b/contrib/restricted/boost/boost/log/utility/manipulators/to_log.hpp
deleted file mode 100644
index 9186616903..0000000000
--- a/contrib/restricted/boost/boost/log/utility/manipulators/to_log.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file to_log.hpp
- * \author Andrey Semashev
- * \date 06.11.2012
- *
- * This header contains the \c to_log output manipulator.
- */
-
-#ifndef BOOST_LOG_UTILITY_MANIPULATORS_TO_LOG_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_MANIPULATORS_TO_LOG_HPP_INCLUDED_
-
-#include <iosfwd>
-#include <boost/core/enable_if.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/is_ostream.hpp>
-#include <boost/log/utility/formatting_ostream_fwd.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief Generic manipulator for customizing output to log
- */
-template< typename T, typename TagT = void >
-class to_log_manip
-{
-public:
- //! Output value type
- typedef T value_type;
- //! Value tag type
- typedef TagT tag_type;
-
-private:
- //! Reference to the value
- value_type const& m_value;
-
-public:
- explicit to_log_manip(value_type const& value) BOOST_NOEXCEPT : m_value(value) {}
- to_log_manip(to_log_manip const& that) BOOST_NOEXCEPT : m_value(that.m_value) {}
-
- value_type const& get() const BOOST_NOEXCEPT { return m_value; }
-};
-
-template< typename StreamT, typename T, typename TagT >
-inline typename enable_if_c< log::aux::is_ostream< StreamT >::value, StreamT& >::type operator<< (StreamT& strm, to_log_manip< T, TagT > manip)
-{
- strm << manip.get();
- return strm;
-}
-
-template< typename T >
-inline to_log_manip< T > to_log(T const& value) BOOST_NOEXCEPT
-{
- return to_log_manip< T >(value);
-}
-
-template< typename TagT, typename T >
-inline to_log_manip< T, TagT > to_log(T const& value) BOOST_NOEXCEPT
-{
- return to_log_manip< T, TagT >(value);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_MANIPULATORS_TO_LOG_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/once_block.hpp b/contrib/restricted/boost/boost/log/utility/once_block.hpp
deleted file mode 100644
index 40f2fff8c1..0000000000
--- a/contrib/restricted/boost/boost/log/utility/once_block.hpp
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file once_block.hpp
- * \author Andrey Semashev
- * \date 23.06.2010
- *
- * \brief The header defines classes and macros for once-blocks.
- */
-
-#ifndef BOOST_LOG_UTILITY_ONCE_BLOCK_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_ONCE_BLOCK_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/unique_identifier_name.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_NO_THREADS
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief A flag to detect if a code block has already been executed.
- *
- * This structure should be used in conjunction with the \c BOOST_LOG_ONCE_BLOCK_FLAG
- * macro. Usage example:
- *
- * <code>
- * once_block_flag flag = BOOST_LOG_ONCE_BLOCK_INIT;
- *
- * void foo()
- * {
- * BOOST_LOG_ONCE_BLOCK_FLAG(flag)
- * {
- * puts("Hello, world once!");
- * }
- * }
- * </code>
- */
-struct once_block_flag
-{
-#ifndef BOOST_LOG_DOXYGEN_PASS
- // Do not use, implementation detail
- enum
- {
- uninitialized = 0, // this must be zero, so that zero-initialized once_block_flag is equivalent to the one initialized with uninitialized
- being_initialized,
- initialized
- };
- unsigned char status;
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-/*!
- * \def BOOST_LOG_ONCE_BLOCK_INIT
- *
- * The static initializer for \c once_block_flag.
- */
-#define BOOST_LOG_ONCE_BLOCK_INIT { boost::log::once_block_flag::uninitialized }
-
-namespace aux {
-
-class once_block_sentry
-{
-private:
- once_block_flag& m_flag;
-
-public:
- explicit once_block_sentry(once_block_flag& f) BOOST_NOEXCEPT : m_flag(f)
- {
- }
-
- ~once_block_sentry() BOOST_NOEXCEPT
- {
- if (BOOST_UNLIKELY(m_flag.status != once_block_flag::initialized))
- rollback();
- }
-
- bool executed() const BOOST_NOEXCEPT
- {
- return (m_flag.status == once_block_flag::initialized || enter_once_block());
- }
-
- BOOST_LOG_API void commit() BOOST_NOEXCEPT;
-
-private:
- BOOST_LOG_API bool enter_once_block() const BOOST_NOEXCEPT;
- BOOST_LOG_API void rollback() BOOST_NOEXCEPT;
-
- // Non-copyable, non-assignable
- BOOST_DELETED_FUNCTION(once_block_sentry(once_block_sentry const&))
- BOOST_DELETED_FUNCTION(once_block_sentry& operator= (once_block_sentry const&))
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#else // BOOST_LOG_NO_THREADS
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-struct once_block_flag
-{
- bool status;
-};
-
-#define BOOST_LOG_ONCE_BLOCK_INIT { false }
-
-namespace aux {
-
-class once_block_sentry
-{
-private:
- once_block_flag& m_flag;
-
-public:
- explicit once_block_sentry(once_block_flag& f) BOOST_NOEXCEPT : m_flag(f)
- {
- }
-
- bool executed() const BOOST_NOEXCEPT
- {
- return m_flag.status;
- }
-
- void commit() BOOST_NOEXCEPT
- {
- m_flag.status = true;
- }
-
- // Non-copyable, non-assignable
- BOOST_DELETED_FUNCTION(once_block_sentry(once_block_sentry const&))
- BOOST_DELETED_FUNCTION(once_block_sentry& operator= (once_block_sentry const&))
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_NO_THREADS
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_ONCE_BLOCK_FLAG_INTERNAL(flag_var, sentry_var)\
- for (boost::log::aux::once_block_sentry sentry_var((flag_var));\
- BOOST_UNLIKELY(!sentry_var.executed()); sentry_var.commit())
-
-// NOTE: flag_var deliberately doesn't have an initializer so that it is zero-initialized at the static initialization stage
-#define BOOST_LOG_ONCE_BLOCK_INTERNAL(flag_var, sentry_var)\
- static boost::log::once_block_flag flag_var;\
- BOOST_LOG_ONCE_BLOCK_FLAG_INTERNAL(flag_var, sentry_var)
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \def BOOST_LOG_ONCE_BLOCK_FLAG(flag_var)
- *
- * Begins a code block to be executed only once, with protection against thread concurrency.
- * User has to provide the flag variable that controls whether the block has already
- * been executed.
- */
-#define BOOST_LOG_ONCE_BLOCK_FLAG(flag_var)\
- BOOST_LOG_ONCE_BLOCK_FLAG_INTERNAL(\
- flag_var,\
- BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_once_block_sentry_))
-
-/*!
- * \def BOOST_LOG_ONCE_BLOCK()
- *
- * Begins a code block to be executed only once, with protection against thread concurrency.
- */
-#define BOOST_LOG_ONCE_BLOCK()\
- BOOST_LOG_ONCE_BLOCK_INTERNAL(\
- BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_once_block_flag_),\
- BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_once_block_sentry_))
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_ONCE_BLOCK_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/open_mode.hpp b/contrib/restricted/boost/boost/log/utility/open_mode.hpp
deleted file mode 100644
index 34a3d8d1aa..0000000000
--- a/contrib/restricted/boost/boost/log/utility/open_mode.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file open_mode.hpp
- * \author Andrey Semashev
- * \date 01.01.2016
- *
- * The header defines resource opening modes.
- */
-
-#ifndef BOOST_LOG_UTILITY_OPEN_MODE_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_OPEN_MODE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace open_mode {
-
-//! Create a new resource; fail if exists already
-struct create_only_tag {} const create_only = create_only_tag();
-//! Opens an existing resource; fail if not exist
-struct open_only_tag {} const open_only = open_only_tag();
-//! Creates a new resource or opens an existing one
-struct open_or_create_tag {} const open_or_create = open_or_create_tag();
-
-} // namespace open_mode
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_OPEN_MODE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/permissions.hpp b/contrib/restricted/boost/boost/log/utility/permissions.hpp
deleted file mode 100644
index 8562f7fe73..0000000000
--- a/contrib/restricted/boost/boost/log/utility/permissions.hpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright Lingxi Li 2015.
- * Copyright Andrey Semashev 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)
- */
-/*!
- * \file permissions.hpp
- * \author Lingxi Li
- * \author Andrey Semashev
- * \date 14.10.2015
- *
- * The header contains an abstraction wrapper for security permissions.
- */
-
-#ifndef BOOST_LOG_UTILITY_PERMISSIONS_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_PERMISSIONS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifdef BOOST_WINDOWS
-extern "C" {
-struct _SECURITY_ATTRIBUTES;
-}
-#endif // BOOST_WINDOWS
-
-namespace boost {
-
-#ifdef BOOST_WINDOWS
-namespace winapi {
-struct BOOST_LOG_MAY_ALIAS _SECURITY_ATTRIBUTES;
-}
-#endif
-
-namespace interprocess {
-class permissions;
-} // namespace interprocess
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief Access permissions wrapper.
- *
- * On Windows platforms, it represents a pointer to \c SECURITY_ATTRIBUTES. The user is responsible
- * for allocating and reclaiming resources associated with the pointer, \c permissions instance does
- * not own them.
- *
- * On POSIX platforms, it represents a \c mode_t value.
- */
-class permissions
-{
-public:
-#if defined(BOOST_LOG_DOXYGEN_PASS)
- //! The type of security permissions, specific to the operating system
- typedef implementation_defined native_type;
-#elif defined(BOOST_WINDOWS)
- typedef ::_SECURITY_ATTRIBUTES* native_type;
-#else
- // Equivalent to POSIX mode_t
- typedef unsigned int native_type;
-#endif
-
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
-private:
- native_type m_perms;
-#endif
-
-public:
- /*!
- * Default constructor. The method constructs an object that represents
- * a null \c SECURITY_ATTRIBUTES pointer on Windows platforms, and a
- * \c mode_t value \c 0644 on POSIX platforms.
- */
- permissions() BOOST_NOEXCEPT
- {
- set_default();
- }
-
- /*!
- * Copy constructor.
- */
- permissions(permissions const& that) BOOST_NOEXCEPT : m_perms(that.m_perms)
- {
- }
-
- /*!
- * Copy assignment.
- */
- permissions& operator=(permissions const& that) BOOST_NOEXCEPT
- {
- m_perms = that.m_perms;
- return *this;
- }
-
- /*!
- * Initializing constructor.
- */
- permissions(native_type perms) BOOST_NOEXCEPT : m_perms(perms)
- {
- }
-
-#ifdef BOOST_WINDOWS
- permissions(boost::winapi::_SECURITY_ATTRIBUTES* perms) BOOST_NOEXCEPT : m_perms(reinterpret_cast< native_type >(perms))
- {
- }
-#endif
-
- /*!
- * Initializing constructor.
- */
- BOOST_LOG_API permissions(boost::interprocess::permissions const& perms) BOOST_NOEXCEPT;
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- /*!
- * Move constructor.
- */
- permissions(permissions&& that) BOOST_NOEXCEPT : m_perms(that.m_perms)
- {
- that.set_default();
- }
-
- /*!
- * Move assignment.
- */
- permissions& operator=(permissions&& that) BOOST_NOEXCEPT
- {
- m_perms = that.m_perms;
- that.set_default();
- return *this;
- }
-#endif
-
- /*!
- * Sets permissions from the OS-specific permissions.
- */
- void set_native(native_type perms) BOOST_NOEXCEPT
- {
- m_perms = perms;
- }
-
- /*!
- * Returns the underlying OS-specific permissions.
- */
- native_type get_native() const BOOST_NOEXCEPT
- {
- return m_perms;
- }
-
- /*!
- * Sets the default permissions, which are equivalent to \c NULL \c SECURITY_ATTRIBUTES
- * on Windows and \c 0644 on POSIX platforms.
- */
- void set_default() BOOST_NOEXCEPT
- {
-#if defined(BOOST_WINDOWS)
- m_perms = 0;
-#else
- m_perms = 0644;
-#endif
- }
-
- /*!
- * Sets unrestricted permissions, which are equivalent to \c SECURITY_ATTRIBUTES with \c NULL DACL
- * on Windows and \c 0666 on POSIX platforms.
- */
- void set_unrestricted()
- {
-#if defined(BOOST_WINDOWS)
- m_perms = get_unrestricted_security_attributes();
-#else
- m_perms = 0666;
-#endif
- }
-
- /*!
- * The method swaps the object with \a that.
- *
- * \param that The other object to swap with.
- */
- void swap(permissions& that) BOOST_NOEXCEPT
- {
- native_type perms = m_perms;
- m_perms = that.m_perms;
- that.m_perms = perms;
- }
-
- //! Swaps the two \c permissions objects.
- friend void swap(permissions& a, permissions& b) BOOST_NOEXCEPT
- {
- a.swap(b);
- }
-
-#if !defined(BOOST_LOG_DOXYGEN_PASS) && defined(BOOST_WINDOWS)
-private:
- static BOOST_LOG_API native_type get_unrestricted_security_attributes();
-#endif
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_PERMISSIONS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/record_ordering.hpp b/contrib/restricted/boost/boost/log/utility/record_ordering.hpp
deleted file mode 100644
index f9963f62b8..0000000000
--- a/contrib/restricted/boost/boost/log/utility/record_ordering.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file record_ordering.hpp
- * \author Andrey Semashev
- * \date 23.08.2009
- *
- * This header contains ordering predicates for logging records.
- */
-
-#ifndef BOOST_LOG_UTILITY_RECORD_ORDERING_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_RECORD_ORDERING_HPP_INCLUDED_
-
-#include <boost/core/enable_if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/function_traits.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute_value.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/utility/functional/logical.hpp>
-#include <boost/log/utility/functional/nop.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief Ordering predicate, based on opaque pointers to the record view implementation data
- *
- * Since record views only refer to a shared implementation data, this predicate is able to order the views
- * by comparing the pointers to the data. Therefore two views are considered to be equivalent if they
- * refer to the same implementation data. Otherwise it is not specified whether one record is ordered before
- * the other until the predicate is applied. Note that the ordering may change every time the application runs.
- *
- * This kind of ordering may be useful if log records are to be stored in an associative
- * container with as least performance overhead as possible, when the particular order is not important.
- *
- * The \c FunT template argument is the predicate that is used to actually compare pointers. It should be
- * able to compare <tt>const void*</tt> pointers. The compared pointers may refer to distinct memory regions,
- * the pointers must not be interpreted in any way.
- */
-template< typename FunT = less >
-class abstract_ordering :
- private FunT
-{
-public:
- //! Result type
- typedef bool result_type;
-
-public:
- /*!
- * Default constructor. Requires \c FunT to be default constructible.
- */
- abstract_ordering() : FunT()
- {
- }
- /*!
- * Initializing constructor. Constructs \c FunT instance as a copy of the \a fun argument.
- */
- explicit abstract_ordering(FunT const& fun) : FunT(fun)
- {
- }
-
- /*!
- * Ordering operator
- */
- result_type operator() (record_view const& left, record_view const& right) const
- {
- // We rely on the fact that the attribute_values() method returns a reference to the object in the record implementation,
- // so we can compare pointers.
- return FunT::operator() (static_cast< const void* >(&left.attribute_values()), static_cast< const void* >(&right.attribute_values()));
- }
-};
-
-/*!
- * \brief Ordering predicate, based on attribute values associated with records
- *
- * This predicate allows to order log records based on values of a specifically named attribute
- * associated with them. Two given log records being compared should both have the specified
- * attribute value of the specified type to be able to be ordered properly. As a special case,
- * if neither of the records have the value, these records are considered equivalent. Otherwise,
- * the ordering results are unspecified.
- */
-template< typename ValueT, typename FunT = less >
-class attribute_value_ordering :
- private FunT
-{
-public:
- //! Result type
- typedef bool result_type;
- //! Compared attribute value type
- typedef ValueT value_type;
-
-private:
- template< typename LeftT >
- struct l2_visitor
- {
- typedef void result_type;
-
- l2_visitor(FunT const& fun, LeftT const& left, bool& result) :
- m_fun(fun), m_left(left), m_result(result)
- {
- }
-
- template< typename RightT >
- result_type operator() (RightT const& right) const
- {
- m_result = m_fun(m_left, right);
- }
-
- private:
- FunT const& m_fun;
- LeftT const& m_left;
- bool& m_result;
- };
-
- struct l1_visitor;
- friend struct l1_visitor;
- struct l1_visitor
- {
- typedef void result_type;
-
- l1_visitor(attribute_value_ordering const& owner, record_view const& right, bool& result) :
- m_owner(owner), m_right(right), m_result(result)
- {
- }
-
- template< typename LeftT >
- result_type operator() (LeftT const& left) const
- {
- boost::log::visit< value_type >(m_owner.m_name, m_right, l2_visitor< LeftT >(static_cast< FunT const& >(m_owner), left, m_result));
- }
-
- private:
- attribute_value_ordering const& m_owner;
- record_view const& m_right;
- bool& m_result;
- };
-
-private:
- //! Attribute value name
- const attribute_name m_name;
-
-public:
- /*!
- * Initializing constructor.
- *
- * \param name The attribute value name to be compared
- * \param fun The ordering functor
- */
- explicit attribute_value_ordering(attribute_name const& name, FunT const& fun = FunT()) :
- FunT(fun),
- m_name(name)
- {
- }
-
- /*!
- * Ordering operator
- */
- result_type operator() (record_view const& left, record_view const& right) const
- {
- bool result = false;
- if (!boost::log::visit< value_type >(m_name, left, l1_visitor(*this, right, result)))
- {
- return !boost::log::visit< value_type >(m_name, right, nop());
- }
- return result;
- }
-};
-
-/*!
- * The function constructs a log record ordering predicate
- */
-template< typename ValueT, typename FunT >
-inline attribute_value_ordering< ValueT, FunT > make_attr_ordering(attribute_name const& name, FunT const& fun)
-{
- typedef attribute_value_ordering< ValueT, FunT > ordering_t;
- return ordering_t(name, fun);
-}
-
-#if !defined(BOOST_LOG_NO_FUNCTION_TRAITS)
-
-namespace aux {
-
- //! An ordering predicate constructor that uses SFINAE to disable invalid instantiations
- template<
- typename FunT,
- typename ArityCheckT = typename boost::enable_if_c< aux::arity_of< FunT >::value == 2 >::type,
- typename Arg1T = typename aux::first_argument_type_of< FunT >::type,
- typename Arg2T = typename aux::second_argument_type_of< FunT >::type,
- typename ArgsCheckT = typename boost::enable_if_c< is_same< Arg1T, Arg2T >::value >::type
- >
- struct make_attr_ordering_type
- {
- typedef attribute_value_ordering< Arg1T, FunT > type;
- };
-
-} // namespace aux
-
-/*!
- * The function constructs a log record ordering predicate
- */
-template< typename FunT >
-inline typename aux::make_attr_ordering_type< FunT >::type make_attr_ordering(attribute_name const& name, FunT const& fun)
-{
- typedef typename aux::make_attr_ordering_type< FunT >::type ordering_t;
- return ordering_t(name, fun);
-}
-
-#endif // BOOST_LOG_NO_FUNCTION_TRAITS
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_RECORD_ORDERING_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/setup.hpp b/contrib/restricted/boost/boost/log/utility/setup.hpp
deleted file mode 100644
index adbe981005..0000000000
--- a/contrib/restricted/boost/boost/log/utility/setup.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file setup.hpp
- * \author Andrey Semashev
- * \date 16.02.2013
- *
- * This header includes all library setup helpers.
- */
-
-#ifndef BOOST_LOG_UTILITY_SETUP_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_SETUP_HPP_INCLUDED_
-
-#include <boost/log/detail/setup_config.hpp>
-
-#include <boost/log/utility/setup/common_attributes.hpp>
-
-#include <boost/log/utility/setup/console.hpp>
-#include <boost/log/utility/setup/file.hpp>
-
-#include <boost/log/utility/setup/from_settings.hpp>
-#include <boost/log/utility/setup/from_stream.hpp>
-
-#include <boost/log/utility/setup/settings.hpp>
-#include <boost/log/utility/setup/settings_parser.hpp>
-#include <boost/log/utility/setup/filter_parser.hpp>
-#include <boost/log/utility/setup/formatter_parser.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#endif // BOOST_LOG_UTILITY_SETUP_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/setup/common_attributes.hpp b/contrib/restricted/boost/boost/log/utility/setup/common_attributes.hpp
deleted file mode 100644
index 8a12e4799a..0000000000
--- a/contrib/restricted/boost/boost/log/utility/setup/common_attributes.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file common_attributes.hpp
- * \author Andrey Semashev
- * \date 16.05.2008
- *
- * The header contains implementation of convenience functions for registering commonly used attributes.
- */
-
-#ifndef BOOST_LOG_UTILITY_SETUP_COMMON_ATTRIBUTES_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_SETUP_COMMON_ATTRIBUTES_HPP_INCLUDED_
-
-#include <iostream>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/core/core.hpp>
-#include <boost/log/attributes/clock.hpp>
-#include <boost/log/attributes/counter.hpp>
-#include <boost/log/attributes/current_process_id.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/attributes/current_thread_id.hpp>
-#endif
-#include <boost/log/detail/default_attribute_names.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief Simple attribute initialization routine
- *
- * The function adds commonly used attributes to the logging system. Specifically, the following
- * attributes are registered globally:
- *
- * \li LineID - logging records counter with value type <tt>unsigned int</tt>
- * \li TimeStamp - local time generator with value type <tt>boost::posix_time::ptime</tt>
- * \li ProcessID - current process identifier with value type
- * <tt>attributes::current_process_id::value_type</tt>
- * \li ThreadID - in multithreaded builds, current thread identifier with
- * value type <tt>attributes::current_thread_id::value_type</tt>
- */
-inline void add_common_attributes()
-{
- shared_ptr< core > pCore = core::get();
- pCore->add_global_attribute(
- aux::default_attribute_names::line_id(),
- attributes::counter< unsigned int >(1));
- pCore->add_global_attribute(
- aux::default_attribute_names::timestamp(),
- attributes::local_clock());
- pCore->add_global_attribute(
- aux::default_attribute_names::process_id(),
- attributes::current_process_id());
-#if !defined(BOOST_LOG_NO_THREADS)
- pCore->add_global_attribute(
- aux::default_attribute_names::thread_id(),
- attributes::current_thread_id());
-#endif
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_SETUP_COMMON_ATTRIBUTES_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/setup/console.hpp b/contrib/restricted/boost/boost/log/utility/setup/console.hpp
deleted file mode 100644
index 7212c7b74a..0000000000
--- a/contrib/restricted/boost/boost/log/utility/setup/console.hpp
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file console.hpp
- * \author Andrey Semashev
- * \date 16.05.2008
- *
- * The header contains implementation of convenience functions for enabling logging to console.
- */
-
-#ifndef BOOST_LOG_UTILITY_SETUP_CONSOLE_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_SETUP_CONSOLE_HPP_INCLUDED_
-
-#include <iostream>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/core/null_deleter.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/sink_init_helpers.hpp>
-#ifndef BOOST_LOG_NO_THREADS
-#include <boost/log/sinks/sync_frontend.hpp>
-#else
-#include <boost/log/sinks/unlocked_frontend.hpp>
-#endif
-#include <boost/log/sinks/text_ostream_backend.hpp>
-#include <boost/log/keywords/format.hpp>
-#include <boost/log/keywords/filter.hpp>
-#include <boost/log/keywords/auto_flush.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-#ifndef BOOST_LOG_NO_THREADS
-#define BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL sinks::synchronous_sink
-#else
-#define BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL sinks::unlocked_sink
-#endif
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-// The function creates and initializes the sink
-template< typename CharT, typename ArgsT >
-shared_ptr<
- BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL<
- sinks::basic_text_ostream_backend< CharT >
- >
-> add_console_log(std::basic_ostream< CharT >& strm, ArgsT const& args)
-{
- shared_ptr< std::basic_ostream< CharT > > pStream(&strm, boost::null_deleter());
-
- typedef sinks::basic_text_ostream_backend< CharT > backend_t;
- shared_ptr< backend_t > pBackend = boost::make_shared< backend_t >();
-
- pBackend->add_stream(pStream);
- pBackend->auto_flush(args[keywords::auto_flush | false]);
-
- typedef BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL< backend_t > sink_t;
- shared_ptr< sink_t > pSink = boost::make_shared< sink_t >(pBackend);
-
- aux::setup_filter(*pSink, args,
- typename is_void< typename parameter::binding< ArgsT, keywords::tag::filter, void >::type >::type());
-
- aux::setup_formatter(*pSink, args,
- typename is_void< typename parameter::binding< ArgsT, keywords::tag::format, void >::type >::type());
-
- core::get()->add_sink(pSink);
-
- return pSink;
-}
-
-template< typename CharT >
-struct default_console_stream;
-
-#ifdef BOOST_LOG_USE_CHAR
-template< >
-struct default_console_stream< char >
-{
- static std::ostream& get() { return std::clog; }
-};
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-template< >
-struct default_console_stream< wchar_t >
-{
- static std::wostream& get() { return std::wclog; }
-};
-#endif // BOOST_LOG_USE_WCHAR_T
-
-} // namespace aux
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-template< typename CharT >
-inline shared_ptr<
- BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL<
- sinks::basic_text_ostream_backend< CharT >
- >
-> add_console_log()
-{
- return aux::add_console_log(
- aux::default_console_stream< CharT >::get(), keywords::auto_flush = false);
-}
-
-
-template< typename CharT >
-inline shared_ptr<
- BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL<
- sinks::basic_text_ostream_backend< CharT >
- >
-> add_console_log(std::basic_ostream< CharT >& strm)
-{
- return aux::add_console_log(strm, keywords::auto_flush = false);
-}
-
-template< typename CharT, typename ArgT1 >
-inline shared_ptr<
- BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL<
- sinks::basic_text_ostream_backend< CharT >
- >
-> add_console_log(std::basic_ostream< CharT >& strm, ArgT1 const& arg1)
-{
- return aux::add_console_log(strm, arg1);
-}
-
-template< typename CharT, typename ArgT1, typename ArgT2 >
-inline shared_ptr<
- BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL<
- sinks::basic_text_ostream_backend< CharT >
- >
-> add_console_log(std::basic_ostream< CharT >& strm, ArgT1 const& arg1, ArgT2 const& arg2)
-{
- return aux::add_console_log(strm, (arg1, arg2));
-}
-
-template< typename CharT, typename ArgT1, typename ArgT2, typename ArgT3 >
-inline shared_ptr<
- BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL<
- sinks::basic_text_ostream_backend< CharT >
- >
-> add_console_log(std::basic_ostream< CharT >& strm, ArgT1 const& arg1, ArgT2 const& arg2, ArgT3 const& arg3)
-{
- return aux::add_console_log(strm, (arg1, arg2, arg3));
-}
-
-#else // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * The function constructs sink for the specified console stream and adds it to the core
- *
- * \param strm One of the standard console streams: <tt>std::cout</tt>, <tt>std::cerr</tt> or <tt>std::clog</tt>
- * (or the corresponding wide-character analogues).
- * \param args Optional additional named arguments for the sink initialization. The following arguments are supported:
- * \li \c filter Specifies a filter to install into the sink. May be a string that represents a filter,
- * or a filter lambda expression.
- * \li \c format Specifies a formatter to install into the sink. May be a string that represents a formatter,
- * or a formatter lambda expression (either streaming or Boost.Format-like notation).
- * \li \c auto_flush A boolean flag that shows whether the sink should automatically flush the stream
- * after each written record.
- * \return Pointer to the constructed sink.
- */
-template< typename CharT, typename... ArgsT >
-shared_ptr<
- BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL<
- sinks::basic_text_ostream_backend< CharT >
- >
-> add_console_log(std::basic_ostream< CharT >& strm, ArgsT... const& args);
-
-/*!
- * Equivalent to: <tt>add_console_log(std::clog);</tt> or <tt>add_console_log(std::wclog);</tt>,
- * depending on the \c CharT type.
- *
- * \overload
- */
-template< typename CharT, typename... ArgsT >
-shared_ptr<
- BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL<
- sinks::basic_text_ostream_backend< CharT >
- >
-> add_console_log(ArgsT... const& args);
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-#ifdef BOOST_LOG_USE_CHAR
-
-/*!
- * The function constructs sink for the <tt>std::clog</tt> stream and adds it to the core
- *
- * \overload
- *
- * \return Pointer to the constructed sink.
- */
-inline shared_ptr<
- BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL<
- sinks::text_ostream_backend
- >
-> add_console_log()
-{
- return add_console_log(std::clog);
-}
-
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-/*!
- * The function constructs sink for the <tt>std::wclog</tt> stream and adds it to the core
- *
- * \return Pointer to the constructed sink.
- */
-inline shared_ptr<
- BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL<
- sinks::wtext_ostream_backend
- >
-> wadd_console_log()
-{
- return add_console_log(std::wclog);
-}
-
-#endif // BOOST_LOG_USE_WCHAR_T
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#undef BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_SETUP_CONSOLE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/setup/file.hpp b/contrib/restricted/boost/boost/log/utility/setup/file.hpp
deleted file mode 100644
index e1b4280e9c..0000000000
--- a/contrib/restricted/boost/boost/log/utility/setup/file.hpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file file.hpp
- * \author Andrey Semashev
- * \date 16.05.2008
- *
- * The header contains implementation of convenience functions for enabling logging to a file.
- */
-
-#ifndef BOOST_LOG_UTILITY_SETUP_FILE_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_SETUP_FILE_HPP_INCLUDED_
-
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/parameter/parameters.hpp> // for is_named_argument
-#include <boost/preprocessor/comparison/greater.hpp>
-#include <boost/preprocessor/punctuation/comma_if.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/sink_init_helpers.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/core/core.hpp>
-#ifndef BOOST_LOG_NO_THREADS
-#include <boost/log/sinks/sync_frontend.hpp>
-#else
-#include <boost/log/sinks/unlocked_frontend.hpp>
-#endif
-#include <boost/log/sinks/text_file_backend.hpp>
-#include <boost/log/keywords/scan_method.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-#ifndef BOOST_LOG_NO_THREADS
-#define BOOST_LOG_FILE_SINK_FRONTEND_INTERNAL sinks::synchronous_sink
-#else
-#define BOOST_LOG_FILE_SINK_FRONTEND_INTERNAL sinks::unlocked_sink
-#endif
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The function creates a file collector according to the specified arguments
-template< typename ArgsT >
-inline shared_ptr< sinks::file::collector > setup_file_collector(ArgsT const&, mpl::true_ const&)
-{
- return shared_ptr< sinks::file::collector >();
-}
-template< typename ArgsT >
-inline shared_ptr< sinks::file::collector > setup_file_collector(ArgsT const& args, mpl::false_ const&)
-{
- return sinks::file::make_collector(args);
-}
-
-//! The function constructs the sink and adds it to the core
-template< typename ArgsT >
-shared_ptr< BOOST_LOG_FILE_SINK_FRONTEND_INTERNAL< sinks::text_file_backend > > add_file_log(ArgsT const& args)
-{
- typedef sinks::text_file_backend backend_t;
- shared_ptr< backend_t > pBackend = boost::make_shared< backend_t >(args);
-
- shared_ptr< sinks::file::collector > pCollector = aux::setup_file_collector(args,
- typename is_void< typename parameter::binding< ArgsT, keywords::tag::target, void >::type >::type());
- if (pCollector)
- {
- pBackend->set_file_collector(pCollector);
- pBackend->scan_for_files(args[keywords::scan_method | sinks::file::scan_matching]);
- }
-
- shared_ptr< BOOST_LOG_FILE_SINK_FRONTEND_INTERNAL< backend_t > > pSink =
- boost::make_shared< BOOST_LOG_FILE_SINK_FRONTEND_INTERNAL< backend_t > >(pBackend);
-
- aux::setup_filter(*pSink, args,
- typename is_void< typename parameter::binding< ArgsT, keywords::tag::filter, void >::type >::type());
-
- aux::setup_formatter(*pSink, args,
- typename is_void< typename parameter::binding< ArgsT, keywords::tag::format, void >::type >::type());
-
- core::get()->add_sink(pSink);
-
- return pSink;
-}
-
-//! The function wraps the argument into a file_name named argument, if needed
-template< typename T >
-inline T const& wrap_file_name(T const& arg, mpl::true_)
-{
- return arg;
-}
-template< typename T >
-inline typename parameter::aux::tag< keywords::tag::file_name, T const >::type
-wrap_file_name(T const& arg, mpl::false_)
-{
- return keywords::file_name = arg;
-}
-
-} // namespace aux
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_INIT_LOG_TO_FILE_INTERNAL(z, n, data)\
- template< BOOST_PP_ENUM_PARAMS(n, typename T) >\
- inline shared_ptr< BOOST_LOG_FILE_SINK_FRONTEND_INTERNAL< sinks::text_file_backend > > add_file_log(BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& arg))\
- {\
- return aux::add_file_log((\
- aux::wrap_file_name(arg0, typename parameter::aux::is_named_argument< T0 >::type())\
- BOOST_PP_COMMA_IF(BOOST_PP_GREATER(n, 1))\
- BOOST_PP_ENUM_SHIFTED_PARAMS(n, arg)\
- ));\
- }
-
-BOOST_PP_REPEAT_FROM_TO(1, BOOST_LOG_MAX_PARAMETER_ARGS, BOOST_LOG_INIT_LOG_TO_FILE_INTERNAL, ~)
-
-#undef BOOST_LOG_INIT_LOG_TO_FILE_INTERNAL
-
-#else // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * The function initializes the logging library to write logs to a file stream.
- *
- * \param args A number of named arguments. The following parameters are supported:
- * \li \c file_name The file name or its pattern. This parameter is mandatory.
- * \li \c open_mode The mask that describes the open mode for the file. See <tt>std::ios_base::openmode</tt>.
- * \li \c rotation_size The size of the file at which rotation should occur. See <tt>basic_text_file_backend</tt>.
- * \li \c time_based_rotation The predicate for time-based file rotations. See <tt>basic_text_file_backend</tt>.
- * \li \c auto_flush A boolean flag that shows whether the sink should automatically flush the file
- * after each written record.
- * \li \c target The target directory to store rotated files in. See <tt>sinks::file::make_collector</tt>.
- * \li \c max_size The maximum total size of rotated files in the target directory. See <tt>sinks::file::make_collector</tt>.
- * \li \c min_free_space Minimum free space in the target directory. See <tt>sinks::file::make_collector</tt>.
- * \li \c max_files The maximum total number of rotated files in the target directory. See <tt>sinks::file::make_collector</tt>.
- * \li \c scan_method The method of scanning the target directory for log files. See <tt>sinks::file::scan_method</tt>.
- * \li \c filter Specifies a filter to install into the sink. May be a string that represents a filter,
- * or a filter lambda expression.
- * \li \c format Specifies a formatter to install into the sink. May be a string that represents a formatter,
- * or a formatter lambda expression (either streaming or Boost.Format-like notation).
- * \return Pointer to the constructed sink.
- */
-template< typename... ArgsT >
-shared_ptr< BOOST_LOG_FILE_SINK_FRONTEND_INTERNAL< sinks::text_file_backend > > add_file_log(ArgsT... const& args);
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#undef BOOST_LOG_FILE_SINK_FRONTEND_INTERNAL
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_SETUP_FILE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/setup/filter_parser.hpp b/contrib/restricted/boost/boost/log/utility/setup/filter_parser.hpp
deleted file mode 100644
index 6ed6a58735..0000000000
--- a/contrib/restricted/boost/boost/log/utility/setup/filter_parser.hpp
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file filter_parser.hpp
- * \author Andrey Semashev
- * \date 31.03.2008
- *
- * The header contains definition of a filter parser function.
- */
-
-#ifndef BOOST_LOG_UTILITY_SETUP_FILTER_PARSER_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_SETUP_FILTER_PARSER_HPP_INCLUDED_
-
-#include <string>
-#include <boost/lexical_cast.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/phoenix/operator/comparison.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/log/detail/setup_config.hpp>
-#include <boost/log/detail/code_conversion.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/expressions/filter.hpp>
-#include <boost/log/expressions/keyword_fwd.hpp>
-#include <boost/log/expressions/attr.hpp>
-#include <boost/log/expressions/predicates/has_attr.hpp>
-#include <boost/log/core/core.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef __GNUC__
-#pragma GCC system_header
-#endif
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * The interface class for all filter factories.
- */
-template< typename CharT >
-struct filter_factory
-{
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
-
- /*!
- * Default constructor
- */
- BOOST_DEFAULTED_FUNCTION(filter_factory(), {})
-
- /*!
- * Virtual destructor
- */
- virtual ~filter_factory() {}
-
- /*!
- * The callback for filter for the attribute existence test
- */
- virtual filter on_exists_test(attribute_name const& name)
- {
- return filter(expressions::has_attr(name));
- }
-
- /*!
- * The callback for equality relation filter
- */
- virtual filter on_equality_relation(attribute_name const& name, string_type const& arg)
- {
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The equality attribute value relation is not supported", (name));
- BOOST_LOG_UNREACHABLE_RETURN(filter());
- }
- /*!
- * The callback for inequality relation filter
- */
- virtual filter on_inequality_relation(attribute_name const& name, string_type const& arg)
- {
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The inequality attribute value relation is not supported", (name));
- BOOST_LOG_UNREACHABLE_RETURN(filter());
- }
- /*!
- * The callback for less relation filter
- */
- virtual filter on_less_relation(attribute_name const& name, string_type const& arg)
- {
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The less attribute value relation is not supported", (name));
- BOOST_LOG_UNREACHABLE_RETURN(filter());
- }
- /*!
- * The callback for greater relation filter
- */
- virtual filter on_greater_relation(attribute_name const& name, string_type const& arg)
- {
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The greater attribute value relation is not supported", (name));
- BOOST_LOG_UNREACHABLE_RETURN(filter());
- }
- /*!
- * The callback for less or equal relation filter
- */
- virtual filter on_less_or_equal_relation(attribute_name const& name, string_type const& arg)
- {
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The less-or-equal attribute value relation is not supported", (name));
- BOOST_LOG_UNREACHABLE_RETURN(filter());
- }
- /*!
- * The callback for greater or equal relation filter
- */
- virtual filter on_greater_or_equal_relation(attribute_name const& name, string_type const& arg)
- {
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The greater-or-equal attribute value relation is not supported", (name));
- BOOST_LOG_UNREACHABLE_RETURN(filter());
- }
-
- /*!
- * The callback for custom relation filter
- */
- virtual filter on_custom_relation(attribute_name const& name, string_type const& rel, string_type const& arg)
- {
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The custom attribute value relation \"" + boost::log::aux::to_narrow(rel) + "\" is not supported", (name));
- BOOST_LOG_UNREACHABLE_RETURN(filter());
- }
-
- BOOST_DELETED_FUNCTION(filter_factory(filter_factory const&))
- BOOST_DELETED_FUNCTION(filter_factory& operator= (filter_factory const&))
-};
-
-/*!
- * The base class for filter factories. The class defines default implementations for most
- * filter expressions. In order to be able to construct filters, the attribute value type must
- * support reading from a stream. Also, the default filters will rely on relational operators for
- * the type, so these operators must also be defined.
- */
-template< typename CharT, typename AttributeValueT >
-class basic_filter_factory :
- public filter_factory< CharT >
-{
- //! Base type
- typedef filter_factory< CharT > base_type;
-
-public:
- //! The type(s) of the attribute value expected
- typedef AttributeValueT value_type;
- // Type imports
- typedef typename base_type::string_type string_type;
-
- /*!
- * The callback for filter for the attribute existence test
- */
- virtual filter on_exists_test(attribute_name const& name)
- {
- return filter(expressions::has_attr< value_type >(name));
- }
-
- /*!
- * The callback for equality relation filter
- */
- virtual filter on_equality_relation(attribute_name const& name, string_type const& arg)
- {
- return filter(expressions::attr< value_type >(name) == parse_argument(arg));
- }
- /*!
- * The callback for inequality relation filter
- */
- virtual filter on_inequality_relation(attribute_name const& name, string_type const& arg)
- {
- return filter(expressions::attr< value_type >(name) != parse_argument(arg));
- }
- /*!
- * The callback for less relation filter
- */
- virtual filter on_less_relation(attribute_name const& name, string_type const& arg)
- {
- return filter(expressions::attr< value_type >(name) < parse_argument(arg));
- }
- /*!
- * The callback for greater relation filter
- */
- virtual filter on_greater_relation(attribute_name const& name, string_type const& arg)
- {
- return filter(expressions::attr< value_type >(name) > parse_argument(arg));
- }
- /*!
- * The callback for less or equal relation filter
- */
- virtual filter on_less_or_equal_relation(attribute_name const& name, string_type const& arg)
- {
- return filter(expressions::attr< value_type >(name) <= parse_argument(arg));
- }
- /*!
- * The callback for greater or equal relation filter
- */
- virtual filter on_greater_or_equal_relation(attribute_name const& name, string_type const& arg)
- {
- return filter(expressions::attr< value_type >(name) >= parse_argument(arg));
- }
-
- /*!
- * The callback for custom relation filter
- */
- virtual filter on_custom_relation(attribute_name const& name, string_type const& rel, string_type const& arg)
- {
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "The custom attribute value relation \"" + boost::log::aux::to_narrow(rel) + "\" is not supported", (name));
- BOOST_LOG_UNREACHABLE_RETURN(filter());
- }
-
- /*!
- * The function parses the argument value for a binary relation
- */
- virtual value_type parse_argument(string_type const& arg)
- {
- return boost::lexical_cast< value_type >(arg);
- }
-};
-
-/*!
- * The function registers a filter factory object for the specified attribute name. The factory will be
- * used to construct a filter during parsing the filter string.
- *
- * \pre <tt>name != NULL && factory != NULL</tt>, <tt>name</tt> points to a zero-terminated string
- * \param name Attribute name to associate the factory with
- * \param factory The filter factory
- */
-template< typename CharT >
-BOOST_LOG_SETUP_API void register_filter_factory(
- attribute_name const& name, shared_ptr< filter_factory< CharT > > const& factory);
-
-/*!
- * The function registers a filter factory object for the specified attribute name. The factory will be
- * used to construct a filter during parsing the filter string.
- *
- * \pre <tt>name != NULL && factory != NULL</tt>, <tt>name</tt> points to a zero-terminated string
- * \param name Attribute name to associate the factory with
- * \param factory The filter factory
- */
-template< typename FactoryT >
-inline typename boost::enable_if_c<
- is_base_and_derived< filter_factory< typename FactoryT::char_type >, FactoryT >::value
->::type register_filter_factory(attribute_name const& name, shared_ptr< FactoryT > const& factory)
-{
- typedef filter_factory< typename FactoryT::char_type > factory_base;
- register_filter_factory(name, boost::static_pointer_cast< factory_base >(factory));
-}
-
-/*!
- * The function registers a simple filter factory object for the specified attribute name. The factory will
- * support attribute values of type \c AttributeValueT, which must support all relation operations, such as
- * equality comparison and less/greater ordering, and also extraction from stream.
- *
- * \pre <tt>name != NULL</tt>, <tt>name</tt> points to a zero-terminated string
- * \param name Attribute name to associate the factory with
- */
-template< typename AttributeValueT, typename CharT >
-inline void register_simple_filter_factory(attribute_name const& name)
-{
- shared_ptr< filter_factory< CharT > > factory =
- boost::make_shared< basic_filter_factory< CharT, AttributeValueT > >();
- register_filter_factory(name, factory);
-}
-
-/*!
- * The function registers a simple filter factory object for the specified attribute name. The factory will
- * support attribute values of type \c AttributeValueT, which must support all relation operations, such as
- * equality comparison and less/greater ordering, and also extraction from stream.
- *
- * \pre <tt>name != NULL</tt>, <tt>name</tt> points to a zero-terminated string
- * \param name Attribute name to associate the factory with
- */
-template< typename AttributeValueT >
-inline void register_simple_filter_factory(attribute_name const& name)
-{
- register_simple_filter_factory< AttributeValueT, char >(name);
-}
-
-/*!
- * The function registers a simple filter factory object for the specified attribute keyword. The factory will
- * support attribute values described by the keyword. The values must support all relation operations, such as
- * equality comparison and less/greater ordering, and also extraction from stream.
- *
- * \pre <tt>name != NULL</tt>, <tt>name</tt> points to a zero-terminated string
- * \param keyword Attribute keyword to associate the factory with
- */
-template< typename CharT, typename DescriptorT, template< typename > class ActorT >
-inline void register_simple_filter_factory(expressions::attribute_keyword< DescriptorT, ActorT > const& keyword)
-{
- register_simple_filter_factory< typename DescriptorT::value_type, CharT >(keyword.get_name());
-}
-
-/*!
- * The function parses a filter from the sequence of characters
- *
- * \pre <tt>begin <= end</tt>, both pointers must not be \c NULL
- * \param begin Pointer to the first character of the sequence
- * \param end Pointer to the after-the-last character of the sequence
- * \return A function object that can be used as a filter.
- *
- * \b Throws: An <tt>std::exception</tt>-based exception, if a filter cannot be recognized in the character sequence.
- */
-template< typename CharT >
-BOOST_LOG_SETUP_API filter parse_filter(const CharT* begin, const CharT* end);
-
-/*!
- * The function parses a filter from the string
- *
- * \param str A string that contains filter description
- * \return A function object that can be used as a filter.
- *
- * \b Throws: An <tt>std::exception</tt>-based exception, if a filter cannot be recognized in the character sequence.
- */
-template< typename CharT, typename TraitsT, typename AllocatorT >
-inline filter parse_filter(std::basic_string< CharT, TraitsT, AllocatorT > const& str)
-{
- const CharT* p = str.c_str();
- return parse_filter(p, p + str.size());
-}
-
-/*!
- * The function parses a filter from the string
- *
- * \pre <tt>str != NULL</tt>, <tt>str</tt> points to a zero-terminated string.
- * \param str A string that contains filter description.
- * \return A function object that can be used as a filter.
- *
- * \b Throws: An <tt>std::exception</tt>-based exception, if a filter cannot be recognized in the character sequence.
- */
-template< typename CharT >
-inline filter parse_filter(const CharT* str)
-{
- return parse_filter(str, str + std::char_traits< CharT >::length(str));
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_SETUP_FILTER_PARSER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/setup/formatter_parser.hpp b/contrib/restricted/boost/boost/log/utility/setup/formatter_parser.hpp
deleted file mode 100644
index 250c75c1d2..0000000000
--- a/contrib/restricted/boost/boost/log/utility/setup/formatter_parser.hpp
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatter_parser.hpp
- * \author Andrey Semashev
- * \date 07.04.2008
- *
- * The header contains definition of a formatter parser function, along with facilities to
- * add support for custom formatters.
- */
-
-#ifndef BOOST_LOG_UTILITY_SETUP_FORMATTER_PARSER_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_SETUP_FORMATTER_PARSER_HPP_INCLUDED_
-
-#include <iosfwd>
-#include <map>
-#include <string>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/log/detail/setup_config.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/core/record.hpp>
-#include <boost/log/expressions/formatter.hpp>
-#include <boost/log/expressions/attr.hpp>
-#include <boost/log/expressions/formatters/stream.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * Formatter factory base interface.
- */
-template< typename CharT >
-struct formatter_factory
-{
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! The formatter function object
- typedef basic_formatter< char_type > formatter_type;
- /*!
- * Type of the map of formatter factory arguments [argument name -> argument value].
- * This type of maps will be passed to formatter factories on attempt to create a formatter.
- */
- typedef std::map< string_type, string_type > args_map;
-
- /*!
- * Default constructor
- */
- BOOST_DEFAULTED_FUNCTION(formatter_factory(), {})
-
- /*!
- * Virtual destructor
- */
- virtual ~formatter_factory() {}
-
- /*!
- * The function creates a formatter for the specified attribute.
- *
- * \param name Attribute name
- * \param args Formatter arguments
- */
- virtual formatter_type create_formatter(attribute_name const& name, args_map const& args) = 0;
-
- BOOST_DELETED_FUNCTION(formatter_factory(formatter_factory const&))
- BOOST_DELETED_FUNCTION(formatter_factory& operator= (formatter_factory const&))
-};
-
-/*!
- * Base class for formatter factories. This class provides default implementation of formatter expressions for
- * types supporting stream output. The factory does not take into account any additional parameters that may be specified.
- */
-template< typename CharT, typename AttributeValueT >
-class basic_formatter_factory :
- public formatter_factory< CharT >
-{
-private:
- typedef formatter_factory< CharT > base_type;
-
-public:
- //! Attribute value type
- typedef AttributeValueT value_type;
- // Type imports from the base class
- typedef typename base_type::formatter_type formatter_type;
- typedef typename base_type::args_map args_map;
-
- /*!
- * The function creates a formatter for the specified attribute.
- *
- * \param name Attribute name
- * \param args Formatter arguments
- */
- formatter_type create_formatter(attribute_name const& name, args_map const& args)
- {
- return formatter_type(expressions::stream << expressions::attr< value_type >(name));
- }
-};
-
-/*!
- * \brief The function registers a user-defined formatter factory
- *
- * The function registers a user-defined formatter factory. The registered factory function will be
- * called when the formatter parser detects the specified attribute name in the formatter string.
- *
- * \pre <tt>!!attr_name && !!factory</tt>.
- *
- * \param attr_name Attribute name
- * \param factory Pointer to the formatter factory
- */
-template< typename CharT >
-BOOST_LOG_SETUP_API void register_formatter_factory(
- attribute_name const& attr_name, shared_ptr< formatter_factory< CharT > > const& factory);
-
-/*!
- * \brief The function registers a user-defined formatter factory
- *
- * The function registers a user-defined formatter factory. The registered factory function will be
- * called when the formatter parser detects the specified attribute name in the formatter string.
- *
- * \pre <tt>!!attr_name && !!factory</tt>.
- *
- * \param attr_name Attribute name
- * \param factory Pointer to the formatter factory
- */
-template< typename FactoryT >
-inline typename boost::enable_if_c<
- is_base_and_derived< formatter_factory< typename FactoryT::char_type >, FactoryT >::value
->::type register_formatter_factory(attribute_name const& attr_name, shared_ptr< FactoryT > const& factory)
-{
- typedef formatter_factory< typename FactoryT::char_type > factory_base;
- register_formatter_factory(attr_name, boost::static_pointer_cast< factory_base >(factory));
-}
-
-/*!
- * \brief The function registers a simple formatter factory
- *
- * The function registers a simple formatter factory. The registered factory will generate formatters
- * that will be equivalent to the <tt>log::expressions::attr</tt> formatter (i.e. that will use the
- * native \c operator<< to format the attribute value). The factory does not use any arguments from the format string,
- * if specified.
- *
- * \pre <tt>!!attr_name</tt>.
- *
- * \param attr_name Attribute name
- */
-template< typename AttributeValueT, typename CharT >
-inline void register_simple_formatter_factory(attribute_name const& attr_name)
-{
- shared_ptr< formatter_factory< CharT > > factory =
- boost::make_shared< basic_formatter_factory< CharT, AttributeValueT > >();
- register_formatter_factory(attr_name, factory);
-}
-
-/*!
- * The function parses a formatter from the sequence of characters
- *
- * \pre <tt>begin <= end</tt>, both pointers must not be NULL
- * \param begin Pointer to the first character of the sequence
- * \param end Pointer to the after-the-last character of the sequence
- * \return The parsed formatter.
- *
- * \b Throws: An <tt>std::exception</tt>-based exception, if a formatter cannot be recognized in the character sequence.
- */
-template< typename CharT >
-BOOST_LOG_SETUP_API basic_formatter< CharT > parse_formatter(const CharT* begin, const CharT* end);
-
-/*!
- * The function parses a formatter from the string
- *
- * \param str A string that contains format description
- * \return The parsed formatter.
- *
- * \b Throws: An <tt>std::exception</tt>-based exception, if a formatter cannot be recognized in the character sequence.
- */
-template< typename CharT, typename TraitsT, typename AllocatorT >
-inline basic_formatter< CharT > parse_formatter(std::basic_string< CharT, TraitsT, AllocatorT > const& str)
-{
- const CharT* p = str.c_str();
- return parse_formatter(p, p + str.size());
-}
-
-/*!
- * The function parses a formatter from the string
- *
- * \pre <tt>str != NULL</tt>, <tt>str</tt> points to a zero-terminated string
- * \param str A string that contains format description.
- * \return The parsed formatter.
- *
- * \b Throws: An <tt>std::exception</tt>-based exception, if a formatter cannot be recognized in the character sequence.
- */
-template< typename CharT >
-inline basic_formatter< CharT > parse_formatter(const CharT* str)
-{
- return parse_formatter(str, str + std::char_traits< CharT >::length(str));
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_SETUP_FORMATTER_PARSER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/setup/from_settings.hpp b/contrib/restricted/boost/boost/log/utility/setup/from_settings.hpp
deleted file mode 100644
index be1c1bc0b6..0000000000
--- a/contrib/restricted/boost/boost/log/utility/setup/from_settings.hpp
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file from_settings.hpp
- * \author Andrey Semashev
- * \date 11.10.2009
- *
- * The header contains definition of facilities that allows to initialize the library from
- * settings.
- */
-
-#ifndef BOOST_LOG_UTILITY_SETUP_FROM_SETTINGS_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_SETUP_FROM_SETTINGS_HPP_INCLUDED_
-
-#include <string>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/log/detail/setup_config.hpp>
-#include <boost/log/sinks/sink.hpp>
-#include <boost/log/utility/setup/settings.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * The function initializes the logging library from a settings container
- *
- * \param setts Library settings container
- *
- * \b Throws: An <tt>std::exception</tt>-based exception if the provided settings are not valid.
- */
-template< typename CharT >
-BOOST_LOG_SETUP_API void init_from_settings(basic_settings_section< CharT > const& setts);
-
-
-/*!
- * Sink factory base interface
- */
-template< typename CharT >
-struct sink_factory
-{
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Settings section type
- typedef basic_settings_section< char_type > settings_section;
-
- /*!
- * Default constructor
- */
- BOOST_DEFAULTED_FUNCTION(sink_factory(), {})
-
- /*!
- * Virtual destructor
- */
- virtual ~sink_factory() {}
-
- /*!
- * The function creates a formatter for the specified attribute.
- *
- * \param settings Sink parameters
- */
- virtual shared_ptr< sinks::sink > create_sink(settings_section const& settings) = 0;
-
- BOOST_DELETED_FUNCTION(sink_factory(sink_factory const&))
- BOOST_DELETED_FUNCTION(sink_factory& operator= (sink_factory const&))
-};
-
-/*!
- * \brief The function registers a factory for a custom sink
- *
- * The function registers a factory for a sink. The factory will be called to create sink
- * instance when the parser discovers the specified sink type in the settings file. The
- * factory must accept a map of parameters [parameter name -> parameter value] that it
- * may use to initialize the sink. The factory must return a non-NULL pointer to the
- * constructed sink instance.
- *
- * \param sink_name The custom sink name. Must point to a zero-terminated sequence of characters,
- * must not be NULL.
- * \param factory Pointer to the custom sink factory. Must not be NULL.
- */
-template< typename CharT >
-BOOST_LOG_SETUP_API void register_sink_factory(const char* sink_name, shared_ptr< sink_factory< CharT > > const& factory);
-
-/*!
- * \brief The function registers a factory for a custom sink
- *
- * The function registers a factory for a sink. The factory will be called to create sink
- * instance when the parser discovers the specified sink type in the settings file. The
- * factory must accept a map of parameters [parameter name -> parameter value] that it
- * may use to initialize the sink. The factory must return a non-NULL pointer to the
- * constructed sink instance.
- *
- * \param sink_name The custom sink name
- * \param factory Pointer to the custom sink factory. Must not be NULL.
- */
-template< typename CharT >
-inline void register_sink_factory(std::string const& sink_name, shared_ptr< sink_factory< CharT > > const& factory)
-{
- register_sink_factory(sink_name.c_str(), factory);
-}
-
-/*!
- * \brief The function registers a factory for a custom sink
- *
- * The function registers a factory for a sink. The factory will be called to create sink
- * instance when the parser discovers the specified sink type in the settings file. The
- * factory must accept a map of parameters [parameter name -> parameter value] that it
- * may use to initialize the sink. The factory must return a non-NULL pointer to the
- * constructed sink instance.
- *
- * \param sink_name The custom sink name. Must point to a zero-terminated sequence of characters,
- * must not be NULL.
- * \param factory Pointer to the custom sink factory. Must not be NULL.
- */
-template< typename FactoryT >
-inline typename boost::enable_if_c<
- is_base_and_derived< sink_factory< typename FactoryT::char_type >, FactoryT >::value
->::type register_sink_factory(const char* sink_name, shared_ptr< FactoryT > const& factory)
-{
- typedef sink_factory< typename FactoryT::char_type > factory_base;
- register_sink_factory(sink_name, boost::static_pointer_cast< factory_base >(factory));
-}
-
-/*!
- * \brief The function registers a factory for a custom sink
- *
- * The function registers a factory for a sink. The factory will be called to create sink
- * instance when the parser discovers the specified sink type in the settings file. The
- * factory must accept a map of parameters [parameter name -> parameter value] that it
- * may use to initialize the sink. The factory must return a non-NULL pointer to the
- * constructed sink instance.
- *
- * \param sink_name The custom sink name
- * \param factory Pointer to the custom sink factory. Must not be NULL.
- */
-template< typename FactoryT >
-inline typename boost::enable_if_c<
- is_base_and_derived< sink_factory< typename FactoryT::char_type >, FactoryT >::value
->::type register_sink_factory(std::string const& sink_name, shared_ptr< FactoryT > const& factory)
-{
- typedef sink_factory< typename FactoryT::char_type > factory_base;
- register_sink_factory(sink_name.c_str(), boost::static_pointer_cast< factory_base >(factory));
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_SETUP_FROM_SETTINGS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/setup/from_stream.hpp b/contrib/restricted/boost/boost/log/utility/setup/from_stream.hpp
deleted file mode 100644
index f50fe2d347..0000000000
--- a/contrib/restricted/boost/boost/log/utility/setup/from_stream.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file from_stream.hpp
- * \author Andrey Semashev
- * \date 22.03.2008
- *
- * The header contains definition of facilities that allows to initialize the library from a
- * settings file.
- */
-
-#ifndef BOOST_LOG_UTILITY_SETUP_FROM_STREAM_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_SETUP_FROM_STREAM_HPP_INCLUDED_
-
-#include <iosfwd>
-#include <boost/log/detail/setup_config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * The function initializes the logging library from a stream containing logging settings
- *
- * \param strm Stream, that provides library settings
- *
- * \b Throws: An <tt>std::exception</tt>-based exception if the read data cannot be interpreted as the library settings
- */
-template< typename CharT >
-BOOST_LOG_SETUP_API void init_from_stream(std::basic_istream< CharT >& strm);
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_SETUP_FROM_STREAM_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/setup/settings.hpp b/contrib/restricted/boost/boost/log/utility/setup/settings.hpp
deleted file mode 100644
index f35bf8506c..0000000000
--- a/contrib/restricted/boost/boost/log/utility/setup/settings.hpp
+++ /dev/null
@@ -1,643 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file settings.hpp
- * \author Andrey Semashev
- * \date 11.10.2009
- *
- * The header contains definition of the library settings container.
- */
-
-#ifndef BOOST_LOG_UTILITY_SETUP_SETTINGS_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_SETUP_SETTINGS_HPP_INCLUDED_
-
-#include <cstddef>
-#include <string>
-#include <iterator>
-#include <boost/assert.hpp>
-#include <boost/move/core.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/iterator/iterator_adaptor.hpp>
-#include <boost/optional/optional.hpp>
-#include <boost/property_tree/ptree.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/log/detail/setup_config.hpp>
-#include <boost/log/detail/native_typeof.hpp>
-#if !defined(BOOST_LOG_TYPEOF)
-#include <boost/core/enable_if.hpp>
-#endif
-#if defined(BOOST_LOG_TYPEOF) && defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES)
-#include <boost/utility/declval.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-// This workaround is needed for MSVC 10 to work around ICE caused by stack overflow
-template< typename SectionT, bool IsConstV >
-struct basic_settings_section_iterator_base;
-
-template< typename SectionT >
-struct basic_settings_section_iterator_base< SectionT, true >
-{
- typedef typename SectionT::BOOST_NESTED_TEMPLATE iter< true > iterator_type;
- typedef typename SectionT::property_tree_type::const_iterator base_iterator_type;
- typedef iterator_adaptor<
- iterator_type,
- base_iterator_type,
- SectionT,
- use_default,
- const SectionT
- > type;
-};
-
-template< typename SectionT >
-struct basic_settings_section_iterator_base< SectionT, false >
-{
- typedef typename SectionT::BOOST_NESTED_TEMPLATE iter< false > iterator_type;
- typedef typename SectionT::property_tree_type::iterator base_iterator_type;
- typedef iterator_adaptor<
- iterator_type,
- base_iterator_type,
- SectionT,
- use_default,
- SectionT
- > type;
-};
-
-} // namespace aux
-
-/*!
- * \brief The class represents a reference to the settings container section
- *
- * The section refers to a sub-tree of the library settings container. It does not
- * own the referred sub-tree but allows for convenient access to parameters within the subsection.
- */
-template< typename CharT >
-class basic_settings_section
-{
- template< typename SectionT, bool IsConstV >
- friend struct aux::basic_settings_section_iterator_base;
-
-public:
- //! Character type
- typedef CharT char_type;
- //! String type
- typedef std::basic_string< char_type > string_type;
- //! Property tree type
- typedef property_tree::basic_ptree< std::string, string_type > property_tree_type;
- //! Property tree path type
- typedef typename property_tree_type::path_type path_type;
-
-private:
-#if !defined(BOOST_LOG_DOXYGEN_PASS)
-
- //! A reference proxy object
-#ifndef BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS
- template< bool IsConstV >
- class ref;
- template< bool IsConstV >
- friend class ref;
-#endif
- template< bool IsConstV >
- class ref
- {
- private:
- typedef typename mpl::if_c<
- IsConstV,
- basic_settings_section< char_type > const,
- basic_settings_section< char_type >
- >::type section_type;
-
- private:
- section_type& m_section;
- path_type m_path;
-
- public:
- ref(section_type& section, std::string const& section_name) :
- m_section(section),
- m_path(section_name)
- {
- }
- ref(section_type& section, const char* section_name) :
- m_section(section),
- m_path(section_name)
- {
- }
-
- ref& operator[] (std::string const& param_name)
- {
- m_path /= param_name;
- return *this;
- }
-
- ref& operator= (string_type const& value)
- {
- BOOST_ASSERT(m_section.m_ptree != NULL);
- m_section.m_ptree->put(m_path, value);
- return *this;
- }
-
- template< bool V >
- ref& operator= (ref< V > const& value)
- {
- BOOST_ASSERT(m_section.m_ptree != NULL);
- optional< string_type > val = value.get();
- if (!!val)
- {
- m_section.m_ptree->put(m_path, val);
- }
- else if (optional< property_tree_type& > node = m_section.m_ptree->get_child_optional(m_path))
- {
- node.put_value(string_type());
- }
-
- return *this;
- }
-
- template< typename T >
- ref& operator= (T const& value)
- {
- BOOST_ASSERT(m_section.m_ptree != NULL);
- m_section.m_ptree->put(m_path, value);
- return *this;
- }
-
- BOOST_EXPLICIT_OPERATOR_BOOL()
-
- bool operator! () const
- {
- return !m_section.m_ptree || !m_section.m_ptree->get_child_optional(m_path);
- }
-
- std::string get_name() const
- {
- return m_path.dump();
- }
-
- operator optional< string_type > () const
- {
- return get();
- }
-
- optional< string_type > get() const
- {
- if (m_section.m_ptree)
- return m_section.m_ptree->template get_optional< string_type >(m_path);
- else
- return optional< string_type >();
- }
-
- template< typename T >
- optional< T > get() const
- {
- if (m_section.m_ptree)
- return m_section.m_ptree->template get_optional< T >(m_path);
- else
- return optional< T >();
- }
-
- operator section_type () const
- {
- return get_section();
- }
-
- section_type get_section() const
- {
- if (m_section.m_ptree)
- return section_type(m_section.m_ptree->get_child_optional(m_path).get_ptr());
- else
- return section_type();
- }
-
-#if defined(BOOST_LOG_TYPEOF) && !(defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__) && !defined(__PATHSCALE__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 5))
-#if !defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES)
- template< typename T >
- auto or_default(T const& def_value) const -> BOOST_LOG_TYPEOF(property_tree_type().get(typename property_tree_type::path_type(), def_value))
- {
- if (m_section.m_ptree)
- return m_section.m_ptree->get(m_path, def_value);
- else
- return def_value;
- }
-#else
- // GCC up to 4.5 (inclusively) segfaults on the following code, if C++11 mode is not enabled
- template< typename T >
- BOOST_LOG_TYPEOF(property_tree_type().get(typename property_tree_type::path_type(), boost::declval< T >())) or_default(T const& def_value) const
- {
- if (m_section.m_ptree)
- return m_section.m_ptree->get(m_path, def_value);
- else
- return def_value;
- }
-#endif
-#else
- template< typename T >
- T or_default(T const& def_value) const
- {
- if (m_section.m_ptree)
- return m_section.m_ptree->get(m_path, def_value);
- else
- return def_value;
- }
-
- template< typename T >
- typename boost::enable_if_c< boost::property_tree::detail::is_character< T >::value, std::basic_string< T > >::type
- or_default(const T* def_value) const
- {
- if (m_section.m_ptree)
- return m_section.m_ptree->get(m_path, def_value);
- else
- return def_value;
- }
-#endif
- string_type or_default(string_type const& def_value) const
- {
- return get().get_value_or(def_value);
- }
- string_type or_default(typename string_type::value_type const* def_value) const
- {
- if (optional< string_type > val = get())
- return val.get();
- else
- return def_value;
- }
- };
-
- //! An iterator over subsections and parameters
-#ifndef BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS
- template< bool IsConstV >
- class iter;
- template< bool IsConstV >
- friend class iter;
-#endif
- template< bool IsConstV >
- class iter :
- public aux::basic_settings_section_iterator_base< basic_settings_section< char_type >, IsConstV >::type
- {
- friend class boost::iterator_core_access;
-
- typedef typename iter::iterator_adaptor_ iterator_adaptor_;
- // NOTE: This typedef must not come from iterator_adaptor_::base_type in order to work around MSVC 10 ICE
- typedef typename aux::basic_settings_section_iterator_base< basic_settings_section< char_type >, IsConstV >::base_iterator_type base_iterator_type;
-
- public:
- typedef typename iterator_adaptor_::reference reference;
-
- public:
- BOOST_DEFAULTED_FUNCTION(iter(), {})
- template< bool OtherIsConstV >
- iter(iter< OtherIsConstV > const& that) : iterator_adaptor_(that.base()) {}
- explicit iter(base_iterator_type const& it) : iterator_adaptor_(it) {}
-
- //! Returns the section name
- std::string const& get_name() const
- {
- return this->base()->first;
- }
-
- private:
- reference dereference() const
- {
- return reference(const_cast< property_tree_type* >(&this->base()->second));
- }
- };
-
-public:
- typedef ref< true > const_reference;
- typedef ref< false > reference;
- typedef iter< true > const_iterator;
- typedef iter< false > iterator;
- typedef std::reverse_iterator< const_iterator > const_reverse_iterator;
- typedef std::reverse_iterator< iterator > reverse_iterator;
-
-#else
-
-public:
- /*!
- * Constant reference to the parameter value
- */
- typedef implementation_defined const_reference;
- /*!
- * Mutable reference to the parameter value
- */
- typedef implementation_defined reference;
-
- /*!
- * Constant iterator over nested parameters and subsections
- */
- typedef implementation_defined const_iterator;
- /*!
- * Mutable iterator over nested parameters and subsections
- */
- typedef implementation_defined iterator;
-
-#endif // !defined(BOOST_LOG_DOXYGEN_PASS)
-
-protected:
- //! Parameters
- property_tree_type* m_ptree;
-
-public:
- /*!
- * Default constructor. Creates an empty settings container.
- */
- basic_settings_section() : m_ptree(NULL)
- {
- }
-
- /*!
- * Copy constructor.
- */
- basic_settings_section(basic_settings_section const& that) : m_ptree(that.m_ptree)
- {
- }
-
- /*!
- * Checks if the section refers to the container.
- */
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
-
- /*!
- * Checks if the section refers to the container.
- */
- bool operator! () const BOOST_NOEXCEPT { return !m_ptree; }
-
- /*!
- * Returns an iterator over the nested subsections and parameters.
- */
- iterator begin()
- {
- if (m_ptree)
- return iterator(m_ptree->begin());
- else
- return iterator();
- }
-
- /*!
- * Returns an iterator over the nested subsections and parameters.
- */
- iterator end()
- {
- if (m_ptree)
- return iterator(m_ptree->end());
- else
- return iterator();
- }
-
- /*!
- * Returns an iterator over the nested subsections and parameters.
- */
- const_iterator begin() const
- {
- if (m_ptree)
- return const_iterator(m_ptree->begin());
- else
- return const_iterator();
- }
-
- /*!
- * Returns an iterator over the nested subsections and parameters.
- */
- const_iterator end() const
- {
- if (m_ptree)
- return const_iterator(m_ptree->end());
- else
- return const_iterator();
- }
-
- /*!
- * Returns a reverse iterator over the nested subsections and parameters.
- */
- reverse_iterator rbegin() { return reverse_iterator(begin()); }
-
- /*!
- * Returns a reverse iterator over the nested subsections and parameters.
- */
- reverse_iterator rend() { return reverse_iterator(end()); }
-
- /*!
- * Returns a reverse iterator over the nested subsections and parameters.
- */
- const_reverse_iterator rbegin() const { return const_reverse_iterator(begin()); }
-
- /*!
- * Returns a reverse iterator over the nested subsections and parameters.
- */
- const_reverse_iterator rend() const { return const_reverse_iterator(end()); }
-
- /*!
- * Checks if the container is empty (i.e. contains no sections and parameters).
- */
- bool empty() const { return m_ptree == NULL || m_ptree->empty(); }
-
- /*!
- * Accessor to a single parameter. This operator should be used in conjunction
- * with the subsequent subscript operator that designates the parameter name.
- *
- * \param section_name The name of the section in which the parameter resides
- * \return An unspecified reference type that can be used for parameter name specifying
- */
- reference operator[] (std::string const& section_name) { return reference(*this, section_name); }
- /*!
- * Accessor to a single parameter. This operator should be used in conjunction
- * with the subsequent subscript operator that designates the parameter name.
- *
- * \param section_name The name of the section in which the parameter resides
- * \return An unspecified reference type that can be used for parameter name specifying
- */
- const_reference operator[] (std::string const& section_name) const { return const_reference(*this, section_name); }
-
- /*!
- * Accessor to a single parameter. This operator should be used in conjunction
- * with the subsequent subscript operator that designates the parameter name.
- *
- * \param section_name The name of the section in which the parameter resides
- * \return An unspecified reference type that can be used for parameter name specifying
- */
- reference operator[] (const char* section_name) { return reference(*this, section_name); }
- /*!
- * Accessor to a single parameter. This operator should be used in conjunction
- * with the subsequent subscript operator that designates the parameter name.
- *
- * \param section_name The name of the section in which the parameter resides
- * \return An unspecified reference type that can be used for parameter name specifying
- */
- const_reference operator[] (const char* section_name) const { return const_reference(*this, section_name); }
-
- /*!
- * Accessor for the embedded property tree
- */
- property_tree_type const& property_tree() const { return *m_ptree; }
- /*!
- * Accessor for the embedded property tree
- */
- property_tree_type& property_tree() { return *m_ptree; }
-
- /*!
- * Checks if the specified section is present in the container.
- *
- * \param section_name The name of the section
- */
- bool has_section(string_type const& section_name) const
- {
- return m_ptree != NULL && !!m_ptree->get_child_optional(section_name);
- }
- /*!
- * Checks if the specified parameter is present in the container.
- *
- * \param section_name The name of the section in which the parameter resides
- * \param param_name The name of the parameter
- */
- bool has_parameter(string_type const& section_name, string_type const& param_name) const
- {
- if (m_ptree)
- {
- optional< property_tree_type& > section = m_ptree->get_child_optional(section_name);
- if (!!section)
- return (section->find(param_name) != section->not_found());
- }
-
- return false;
- }
-
- /*!
- * Swaps two references to settings sections.
- */
- void swap(basic_settings_section& that)
- {
- property_tree_type* const p = m_ptree;
- m_ptree = that.m_ptree;
- that.m_ptree = p;
- }
-
-protected:
- explicit basic_settings_section(property_tree_type* tree) : m_ptree(tree)
- {
- }
-};
-
-template< typename CharT >
-inline void swap(basic_settings_section< CharT >& left, basic_settings_section< CharT >& right)
-{
- left.swap(right);
-}
-
-
-/*!
- * \brief The class represents settings container
- *
- * All settings are presented as a number of named parameters divided into named sections.
- * The parameters values are stored as strings. Individual parameters may be queried via subscript operators, like this:
- *
- * <code><pre>
- * optional< string > param = settings["Section1"]["Param1"]; // reads parameter "Param1" in section "Section1"
- * // returns an empty value if no such parameter exists
- * settings["Section2"]["Param2"] = 10; // sets the parameter "Param2" in section "Section2"
- * // to value "10"
- * </pre></code>
- *
- * There are also other methods to work with parameters.
- */
-template< typename CharT >
-class basic_settings :
- public basic_settings_section< CharT >
-{
- typedef basic_settings this_type;
- BOOST_COPYABLE_AND_MOVABLE(this_type)
-
-public:
- //! Section type
- typedef basic_settings_section< CharT > section;
- //! Property tree type
- typedef typename section::property_tree_type property_tree_type;
-
-public:
- /*!
- * Default constructor. Creates an empty settings container.
- */
- basic_settings() : section(new property_tree_type())
- {
- }
-
- /*!
- * Copy constructor.
- */
- basic_settings(basic_settings const& that) :
- section(that.m_ptree ? new property_tree_type(*that.m_ptree) : static_cast< property_tree_type* >(NULL))
- {
- }
-
- /*!
- * Move constructor.
- */
- basic_settings(BOOST_RV_REF(this_type) that)
- {
- this->swap(that);
- }
- /*!
- * Initializing constructor. Creates a settings container with the copy of the specified property tree.
- */
- explicit basic_settings(property_tree_type const& tree) : section(new property_tree_type(tree))
- {
- }
-
- /*!
- * Destructor
- */
- ~basic_settings()
- {
- delete this->m_ptree;
- }
-
- /*!
- * Copy assignment operator.
- */
- basic_settings& operator= (BOOST_COPY_ASSIGN_REF(basic_settings) that)
- {
- if (this != &that)
- {
- basic_settings tmp = that;
- this->swap(tmp);
- }
- return *this;
- }
- /*!
- * Move assignment operator.
- */
- basic_settings& operator= (BOOST_RV_REF(basic_settings) that)
- {
- this->swap(that);
- return *this;
- }
-};
-
-#ifdef BOOST_LOG_USE_CHAR
-typedef basic_settings< char > settings; //!< Convenience typedef for narrow-character logging
-typedef basic_settings_section< char > settings_section; //!< Convenience typedef for narrow-character logging
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-typedef basic_settings< wchar_t > wsettings; //!< Convenience typedef for wide-character logging
-typedef basic_settings_section< wchar_t > wsettings_section; //!< Convenience typedef for wide-character logging
-#endif
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_SETUP_SETTINGS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/setup/settings_parser.hpp b/contrib/restricted/boost/boost/log/utility/setup/settings_parser.hpp
deleted file mode 100644
index 1440896d72..0000000000
--- a/contrib/restricted/boost/boost/log/utility/setup/settings_parser.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file settings_parser.hpp
- * \author Andrey Semashev
- * \date 20.07.2012
- *
- * The header contains definition of a settings parser function.
- */
-
-#ifndef BOOST_LOG_UTILITY_SETUP_SETTINGS_PARSER_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_SETUP_SETTINGS_PARSER_HPP_INCLUDED_
-
-#include <iosfwd>
-#include <boost/log/detail/setup_config.hpp>
-#include <boost/log/utility/setup/settings.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * The function parses library settings from an input stream
- *
- * \param strm Stream, that provides library settings
- *
- * \b Throws: An <tt>std::exception</tt>-based exception if the read data cannot be interpreted as the library settings
- */
-template< typename CharT >
-BOOST_LOG_SETUP_API basic_settings< CharT > parse_settings(std::basic_istream< CharT >& strm);
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_SETUP_SETTINGS_PARSER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/strictest_lock.hpp b/contrib/restricted/boost/boost/log/utility/strictest_lock.hpp
deleted file mode 100644
index 5dd48b4ffb..0000000000
--- a/contrib/restricted/boost/boost/log/utility/strictest_lock.hpp
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file utility/strictest_lock.hpp
- * \author Andrey Semashev
- * \date 30.05.2010
- *
- * The header contains definition of the \c strictest_lock metafunction that
- * allows to select a lock with the strictest access requirements.
- */
-
-#ifndef BOOST_LOG_UTILITY_STRICTEST_LOCK_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_STRICTEST_LOCK_HPP_INCLUDED_
-
-#include <boost/mpl/integral_c.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/locks.hpp>
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/arithmetic/sub.hpp>
-#include <boost/preprocessor/arithmetic/inc.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/repetition/enum_trailing.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-#include <boost/log/detail/pp_identity.hpp>
-#endif
-#if defined(BOOST_LOG_BROKEN_CONSTANT_EXPRESSIONS)
-#include <boost/mpl/less.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-#if !defined(BOOST_LOG_STRICTEST_LOCK_LIMIT)
-/*!
- * The macro defines the maximum number of template arguments that the \c strictest_lock
- * metafunction accepts. Should not be less than 2.
- */
-#define BOOST_LOG_STRICTEST_LOCK_LIMIT 10
-#endif // BOOST_LOG_STRICTEST_LOCK_LIMIT
-#if BOOST_LOG_STRICTEST_LOCK_LIMIT < 2
-#error The BOOST_LOG_STRICTEST_LOCK_LIMIT macro should not be less than 2
-#endif
-#endif // defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! Access modes for different types of locks
-enum lock_access_mode
-{
- unlocked_access, //!< A thread that owns this kind of lock doesn't restrict other threads in any way
- shared_access, //!< A thread that owns this kind of lock requires that no other thread modify the locked data
- exclusive_access //!< A thread that owns this kind of lock requires that no other thread has access to the locked data
-};
-
-//! The trait allows to select an access mode by the lock type
-template< typename LockT >
-struct thread_access_mode_of;
-
-template< typename MutexT >
-struct thread_access_mode_of< no_lock< MutexT > > : mpl::integral_c< lock_access_mode, unlocked_access >
-{
-};
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-template< typename MutexT >
-struct thread_access_mode_of< lock_guard< MutexT > > : mpl::integral_c< lock_access_mode, exclusive_access >
-{
-};
-
-template< typename MutexT >
-struct thread_access_mode_of< shared_lock_guard< MutexT > > : mpl::integral_c< lock_access_mode, shared_access >
-{
-};
-
-template< typename MutexT >
-struct thread_access_mode_of< unique_lock< MutexT > > : mpl::integral_c< lock_access_mode, exclusive_access >
-{
-};
-
-template< typename MutexT >
-struct thread_access_mode_of< shared_lock< MutexT > > : mpl::integral_c< lock_access_mode, shared_access >
-{
-};
-
-template< typename MutexT >
-struct thread_access_mode_of< upgrade_lock< MutexT > > : mpl::integral_c< lock_access_mode, shared_access >
-{
-};
-
-template< typename MutexT >
-struct thread_access_mode_of< boost::log::aux::exclusive_lock_guard< MutexT > > : mpl::integral_c< lock_access_mode, exclusive_access >
-{
-};
-
-template< typename MutexT >
-struct thread_access_mode_of< boost::log::aux::shared_lock_guard< MutexT > > : mpl::integral_c< lock_access_mode, shared_access >
-{
-};
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-namespace aux {
-
-//! The metafunction selects the most strict lock type of the two
-template<
- typename LeftLockT,
- typename RightLockT,
-#if !defined(BOOST_LOG_BROKEN_CONSTANT_EXPRESSIONS)
- bool CondV = (thread_access_mode_of< LeftLockT >::value < thread_access_mode_of< RightLockT >::value)
-#else
- bool CondV = mpl::less< thread_access_mode_of< LeftLockT >, thread_access_mode_of< RightLockT > >::value
-#endif
->
-struct strictest_lock_impl
-{
- typedef RightLockT type;
-};
-template< typename LeftLockT, typename RightLockT >
-struct strictest_lock_impl< LeftLockT, RightLockT, false >
-{
- typedef LeftLockT type;
-};
-
-} // namespace aux
-
-#if defined(BOOST_LOG_DOXYGEN_PASS)
-
-/*!
- * \brief The metafunction selects the most strict lock type of the specified.
- *
- * The template supports all lock types provided by the Boost.Thread
- * library (except for \c upgrade_to_unique_lock), plus additional
- * pseudo-lock \c no_lock that indicates no locking at all.
- * Exclusive locks are considered the strictest, shared locks are weaker,
- * and \c no_lock is the weakest.
- */
-template< typename... LocksT >
-struct strictest_lock
-{
- typedef implementation_defined type;
-};
-
-#else // defined(BOOST_LOG_DOXYGEN_PASS)
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-template< typename LockT, typename... LocksT >
-struct strictest_lock;
-
-template< typename LockT >
-struct strictest_lock< LockT >
-{
- typedef LockT type;
-};
-
-template< typename LeftLockT, typename RightLockT >
-struct strictest_lock< LeftLockT, RightLockT >
-{
- typedef typename aux::strictest_lock_impl< LeftLockT, RightLockT >::type type;
-};
-
-template< typename LeftLockT, typename RightLockT, typename... LocksT >
-struct strictest_lock< LeftLockT, RightLockT, LocksT... >
-{
- typedef typename strictest_lock<
- typename aux::strictest_lock_impl< LeftLockT, RightLockT >::type,
- LocksT...
- >::type type;
-};
-
-#else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-# define BOOST_LOG_TYPE_INTERNAL(z, i, data) BOOST_PP_CAT(T, BOOST_PP_INC(i))
-
-template<
- typename T,
- BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_PP_DEC(BOOST_LOG_STRICTEST_LOCK_LIMIT), typename T, void)
->
-struct strictest_lock
-{
- typedef typename strictest_lock<
- typename boost::log::aux::strictest_lock_impl< T, T0 >::type
- BOOST_PP_ENUM_TRAILING(BOOST_PP_SUB(BOOST_LOG_STRICTEST_LOCK_LIMIT, 2), BOOST_LOG_TYPE_INTERNAL, ~)
- >::type type;
-};
-
-template< typename T >
-struct strictest_lock<
- T
- BOOST_PP_ENUM_TRAILING(BOOST_PP_DEC(BOOST_LOG_STRICTEST_LOCK_LIMIT), BOOST_LOG_PP_IDENTITY, void)
->
-{
- typedef T type;
-};
-
-# undef BOOST_LOG_TYPE_INTERNAL
-
-#endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
-#endif // defined(BOOST_LOG_DOXYGEN_PASS)
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_STRICTEST_LOCK_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/string_literal.hpp b/contrib/restricted/boost/boost/log/utility/string_literal.hpp
deleted file mode 100644
index af5bf3640a..0000000000
--- a/contrib/restricted/boost/boost/log/utility/string_literal.hpp
+++ /dev/null
@@ -1,711 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file string_literal.hpp
- * \author Andrey Semashev
- * \date 24.06.2007
- *
- * The header contains implementation of a constant string literal wrapper.
- */
-
-#ifndef BOOST_LOG_UTILITY_STRING_LITERAL_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_STRING_LITERAL_HPP_INCLUDED_
-
-#include <cstddef>
-#include <stdexcept>
-#include <iosfwd>
-#include <ios> // std::streamsize
-#include <string>
-#include <iterator>
-#include <boost/throw_exception.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/string_literal_fwd.hpp>
-#include <boost/log/detail/sfinae_tools.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief String literal wrapper
- *
- * The \c basic_string_literal is a thin wrapper around a constant string literal.
- * It provides interface similar to STL strings, but because of read-only nature
- * of string literals, lacks ability to modify string contents. However,
- * \c basic_string_literal objects can be assigned to and cleared.
- *
- * The main advantage of this class comparing to other string classes is that
- * it doesn't dynamically allocate memory and therefore is fast, thin and exception safe.
- */
-template< typename CharT, typename TraitsT >
-class basic_string_literal
-{
- //! Self type
- typedef basic_string_literal< CharT, TraitsT > this_type;
-
-public:
- typedef CharT value_type;
- typedef TraitsT traits_type;
-
- typedef std::size_t size_type;
- typedef std::ptrdiff_t difference_type;
- typedef const value_type* const_pointer;
- typedef value_type const& const_reference;
- typedef const value_type* const_iterator;
- typedef std::reverse_iterator< const_iterator > const_reverse_iterator;
-
- //! Corresponding STL string type
- typedef std::basic_string< value_type, traits_type > string_type;
-
-private:
- //! Pointer to the beginning of the literal
- const_pointer m_pStart;
- //! Length
- size_type m_Len;
-
- //! Empty string literal to support \c clear
-#if !defined(BOOST_LOG_NO_CXX11_CONSTEXPR_DATA_MEMBER_BRACE_INITIALIZERS)
- static constexpr value_type g_EmptyString[1] = { 0 };
-#else
- static const value_type g_EmptyString[1];
-#endif
-
-public:
- /*!
- * Constructor
- *
- * \post <tt>empty() == true</tt>
- */
- BOOST_CONSTEXPR basic_string_literal() BOOST_NOEXCEPT : m_pStart(g_EmptyString), m_Len(0) { }
-
- /*!
- * Constructor from a string literal
- *
- * \post <tt>*this == p</tt>
- * \param p A zero-terminated constant sequence of characters
- */
- template< typename T, size_type LenV >
- BOOST_CONSTEXPR basic_string_literal(T(&p)[LenV]
- //! \cond
- , typename boost::enable_if_c< is_same< T, const value_type >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()
- //! \endcond
- ) BOOST_NOEXCEPT
- : m_pStart(p), m_Len(LenV - 1)
- {
- }
-
- /*!
- * Copy constructor
- *
- * \post <tt>*this == that</tt>
- * \param that Source literal to copy string from
- */
- BOOST_CONSTEXPR basic_string_literal(basic_string_literal const& that) BOOST_NOEXCEPT : m_pStart(that.m_pStart), m_Len(that.m_Len) {}
-
- /*!
- * Assignment operator
- *
- * \post <tt>*this == that</tt>
- * \param that Source literal to copy string from
- */
- BOOST_CXX14_CONSTEXPR this_type& operator= (this_type const& that) BOOST_NOEXCEPT
- {
- return assign(that);
- }
- /*!
- * Assignment from a string literal
- *
- * \post <tt>*this == p</tt>
- * \param p A zero-terminated constant sequence of characters
- */
- template< typename T, size_type LenV >
- BOOST_CXX14_CONSTEXPR
-#ifndef BOOST_LOG_DOXYGEN_PASS
- typename boost::enable_if_c<
- is_same< T, const value_type >::value,
- this_type&
- >::type
-#else
- this_type&
-#endif // BOOST_LOG_DOXYGEN_PASS
- operator= (T(&p)[LenV]) BOOST_NOEXCEPT
- {
- return assign(p);
- }
-
- /*!
- * Lexicographical comparison (equality)
- *
- * \param that Comparand
- * \return \c true if the comparand string equals to this string, \c false otherwise
- */
- bool operator== (this_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.m_pStart, that.m_Len) == 0);
- }
- /*!
- * Lexicographical comparison (equality)
- *
- * \param str Comparand. Must point to a zero-terminated sequence of characters, must not be NULL.
- * \return \c true if the comparand string equals to this string, \c false otherwise
- */
- bool operator== (const_pointer str) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, str, traits_type::length(str)) == 0);
- }
- /*!
- * Lexicographical comparison (equality)
- *
- * \param that Comparand
- * \return \c true if the comparand string equals to this string, \c false otherwise
- */
- bool operator== (string_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.c_str(), that.size()) == 0);
- }
-
- /*!
- * Lexicographical comparison (inequality)
- *
- * \param that Comparand
- * \return \c true if the comparand string is not equal to this string, \c false otherwise
- */
- bool operator!= (this_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.m_pStart, that.m_Len) != 0);
- }
- /*!
- * Lexicographical comparison (inequality)
- *
- * \param str Comparand. Must point to a zero-terminated sequence of characters, must not be NULL.
- * \return \c true if the comparand string is not equal to this string, \c false otherwise
- */
- bool operator!= (const_pointer str) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, str, traits_type::length(str)) != 0);
- }
- /*!
- * Lexicographical comparison (inequality)
- *
- * \param that Comparand
- * \return \c true if the comparand string is not equal to this string, \c false otherwise
- */
- bool operator!= (string_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.c_str(), that.size()) != 0);
- }
-
- /*!
- * Lexicographical comparison (less ordering)
- *
- * \param that Comparand
- * \return \c true if this string is less than the comparand, \c false otherwise
- */
- bool operator< (this_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.m_pStart, that.m_Len) < 0);
- }
- /*!
- * Lexicographical comparison (less ordering)
- *
- * \param str Comparand. Must point to a zero-terminated sequence of characters, must not be NULL.
- * \return \c true if this string is less than the comparand, \c false otherwise
- */
- bool operator< (const_pointer str) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, str, traits_type::length(str)) < 0);
- }
- /*!
- * Lexicographical comparison (less ordering)
- *
- * \param that Comparand
- * \return \c true if this string is less than the comparand, \c false otherwise
- */
- bool operator< (string_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.c_str(), that.size()) < 0);
- }
-
- /*!
- * Lexicographical comparison (less or equal ordering)
- *
- * \param that Comparand
- * \return \c true if this string is less or equal to the comparand, \c false otherwise
- */
- bool operator<= (this_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.m_pStart, that.m_Len) <= 0);
- }
- /*!
- * Lexicographical comparison (less or equal ordering)
- *
- * \param str Comparand. Must point to a zero-terminated sequence of characters, must not be NULL.
- * \return \c true if this string is less or equal to the comparand, \c false otherwise
- */
- bool operator<= (const_pointer str) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, str, traits_type::length(str)) <= 0);
- }
- /*!
- * Lexicographical comparison (less or equal ordering)
- *
- * \param that Comparand
- * \return \c true if this string is less or equal to the comparand, \c false otherwise
- */
- bool operator<= (string_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.c_str(), that.size()) <= 0);
- }
-
- /*!
- * Lexicographical comparison (greater ordering)
- *
- * \param that Comparand
- * \return \c true if this string is greater than the comparand, \c false otherwise
- */
- bool operator> (this_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.m_pStart, that.m_Len) > 0);
- }
- /*!
- * Lexicographical comparison (greater ordering)
- *
- * \param str Comparand. Must point to a zero-terminated sequence of characters, must not be NULL.
- * \return \c true if this string is greater than the comparand, \c false otherwise
- */
- bool operator> (const_pointer str) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, str, traits_type::length(str)) > 0);
- }
- /*!
- * Lexicographical comparison (greater ordering)
- *
- * \param that Comparand
- * \return \c true if this string is greater than the comparand, \c false otherwise
- */
- bool operator> (string_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.c_str(), that.size()) > 0);
- }
-
- /*!
- * Lexicographical comparison (greater or equal ordering)
- *
- * \param that Comparand
- * \return \c true if this string is greater or equal to the comparand, \c false otherwise
- */
- bool operator>= (this_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.m_pStart, that.m_Len) >= 0);
- }
- /*!
- * Lexicographical comparison (greater or qual ordering)
- *
- * \param str Comparand. Must point to a zero-terminated sequence of characters, must not be NULL.
- * \return \c true if this string is greater or equal to the comparand, \c false otherwise
- */
- bool operator>= (const_pointer str) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, str, traits_type::length(str)) >= 0);
- }
- /*!
- * Lexicographical comparison (greater or equal ordering)
- *
- * \param that Comparand
- * \return \c true if this string is greater or equal to the comparand, \c false otherwise
- */
- bool operator>= (string_type const& that) const BOOST_NOEXCEPT
- {
- return (compare_internal(m_pStart, m_Len, that.c_str(), that.size()) >= 0);
- }
-
- /*!
- * Subscript operator
- *
- * \pre <tt>i < size()</tt>
- * \param i Requested character index
- * \return Constant reference to the requested character
- */
- BOOST_CONSTEXPR const_reference operator[] (size_type i) const BOOST_NOEXCEPT
- {
- return m_pStart[i];
- }
- /*!
- * Checked subscript
- *
- * \param i Requested character index
- * \return Constant reference to the requested character
- *
- * \b Throws: An <tt>std::exception</tt>-based exception if index \a i is out of string boundaries
- */
- const_reference at(size_type i) const
- {
- if (BOOST_UNLIKELY(i >= m_Len))
- BOOST_THROW_EXCEPTION(std::out_of_range("basic_string_literal::at: the index value is out of range"));
- return m_pStart[i];
- }
-
- /*!
- * \return Pointer to the beginning of the literal
- */
- BOOST_CONSTEXPR const_pointer c_str() const BOOST_NOEXCEPT { return m_pStart; }
- /*!
- * \return Pointer to the beginning of the literal
- */
- BOOST_CONSTEXPR const_pointer data() const BOOST_NOEXCEPT { return m_pStart; }
- /*!
- * \return Length of the literal
- */
- BOOST_CONSTEXPR size_type size() const BOOST_NOEXCEPT { return m_Len; }
- /*!
- * \return Length of the literal
- */
- BOOST_CONSTEXPR size_type length() const BOOST_NOEXCEPT { return m_Len; }
-
- /*!
- * \return \c true if the literal is an empty string, \c false otherwise
- */
- BOOST_CONSTEXPR bool empty() const BOOST_NOEXCEPT
- {
- return (m_Len == 0);
- }
-
- /*!
- * \return Iterator that points to the first character of the literal
- */
- BOOST_CONSTEXPR const_iterator begin() const BOOST_NOEXCEPT { return m_pStart; }
- /*!
- * \return Iterator that points after the last character of the literal
- */
- BOOST_CONSTEXPR const_iterator end() const BOOST_NOEXCEPT { return m_pStart + m_Len; }
- /*!
- * \return Reverse iterator that points to the last character of the literal
- */
- const_reverse_iterator rbegin() const BOOST_NOEXCEPT { return const_reverse_iterator(end()); }
- /*!
- * \return Reverse iterator that points before the first character of the literal
- */
- const_reverse_iterator rend() const BOOST_NOEXCEPT { return const_reverse_iterator(begin()); }
-
- /*!
- * \return STL string constructed from the literal
- */
- string_type str() const
- {
- return string_type(m_pStart, m_Len);
- }
-
- /*!
- * The method clears the literal
- *
- * \post <tt>empty() == true</tt>
- */
- BOOST_CXX14_CONSTEXPR void clear() BOOST_NOEXCEPT
- {
- m_pStart = g_EmptyString;
- m_Len = 0;
- }
- /*!
- * The method swaps two literals
- */
- BOOST_CXX14_CONSTEXPR void swap(this_type& that) BOOST_NOEXCEPT
- {
- const_pointer p = m_pStart;
- m_pStart = that.m_pStart;
- that.m_pStart = p;
-
- size_type l = m_Len;
- m_Len = that.m_Len;
- that.m_Len = l;
- }
-
- /*!
- * Assignment from another literal
- *
- * \post <tt>*this == that</tt>
- * \param that Source literal to copy string from
- */
- BOOST_CXX14_CONSTEXPR this_type& assign(this_type const& that) BOOST_NOEXCEPT
- {
- m_pStart = that.m_pStart;
- m_Len = that.m_Len;
- return *this;
- }
- /*!
- * Assignment from another literal
- *
- * \post <tt>*this == p</tt>
- * \param p A zero-terminated constant sequence of characters
- */
- template< typename T, size_type LenV >
- BOOST_CXX14_CONSTEXPR
-#ifndef BOOST_LOG_DOXYGEN_PASS
- typename boost::enable_if_c<
- is_same< T, const value_type >::value,
- this_type&
- >::type
-#else
- this_type&
-#endif // BOOST_LOG_DOXYGEN_PASS
- assign(T(&p)[LenV]) BOOST_NOEXCEPT
- {
- m_pStart = p;
- m_Len = LenV - 1;
- return *this;
- }
-
- /*!
- * The method copies the literal or its portion to an external buffer
- *
- * \pre <tt>pos <= size()</tt>
- * \param str Pointer to the external buffer beginning. Must not be NULL.
- * The buffer must have enough capacity to accommodate the requested number of characters.
- * \param n Maximum number of characters to copy
- * \param pos Starting position to start copying from
- * \return Number of characters copied
- *
- * \b Throws: An <tt>std::exception</tt>-based exception if \a pos is out of range.
- */
- size_type copy(value_type* str, size_type n, size_type pos = 0) const
- {
- if (BOOST_UNLIKELY(pos > m_Len))
- BOOST_THROW_EXCEPTION(std::out_of_range("basic_string_literal::copy: the position is out of range"));
-
- size_type len = m_Len - pos;
- if (len > n)
- len = n;
- traits_type::copy(str, m_pStart + pos, len);
- return len;
- }
-
- /*!
- * Lexicographically compares the argument string to a part of this string
- *
- * \pre <tt>pos <= size()</tt>
- * \param pos Starting position within this string to perform comparison to
- * \param n Length of the substring of this string to perform comparison to
- * \param str Comparand. Must point to a sequence of characters, must not be NULL.
- * \param len Number of characters in the sequence \a str.
- * \return Zero if the comparand equals this string, a negative value if this string is less than the comparand,
- * a positive value if this string is greater than the comparand.
- *
- * \b Throws: An <tt>std::exception</tt>-based exception if \a pos is out of range.
- */
- int compare(size_type pos, size_type n, const_pointer str, size_type len) const
- {
- if (BOOST_UNLIKELY(pos > m_Len))
- BOOST_THROW_EXCEPTION(std::out_of_range("basic_string_literal::compare: the position is out of range"));
-
- size_type compare_size = m_Len - pos;
- if (compare_size > len)
- compare_size = len;
- if (compare_size > n)
- compare_size = n;
- return compare_internal(m_pStart + pos, compare_size, str, compare_size);
- }
- /*!
- * Lexicographically compares the argument string to a part of this string
- *
- * \pre <tt>pos <= size()</tt>
- * \param pos Starting position within this string to perform comparison to
- * \param n Length of the substring of this string to perform comparison to
- * \param str Comparand. Must point to a zero-terminated sequence of characters, must not be NULL.
- * \return Zero if the comparand equals this string, a negative value if this string is less than the comparand,
- * a positive value if this string is greater than the comparand.
- *
- * \b Throws: An <tt>std::exception</tt>-based exception if \a pos is out of range.
- */
- int compare(size_type pos, size_type n, const_pointer str) const BOOST_NOEXCEPT
- {
- return compare(pos, n, str, traits_type::length(str));
- }
- /*!
- * Lexicographically compares the argument string literal to a part of this string
- *
- * \pre <tt>pos <= size()</tt>
- * \param pos Starting position within this string to perform comparison to
- * \param n Length of the substring of this string to perform comparison to
- * \param that Comparand
- * \return Zero if the comparand equals this string, a negative value if this string is less than the comparand,
- * a positive value if this string is greater than the comparand.
- *
- * \b Throws: An <tt>std::exception</tt>-based exception if \a pos is out of range.
- */
- int compare(size_type pos, size_type n, this_type const& that) const BOOST_NOEXCEPT
- {
- return compare(pos, n, that.c_str(), that.size());
- }
- /*!
- * Lexicographically compares the argument string to this string
- *
- * \param str Comparand. Must point to a sequence of characters, must not be NULL.
- * \param len Number of characters in the sequence \a str.
- * \return Zero if the comparand equals this string, a negative value if this string is less than the comparand,
- * a positive value if this string is greater than the comparand.
- */
- int compare(const_pointer str, size_type len) const BOOST_NOEXCEPT
- {
- return compare(0, m_Len, str, len);
- }
- /*!
- * Lexicographically compares the argument string to this string
- *
- * \param str Comparand. Must point to a zero-terminated sequence of characters, must not be NULL.
- * \return Zero if the comparand equals this string, a negative value if this string is less than the comparand,
- * a positive value if this string is greater than the comparand.
- */
- int compare(const_pointer str) const BOOST_NOEXCEPT
- {
- return compare(0, m_Len, str, traits_type::length(str));
- }
- /*!
- * Lexicographically compares the argument string to this string
- *
- * \param that Comparand
- * \return Zero if the comparand equals this string, a negative value if this string is less than the comparand,
- * a positive value if this string is greater than the comparand.
- */
- int compare(this_type const& that) const BOOST_NOEXCEPT
- {
- return compare(0, m_Len, that.c_str(), that.size());
- }
-
-private:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Internal comparison implementation
- static int compare_internal(const_pointer pLeft, size_type LeftLen, const_pointer pRight, size_type RightLen) BOOST_NOEXCEPT
- {
- if (pLeft != pRight)
- {
- const int result = traits_type::compare(pLeft, pRight, (LeftLen < RightLen ? LeftLen : RightLen));
- if (result != 0)
- return result;
- }
- return LeftLen < RightLen ? -1 : (LeftLen > RightLen ? 1 : 0);
- }
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-#if !defined(BOOST_LOG_NO_CXX11_CONSTEXPR_DATA_MEMBER_BRACE_INITIALIZERS)
-template< typename CharT, typename TraitsT >
-constexpr typename basic_string_literal< CharT, TraitsT >::value_type
-basic_string_literal< CharT, TraitsT >::g_EmptyString[1];
-#else
-template< typename CharT, typename TraitsT >
-const typename basic_string_literal< CharT, TraitsT >::value_type
-basic_string_literal< CharT, TraitsT >::g_EmptyString[1] = { 0 };
-#endif
-
-namespace aux {
-
-template< typename CharT, typename TraitsT >
-inline void insert_fill_chars(std::basic_ostream< CharT, TraitsT >& strm, std::size_t n)
-{
- enum { chunk_size = 8 };
- CharT fill_chars[chunk_size];
- const CharT filler = strm.fill();
- for (unsigned int i = 0; i < chunk_size; ++i)
- fill_chars[i] = filler;
- for (; n >= chunk_size && strm.good(); n -= chunk_size)
- strm.write(fill_chars, static_cast< std::size_t >(chunk_size));
- if (n > 0 && strm.good())
- strm.write(fill_chars, n);
-}
-
-template< typename CharT, typename TraitsT >
-void insert_aligned(std::basic_ostream< CharT, TraitsT >& strm, const CharT* p, std::size_t size)
-{
- const std::size_t alignment_size = static_cast< std::size_t >(strm.width()) - size;
- const bool align_left = (strm.flags() & std::basic_ostream< CharT, TraitsT >::adjustfield) == std::basic_ostream< CharT, TraitsT >::left;
- if (align_left)
- {
- strm.write(p, size);
- if (strm.good())
- aux::insert_fill_chars(strm, alignment_size);
- }
- else
- {
- aux::insert_fill_chars(strm, alignment_size);
- if (strm.good())
- strm.write(p, size);
- }
-}
-
-} // namespace aux
-
-//! Output operator
-template< typename CharT, typename StrmTraitsT, typename LitTraitsT >
-inline std::basic_ostream< CharT, StrmTraitsT >& operator<< (
- std::basic_ostream< CharT, StrmTraitsT >& strm, basic_string_literal< CharT, LitTraitsT > const& lit)
-{
- if (strm.good())
- {
- const std::size_t size = lit.size();
- const std::size_t w = static_cast< std::size_t >(strm.width());
- if (w <= size)
- strm.write(lit.c_str(), static_cast< std::streamsize >(size));
- else
- aux::insert_aligned(strm, lit.c_str(), lit.size());
- strm.width(0);
- }
- return strm;
-}
-
-//! External swap
-template< typename CharT, typename TraitsT >
-inline BOOST_CXX14_CONSTEXPR void swap(basic_string_literal< CharT, TraitsT >& left, basic_string_literal< CharT, TraitsT >& right) BOOST_NOEXCEPT
-{
- left.swap(right);
-}
-
-//! Creates a string literal wrapper from a constant string literal
-#ifdef BOOST_LOG_USE_CHAR
-template< typename T, std::size_t LenV >
-inline BOOST_CONSTEXPR
-#ifndef BOOST_LOG_DOXYGEN_PASS
-typename boost::enable_if_c<
- is_same< T, const char >::value,
- string_literal
->::type
-#else
-basic_string_literal< T >
-#endif // BOOST_LOG_DOXYGEN_PASS
-str_literal(T(&p)[LenV]) BOOST_NOEXCEPT
-{
- return string_literal(p);
-}
-#endif
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-template< typename T, std::size_t LenV >
-inline BOOST_CONSTEXPR typename boost::enable_if_c<
- is_same< T, const wchar_t >::value,
- wstring_literal
->::type
-str_literal(T(&p)[LenV]) BOOST_NOEXCEPT
-{
- return wstring_literal(p);
-}
-#endif
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_STRING_LITERAL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/string_literal_fwd.hpp b/contrib/restricted/boost/boost/log/utility/string_literal_fwd.hpp
deleted file mode 100644
index 4c259c5267..0000000000
--- a/contrib/restricted/boost/boost/log/utility/string_literal_fwd.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file string_literal_fwd.hpp
- * \author Andrey Semashev
- * \date 24.06.2007
- *
- * The header contains forward declaration of a constant string literal wrapper.
- */
-
-#ifndef BOOST_LOG_UTILITY_STRING_LITERAL_FWD_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_STRING_LITERAL_FWD_HPP_INCLUDED_
-
-#include <string>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief String literal wrapper
- *
- * The \c basic_string_literal is a thin wrapper around a constant string literal.
- * It provides interface similar to STL strings, but because of read-only nature
- * of string literals, lacks ability to modify string contents. However,
- * \c basic_string_literal objects can be assigned to and cleared.
- *
- * The main advantage of this class comparing to other string classes is that
- * it doesn't dynamically allocate memory and therefore is fast, thin and exception safe.
- */
-template< typename CharT, typename TraitsT = std::char_traits< CharT > >
-class basic_string_literal;
-
-// Convenience typedefs
-#ifdef BOOST_LOG_USE_CHAR
-typedef basic_string_literal< char > string_literal; //!< String literal type for narrow characters
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-typedef basic_string_literal< wchar_t > wstring_literal; //!< String literal type for wide characters
-#endif
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_UTILITY_STRING_LITERAL_FWD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/type_dispatch/date_time_types.hpp b/contrib/restricted/boost/boost/log/utility/type_dispatch/date_time_types.hpp
deleted file mode 100644
index 38e6a461f8..0000000000
--- a/contrib/restricted/boost/boost/log/utility/type_dispatch/date_time_types.hpp
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file date_time_types.hpp
- * \author Andrey Semashev
- * \date 13.03.2008
- *
- * The header contains definition of date and time-related types supported by the library by default.
- */
-
-#ifndef BOOST_LOG_DATE_TIME_TYPES_HPP_INCLUDED_
-#define BOOST_LOG_DATE_TIME_TYPES_HPP_INCLUDED_
-
-#include <ctime>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/date_time/gregorian/gregorian_types.hpp>
-#include <boost/date_time/local_time/local_time_types.hpp>
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! Boost.Preprocessor sequence of the standard C date/time types
-#define BOOST_LOG_NATIVE_DATE_TIME_TYPES()\
- (std::time_t)(std::tm)
-
-//! Boost.Preprocessor sequence of the standard C date types
-#define BOOST_LOG_NATIVE_DATE_TYPES()\
- BOOST_LOG_NATIVE_DATE_TIME_TYPES()
-
-//! Boost.Preprocessor sequence of the Boost date/time types
-#define BOOST_LOG_BOOST_DATE_TIME_TYPES()\
- (boost::posix_time::ptime)(boost::local_time::local_date_time)
-
-//! Boost.Preprocessor sequence of date/time types
-#define BOOST_LOG_DATE_TIME_TYPES()\
- BOOST_LOG_NATIVE_DATE_TIME_TYPES()BOOST_LOG_BOOST_DATE_TIME_TYPES()\
-
-//! Boost.Preprocessor sequence of the Boost date types
-#define BOOST_LOG_BOOST_DATE_TYPES()\
- BOOST_LOG_BOOST_DATE_TIME_TYPES()(boost::gregorian::date)
-
-//! Boost.Preprocessor sequence of date types
-#define BOOST_LOG_DATE_TYPES()\
- BOOST_LOG_NATIVE_DATE_TYPES()BOOST_LOG_BOOST_DATE_TYPES()
-
-
-//! Boost.Preprocessor sequence of the standard time duration types
-#define BOOST_LOG_NATIVE_TIME_DURATION_TYPES()\
- (double) /* result of difftime() */
-
-//! Boost.Preprocessor sequence of the Boost time duration types
-#define BOOST_LOG_BOOST_TIME_DURATION_TYPES()\
- (boost::posix_time::time_duration)(boost::gregorian::date_duration)
-
-//! Boost.Preprocessor sequence of time duration types
-#define BOOST_LOG_TIME_DURATION_TYPES()\
- BOOST_LOG_NATIVE_TIME_DURATION_TYPES()BOOST_LOG_BOOST_TIME_DURATION_TYPES()
-
-
-//! Boost.Preprocessor sequence of the Boost time period types
-#define BOOST_LOG_BOOST_TIME_PERIOD_TYPES()\
- (boost::posix_time::time_period)(boost::local_time::local_time_period)(boost::gregorian::date_period)
-
-//! Boost.Preprocessor sequence of time period types
-#define BOOST_LOG_TIME_PERIOD_TYPES()\
- BOOST_LOG_BOOST_TIME_PERIOD_TYPES()
-
-
-/*!
- * An MPL-sequence of natively supported date and time types of attributes
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_NATIVE_DATE_TIME_TYPES())
-> native_date_time_types;
-
-/*!
- * An MPL-sequence of Boost date and time types of attributes
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_BOOST_DATE_TIME_TYPES())
-> boost_date_time_types;
-
-/*!
- * An MPL-sequence with the complete list of the supported date and time types
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_DATE_TIME_TYPES())
-> date_time_types;
-
-/*!
- * An MPL-sequence of natively supported date types of attributes
- */
-typedef native_date_time_types native_date_types;
-
-/*!
- * An MPL-sequence of Boost date types of attributes
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_BOOST_DATE_TYPES())
-> boost_date_types;
-
-/*!
- * An MPL-sequence with the complete list of the supported date types
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_DATE_TYPES())
-> date_types;
-
-/*!
- * An MPL-sequence of natively supported time types
- */
-typedef native_date_time_types native_time_types;
-
-//! An MPL-sequence of Boost time types
-typedef boost_date_time_types boost_time_types;
-
-/*!
- * An MPL-sequence with the complete list of the supported time types
- */
-typedef date_time_types time_types;
-
-/*!
- * An MPL-sequence of natively supported time duration types of attributes
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_NATIVE_TIME_DURATION_TYPES())
-> native_time_duration_types;
-
-/*!
- * An MPL-sequence of Boost time duration types of attributes
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_BOOST_TIME_DURATION_TYPES())
-> boost_time_duration_types;
-
-/*!
- * An MPL-sequence with the complete list of the supported time duration types
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_TIME_DURATION_TYPES())
-> time_duration_types;
-
-/*!
- * An MPL-sequence of Boost time duration types of attributes
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_BOOST_TIME_PERIOD_TYPES())
-> boost_time_period_types;
-
-/*!
- * An MPL-sequence with the complete list of the supported time period types
- */
-typedef boost_time_period_types time_period_types;
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DATE_TIME_TYPES_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/type_dispatch/dynamic_type_dispatcher.hpp b/contrib/restricted/boost/boost/log/utility/type_dispatch/dynamic_type_dispatcher.hpp
deleted file mode 100644
index 21428ff949..0000000000
--- a/contrib/restricted/boost/boost/log/utility/type_dispatch/dynamic_type_dispatcher.hpp
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file dynamic_type_dispatcher.hpp
- * \author Andrey Semashev
- * \date 15.04.2007
- *
- * The header contains implementation of the run-time type dispatcher.
- */
-
-#ifndef BOOST_LOG_DYNAMIC_TYPE_DISPATCHER_HPP_INCLUDED_
-#define BOOST_LOG_DYNAMIC_TYPE_DISPATCHER_HPP_INCLUDED_
-
-#include <new>
-#include <memory>
-#include <map>
-#include <boost/ref.hpp>
-#include <boost/type_index.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/type_dispatch/type_dispatcher.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief A dynamic type dispatcher
- *
- * The type dispatcher can be used to pass objects of arbitrary types from one
- * component to another. With regard to the library, the type dispatcher
- * can be used to extract attribute values.
- *
- * The dynamic type dispatcher can be initialized in run time and, therefore,
- * can support different types, depending on runtime conditions. Each
- * supported type is associated with a functional object that will be called
- * when an object of the type is dispatched.
- */
-class dynamic_type_dispatcher :
- public type_dispatcher
-{
-private:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- template< typename T, typename VisitorT >
- class callback_impl :
- public callback_base
- {
- private:
- VisitorT m_Visitor;
-
- public:
- explicit callback_impl(VisitorT const& visitor) : m_Visitor(visitor)
- {
- this->m_pVisitor = (void*)boost::addressof(m_Visitor);
- typedef void (*trampoline_t)(void*, T const&);
- BOOST_STATIC_ASSERT_MSG(sizeof(trampoline_t) == sizeof(void*), "Boost.Log: Unsupported platform, the size of a function pointer differs from the size of a pointer");
- union
- {
- void* as_pvoid;
- trampoline_t as_trampoline;
- }
- caster;
- caster.as_trampoline = (trampoline_t)&callback_base::trampoline< VisitorT, T >;
- this->m_pTrampoline = caster.as_pvoid;
- }
- };
-#endif // BOOST_LOG_DOXYGEN_PASS
-
- //! The dispatching map
- typedef std::map< typeindex::type_index, shared_ptr< callback_base > > dispatching_map;
- dispatching_map m_DispatchingMap;
-
-public:
- /*!
- * Default constructor
- */
- dynamic_type_dispatcher() : type_dispatcher(&dynamic_type_dispatcher::get_callback)
- {
- }
-
- /*!
- * Copy constructor
- */
- dynamic_type_dispatcher(dynamic_type_dispatcher const& that) :
- type_dispatcher(static_cast< type_dispatcher const& >(that)),
- m_DispatchingMap(that.m_DispatchingMap)
- {
- }
-
- /*!
- * Copy assignment
- */
- dynamic_type_dispatcher& operator= (dynamic_type_dispatcher const& that)
- {
- m_DispatchingMap = that.m_DispatchingMap;
- return *this;
- }
-
- /*!
- * The method registers a new type
- *
- * \param visitor Function object that will be associated with the type \c T
- */
- template< typename T, typename VisitorT >
- void register_type(VisitorT const& visitor)
- {
- boost::shared_ptr< callback_base > p(
- boost::make_shared< callback_impl< T, VisitorT > >(boost::cref(visitor)));
-
- typeindex::type_index wrapper(typeindex::type_id< T >());
- m_DispatchingMap[wrapper].swap(p);
- }
-
- /*!
- * The method returns the number of registered types
- */
- dispatching_map::size_type registered_types_count() const
- {
- return m_DispatchingMap.size();
- }
-
-private:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- static callback_base get_callback(type_dispatcher* p, typeindex::type_index type)
- {
- dynamic_type_dispatcher* const self = static_cast< dynamic_type_dispatcher* >(p);
- dispatching_map::iterator it = self->m_DispatchingMap.find(type);
- if (it != self->m_DispatchingMap.end())
- return *it->second;
- else
- return callback_base();
- }
-#endif // BOOST_LOG_DOXYGEN_PASS
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DYNAMIC_TYPE_DISPATCHER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/type_dispatch/standard_types.hpp b/contrib/restricted/boost/boost/log/utility/type_dispatch/standard_types.hpp
deleted file mode 100644
index fc01be34b4..0000000000
--- a/contrib/restricted/boost/boost/log/utility/type_dispatch/standard_types.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file standard_types.hpp
- * \author Andrey Semashev
- * \date 19.05.2007
- *
- * The header contains definition of standard types supported by the library by default.
- */
-
-#ifndef BOOST_LOG_STANDARD_TYPES_HPP_INCLUDED_
-#define BOOST_LOG_STANDARD_TYPES_HPP_INCLUDED_
-
-#include <string>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/vector/vector30.hpp> // needed to use mpl::vector sizes greater than 20 even when the default BOOST_MPL_LIMIT_VECTOR_SIZE is not set
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/string_literal_fwd.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
-#define BOOST_LOG_AUX_STANDARD_TYPE_WCHAR_T() (wchar_t)
-#else
-#define BOOST_LOG_AUX_STANDARD_TYPE_WCHAR_T()
-#endif
-
-#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_LOG_NO_CXX11_CODECVT_FACETS)
-#define BOOST_LOG_AUX_STANDARD_TYPE_CHAR16_T() (char16_t)
-#else
-#define BOOST_LOG_AUX_STANDARD_TYPE_CHAR16_T()
-#endif
-
-#if !defined(BOOST_NO_CXX11_CHAR32_T) && !defined(BOOST_LOG_NO_CXX11_CODECVT_FACETS)
-#define BOOST_LOG_AUX_STANDARD_TYPE_CHAR32_T() (char32_t)
-#else
-#define BOOST_LOG_AUX_STANDARD_TYPE_CHAR32_T()
-#endif
-
-//! Boost.Preprocessor sequence of character types
-#define BOOST_LOG_STANDARD_CHAR_TYPES()\
- (char)BOOST_LOG_AUX_STANDARD_TYPE_WCHAR_T()BOOST_LOG_AUX_STANDARD_TYPE_CHAR16_T()BOOST_LOG_AUX_STANDARD_TYPE_CHAR32_T()
-
-#if defined(BOOST_HAS_LONG_LONG)
-#define BOOST_LOG_AUX_STANDARD_LONG_LONG_TYPES() (long long)(unsigned long long)
-#else
-#define BOOST_LOG_AUX_STANDARD_LONG_LONG_TYPES()
-#endif
-
-//! Boost.Preprocessor sequence of integral types
-#define BOOST_LOG_STANDARD_INTEGRAL_TYPES()\
- (bool)(signed char)(unsigned char)(short)(unsigned short)(int)(unsigned int)(long)(unsigned long)BOOST_LOG_AUX_STANDARD_LONG_LONG_TYPES()\
- BOOST_LOG_STANDARD_CHAR_TYPES()
-
-//! Boost.Preprocessor sequence of floating point types
-#define BOOST_LOG_STANDARD_FLOATING_POINT_TYPES()\
- (float)(double)(long double)
-
-//! Boost.Preprocessor sequence of arithmetic types
-#define BOOST_LOG_STANDARD_ARITHMETIC_TYPES()\
- BOOST_LOG_STANDARD_INTEGRAL_TYPES()BOOST_LOG_STANDARD_FLOATING_POINT_TYPES()
-
-#if defined(BOOST_LOG_USE_CHAR)
-#define BOOST_LOG_AUX_STANDARD_STRING_TYPES() (std::string)(boost::log::string_literal)
-#else
-#define BOOST_LOG_AUX_STANDARD_STRING_TYPES()
-#endif
-
-#if defined(BOOST_LOG_USE_WCHAR_T)
-#define BOOST_LOG_AUX_STANDARD_WSTRING_TYPES() (std::wstring)(boost::log::wstring_literal)
-#else
-#define BOOST_LOG_AUX_STANDARD_WSTRING_TYPES()
-#endif
-
-//! Boost.Preprocessor sequence of string types
-#define BOOST_LOG_STANDARD_STRING_TYPES()\
- BOOST_LOG_AUX_STANDARD_STRING_TYPES()BOOST_LOG_AUX_STANDARD_WSTRING_TYPES()
-
-//! Boost.Preprocessor sequence of the default attribute value types supported by the library
-#define BOOST_LOG_DEFAULT_ATTRIBUTE_VALUE_TYPES()\
- BOOST_LOG_STANDARD_ARITHMETIC_TYPES()BOOST_LOG_STANDARD_STRING_TYPES()
-
-
-/*!
- * An MPL-sequence of integral types of attributes, supported by default
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_STANDARD_INTEGRAL_TYPES())
-> integral_types;
-
-/*!
- * An MPL-sequence of FP types of attributes, supported by default
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_STANDARD_FLOATING_POINT_TYPES())
-> floating_point_types;
-
-/*!
- * An MPL-sequence of all numeric types of attributes, supported by default
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_STANDARD_ARITHMETIC_TYPES())
-> arithmetic_types;
-
-//! Deprecated alias
-typedef arithmetic_types numeric_types;
-
-/*!
- * An MPL-sequence of string types of attributes, supported by default
- */
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_STANDARD_STRING_TYPES())
-> string_types;
-
-/*!
- * An MPL-sequence of all attribute value types that are supported by the library by default.
- */
-typedef BOOST_PP_CAT(mpl::vector, BOOST_PP_SEQ_SIZE(BOOST_LOG_DEFAULT_ATTRIBUTE_VALUE_TYPES()))<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_DEFAULT_ATTRIBUTE_VALUE_TYPES())
-> default_attribute_value_types;
-
-//! Deprecated alias
-typedef default_attribute_value_types default_attribute_types;
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_STANDARD_TYPES_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/type_dispatch/static_type_dispatcher.hpp b/contrib/restricted/boost/boost/log/utility/type_dispatch/static_type_dispatcher.hpp
deleted file mode 100644
index dcf2cd033d..0000000000
--- a/contrib/restricted/boost/boost/log/utility/type_dispatch/static_type_dispatcher.hpp
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file static_type_dispatcher.hpp
- * \author Andrey Semashev
- * \date 15.04.2007
- *
- * The header contains implementation of a compile-time type dispatcher.
- */
-
-#ifndef BOOST_LOG_STATIC_TYPE_DISPATCHER_HPP_INCLUDED_
-#define BOOST_LOG_STATIC_TYPE_DISPATCHER_HPP_INCLUDED_
-
-#include <cstddef>
-#include <utility>
-#include <iterator>
-#include <algorithm>
-#include <boost/array.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/type_index.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/begin.hpp>
-#include <boost/mpl/end.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/next.hpp>
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/core/addressof.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/once_block.hpp>
-#include <boost/log/utility/type_dispatch/type_dispatcher.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Ordering predicate for type dispatching map
-struct dispatching_map_order
-{
- typedef bool result_type;
- typedef std::pair< typeindex::type_index, void* > first_argument_type, second_argument_type;
- result_type operator() (first_argument_type const& left, second_argument_type const& right) const
- {
- return (left.first < right.first);
- }
-};
-
-//! Dispatching map filler
-template< typename VisitorT >
-struct dispatching_map_initializer
-{
- template< typename IteratorT >
- static BOOST_FORCEINLINE void init(IteratorT*, IteratorT*, std::pair< typeindex::type_index, void* >*)
- {
- }
-
- template< typename BeginIteratorT, typename EndIteratorT >
- static BOOST_FORCEINLINE void init(BeginIteratorT*, EndIteratorT* end, std::pair< typeindex::type_index, void* >* p)
- {
- typedef typename mpl::deref< BeginIteratorT >::type type;
- do_init(static_cast< type* >(0), p);
-
- typedef typename mpl::next< BeginIteratorT >::type next_iterator_type;
- init(static_cast< next_iterator_type* >(0), end, p + 1);
- }
-
-private:
- template< typename T >
- static BOOST_FORCEINLINE void do_init(T*, std::pair< typeindex::type_index, void* >* p)
- {
- p->first = typeindex::type_id< T >();
-
- typedef void (*trampoline_t)(void*, T const&);
- BOOST_STATIC_ASSERT_MSG(sizeof(trampoline_t) == sizeof(void*), "Boost.Log: Unsupported platform, the size of a function pointer differs from the size of a pointer");
- union
- {
- void* as_pvoid;
- trampoline_t as_trampoline;
- }
- caster;
- caster.as_trampoline = (trampoline_t)&type_dispatcher::callback_base::trampoline< VisitorT, T >;
- p->second = caster.as_pvoid;
- }
-};
-
-//! A base class for a dispatcher that supports a sequence of types
-class type_sequence_dispatcher_base :
- public type_dispatcher
-{
-private:
- //! Dispatching map element type
- typedef std::pair< typeindex::type_index, void* > dispatching_map_element_type;
-
-private:
- //! Dispatching map
- const dispatching_map_element_type* m_dispatching_map_begin;
- //! Dispatching map size
- std::size_t m_dispatching_map_size;
- //! Pointer to the receiver function
- void* m_visitor;
-
-protected:
- //! Initializing constructor
- type_sequence_dispatcher_base(const dispatching_map_element_type* disp_map, std::size_t disp_map_size, void* visitor) BOOST_NOEXCEPT :
- type_dispatcher(&type_sequence_dispatcher_base::get_callback),
- m_dispatching_map_begin(disp_map),
- m_dispatching_map_size(disp_map_size),
- m_visitor(visitor)
- {
- }
-
-private:
- //! The get_callback method implementation
- static callback_base get_callback(type_dispatcher* p, typeindex::type_index type)
- {
- type_sequence_dispatcher_base* const self = static_cast< type_sequence_dispatcher_base* >(p);
- const dispatching_map_element_type* begin = self->m_dispatching_map_begin;
- const dispatching_map_element_type* end = begin + self->m_dispatching_map_size;
- const dispatching_map_element_type* it = std::lower_bound
- (
- begin,
- end,
- dispatching_map_element_type(type, (void*)0),
- dispatching_map_order()
- );
-
- if (it != end && it->first == type)
- return callback_base(self->m_visitor, it->second);
- else
- return callback_base();
- }
-
- // Copying and assignment closed
- BOOST_DELETED_FUNCTION(type_sequence_dispatcher_base(type_sequence_dispatcher_base const&))
- BOOST_DELETED_FUNCTION(type_sequence_dispatcher_base& operator= (type_sequence_dispatcher_base const&))
-};
-
-//! A dispatcher that supports a sequence of types
-template< typename TypeSequenceT >
-class type_sequence_dispatcher :
- public type_sequence_dispatcher_base
-{
-public:
- //! Type sequence of the supported types
- typedef TypeSequenceT supported_types;
-
-private:
- //! The dispatching map
- typedef array<
- std::pair< typeindex::type_index, void* >,
- mpl::size< supported_types >::value
- > dispatching_map;
-
-public:
- /*!
- * Constructor. Initializes the dispatcher internals.
- */
- template< typename VisitorT >
- explicit type_sequence_dispatcher(VisitorT& visitor) :
- type_sequence_dispatcher_base(get_dispatching_map< VisitorT >().data(), dispatching_map::static_size, (void*)boost::addressof(visitor))
- {
- }
-
-private:
- //! The method returns the dispatching map instance
- template< typename VisitorT >
- static dispatching_map const& get_dispatching_map()
- {
- static const dispatching_map* pinstance = NULL;
-
- BOOST_LOG_ONCE_BLOCK()
- {
- static dispatching_map instance;
- typename dispatching_map::value_type* p = &*instance.begin();
-
- typedef typename mpl::begin< supported_types >::type begin_iterator_type;
- typedef typename mpl::end< supported_types >::type end_iterator_type;
- typedef dispatching_map_initializer< VisitorT > initializer;
- initializer::init(static_cast< begin_iterator_type* >(0), static_cast< end_iterator_type* >(0), p);
-
- std::sort(instance.begin(), instance.end(), dispatching_map_order());
-
- pinstance = &instance;
- }
-
- return *pinstance;
- }
-
- // Copying and assignment closed
- BOOST_DELETED_FUNCTION(type_sequence_dispatcher(type_sequence_dispatcher const&))
- BOOST_DELETED_FUNCTION(type_sequence_dispatcher& operator= (type_sequence_dispatcher const&))
-};
-
-//! A base class for a single-type dispatcher
-class single_type_dispatcher_base :
- public type_dispatcher
-{
-private:
- //! The type to match against
- typeindex::type_index m_type;
- //! A callback for the supported type
- callback_base m_callback;
-
-protected:
- //! Initializing constructor
- single_type_dispatcher_base(typeindex::type_index type, callback_base const& cb) BOOST_NOEXCEPT :
- type_dispatcher(&single_type_dispatcher_base::get_callback),
- m_type(type),
- m_callback(cb)
- {
- }
-
-private:
- //! The get_callback method implementation
- static callback_base get_callback(type_dispatcher* p, typeindex::type_index type)
- {
- single_type_dispatcher_base* const self = static_cast< single_type_dispatcher_base* >(p);
- if (type == self->m_type)
- return self->m_callback;
- else
- return callback_base();
- }
-
- // Copying and assignment closed
- BOOST_DELETED_FUNCTION(single_type_dispatcher_base(single_type_dispatcher_base const&))
- BOOST_DELETED_FUNCTION(single_type_dispatcher_base& operator= (single_type_dispatcher_base const&))
-};
-
-//! A simple dispatcher that only supports one type
-template< typename T >
-class single_type_dispatcher :
- public single_type_dispatcher_base
-{
-private:
- typedef void (*trampoline_t)(void*, T const&);
-
-public:
- //! Constructor
- template< typename VisitorT >
- explicit single_type_dispatcher(VisitorT& visitor) BOOST_NOEXCEPT :
- single_type_dispatcher_base(typeindex::type_id< T >(), callback_base((void*)boost::addressof(visitor), (trampoline_t)&callback_base::trampoline< VisitorT, T >))
- {
- }
-
- // Copying and assignment closed
- BOOST_DELETED_FUNCTION(single_type_dispatcher(single_type_dispatcher const&))
- BOOST_DELETED_FUNCTION(single_type_dispatcher& operator= (single_type_dispatcher const&))
-};
-
-} // namespace aux
-
-/*!
- * \brief A static type dispatcher class
- *
- * The type dispatcher can be used to pass objects of arbitrary types from one
- * component to another. With regard to the library, the type dispatcher
- * can be used to extract attribute values.
- *
- * Static type dispatchers allow to specify one or several supported types at compile
- * time.
- */
-template< typename T >
-class static_type_dispatcher
-#ifndef BOOST_LOG_DOXYGEN_PASS
- :
- public mpl::if_<
- mpl::is_sequence< T >,
- boost::log::aux::type_sequence_dispatcher< T >,
- boost::log::aux::single_type_dispatcher< T >
- >::type
-#endif
-{
-private:
- //! Base type
- typedef typename mpl::if_<
- mpl::is_sequence< T >,
- boost::log::aux::type_sequence_dispatcher< T >,
- boost::log::aux::single_type_dispatcher< T >
- >::type base_type;
-
-public:
- /*!
- * Constructor. Initializes the dispatcher internals.
- *
- * The \a receiver object is not copied inside the dispatcher, but references to
- * it may be kept by the dispatcher after construction. The receiver object must remain
- * valid until the dispatcher is destroyed.
- *
- * \param receiver Unary function object that will be called on a dispatched value. The receiver
- * must be callable with an argument of any of the supported types of the dispatcher.
- */
- template< typename ReceiverT >
- explicit static_type_dispatcher(ReceiverT& receiver) :
- base_type(receiver)
- {
- }
-
- // Copying and assignment prohibited
- BOOST_DELETED_FUNCTION(static_type_dispatcher(static_type_dispatcher const&))
- BOOST_DELETED_FUNCTION(static_type_dispatcher& operator= (static_type_dispatcher const&))
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_STATIC_TYPE_DISPATCHER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/type_dispatch/type_dispatcher.hpp b/contrib/restricted/boost/boost/log/utility/type_dispatch/type_dispatcher.hpp
deleted file mode 100644
index 148595fcf3..0000000000
--- a/contrib/restricted/boost/boost/log/utility/type_dispatch/type_dispatcher.hpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file type_dispatcher.hpp
- * \author Andrey Semashev
- * \date 15.04.2007
- *
- * The header contains definition of generic type dispatcher interfaces.
- */
-
-#ifndef BOOST_LOG_TYPE_DISPATCHER_HPP_INCLUDED_
-#define BOOST_LOG_TYPE_DISPATCHER_HPP_INCLUDED_
-
-#include <boost/type_index.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief A type dispatcher interface
- *
- * All type dispatchers support this interface. It is used to acquire the
- * visitor interface for the requested type.
- */
-class type_dispatcher
-{
-public:
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
- //! The base class for type dispatcher callbacks
- class callback_base
- {
- protected:
- void* m_pVisitor;
- void* m_pTrampoline;
-
- public:
- explicit callback_base(void* visitor = 0, void* tramp = 0) BOOST_NOEXCEPT :
- m_pVisitor(visitor),
- m_pTrampoline(tramp)
- {
- }
- template< typename ValueT >
- explicit callback_base(void* visitor, void (*tramp)(void*, ValueT const&)) BOOST_NOEXCEPT :
- m_pVisitor(visitor)
- {
- typedef void (*trampoline_t)(void*, ValueT const&);
- BOOST_STATIC_ASSERT_MSG(sizeof(trampoline_t) == sizeof(void*), "Boost.Log: Unsupported platform, the size of a function pointer differs from the size of a pointer");
- union
- {
- void* as_pvoid;
- trampoline_t as_trampoline;
- }
- caster;
- caster.as_trampoline = tramp;
- m_pTrampoline = caster.as_pvoid;
- }
-
- template< typename VisitorT, typename T >
- static void trampoline(void* visitor, T const& value)
- {
- (*static_cast< VisitorT* >(visitor))(value);
- }
- };
-
- //! An interface to the callback for the concrete type visitor
- template< typename T >
- class callback :
- private callback_base
- {
- private:
- //! Type of the trampoline method
- typedef void (*trampoline_t)(void*, T const&);
-
- public:
- //! The type, which the visitor is able to consume
- typedef T supported_type;
-
- public:
- callback() BOOST_NOEXCEPT : callback_base()
- {
- }
- explicit callback(callback_base const& base) BOOST_NOEXCEPT : callback_base(base)
- {
- }
-
- void operator() (T const& value) const
- {
- BOOST_STATIC_ASSERT_MSG(sizeof(trampoline_t) == sizeof(void*), "Boost.Log: Unsupported platform, the size of a function pointer differs from the size of a pointer");
- union
- {
- void* as_pvoid;
- trampoline_t as_trampoline;
- }
- caster;
- caster.as_pvoid = this->m_pTrampoline;
- (caster.as_trampoline)(this->m_pVisitor, value);
- }
-
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
-
- bool operator! () const BOOST_NOEXCEPT { return (this->m_pVisitor == 0); }
- };
-
-#else // BOOST_LOG_DOXYGEN_PASS
-
- /*!
- * This interface is used by type dispatchers to consume the dispatched value.
- */
- template< typename T >
- class callback
- {
- public:
- /*!
- * The operator invokes the visitor-specific logic with the given value
- *
- * \param value The dispatched value
- */
- void operator() (T const& value) const;
-
- /*!
- * The operator checks if the visitor is attached to a receiver
- */
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
-
- /*!
- * The operator checks if the visitor is not attached to a receiver
- */
- bool operator! () const BOOST_NOEXCEPT;
- };
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-protected:
- //! Pointer to the callback acquisition method
- typedef callback_base (*get_callback_impl_type)(type_dispatcher*, typeindex::type_index);
-
-private:
- //! Pointer to the callback acquisition method
- get_callback_impl_type m_get_callback_impl;
-
-protected:
- /*!
- * Initializing constructor
- */
- explicit type_dispatcher(get_callback_impl_type get_callback_impl) BOOST_NOEXCEPT : m_get_callback_impl(get_callback_impl)
- {
- }
-
- // Destructor and copying can only be called from the derived classes
- BOOST_DEFAULTED_FUNCTION(~type_dispatcher(), {})
- BOOST_DEFAULTED_FUNCTION(type_dispatcher(type_dispatcher const& that), : m_get_callback_impl(that.m_get_callback_impl) {})
- BOOST_DEFAULTED_FUNCTION(type_dispatcher& operator= (type_dispatcher const& that), { m_get_callback_impl = that.m_get_callback_impl; return *this; })
-
-public:
- /*!
- * The method requests a callback for the value of type \c T
- *
- * \return The type-specific callback or an empty value, if the type is not supported
- */
- template< typename T >
- callback< T > get_callback()
- {
- return callback< T >((this->m_get_callback_impl)(this, typeindex::type_id< T >()));
- }
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_TYPE_DISPATCHER_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/unique_identifier_name.hpp b/contrib/restricted/boost/boost/log/utility/unique_identifier_name.hpp
deleted file mode 100644
index 3312557498..0000000000
--- a/contrib/restricted/boost/boost/log/utility/unique_identifier_name.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file unique_identifier_name.hpp
- * \author Andrey Semashev
- * \date 30.04.2008
- *
- * The header contains \c BOOST_LOG_UNIQUE_IDENTIFIER_NAME macro definition.
- */
-
-#ifndef BOOST_LOG_UTILITY_UNIQUE_IDENTIFIER_NAME_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_UNIQUE_IDENTIFIER_NAME_HPP_INCLUDED_
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifndef BOOST_LOG_DOXYGEN_PASS
-
-#define BOOST_LOG_UNIQUE_IDENTIFIER_NAME_INTERNAL_(prefix, postfix)\
- BOOST_PP_CAT(prefix, postfix)
-#define BOOST_LOG_UNIQUE_IDENTIFIER_NAME_INTERNAL(prefix, postfix)\
- BOOST_LOG_UNIQUE_IDENTIFIER_NAME_INTERNAL_(prefix, postfix)
-
-#endif // BOOST_LOG_DOXYGEN_PASS
-
-/*!
- * \def BOOST_LOG_UNIQUE_IDENTIFIER_NAME(prefix)
- *
- * Constructs a unique (in the current file scope) token that can be used as a variable name.
- * The name will contain a prefix passed in the \a prefix argument. This allows to use the
- * macro multiple times on a single line.
- */
-
-// In VC 7.0 and later when compiling with /ZI option __LINE__ macro is corrupted
-#ifdef BOOST_MSVC
-# define BOOST_LOG_UNIQUE_IDENTIFIER_NAME(prefix)\
- BOOST_LOG_UNIQUE_IDENTIFIER_NAME_INTERNAL(prefix, __COUNTER__)
-#else
-# define BOOST_LOG_UNIQUE_IDENTIFIER_NAME(prefix)\
- BOOST_LOG_UNIQUE_IDENTIFIER_NAME_INTERNAL(prefix, __LINE__)
-#endif // BOOST_MSVC
-
-#endif // BOOST_LOG_UTILITY_UNIQUE_IDENTIFIER_NAME_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/unused_variable.hpp b/contrib/restricted/boost/boost/log/utility/unused_variable.hpp
deleted file mode 100644
index 08b4e5e6ff..0000000000
--- a/contrib/restricted/boost/boost/log/utility/unused_variable.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file unused_variable.hpp
- * \author Andrey Semashev
- * \date 10.05.2008
- *
- * The header contains definition of a macro to suppress compiler warnings about unused variables.
- */
-
-#ifndef BOOST_LOG_UTILITY_UNUSED_VARIABLE_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_UNUSED_VARIABLE_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if defined(__GNUC__)
-
-//! The macro suppresses compiler warnings for \c var being unused
-#define BOOST_LOG_UNUSED_VARIABLE(type, var, initializer) __attribute__((unused)) type var initializer
-
-#else
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename T >
-BOOST_FORCEINLINE void no_unused_warnings(T const&) BOOST_NOEXCEPT {}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-//! The macro suppresses compiler warnings for \c var being unused
-#define BOOST_LOG_UNUSED_VARIABLE(type, var, initializer) type var initializer; ::boost::log::aux::no_unused_warnings(var)
-
-#endif
-
-#endif // BOOST_LOG_UTILITY_UNUSED_VARIABLE_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/value_ref.hpp b/contrib/restricted/boost/boost/log/utility/value_ref.hpp
deleted file mode 100644
index 1f9a360785..0000000000
--- a/contrib/restricted/boost/boost/log/utility/value_ref.hpp
+++ /dev/null
@@ -1,656 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file value_ref.hpp
- * \author Andrey Semashev
- * \date 27.07.2012
- *
- * The header contains implementation of a value reference wrapper.
- */
-
-#ifndef BOOST_LOG_UTILITY_VALUE_REF_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_VALUE_REF_HPP_INCLUDED_
-
-#include <cstddef>
-#include <iosfwd>
-#include <boost/assert.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/mpl/front.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/index_of.hpp>
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/core/addressof.hpp>
-#include <boost/optional/optional_fwd.hpp>
-#include <boost/type_traits/is_void.hpp>
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/parameter_tools.hpp>
-#include <boost/log/detail/value_ref_visitation.hpp>
-#include <boost/log/detail/sfinae_tools.hpp>
-#include <boost/log/utility/formatting_ostream_fwd.hpp>
-#include <boost/log/utility/functional/logical.hpp>
-#include <boost/log/utility/functional/bind.hpp>
-#include <boost/log/utility/functional/bind_output.hpp>
-#include <boost/log/utility/functional/bind_to_log.hpp>
-#include <boost/log/utility/manipulators/to_log.hpp>
-#include <boost/log/utility/value_ref_fwd.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The function object applies the function object to the bound visitable object and argument
-template< typename VisitableT, typename FunT >
-struct vistation_invoker
-{
- typedef typename FunT::result_type result_type;
-
- vistation_invoker(VisitableT& visitable, result_type const& def_val) : m_visitable(visitable), m_def_val(def_val)
- {
- }
-
- template< typename ArgT >
- result_type operator() (ArgT const& arg) const
- {
- return m_visitable.apply_visitor_or_default(binder1st< FunT, ArgT const& >(FunT(), arg), m_def_val);
- }
-
-private:
- VisitableT& m_visitable;
- result_type m_def_val;
-};
-
-//! Traits for testing type compatibility with the reference wrapper
-struct singular_ref_compatibility_traits
-{
- template< typename T, typename U >
- struct is_compatible
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
- template< typename T >
- struct is_compatible< T, T >
- {
- BOOST_STATIC_CONSTANT(bool, value = true);
- };
-};
-
-//! Attribute value reference implementation for a single type case
-template< typename T, typename TagT >
-class singular_ref
-{
-public:
- //! Referenced value type
- typedef T value_type;
- //! Tag type
- typedef TagT tag_type;
-
-protected:
- //! Traits for testing type compatibility with the reference wrapper
- typedef singular_ref_compatibility_traits compatibility_traits;
-
-protected:
- //! Pointer to the value
- const value_type* m_ptr;
-
-protected:
- //! Default constructor
- singular_ref() BOOST_NOEXCEPT : m_ptr(NULL)
- {
- }
-
- //! Initializing constructor
- explicit singular_ref(const value_type* p) BOOST_NOEXCEPT : m_ptr(p)
- {
- }
-
-public:
- //! Returns a pointer to the referred value
- const value_type* operator-> () const BOOST_NOEXCEPT
- {
- BOOST_ASSERT(m_ptr != NULL);
- return m_ptr;
- }
-
- //! Returns a pointer to the referred value
- const value_type* get_ptr() const BOOST_NOEXCEPT
- {
- return m_ptr;
- }
-
- //! Returns a pointer to the referred value
- template< typename U >
- typename boost::enable_if_c< compatibility_traits::is_compatible< value_type, U >::value, const U* >::type get_ptr() const BOOST_NOEXCEPT
- {
- return m_ptr;
- }
-
- //! Returns a reference to the value
- value_type const& operator* () const BOOST_NOEXCEPT
- {
- BOOST_ASSERT(m_ptr != NULL);
- return *m_ptr;
- }
-
- //! Returns a reference to the value
- value_type const& get() const BOOST_NOEXCEPT
- {
- BOOST_ASSERT(m_ptr != NULL);
- return *m_ptr;
- }
-
- //! Returns a reference to the value
- template< typename U >
- typename boost::enable_if_c< compatibility_traits::is_compatible< value_type, U >::value, U const& >::type get() const BOOST_NOEXCEPT
- {
- BOOST_ASSERT(m_ptr != NULL);
- return *m_ptr;
- }
-
-
- //! Resets the reference
- void reset() BOOST_NOEXCEPT
- {
- m_ptr = NULL;
- }
-
- //! Returns the stored type index
- static BOOST_CONSTEXPR unsigned int which()
- {
- return 0u;
- }
-
- //! Swaps two reference wrappers
- void swap(singular_ref& that) BOOST_NOEXCEPT
- {
- const void* p = m_ptr;
- m_ptr = that.m_ptr;
- that.m_ptr = p;
- }
-
- //! Applies a visitor function object to the referred value
- template< typename VisitorT >
- typename VisitorT::result_type apply_visitor(VisitorT visitor) const
- {
- BOOST_ASSERT(m_ptr != NULL);
- return visitor(*m_ptr);
- }
-
- //! Applies a visitor function object to the referred value
- template< typename VisitorT >
- typename boost::enable_if_c< is_void< typename VisitorT::result_type >::value, bool >::type apply_visitor_optional(VisitorT visitor) const
- {
- if (m_ptr)
- {
- visitor(*m_ptr);
- return true;
- }
- else
- return false;
- }
-
- //! Applies a visitor function object to the referred value
- template< typename VisitorT >
- typename boost::disable_if_c< is_void< typename VisitorT::result_type >::value, optional< typename VisitorT::result_type > >::type apply_visitor_optional(VisitorT visitor) const
- {
- typedef optional< typename VisitorT::result_type > result_type;
- if (m_ptr)
- return result_type(visitor(*m_ptr));
- else
- return result_type();
- }
-
- //! Applies a visitor function object to the referred value or returns a default value
- template< typename VisitorT, typename DefaultT >
- typename VisitorT::result_type apply_visitor_or_default(VisitorT visitor, DefaultT& def_val) const
- {
- if (m_ptr)
- return visitor(*m_ptr);
- else
- return def_val;
- }
-
- //! Applies a visitor function object to the referred value or returns a default value
- template< typename VisitorT, typename DefaultT >
- typename VisitorT::result_type apply_visitor_or_default(VisitorT visitor, DefaultT const& def_val) const
- {
- if (m_ptr)
- return visitor(*m_ptr);
- else
- return def_val;
- }
-};
-
-//! Traits for testing type compatibility with the reference wrapper
-struct variant_ref_compatibility_traits
-{
- template< typename T, typename U >
- struct is_compatible
- {
- BOOST_STATIC_CONSTANT(bool, value = (mpl::contains< T, U >::type::value));
- };
-};
-
-//! Attribute value reference implementation for multiple types case
-template< typename T, typename TagT >
-class variant_ref
-{
-public:
- //! Referenced value type
- typedef T value_type;
- //! Tag type
- typedef TagT tag_type;
-
-protected:
- //! Traits for testing type compatibility with the reference wrapper
- typedef variant_ref_compatibility_traits compatibility_traits;
-
-protected:
- //! Pointer to the value
- const void* m_ptr;
- //! Type index
- unsigned int m_type_idx;
-
-protected:
- //! Default constructor
- variant_ref() BOOST_NOEXCEPT : m_ptr(NULL), m_type_idx(0)
- {
- }
-
- //! Initializing constructor
- template< typename U >
- explicit variant_ref(const U* p) BOOST_NOEXCEPT : m_ptr(p), m_type_idx(mpl::index_of< value_type, U >::type::value)
- {
- }
-
-public:
- //! Resets the reference
- void reset() BOOST_NOEXCEPT
- {
- m_ptr = NULL;
- m_type_idx = 0;
- }
-
- //! Returns a pointer to the referred value
- template< typename U >
- typename boost::enable_if_c< compatibility_traits::is_compatible< value_type, U >::value, const U* >::type get_ptr() const BOOST_NOEXCEPT
- {
- if (m_type_idx == static_cast< unsigned int >(mpl::index_of< value_type, U >::type::value))
- return static_cast< const U* >(m_ptr);
- else
- return NULL;
- }
-
- //! Returns a reference to the value
- template< typename U >
- typename boost::enable_if_c< compatibility_traits::is_compatible< value_type, U >::value, U const& >::type get() const BOOST_NOEXCEPT
- {
- const U* const p = get_ptr< U >();
- BOOST_ASSERT(p != NULL);
- return *p;
- }
-
- //! Returns the stored type index
- unsigned int which() const BOOST_NOEXCEPT
- {
- return m_type_idx;
- }
-
- //! Swaps two reference wrappers
- void swap(variant_ref& that) BOOST_NOEXCEPT
- {
- const void* p = m_ptr;
- m_ptr = that.m_ptr;
- that.m_ptr = p;
- unsigned int type_idx = m_type_idx;
- m_type_idx = that.m_type_idx;
- that.m_type_idx = type_idx;
- }
-
- //! Applies a visitor function object to the referred value
- template< typename VisitorT >
- typename VisitorT::result_type apply_visitor(VisitorT visitor) const
- {
- BOOST_ASSERT(m_ptr != NULL);
- return do_apply_visitor(visitor);
- }
-
- //! Applies a visitor function object to the referred value
- template< typename VisitorT >
- typename boost::enable_if_c< is_void< typename VisitorT::result_type >::value, bool >::type apply_visitor_optional(VisitorT visitor) const
- {
- if (m_ptr)
- {
- do_apply_visitor(visitor);
- return true;
- }
- else
- return false;
- }
-
- //! Applies a visitor function object to the referred value
- template< typename VisitorT >
- typename boost::disable_if_c< is_void< typename VisitorT::result_type >::value, optional< typename VisitorT::result_type > >::type apply_visitor_optional(VisitorT visitor) const
- {
- typedef optional< typename VisitorT::result_type > result_type;
- if (m_ptr)
- return result_type(do_apply_visitor(visitor));
- else
- return result_type();
- }
-
- //! Applies a visitor function object to the referred value or returns a default value
- template< typename VisitorT, typename DefaultT >
- typename VisitorT::result_type apply_visitor_or_default(VisitorT visitor, DefaultT& def_val) const
- {
- if (m_ptr)
- return do_apply_visitor(visitor);
- else
- return def_val;
- }
-
- //! Applies a visitor function object to the referred value or returns a default value
- template< typename VisitorT, typename DefaultT >
- typename VisitorT::result_type apply_visitor_or_default(VisitorT visitor, DefaultT const& def_val) const
- {
- if (m_ptr)
- return do_apply_visitor(visitor);
- else
- return def_val;
- }
-
-private:
- template< typename VisitorT >
- typename VisitorT::result_type do_apply_visitor(VisitorT& visitor) const
- {
- BOOST_ASSERT(m_type_idx < static_cast< unsigned int >(mpl::size< value_type >::value));
- return apply_visitor_dispatch< value_type, VisitorT >::call(m_ptr, m_type_idx, visitor);
- }
-};
-
-template< typename T, typename TagT >
-struct value_ref_base
-{
- typedef typename mpl::eval_if<
- mpl::and_< mpl::is_sequence< T >, mpl::equal_to< mpl::size< T >, mpl::int_< 1 > > >,
- mpl::front< T >,
- mpl::identity< T >
- >::type value_type;
-
- typedef typename mpl::if_<
- mpl::is_sequence< value_type >,
- variant_ref< value_type, TagT >,
- singular_ref< value_type, TagT >
- >::type type;
-};
-
-} // namespace aux
-
-/*!
- * \brief Reference wrapper for a stored attribute value.
- *
- * The \c value_ref class template provides access to the stored attribute value. It is not a traditional reference wrapper
- * since it may be empty (i.e. refer to no value at all) and it can also refer to values of different types. Therefore its
- * interface and behavior combines features of Boost.Ref, Boost.Optional and Boost.Variant, depending on the use case.
- *
- * The template parameter \c T can be a single type or an MPL sequence of possible types being referred. The reference wrapper
- * will act as either an optional reference or an optional variant of references to the specified types. In any case, the
- * referred values will not be modifiable (i.e. \c value_ref always models a const reference).
- *
- * Template parameter \c TagT is optional. It can be used for customizing the operations on this reference wrapper, such as
- * putting the referred value to log.
- */
-template< typename T, typename TagT >
-class value_ref :
- public aux::value_ref_base< T, TagT >::type
-{
-#ifndef BOOST_LOG_DOXYGEN_PASS
-public:
- typedef void _has_basic_formatting_ostream_insert_operator;
-#endif
-
-private:
- //! Base implementation type
- typedef typename aux::value_ref_base< T, TagT >::type base_type;
- //! Traits for testing type compatibility with the reference wrapper
- typedef typename base_type::compatibility_traits compatibility_traits;
-
-public:
-#ifndef BOOST_LOG_DOXYGEN_PASS
- //! Referenced value type
- typedef typename base_type::value_type value_type;
-#else
- //! Referenced value type
- typedef T value_type;
- //! Tag type
- typedef TagT tag_type;
-#endif
-
-public:
- /*!
- * Default constructor. Creates a reference wrapper that does not refer to a value.
- */
- BOOST_DEFAULTED_FUNCTION(value_ref(), BOOST_NOEXCEPT {})
-
- /*!
- * Copy constructor.
- */
- BOOST_DEFAULTED_FUNCTION(value_ref(value_ref const& that), BOOST_NOEXCEPT : base_type(static_cast< base_type const& >(that)) {})
-
- /*!
- * Initializing constructor. Creates a reference wrapper that refers to the specified value.
- */
- template< typename U >
- explicit value_ref(U const& val
-#ifndef BOOST_LOG_DOXYGEN_PASS
-// MSVC-8 can't handle SFINAE in this case properly and often wrongly disables this constructor
-#if !defined(_MSC_VER) || (_MSC_VER + 0) >= 1500
- , typename boost::enable_if_c< compatibility_traits::BOOST_NESTED_TEMPLATE is_compatible< value_type, U >::value, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()
-#endif
-#endif
- ) BOOST_NOEXCEPT :
- base_type(boost::addressof(val))
- {
- }
-
- /*!
- * The operator verifies if the wrapper refers to a value.
- */
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
-
- /*!
- * The operator verifies if the wrapper does not refer to a value.
- */
- bool operator! () const BOOST_NOEXCEPT
- {
- return !this->m_ptr;
- }
-
- /*!
- * \return \c true if the wrapper does not refer to a value.
- */
- bool empty() const BOOST_NOEXCEPT
- {
- return !this->m_ptr;
- }
-
- /*!
- * Swaps two reference wrappers
- */
- void swap(value_ref& that) BOOST_NOEXCEPT
- {
- base_type::swap(that);
- }
-};
-
-//! Free swap function
-template< typename T, typename TagT >
-inline void swap(value_ref< T, TagT >& left, value_ref< T, TagT >& right)
-{
- left.swap(right);
-}
-
-//! Stream output operator
-template< typename CharT, typename TraitsT, typename T, typename TagT >
-inline std::basic_ostream< CharT, TraitsT >& operator<< (std::basic_ostream< CharT, TraitsT >& strm, value_ref< T, TagT > const& val)
-{
- if (!!val)
- val.apply_visitor(boost::log::bind_output(strm));
- return strm;
-}
-
-//! Log formatting operator
-template< typename CharT, typename TraitsT, typename AllocatorT, typename T, typename TagT >
-inline basic_formatting_ostream< CharT, TraitsT, AllocatorT >& operator<< (basic_formatting_ostream< CharT, TraitsT, AllocatorT >& strm, value_ref< T, TagT > const& val)
-{
- if (!!val)
- val.apply_visitor(boost::log::bind_to_log< TagT >(strm));
- return strm;
-}
-
-// Equality comparison
-template< typename T, typename TagT, typename U >
-inline bool operator== (value_ref< T, TagT > const& left, U const& right)
-{
- return left.apply_visitor_or_default(binder2nd< equal_to, U const& >(equal_to(), right), false);
-}
-
-template< typename U, typename T, typename TagT >
-inline bool operator== (U const& left, value_ref< T, TagT > const& right)
-{
- return right.apply_visitor_or_default(binder1st< equal_to, U const& >(equal_to(), left), false);
-}
-
-template< typename T1, typename TagT1, typename T2, typename TagT2 >
-inline bool operator== (value_ref< T1, TagT1 > const& left, value_ref< T2, TagT2 > const& right)
-{
- if (!left && !right)
- return true;
- return left.apply_visitor_or_default(aux::vistation_invoker< value_ref< T2, TagT2 >, equal_to >(right, false), false);
-}
-
-// Inequality comparison
-template< typename T, typename TagT, typename U >
-inline bool operator!= (value_ref< T, TagT > const& left, U const& right)
-{
- return left.apply_visitor_or_default(binder2nd< not_equal_to, U const& >(not_equal_to(), right), false);
-}
-
-template< typename U, typename T, typename TagT >
-inline bool operator!= (U const& left, value_ref< T, TagT > const& right)
-{
- return right.apply_visitor_or_default(binder1st< not_equal_to, U const& >(not_equal_to(), left), false);
-}
-
-template< typename T1, typename TagT1, typename T2, typename TagT2 >
-inline bool operator!= (value_ref< T1, TagT1 > const& left, value_ref< T2, TagT2 > const& right)
-{
- if (!left && !right)
- return false;
- return left.apply_visitor_or_default(aux::vistation_invoker< value_ref< T2, TagT2 >, not_equal_to >(right, false), false);
-}
-
-// Less than ordering
-template< typename T, typename TagT, typename U >
-inline bool operator< (value_ref< T, TagT > const& left, U const& right)
-{
- return left.apply_visitor_or_default(binder2nd< less, U const& >(less(), right), false);
-}
-
-template< typename U, typename T, typename TagT >
-inline bool operator< (U const& left, value_ref< T, TagT > const& right)
-{
- return right.apply_visitor_or_default(binder1st< less, U const& >(less(), left), false);
-}
-
-template< typename T1, typename TagT1, typename T2, typename TagT2 >
-inline bool operator< (value_ref< T1, TagT1 > const& left, value_ref< T2, TagT2 > const& right)
-{
- return left.apply_visitor_or_default(aux::vistation_invoker< value_ref< T2, TagT2 >, less >(right, false), false);
-}
-
-// Greater than ordering
-template< typename T, typename TagT, typename U >
-inline bool operator> (value_ref< T, TagT > const& left, U const& right)
-{
- return left.apply_visitor_or_default(binder2nd< greater, U const& >(greater(), right), false);
-}
-
-template< typename U, typename T, typename TagT >
-inline bool operator> (U const& left, value_ref< T, TagT > const& right)
-{
- return right.apply_visitor_or_default(binder1st< greater, U const& >(greater(), left), false);
-}
-
-template< typename T1, typename TagT1, typename T2, typename TagT2 >
-inline bool operator> (value_ref< T1, TagT1 > const& left, value_ref< T2, TagT2 > const& right)
-{
- return left.apply_visitor_or_default(aux::vistation_invoker< value_ref< T2, TagT2 >, greater >(right, false), false);
-}
-
-// Less or equal ordering
-template< typename T, typename TagT, typename U >
-inline bool operator<= (value_ref< T, TagT > const& left, U const& right)
-{
- return left.apply_visitor_or_default(binder2nd< less_equal, U const& >(less_equal(), right), false);
-}
-
-template< typename U, typename T, typename TagT >
-inline bool operator<= (U const& left, value_ref< T, TagT > const& right)
-{
- return right.apply_visitor_or_default(binder1st< less_equal, U const& >(less_equal(), left), false);
-}
-
-template< typename T1, typename TagT1, typename T2, typename TagT2 >
-inline bool operator<= (value_ref< T1, TagT1 > const& left, value_ref< T2, TagT2 > const& right)
-{
- if (!left && !right)
- return true;
- return left.apply_visitor_or_default(aux::vistation_invoker< value_ref< T2, TagT2 >, less_equal >(right, false), false);
-}
-
-// Greater or equal ordering
-template< typename T, typename TagT, typename U >
-inline bool operator>= (value_ref< T, TagT > const& left, U const& right)
-{
- return left.apply_visitor_or_default(binder2nd< greater_equal, U const& >(greater_equal(), right), false);
-}
-
-template< typename U, typename T, typename TagT >
-inline bool operator>= (U const& left, value_ref< T, TagT > const& right)
-{
- return right.apply_visitor_or_default(binder1st< greater_equal, U const& >(greater_equal(), left), false);
-}
-
-template< typename T1, typename TagT1, typename T2, typename TagT2 >
-inline bool operator>= (value_ref< T1, TagT1 > const& left, value_ref< T2, TagT2 > const& right)
-{
- if (!left && !right)
- return true;
- return left.apply_visitor_or_default(aux::vistation_invoker< value_ref< T2, TagT2 >, greater_equal >(right, false), false);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_UTILITY_VALUE_REF_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost/log/utility/value_ref_fwd.hpp b/contrib/restricted/boost/boost/log/utility/value_ref_fwd.hpp
deleted file mode 100644
index 3e116ffe50..0000000000
--- a/contrib/restricted/boost/boost/log/utility/value_ref_fwd.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file value_ref_fwd.hpp
- * \author Andrey Semashev
- * \date 27.07.2012
- *
- * The header contains forward declaration of a value reference wrapper.
- */
-
-#ifndef BOOST_LOG_UTILITY_VALUE_REF_FWD_HPP_INCLUDED_
-#define BOOST_LOG_UTILITY_VALUE_REF_FWD_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-/*!
- * \brief Reference wrapper for a stored attribute value.
- */
-template< typename T, typename TagT = void >
-class value_ref;
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // BOOST_LOG_UTILITY_VALUE_REF_FWD_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/boost_common.inc b/contrib/restricted/boost/boost_common.inc
index 1b2190866b..a1527e3f80 100644
--- a/contrib/restricted/boost/boost_common.inc
+++ b/contrib/restricted/boost/boost_common.inc
@@ -7,7 +7,7 @@ LICENSE(BSL-1.0)
SET(BOOST_ROOT contrib/restricted/boost)
# XXX: fix selective checkout
-SRCDIR(${BOOST_ROOT}/boost)
+SRCDIR(${BOOST_ROOT})
IF (DYNAMIC_BOOST)
CFLAGS(
diff --git a/contrib/restricted/boost/container/include/boost/container/detail/container_or_allocator_rebind.hpp b/contrib/restricted/boost/container/include/boost/container/detail/container_or_allocator_rebind.hpp
deleted file mode 100644
index 1525e41d9d..0000000000
--- a/contrib/restricted/boost/container/include/boost/container/detail/container_or_allocator_rebind.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2017-2017. Distributed under the 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_CONTAINER_OR_ALLOCATOR_REBIND_HPP
-#define BOOST_CONTAINER_DETAIL_CONTAINER_OR_ALLOCATOR_REBIND_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/container/allocator_traits.hpp>
-#include <boost/container/detail/container_rebind.hpp>
-#include <boost/container/detail/is_container.hpp>
-
-namespace boost {
-namespace container {
-namespace dtl {
-
-template<class AllocatorOrContainer, class ToType, bool = is_container<AllocatorOrContainer>::value>
-struct container_or_allocator_rebind_impl
- : container_rebind<AllocatorOrContainer, ToType>
-{};
-
-template<class AllocatorOrContainer, class ToType>
-struct container_or_allocator_rebind_impl<AllocatorOrContainer, ToType, false>
- : allocator_traits<AllocatorOrContainer>::template portable_rebind_alloc<ToType>
-{};
-
-template<class ToType>
-struct container_or_allocator_rebind_impl<void, ToType, false>
- : real_allocator<ToType, void>
-{};
-
-template<class AllocatorOrContainer, class ToType>
-struct container_or_allocator_rebind
- : container_or_allocator_rebind_impl<AllocatorOrContainer, ToType>
-{};
-
-} //namespace dtl {
-} //namespace container {
-} //namespace boost {
-
-#endif //#ifndef BOOST_CONTAINER_DETAIL_CONTAINER_OR_ALLOCATOR_REBIND_HPP
diff --git a/contrib/restricted/boost/container/include/boost/container/detail/container_rebind.hpp b/contrib/restricted/boost/container/include/boost/container/detail/container_rebind.hpp
deleted file mode 100644
index 854291ae7c..0000000000
--- a/contrib/restricted/boost/container/include/boost/container/detail/container_rebind.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2017-2017. Distributed under the 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_CONTAINER_REBIND_HPP
-#define BOOST_CONTAINER_DETAIL_CONTAINER_REBIND_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/container/allocator_traits.hpp>
-#include <boost/container/container_fwd.hpp>
-
-
-namespace boost {
-namespace container {
-namespace dtl {
-
- template <class Cont, class U>
- struct container_rebind;
-
-#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- template <template <class, class, class...> class Cont, typename V, typename A, class... An, class U>
- struct container_rebind<Cont<V, A, An...>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type, An...> type;
- };
-
- //Needed for non-conforming compilers like GCC 4.3
- template <template <class, class> class Cont, typename V, typename A, class U>
- struct container_rebind<Cont<V, A>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type> type;
- };
-
- template <template <class> class Cont, typename V, class U>
- struct container_rebind<Cont<V>, U>
- {
- typedef Cont<U> type;
- };
-
-#else //C++03 compilers
-
- template <template <class> class Cont //0arg
- , typename V
- , class U>
- struct container_rebind<Cont<V>, U>
- {
- typedef Cont<U> type;
- };
-
- template <template <class, class> class Cont //0arg
- , typename V, typename A
- , class U>
- struct container_rebind<Cont<V, A>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type> type;
- };
-
- template <template <class, class, class> class Cont //1arg
- , typename V, typename A, class P0
- , class U>
- struct container_rebind<Cont<V, A, P0>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type, P0> type;
- };
-
- template <template <class, class, class, class> class Cont //2arg
- , typename V, typename A, class P0, class P1
- , class U>
- struct container_rebind<Cont<V, A, P0, P1>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type, P0, P1> type;
- };
-
- template <template <class, class, class, class, class> class Cont //3arg
- , typename V, typename A, class P0, class P1, class P2
- , class U>
- struct container_rebind<Cont<V, A, P0, P1, P2>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type, P0, P1, P2> type;
- };
-
- template <template <class, class, class, class, class, class> class Cont //4arg
- , typename V, typename A, class P0, class P1, class P2, class P3
- , class U>
- struct container_rebind<Cont<V, A, P0, P1, P2, P3>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type, P0, P1, P2, P3> type;
- };
-
- template <template <class, class, class, class, class, class, class> class Cont //5arg
- , typename V, typename A, class P0, class P1, class P2, class P3, class P4
- , class U>
- struct container_rebind<Cont<V, A, P0, P1, P2, P3, P4>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type, P0, P1, P2, P3, P4> type;
- };
-
- template <template <class, class, class, class, class, class, class, class> class Cont //6arg
- , typename V, typename A, class P0, class P1, class P2, class P3, class P4, class P5
- , class U>
- struct container_rebind<Cont<V, A, P0, P1, P2, P3, P4, P5>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type, P0, P1, P2, P3, P4, P5> type;
- };
-
- template <template <class, class, class, class, class, class, class, class, class> class Cont //7arg
- , typename V, typename A, class P0, class P1, class P2, class P3, class P4, class P5, class P6
- , class U>
- struct container_rebind<Cont<V, A, P0, P1, P2, P3, P4, P5, P6>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type, P0, P1, P2, P3, P4, P5, P6> type;
- };
-
- template <template <class, class, class, class, class, class, class, class, class, class> class Cont //8arg
- , typename V, typename A, class P0, class P1, class P2, class P3, class P4, class P5, class P6, class P7
- , class U>
- struct container_rebind<Cont<V, A, P0, P1, P2, P3, P4, P5, P6, P7>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type, P0, P1, P2, P3, P4, P5, P6, P7> type;
- };
-
- template <template <class, class, class, class, class, class, class, class, class, class, class> class Cont //9arg
- , typename V, typename A, class P0, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8
- , class U>
- struct container_rebind<Cont<V, A, P0, P1, P2, P3, P4, P5, P6, P7, P8>, U>
- {
- typedef Cont<U, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type, P0, P1, P2, P3, P4, P5, P6, P7, P8> type;
- };
-
-#endif //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- //for small_vector,static_vector
-
- template <typename V, std::size_t N, typename A, typename O, class U>
- struct container_rebind<small_vector<V, N, A, O>, U>
- {
- typedef small_vector<U, N, typename allocator_traits<typename real_allocator<V, A>::type>::template portable_rebind_alloc<U>::type, O> type;
- };
-
- template <typename V, std::size_t N, typename O, class U>
- struct container_rebind<static_vector<V, N, O>, U>
- {
- typedef static_vector<U, N, O> type;
- };
-
-} //namespace dtl {
-} //namespace container {
-} //namespace boost {
-
-#endif //#ifndef BOOST_CONTAINER_DETAIL_CONTAINER_REBIND_HPP
diff --git a/contrib/restricted/boost/container/include/boost/container/detail/flat_tree.hpp b/contrib/restricted/boost/container/include/boost/container/detail/flat_tree.hpp
deleted file mode 100644
index bbc89589b5..0000000000
--- a/contrib/restricted/boost/container/include/boost/container/detail/flat_tree.hpp
+++ /dev/null
@@ -1,1698 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// (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 http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/container for documentation.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_CONTAINER_FLAT_TREE_HPP
-#define BOOST_CONTAINER_FLAT_TREE_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/container/detail/config_begin.hpp>
-#include <boost/container/detail/workaround.hpp>
-
-#include <boost/container/container_fwd.hpp>
-
-#include <boost/move/utility_core.hpp>
-
-#include <boost/container/detail/pair.hpp>
-#include <boost/container/vector.hpp>
-#include <boost/container/allocator_traits.hpp>
-
-#include <boost/container/detail/value_init.hpp>
-#include <boost/container/detail/destroyers.hpp>
-#include <boost/container/detail/algorithm.hpp> //algo_equal(), algo_lexicographical_compare
-#include <boost/container/detail/iterator.hpp>
-#include <boost/container/detail/is_sorted.hpp>
-#include <boost/container/detail/type_traits.hpp>
-#include <boost/container/detail/iterators.hpp>
-#include <boost/container/detail/mpl.hpp>
-#include <boost/container/detail/is_contiguous_container.hpp>
-#include <boost/container/detail/is_container.hpp>
-
-#include <boost/intrusive/detail/minimal_pair_header.hpp> //pair
-
-#include <boost/move/make_unique.hpp>
-#include <boost/move/iterator.hpp>
-#include <boost/move/adl_move_swap.hpp>
-#include <boost/move/detail/force_ptr.hpp>
-#include <boost/move/algo/adaptive_sort.hpp>
-#include <boost/move/algo/detail/pdqsort.hpp>
-
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-#include <boost/move/detail/fwd_macros.hpp>
-#endif
-
-#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-#if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-result"
-#endif
-
-//merge_unique
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME merge_unique
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace dtl {
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}}
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 3
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 3
-#include <boost/intrusive/detail/has_member_function_callable_with.hpp>
-
-//merge_equal
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME merge
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace dtl {
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}}
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 3
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 3
-#include <boost/intrusive/detail/has_member_function_callable_with.hpp>
-
-//index_of
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME index_of
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace dtl {
-#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 <boost/intrusive/detail/has_member_function_callable_with.hpp>
-
-//nth
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME nth
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace dtl {
-#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 <boost/intrusive/detail/has_member_function_callable_with.hpp>
-
-//reserve
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME reserve
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace dtl {
-#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 <boost/intrusive/detail/has_member_function_callable_with.hpp>
-
-//capacity
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME capacity
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace dtl {
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}}
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 0
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 0
-#include <boost/intrusive/detail/has_member_function_callable_with.hpp>
-
-#if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
-#pragma GCC diagnostic pop
-#endif
-
-
-#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-namespace boost {
-namespace container {
-namespace dtl {
-
-///////////////////////////////////////
-//
-// Helper functions to merge elements
-//
-///////////////////////////////////////
-
-BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(stored_allocator_type)
-
-///////////////////////////////////////
-//
-// flat_tree_container_inplace_merge
-//
-///////////////////////////////////////
-template<class SequenceContainer, class Compare>
-BOOST_CONTAINER_FORCEINLINE void flat_tree_container_inplace_merge //is_contiguous_container == true
- (SequenceContainer& dest, typename SequenceContainer::iterator it, Compare comp , dtl::true_)
-{
- typedef typename SequenceContainer::value_type value_type;
- value_type *const braw = boost::movelib::iterator_to_raw_pointer(dest.begin());
- value_type *const iraw = boost::movelib::iterator_to_raw_pointer(it);
- value_type *const eraw = boost::movelib::iterator_to_raw_pointer(dest.end());
- boost::movelib::adaptive_merge
- (braw, iraw, eraw, comp, eraw, back_free_capacity<SequenceContainer>::get(dest));
-}
-
-template<class SequenceContainer, class Compare>
-BOOST_CONTAINER_FORCEINLINE void flat_tree_container_inplace_merge //is_contiguous_container == false
- (SequenceContainer& dest, typename SequenceContainer::iterator it, Compare comp, dtl::false_)
-{
- boost::movelib::adaptive_merge(dest.begin(), it, dest.end(), comp);
-}
-
-///////////////////////////////////////
-//
-// flat_tree_container_inplace_sort_ending
-//
-///////////////////////////////////////
-template<class SequenceContainer, class Compare>
-BOOST_CONTAINER_FORCEINLINE void flat_tree_container_inplace_sort_ending //is_contiguous_container == true
- (SequenceContainer& dest, typename SequenceContainer::iterator it, Compare comp, dtl::true_)
-{
- typedef typename SequenceContainer::value_type value_type;
- value_type *const iraw = boost::movelib::iterator_to_raw_pointer(it);
- value_type *const eraw = boost::movelib::iterator_to_raw_pointer(dest.end());
- boost::movelib::adaptive_sort
- (iraw, eraw, comp, eraw, back_free_capacity<SequenceContainer>::get(dest));
-}
-
-template<class SequenceContainer, class Compare>
-BOOST_CONTAINER_FORCEINLINE void flat_tree_container_inplace_sort_ending //is_contiguous_container == false
- (SequenceContainer& dest, typename SequenceContainer::iterator it, Compare comp , dtl::false_)
-{
- boost::movelib::adaptive_sort(it, dest.end(), comp);
-}
-
-///////////////////////////////////////
-//
-// flat_tree_merge
-//
-///////////////////////////////////////
-template<class SequenceContainer, class Iterator, class Compare>
-BOOST_CONTAINER_FORCEINLINE void flat_tree_merge_equal
- (SequenceContainer& dest, Iterator first, Iterator last, Compare comp, dtl::true_)
-{
- dest.merge(first, last, comp);
-}
-
-template<class SequenceContainer, class Iterator, class Compare>
-BOOST_CONTAINER_FORCEINLINE void flat_tree_merge_equal //has_merge_unique == false
- (SequenceContainer& dest, Iterator first, Iterator last, Compare comp, dtl::false_)
-{
- typedef typename SequenceContainer::iterator iterator;
- iterator const it = dest.insert( dest.end(), first, last );
- dtl::bool_<is_contiguous_container<SequenceContainer>::value> contiguous_tag;
- (flat_tree_container_inplace_merge)(dest, it, comp, contiguous_tag);
-}
-
-///////////////////////////////////////
-//
-// flat_tree_merge_unique
-//
-///////////////////////////////////////
-template<class SequenceContainer, class Iterator, class Compare>
-BOOST_CONTAINER_FORCEINLINE void flat_tree_merge_unique //has_merge_unique == true
- (SequenceContainer& dest, Iterator first, Iterator last, Compare comp, dtl::true_)
-{
- dest.merge_unique(first, last, comp);
-}
-
-template<class SequenceContainer, class Iterator, class Compare>
-BOOST_CONTAINER_FORCEINLINE void flat_tree_merge_unique //has_merge_unique == false
- (SequenceContainer& dest, Iterator first, Iterator last, Compare comp, dtl::false_)
-{
- typedef typename SequenceContainer::iterator iterator;
- typedef typename SequenceContainer::size_type size_type;
- typedef typename SequenceContainer::difference_type difference_type;
-
- size_type const old_sz = dest.size();
- iterator const first_new = dest.insert(dest.cend(), first, last );
- iterator e = boost::movelib::inplace_set_unique_difference(first_new, dest.end(), dest.begin(), first_new, comp);
- dest.erase(e, dest.end());
- dtl::bool_<is_contiguous_container<SequenceContainer>::value> contiguous_tag;
- (flat_tree_container_inplace_merge)(dest, dest.begin() + difference_type(old_sz), comp, contiguous_tag);
-}
-
-///////////////////////////////////////
-//
-// flat_tree_index_of
-//
-///////////////////////////////////////
-template<class SequenceContainer, class Iterator>
-BOOST_CONTAINER_FORCEINLINE typename SequenceContainer::size_type
- flat_tree_index_of // has_index_of == true
- (SequenceContainer& cont, Iterator p, dtl::true_)
-{
- return cont.index_of(p);
-}
-
-template<class SequenceContainer, class Iterator>
-BOOST_CONTAINER_FORCEINLINE typename SequenceContainer::size_type
- flat_tree_index_of // has_index_of == false
- (SequenceContainer& cont, Iterator p, dtl::false_)
-{
- typedef typename SequenceContainer::size_type size_type;
- return static_cast<size_type>(p - cont.begin());
-}
-
-///////////////////////////////////////
-//
-// flat_tree_nth
-//
-///////////////////////////////////////
-template<class Iterator, class SequenceContainer>
-BOOST_CONTAINER_FORCEINLINE Iterator
- flat_tree_nth // has_nth == true
- (SequenceContainer& cont, typename SequenceContainer::size_type n, dtl::true_)
-{
- return cont.nth(n);
-}
-
-template<class Iterator, class SequenceContainer>
-BOOST_CONTAINER_FORCEINLINE Iterator
- flat_tree_nth // has_nth == false
- (SequenceContainer& cont, typename SequenceContainer::size_type n, dtl::false_)
-{
- return cont.begin()+ typename SequenceContainer::difference_type(n);
-}
-
-///////////////////////////////////////
-//
-// flat_tree_get_stored_allocator
-//
-///////////////////////////////////////
-template<class SequenceContainer>
-BOOST_CONTAINER_FORCEINLINE typename SequenceContainer::stored_allocator_type &
- flat_tree_get_stored_allocator // has_get_stored_allocator == true
- (SequenceContainer& cont, dtl::true_)
-{
- return cont.get_stored_allocator();
-}
-
-template<class SequenceContainer>
-BOOST_CONTAINER_FORCEINLINE const typename SequenceContainer::stored_allocator_type &
- flat_tree_get_stored_allocator // has_get_stored_allocator == true
- (const SequenceContainer& cont, dtl::true_)
-{
- return cont.get_stored_allocator();
-}
-
-template<class SequenceContainer>
-BOOST_CONTAINER_FORCEINLINE typename SequenceContainer::allocator_type
- flat_tree_get_stored_allocator // has_get_stored_allocator == false
- (SequenceContainer& cont, dtl::false_)
-{
- return cont.get_allocator();
-}
-
-///////////////////////////////////////
-//
-// flat_tree_adopt_sequence_equal
-//
-///////////////////////////////////////
-template<class SequenceContainer, class Compare>
-void flat_tree_sort_contiguous_to_adopt // is_contiguous_container == true
- (SequenceContainer &tseq, BOOST_RV_REF(SequenceContainer) seq, Compare comp)
-{
- if(tseq.capacity() >= (seq.capacity() - seq.size())) {
- tseq.clear();
- boost::movelib::adaptive_sort
- (boost::movelib::iterator_to_raw_pointer(seq.begin())
- , boost::movelib::iterator_to_raw_pointer(seq.end())
- , comp
- , boost::movelib::iterator_to_raw_pointer(tseq.begin())
- , tseq.capacity());
- }
- else{
- boost::movelib::adaptive_sort
- (boost::movelib::iterator_to_raw_pointer(seq.begin())
- , boost::movelib::iterator_to_raw_pointer(seq.end())
- , comp
- , boost::movelib::iterator_to_raw_pointer(seq.end())
- , seq.capacity() - seq.size());
- }
-}
-
-template<class SequenceContainer, class Compare>
-BOOST_CONTAINER_FORCEINLINE void flat_tree_adopt_sequence_equal // is_contiguous_container == true
- (SequenceContainer &tseq, BOOST_RV_REF(SequenceContainer) seq, Compare comp, dtl::true_)
-{
- flat_tree_sort_contiguous_to_adopt(tseq, boost::move(seq), comp);
- tseq = boost::move(seq);
-}
-
-template<class SequenceContainer, class Compare>
-BOOST_CONTAINER_FORCEINLINE void flat_tree_adopt_sequence_equal // is_contiguous_container == false
- (SequenceContainer &tseq, BOOST_RV_REF(SequenceContainer) seq, Compare comp, dtl::false_)
-{
- boost::movelib::adaptive_sort(seq.begin(), seq.end(), comp);
- tseq = boost::move(seq);
-}
-
-///////////////////////////////////////
-//
-// flat_tree_adopt_sequence_unique
-//
-///////////////////////////////////////
-template<class SequenceContainer, class Compare>
-void flat_tree_adopt_sequence_unique// is_contiguous_container == true
- (SequenceContainer &tseq, BOOST_RV_REF(SequenceContainer) seq, Compare comp, dtl::true_)
-{
- boost::movelib::pdqsort
- ( boost::movelib::iterator_to_raw_pointer(seq.begin())
- , boost::movelib::iterator_to_raw_pointer(seq.end())
- , comp);
- seq.erase(boost::movelib::unique
- (seq.begin(), seq.end(), boost::movelib::negate<Compare>(comp)), seq.cend());
- tseq = boost::move(seq);
-}
-
-template<class SequenceContainer, class Compare>
-void flat_tree_adopt_sequence_unique// is_contiguous_container == false
- (SequenceContainer &tseq, BOOST_RV_REF(SequenceContainer) seq, Compare comp, dtl::false_)
-{
- boost::movelib::pdqsort(seq.begin(), seq.end(), comp);
- seq.erase(boost::movelib::unique
- (seq.begin(), seq.end(), boost::movelib::negate<Compare>(comp)), seq.cend());
- tseq = boost::move(seq);
-}
-
-///////////////////////////////////////
-//
-// flat_tree_reserve
-//
-///////////////////////////////////////
-template<class SequenceContainer>
-BOOST_CONTAINER_FORCEINLINE void // has_reserve == true
- flat_tree_reserve(SequenceContainer &tseq, typename SequenceContainer::size_type cap, dtl::true_)
-{
- tseq.reserve(cap);
-}
-
-template<class SequenceContainer>
-BOOST_CONTAINER_FORCEINLINE void // has_reserve == false
- flat_tree_reserve(SequenceContainer &, typename SequenceContainer::size_type, dtl::false_)
-{
-}
-
-///////////////////////////////////////
-//
-// flat_tree_capacity
-//
-///////////////////////////////////////
-template<class SequenceContainer> // has_capacity == true
-BOOST_CONTAINER_FORCEINLINE typename SequenceContainer::size_type
- flat_tree_capacity(const SequenceContainer &tseq, dtl::true_)
-{
- return tseq.capacity();
-}
-
-template<class SequenceContainer> // has_capacity == false
-BOOST_CONTAINER_FORCEINLINE typename SequenceContainer::size_type
- flat_tree_capacity(const SequenceContainer &tseq, dtl::false_)
-{
- return tseq.size();
-}
-
-///////////////////////////////////////
-//
-// flat_tree_value_compare
-//
-///////////////////////////////////////
-
-template<class Compare, class Value, class KeyOfValue>
-class flat_tree_value_compare
- : private Compare
-{
- typedef Value first_argument_type;
- typedef Value second_argument_type;
- typedef bool return_type;
- public:
- BOOST_CONTAINER_FORCEINLINE flat_tree_value_compare()
- : Compare()
- {}
-
- BOOST_CONTAINER_FORCEINLINE flat_tree_value_compare(const Compare &pred)
- : Compare(pred)
- {}
-
- BOOST_CONTAINER_FORCEINLINE bool operator()(const Value& lhs, const Value& rhs) const
- {
- KeyOfValue key_extract;
- return Compare::operator()(key_extract(lhs), key_extract(rhs));
- }
-
- BOOST_CONTAINER_FORCEINLINE const Compare &get_comp() const
- { return *this; }
-
- BOOST_CONTAINER_FORCEINLINE Compare &get_comp()
- { return *this; }
-};
-
-
-///////////////////////////////////////
-//
-// select_container_type
-//
-///////////////////////////////////////
-template < class Value, class AllocatorOrContainer
- , bool = boost::container::dtl::is_container<AllocatorOrContainer>::value
- >
-struct select_container_type
-{
- typedef AllocatorOrContainer type;
-};
-
-template <class Value, class AllocatorOrContainer>
-struct select_container_type<Value, AllocatorOrContainer, false>
-{
- typedef boost::container::vector<Value, typename real_allocator<Value, AllocatorOrContainer>::type> type;
-};
-
-
-///////////////////////////////////////
-//
-// flat_tree
-//
-///////////////////////////////////////
-template <class Value, class KeyOfValue,
- class Compare, class AllocatorOrContainer>
-class flat_tree
-{
- public:
- typedef typename select_container_type<Value, AllocatorOrContainer>::type container_type;
- typedef container_type sequence_type; //For backwards compatibility
-
- private:
- typedef typename container_type::allocator_type allocator_t;
- typedef allocator_traits<allocator_t> allocator_traits_type;
-
- public:
- typedef flat_tree_value_compare<Compare, Value, KeyOfValue> value_compare;
-
- private:
-
- struct Data
- //Inherit from value_compare to do EBO
- : public value_compare
- {
- BOOST_COPYABLE_AND_MOVABLE(Data)
-
- public:
- BOOST_CONTAINER_FORCEINLINE Data()
- : value_compare(), m_seq()
- {}
-
- BOOST_CONTAINER_FORCEINLINE explicit Data(const allocator_t &alloc)
- : value_compare(), m_seq(alloc)
- {}
-
- BOOST_CONTAINER_FORCEINLINE explicit Data(const Compare &comp)
- : value_compare(comp), m_seq()
- {}
-
- BOOST_CONTAINER_FORCEINLINE Data(const Compare &comp, const allocator_t &alloc)
- : value_compare(comp), m_seq(alloc)
- {}
-
- BOOST_CONTAINER_FORCEINLINE explicit Data(const Data &d)
- : value_compare(static_cast<const value_compare&>(d)), m_seq(d.m_seq)
- {}
-
- BOOST_CONTAINER_FORCEINLINE Data(BOOST_RV_REF(Data) d)
- : value_compare(boost::move(static_cast<value_compare&>(d))), m_seq(boost::move(d.m_seq))
- {}
-
- BOOST_CONTAINER_FORCEINLINE Data(const Data &d, const allocator_t &a)
- : value_compare(static_cast<const value_compare&>(d)), m_seq(d.m_seq, a)
- {}
-
- BOOST_CONTAINER_FORCEINLINE Data(BOOST_RV_REF(Data) d, const allocator_t &a)
- : value_compare(boost::move(static_cast<value_compare&>(d))), m_seq(boost::move(d.m_seq), a)
- {}
-
- Data& operator=(BOOST_COPY_ASSIGN_REF(Data) d)
- {
- this->value_compare::operator=(d);
- m_seq = d.m_seq;
- return *this;
- }
-
- Data& operator=(BOOST_RV_REF(Data) d)
- {
- this->value_compare::operator=(boost::move(static_cast<value_compare &>(d)));
- m_seq = boost::move(d.m_seq);
- return *this;
- }
-
- void swap(Data &d)
- {
- value_compare& mycomp = *this, & othercomp = d;
- boost::adl_move_swap(mycomp, othercomp);
- this->m_seq.swap(d.m_seq);
- }
-
- container_type m_seq;
- };
-
- Data m_data;
- BOOST_COPYABLE_AND_MOVABLE(flat_tree)
-
- public:
-
- typedef typename container_type::value_type value_type;
- typedef typename container_type::pointer pointer;
- typedef typename container_type::const_pointer const_pointer;
- typedef typename container_type::reference reference;
- typedef typename container_type::const_reference const_reference;
- typedef typename KeyOfValue::type key_type;
- typedef Compare key_compare;
- typedef typename container_type::allocator_type allocator_type;
- typedef typename container_type::size_type size_type;
- typedef typename container_type::difference_type difference_type;
- typedef typename container_type::iterator iterator;
- typedef typename container_type::const_iterator const_iterator;
- typedef typename container_type::reverse_iterator reverse_iterator;
- typedef typename container_type::const_reverse_iterator const_reverse_iterator;
-
- //!Standard extension
- typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT
- (boost::container::dtl::, container_type
- ,stored_allocator_type, allocator_type) stored_allocator_type;
-
- static const bool has_stored_allocator_type =
- BOOST_INTRUSIVE_HAS_TYPE(boost::container::dtl::, container_type, stored_allocator_type);
-
- private:
- typedef allocator_traits<stored_allocator_type> stored_allocator_traits;
-
- public:
- typedef typename dtl::if_c
- <has_stored_allocator_type, const stored_allocator_type &, allocator_type>::type get_stored_allocator_const_return_t;
-
- typedef typename dtl::if_c
- <has_stored_allocator_type, stored_allocator_type &, allocator_type>::type get_stored_allocator_noconst_return_t;
-
- BOOST_CONTAINER_FORCEINLINE flat_tree()
- : m_data()
- { }
-
- BOOST_CONTAINER_FORCEINLINE explicit flat_tree(const Compare& comp)
- : m_data(comp)
- { }
-
- BOOST_CONTAINER_FORCEINLINE explicit flat_tree(const allocator_type& a)
- : m_data(a)
- { }
-
- BOOST_CONTAINER_FORCEINLINE flat_tree(const Compare& comp, const allocator_type& a)
- : m_data(comp, a)
- { }
-
- BOOST_CONTAINER_FORCEINLINE flat_tree(const flat_tree& x)
- : m_data(x.m_data)
- { }
-
- BOOST_CONTAINER_FORCEINLINE flat_tree(BOOST_RV_REF(flat_tree) x)
- BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
- : m_data(boost::move(x.m_data))
- { }
-
- BOOST_CONTAINER_FORCEINLINE flat_tree(const flat_tree& x, const allocator_type &a)
- : m_data(x.m_data, a)
- { }
-
- BOOST_CONTAINER_FORCEINLINE flat_tree(BOOST_RV_REF(flat_tree) x, const allocator_type &a)
- : m_data(boost::move(x.m_data), a)
- { }
-
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_tree( ordered_range_t, InputIterator first, InputIterator last)
- : m_data()
- {
- this->m_data.m_seq.insert(this->m_data.m_seq.end(), first, last);
- BOOST_ASSERT((is_sorted)(this->m_data.m_seq.cbegin(), this->m_data.m_seq.cend(), this->priv_value_comp()));
- }
-
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_tree( ordered_range_t, InputIterator first, InputIterator last, const Compare& comp)
- : m_data(comp)
- {
- this->m_data.m_seq.insert(this->m_data.m_seq.end(), first, last);
- BOOST_ASSERT((is_sorted)(this->m_data.m_seq.cbegin(), this->m_data.m_seq.cend(), this->priv_value_comp()));
- }
-
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_tree( ordered_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
- : m_data(comp, a)
- {
- this->m_data.m_seq.insert(this->m_data.m_seq.end(), first, last);
- BOOST_ASSERT((is_sorted)(this->m_data.m_seq.cbegin(), this->m_data.m_seq.cend(), this->priv_value_comp()));
- }
-
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_tree( ordered_unique_range_t, InputIterator first, InputIterator last)
- : m_data()
- {
- this->m_data.m_seq.insert(this->m_data.m_seq.end(), first, last);
- BOOST_ASSERT((is_sorted_and_unique)(this->m_data.m_seq.cbegin(), this->m_data.m_seq.cend(), this->priv_value_comp()));
- }
-
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_tree( ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp)
- : m_data(comp)
- {
- this->m_data.m_seq.insert(this->m_data.m_seq.end(), first, last);
- BOOST_ASSERT((is_sorted_and_unique)(this->m_data.m_seq.cbegin(), this->m_data.m_seq.cend(), this->priv_value_comp()));
- }
-
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_tree( ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
- : m_data(comp, a)
- {
- this->m_data.m_seq.insert(this->m_data.m_seq.end(), first, last);
- BOOST_ASSERT((is_sorted_and_unique)(this->m_data.m_seq.cbegin(), this->m_data.m_seq.cend(), this->priv_value_comp()));
- }
-
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_tree( bool unique_insertion, InputIterator first, InputIterator last)
- : m_data()
- {
- this->priv_range_insertion_construct(unique_insertion, first, last);
- }
-
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_tree( bool unique_insertion, InputIterator first, InputIterator last
- , const Compare& comp)
- : m_data(comp)
- {
- this->priv_range_insertion_construct(unique_insertion, first, last);
- }
-
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_tree( bool unique_insertion, InputIterator first, InputIterator last
- , const allocator_type& a)
- : m_data(a)
- {
- this->priv_range_insertion_construct(unique_insertion, first, last);
- }
-
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_tree( bool unique_insertion, InputIterator first, InputIterator last
- , const Compare& comp, const allocator_type& a)
- : m_data(comp, a)
- {
- this->priv_range_insertion_construct(unique_insertion, first, last);
- }
-
- BOOST_CONTAINER_FORCEINLINE ~flat_tree()
- {}
-
- BOOST_CONTAINER_FORCEINLINE flat_tree& operator=(BOOST_COPY_ASSIGN_REF(flat_tree) x)
- { m_data = x.m_data; return *this; }
-
- BOOST_CONTAINER_FORCEINLINE flat_tree& operator=(BOOST_RV_REF(flat_tree) x)
- BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
- allocator_traits_type::is_always_equal::value) &&
- boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
- { m_data = boost::move(x.m_data); return *this; }
-
- BOOST_CONTAINER_FORCEINLINE const value_compare &priv_value_comp() const
- { return static_cast<const value_compare &>(this->m_data); }
-
- BOOST_CONTAINER_FORCEINLINE value_compare &priv_value_comp()
- { return static_cast<value_compare &>(this->m_data); }
-
- BOOST_CONTAINER_FORCEINLINE const key_compare &priv_key_comp() const
- { return this->priv_value_comp().get_comp(); }
-
- BOOST_CONTAINER_FORCEINLINE key_compare &priv_key_comp()
- { return this->priv_value_comp().get_comp(); }
-
- struct insert_commit_data
- {
- const_iterator position;
- };
-
- public:
- // accessors:
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- Compare key_comp() const
- { return this->m_data.get_comp(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- value_compare value_comp() const
- { return this->m_data; }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- allocator_type get_allocator() const
- { return this->m_data.m_seq.get_allocator(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- get_stored_allocator_const_return_t get_stored_allocator() const
- {
- return flat_tree_get_stored_allocator(this->m_data.m_seq, dtl::bool_<has_stored_allocator_type>());
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- get_stored_allocator_noconst_return_t get_stored_allocator()
- {
- return flat_tree_get_stored_allocator(this->m_data.m_seq, dtl::bool_<has_stored_allocator_type>());
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator begin()
- { return this->m_data.m_seq.begin(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator begin() const
- { return this->cbegin(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator cbegin() const
- { return this->m_data.m_seq.begin(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator end()
- { return this->m_data.m_seq.end(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator end() const
- { return this->cend(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator cend() const
- { return this->m_data.m_seq.end(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reverse_iterator rbegin()
- { return reverse_iterator(this->end()); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator rbegin() const
- { return this->crbegin(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator crbegin() const
- { return const_reverse_iterator(this->cend()); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reverse_iterator rend()
- { return reverse_iterator(this->begin()); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator rend() const
- { return this->crend(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator crend() const
- { return const_reverse_iterator(this->cbegin()); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- bool empty() const
- { return this->m_data.m_seq.empty(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type size() const
- { return this->m_data.m_seq.size(); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type max_size() const
- { return this->m_data.m_seq.max_size(); }
-
- BOOST_CONTAINER_FORCEINLINE void swap(flat_tree& other)
- BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
- && boost::container::dtl::is_nothrow_swappable<Compare>::value )
- { this->m_data.swap(other.m_data); }
-
- public:
- // insert/erase
- std::pair<iterator,bool> insert_unique(const value_type& val)
- {
- std::pair<iterator,bool> ret;
- insert_commit_data data;
- ret.second = this->priv_insert_unique_prepare(KeyOfValue()(val), data);
- ret.first = ret.second ? this->priv_insert_commit(data, val)
- : this->begin() + (data.position - this->cbegin());
- //: iterator(vector_iterator_get_ptr(data.position));
- return ret;
- }
-
- std::pair<iterator,bool> insert_unique(BOOST_RV_REF(value_type) val)
- {
- std::pair<iterator,bool> ret;
- insert_commit_data data;
- ret.second = this->priv_insert_unique_prepare(KeyOfValue()(val), data);
- ret.first = ret.second ? this->priv_insert_commit(data, boost::move(val))
- : this->begin() + (data.position - this->cbegin());
- //: iterator(vector_iterator_get_ptr(data.position));
- return ret;
- }
-
- iterator insert_equal(const value_type& val)
- {
- iterator i = this->upper_bound(KeyOfValue()(val));
- i = this->m_data.m_seq.insert(i, val);
- return i;
- }
-
- iterator insert_equal(BOOST_RV_REF(value_type) mval)
- {
- iterator i = this->upper_bound(KeyOfValue()(mval));
- i = this->m_data.m_seq.insert(i, boost::move(mval));
- return i;
- }
-
- iterator insert_unique(const_iterator hint, const value_type& val)
- {
- BOOST_ASSERT(this->priv_in_range_or_end(hint));
- insert_commit_data data;
- return this->priv_insert_unique_prepare(hint, KeyOfValue()(val), data)
- ? this->priv_insert_commit(data, val)
- : this->begin() + (data.position - this->cbegin());
- //: iterator(vector_iterator_get_ptr(data.position));
- }
-
- iterator insert_unique(const_iterator hint, BOOST_RV_REF(value_type) val)
- {
- BOOST_ASSERT(this->priv_in_range_or_end(hint));
- insert_commit_data data;
- return this->priv_insert_unique_prepare(hint, KeyOfValue()(val), data)
- ? this->priv_insert_commit(data, boost::move(val))
- : this->begin() + (data.position - this->cbegin());
- //: iterator(vector_iterator_get_ptr(data.position));
- }
-
- iterator insert_equal(const_iterator hint, const value_type& val)
- {
- BOOST_ASSERT(this->priv_in_range_or_end(hint));
- insert_commit_data data;
- this->priv_insert_equal_prepare(hint, val, data);
- return this->priv_insert_commit(data, val);
- }
-
- iterator insert_equal(const_iterator hint, BOOST_RV_REF(value_type) mval)
- {
- BOOST_ASSERT(this->priv_in_range_or_end(hint));
- insert_commit_data data;
- this->priv_insert_equal_prepare(hint, mval, data);
- return this->priv_insert_commit(data, boost::move(mval));
- }
-
- template <class InIt>
- void insert_unique(InIt first, InIt last)
- {
- dtl::bool_<is_contiguous_container<container_type>::value> contiguous_tag;
- container_type &seq = this->m_data.m_seq;
- value_compare &val_cmp = this->priv_value_comp();
-
- //Step 1: put new elements in the back
- typename container_type::iterator const it = seq.insert(seq.cend(), first, last);
-
- //Step 2: sort them
- boost::movelib::pdqsort(it, seq.end(), val_cmp);
-
- //Step 3: only left unique values from the back not already present in the original range
- typename container_type::iterator const e = boost::movelib::inplace_set_unique_difference
- (it, seq.end(), seq.begin(), it, val_cmp);
-
- seq.erase(e, seq.cend());
- //it might be invalidated by erasing [e, seq.end) if e == it
- if (it != e)
- {
- //Step 4: merge both ranges
- (flat_tree_container_inplace_merge)(seq, it, this->priv_value_comp(), contiguous_tag);
- }
- }
-
- template <class InIt>
- void insert_equal(InIt first, InIt last)
- {
- dtl::bool_<is_contiguous_container<container_type>::value> contiguous_tag;
- container_type &seq = this->m_data.m_seq;
- typename container_type::iterator const it = seq.insert(seq.cend(), first, last);
- (flat_tree_container_inplace_sort_ending)(seq, it, this->priv_value_comp(), contiguous_tag);
- (flat_tree_container_inplace_merge) (seq, it, this->priv_value_comp(), contiguous_tag);
- }
-
- //Ordered
-
- template <class InIt>
- void insert_equal(ordered_range_t, InIt first, InIt last)
- {
- const bool value = boost::container::dtl::
- has_member_function_callable_with_merge_unique<container_type, InIt, InIt, value_compare>::value;
- (flat_tree_merge_equal)(this->m_data.m_seq, first, last, this->priv_value_comp(), dtl::bool_<value>());
- }
-
- template <class InIt>
- void insert_unique(ordered_unique_range_t, InIt first, InIt last)
- {
- const bool value = boost::container::dtl::
- has_member_function_callable_with_merge_unique<container_type, InIt, InIt, value_compare>::value;
- (flat_tree_merge_unique)(this->m_data.m_seq, first, last, this->priv_value_comp(), dtl::bool_<value>());
- }
-
- #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- template <class... Args>
- std::pair<iterator, bool> emplace_unique(BOOST_FWD_REF(Args)... args)
- {
- typename dtl::aligned_storage<sizeof(value_type), dtl::alignment_of<value_type>::value>::type v;
- get_stored_allocator_noconst_return_t a = this->get_stored_allocator();
- stored_allocator_traits::construct(a, move_detail::force_ptr<value_type *>(&v), ::boost::forward<Args>(args)... );
- value_type *pval = move_detail::force_ptr<value_type *>(&v);
- value_destructor<stored_allocator_type, value_type> d(a, *pval);
- return this->insert_unique(::boost::move(*pval));
- }
-
- template <class... Args>
- iterator emplace_hint_unique(const_iterator hint, BOOST_FWD_REF(Args)... args)
- {
- //hint checked in insert_unique
- typename dtl::aligned_storage<sizeof(value_type), dtl::alignment_of<value_type>::value>::type v;
- get_stored_allocator_noconst_return_t a = this->get_stored_allocator();
- stored_allocator_traits::construct(a, move_detail::force_ptr<value_type *>(&v), ::boost::forward<Args>(args)... );
- value_type *pval = move_detail::force_ptr<value_type *>(&v);
- value_destructor<stored_allocator_type, value_type> d(a, *pval);
- return this->insert_unique(hint, ::boost::move(*pval));
- }
-
- template <class... Args>
- iterator emplace_equal(BOOST_FWD_REF(Args)... args)
- {
- typename dtl::aligned_storage<sizeof(value_type), dtl::alignment_of<value_type>::value>::type v;
- get_stored_allocator_noconst_return_t a = this->get_stored_allocator();
- stored_allocator_traits::construct(a, move_detail::force_ptr<value_type *>(&v), ::boost::forward<Args>(args)... );
- value_type *pval = move_detail::force_ptr<value_type *>(&v);
- value_destructor<stored_allocator_type, value_type> d(a, *pval);
- return this->insert_equal(::boost::move(*pval));
- }
-
- template <class... Args>
- iterator emplace_hint_equal(const_iterator hint, BOOST_FWD_REF(Args)... args)
- {
- //hint checked in insert_equal
- typename dtl::aligned_storage<sizeof(value_type), dtl::alignment_of<value_type>::value>::type v;
- get_stored_allocator_noconst_return_t a = this->get_stored_allocator();
- stored_allocator_traits::construct(a, move_detail::force_ptr<value_type *>(&v), ::boost::forward<Args>(args)... );
- value_type *pval = move_detail::force_ptr<value_type *>(&v);
- value_destructor<stored_allocator_type, value_type> d(a, *pval);
- return this->insert_equal(hint, ::boost::move(*pval));
- }
-
- template <class KeyType, class... Args>
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace
- (const_iterator hint, BOOST_FWD_REF(KeyType) key, BOOST_FWD_REF(Args)... args)
- {
- std::pair<iterator,bool> ret;
- insert_commit_data data;
- const key_type & k = key;
- ret.second = hint == const_iterator()
- ? this->priv_insert_unique_prepare(k, data)
- : this->priv_insert_unique_prepare(hint, k, data);
-
- if(!ret.second){
- ret.first = this->nth(size_type(data.position - this->cbegin()));
- }
- else{
- ret.first = this->m_data.m_seq.emplace(data.position, try_emplace_t(), ::boost::forward<KeyType>(key), ::boost::forward<Args>(args)...);
- }
- return ret;
- }
-
- #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- #define BOOST_CONTAINER_FLAT_TREE_EMPLACE_CODE(N) \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- std::pair<iterator, bool> emplace_unique(BOOST_MOVE_UREF##N)\
- {\
- typename dtl::aligned_storage<sizeof(value_type), dtl::alignment_of<value_type>::value>::type v;\
- get_stored_allocator_noconst_return_t a = this->get_stored_allocator();\
- stored_allocator_traits::construct(a, move_detail::force_ptr<value_type *>(&v) BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
- value_type *pval = move_detail::force_ptr<value_type *>(&v);\
- value_destructor<stored_allocator_type, value_type> d(a, *pval);\
- return this->insert_unique(::boost::move(*pval));\
- }\
- \
- 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 dtl::aligned_storage<sizeof(value_type), dtl::alignment_of<value_type>::value>::type v;\
- get_stored_allocator_noconst_return_t a = this->get_stored_allocator();\
- stored_allocator_traits::construct(a, move_detail::force_ptr<value_type *>(&v) BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
- value_type *pval = move_detail::force_ptr<value_type *>(&v);\
- value_destructor<stored_allocator_type, value_type> d(a, *pval);\
- return this->insert_unique(hint, ::boost::move(*pval));\
- }\
- \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- iterator emplace_equal(BOOST_MOVE_UREF##N)\
- {\
- typename dtl::aligned_storage<sizeof(value_type), dtl::alignment_of<value_type>::value>::type v;\
- get_stored_allocator_noconst_return_t a = this->get_stored_allocator();\
- stored_allocator_traits::construct(a, move_detail::force_ptr<value_type *>(&v) BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
- value_type *pval = move_detail::force_ptr<value_type *>(&v);\
- value_destructor<stored_allocator_type, value_type> d(a, *pval);\
- return this->insert_equal(::boost::move(*pval));\
- }\
- \
- 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 dtl::aligned_storage <sizeof(value_type), dtl::alignment_of<value_type>::value>::type v;\
- get_stored_allocator_noconst_return_t a = this->get_stored_allocator();\
- stored_allocator_traits::construct(a, move_detail::force_ptr<value_type *>(&v) BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
- value_type *pval = move_detail::force_ptr<value_type *>(&v);\
- value_destructor<stored_allocator_type, value_type> d(a, *pval);\
- return this->insert_equal(hint, ::boost::move(*pval));\
- }\
- template <class KeyType BOOST_MOVE_I##N BOOST_MOVE_CLASS##N>\
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool>\
- try_emplace(const_iterator hint, BOOST_FWD_REF(KeyType) key BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
- {\
- std::pair<iterator,bool> ret;\
- insert_commit_data data;\
- const key_type & k = key;\
- ret.second = hint == const_iterator()\
- ? this->priv_insert_unique_prepare(k, data)\
- : this->priv_insert_unique_prepare(hint, k, data);\
- \
- if(!ret.second){\
- ret.first = this->nth(size_type(data.position - this->cbegin()));\
- }\
- else{\
- ret.first = this->m_data.m_seq.emplace(data.position, try_emplace_t(), ::boost::forward<KeyType>(key) BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\
- }\
- return ret;\
- }\
- //
- BOOST_MOVE_ITERATE_0TO7(BOOST_CONTAINER_FLAT_TREE_EMPLACE_CODE)
- #undef BOOST_CONTAINER_FLAT_TREE_EMPLACE_CODE
-
- #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- template<class KeyType, class M>
- std::pair<iterator, bool> insert_or_assign(const_iterator hint, BOOST_FWD_REF(KeyType) key, BOOST_FWD_REF(M) obj)
- {
- const key_type& k = key;
- std::pair<iterator,bool> ret;
- insert_commit_data data;
- ret.second = hint == const_iterator()
- ? this->priv_insert_unique_prepare(k, data)
- : this->priv_insert_unique_prepare(hint, k, data);
- if(!ret.second){
- ret.first = this->nth(size_type(data.position - this->cbegin()));
- ret.first->second = boost::forward<M>(obj);
- }
- else{
- ret.first = this->m_data.m_seq.emplace(data.position, boost::forward<KeyType>(key), boost::forward<M>(obj));
- }
- return ret;
- }
-
- BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator position)
- { return this->m_data.m_seq.erase(position); }
-
- size_type erase(const key_type& k)
- {
- std::pair<iterator,iterator > itp = this->equal_range(k);
- size_type ret = static_cast<size_type>(itp.second-itp.first);
- if (ret){
- this->m_data.m_seq.erase(itp.first, itp.second);
- }
- return ret;
- }
-
- size_type erase_unique(const key_type& k)
- {
- iterator i = this->find(k);
- size_type ret = static_cast<size_type>(i != this->end());
- if (ret)
- this->erase(i);
- return ret;
- }
-
- BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator first, const_iterator last)
- { return this->m_data.m_seq.erase(first, last); }
-
- BOOST_CONTAINER_FORCEINLINE void clear()
- { this->m_data.m_seq.clear(); }
-
- //! <b>Effects</b>: Tries to deallocate the excess of memory created
- // with previous allocations. The size of the vector is unchanged
- //!
- //! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
- //!
- //! <b>Complexity</b>: Linear to size().
- BOOST_CONTAINER_FORCEINLINE void shrink_to_fit()
- { this->m_data.m_seq.shrink_to_fit(); }
-
- BOOST_CONTAINER_FORCEINLINE iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
- {
- const bool value = boost::container::dtl::
- has_member_function_callable_with_nth<container_type, size_type>::value;
- return flat_tree_nth<iterator>(this->m_data.m_seq, n, dtl::bool_<value>());
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
- {
- const bool value = boost::container::dtl::
- has_member_function_callable_with_nth<container_type, size_type>::value;
- return flat_tree_nth<const_iterator>(this->m_data.m_seq, n, dtl::bool_<value>());
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
- {
- const bool value = boost::container::dtl::
- has_member_function_callable_with_index_of<container_type, iterator>::value;
- return flat_tree_index_of(this->m_data.m_seq, p, dtl::bool_<value>());
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
- {
- const bool value = boost::container::dtl::
- has_member_function_callable_with_index_of<container_type, const_iterator>::value;
- return flat_tree_index_of(this->m_data.m_seq, p, dtl::bool_<value>());
- }
-
- // set operations:
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD
- iterator find(const key_type& k)
- {
- iterator i = this->lower_bound(k);
- iterator end_it = this->end();
- if (i != end_it && this->m_data.get_comp()(k, KeyOfValue()(*i))){
- i = end_it;
- }
- return i;
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD
- const_iterator find(const key_type& k) const
- {
- const_iterator i = this->lower_bound(k);
-
- const_iterator end_it = this->cend();
- if (i != end_it && this->m_data.get_comp()(k, KeyOfValue()(*i))){
- i = end_it;
- }
- return i;
- }
-
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD
- typename dtl::enable_if_transparent<key_compare, K, iterator>::type
- find(const K& k)
- {
- iterator i = this->lower_bound(k);
- iterator end_it = this->end();
- if (i != end_it && this->m_data.get_comp()(k, KeyOfValue()(*i))){
- i = end_it;
- }
- return i;
- }
-
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD
- typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
- find(const K& k) const
- {
- const_iterator i = this->lower_bound(k);
-
- const_iterator end_it = this->cend();
- if (i != end_it && this->m_data.get_comp()(k, KeyOfValue()(*i))){
- i = end_it;
- }
- return i;
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD
- size_type count(const key_type& k) const
- {
- std::pair<const_iterator, const_iterator> p = this->equal_range(k);
- size_type n = size_type(p.second - p.first);
- return n;
- }
-
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD
- typename dtl::enable_if_transparent<key_compare, K, size_type>::type
- count(const K& k) const
- {
- std::pair<const_iterator, const_iterator> p = this->equal_range(k);
- size_type n = size_type(p.second - p.first);
- return n;
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE bool contains(const key_type& x) const
- { return this->find(x) != this->cend(); }
-
- template<typename K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- typename dtl::enable_if_transparent<key_compare, K, bool>::type
- contains(const K& x) const
- { return this->find(x) != this->cend(); }
-
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge_unique(flat_tree<Value, KeyOfValue, C2, AllocatorOrContainer>& source)
- {
- this->insert_unique( boost::make_move_iterator(source.begin())
- , boost::make_move_iterator(source.end()));
- }
-
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge_equal(flat_tree<Value, KeyOfValue, C2, AllocatorOrContainer>& source)
- {
- this->insert_equal( boost::make_move_iterator(source.begin())
- , boost::make_move_iterator(source.end()));
- }
-
- BOOST_CONTAINER_FORCEINLINE void merge_unique(flat_tree& source)
- {
- const bool value = boost::container::dtl::
- has_member_function_callable_with_merge_unique<container_type, iterator, iterator, value_compare>::value;
- (flat_tree_merge_unique)
- ( this->m_data.m_seq
- , boost::make_move_iterator(source.m_data.m_seq.begin())
- , boost::make_move_iterator(source.m_data.m_seq.end())
- , this->priv_value_comp()
- , dtl::bool_<value>());
- }
-
- BOOST_CONTAINER_FORCEINLINE void merge_equal(flat_tree& source)
- {
- const bool value = boost::container::dtl::
- has_member_function_callable_with_merge<container_type, iterator, iterator, value_compare>::value;
- (flat_tree_merge_equal)
- ( this->m_data.m_seq
- , boost::make_move_iterator(source.m_data.m_seq.begin())
- , boost::make_move_iterator(source.m_data.m_seq.end())
- , this->priv_value_comp()
- , dtl::bool_<value>());
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator lower_bound(const key_type& k)
- { return this->priv_lower_bound(this->begin(), this->end(), k); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator lower_bound(const key_type& k) const
- { return this->priv_lower_bound(this->cbegin(), this->cend(), k); }
-
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- typename dtl::enable_if_transparent<key_compare, K, iterator>::type
- lower_bound(const K& k)
- { return this->priv_lower_bound(this->begin(), this->end(), k); }
-
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- typename dtl::enable_if_transparent<key_compare, K, const_iterator>::type
- lower_bound(const K& k) const
- { return this->priv_lower_bound(this->cbegin(), this->cend(), k); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator upper_bound(const key_type& k)
- { return this->priv_upper_bound(this->begin(), this->end(), k); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator upper_bound(const key_type& k) const
- { return this->priv_upper_bound(this->cbegin(), this->cend(), k); }
-
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- typename dtl::enable_if_transparent<key_compare, K,iterator>::type
- upper_bound(const K& k)
- { return this->priv_upper_bound(this->begin(), this->end(), k); }
-
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- typename dtl::enable_if_transparent<key_compare, K,const_iterator>::type
- upper_bound(const K& k) const
- { return this->priv_upper_bound(this->cbegin(), this->cend(), k); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<iterator,iterator> equal_range(const key_type& k)
- { return this->priv_equal_range(this->begin(), this->end(), k); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<const_iterator, const_iterator> equal_range(const key_type& k) const
- { return this->priv_equal_range(this->cbegin(), this->cend(), k); }
-
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- typename dtl::enable_if_transparent<key_compare, K, std::pair<iterator,iterator> >::type
- equal_range(const K& k)
- { return this->priv_equal_range(this->begin(), this->end(), k); }
-
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- typename dtl::enable_if_transparent<key_compare, K,std::pair<const_iterator,const_iterator> >::type
- equal_range(const K& k) const
- { return this->priv_equal_range(this->cbegin(), this->cend(), k); }
-
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<iterator, iterator> lower_bound_range(const key_type& k)
- { return this->priv_lower_bound_range(this->begin(), this->end(), k); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<const_iterator, const_iterator> lower_bound_range(const key_type& k) const
- { return this->priv_lower_bound_range(this->cbegin(), this->cend(), k); }
-
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- typename dtl::enable_if_transparent<key_compare, K,std::pair<iterator,iterator> >::type
- lower_bound_range(const K& k)
- { return this->priv_lower_bound_range(this->begin(), this->end(), k); }
-
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- typename dtl::enable_if_transparent<key_compare, K,std::pair<const_iterator,const_iterator> >::type
- lower_bound_range(const K& k) const
- { return this->priv_lower_bound_range(this->cbegin(), this->cend(), k); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type capacity() const
- {
- const bool value = boost::container::dtl::
- has_member_function_callable_with_capacity<container_type>::value;
- return (flat_tree_capacity)(this->m_data.m_seq, dtl::bool_<value>());
- }
-
- BOOST_CONTAINER_FORCEINLINE
- void reserve(size_type cnt)
- {
- const bool value = boost::container::dtl::
- has_member_function_callable_with_reserve<container_type, size_type>::value;
- (flat_tree_reserve)(this->m_data.m_seq, cnt, dtl::bool_<value>());
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- container_type extract_sequence()
- { return boost::move(m_data.m_seq); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- container_type &get_sequence_ref()
- { return m_data.m_seq; }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const container_type &get_sequence_cref() const
- { return m_data.m_seq; }
-
- BOOST_CONTAINER_FORCEINLINE void adopt_sequence_equal(BOOST_RV_REF(container_type) seq)
- {
- (flat_tree_adopt_sequence_equal)( m_data.m_seq, boost::move(seq), this->priv_value_comp()
- , dtl::bool_<is_contiguous_container<container_type>::value>());
- }
-
- BOOST_CONTAINER_FORCEINLINE void adopt_sequence_unique(BOOST_RV_REF(container_type) seq)
- {
- (flat_tree_adopt_sequence_unique)(m_data.m_seq, boost::move(seq), this->priv_value_comp()
- , dtl::bool_<is_contiguous_container<container_type>::value>());
- }
-
- void adopt_sequence_equal(ordered_range_t, BOOST_RV_REF(container_type) seq)
- {
- BOOST_ASSERT((is_sorted)(seq.cbegin(), seq.cend(), this->priv_value_comp()));
- m_data.m_seq = boost::move(seq);
- }
-
- void adopt_sequence_unique(ordered_unique_range_t, BOOST_RV_REF(container_type) seq)
- {
- BOOST_ASSERT((is_sorted_and_unique)(seq.cbegin(), seq.cend(), this->priv_value_comp()));
- m_data.m_seq = boost::move(seq);
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator==(const flat_tree& x, const flat_tree& y)
- {
- return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin());
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator<(const flat_tree& x, const flat_tree& y)
- {
- return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end());
- }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator!=(const flat_tree& x, const flat_tree& y)
- { return !(x == y); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator>(const flat_tree& x, const flat_tree& y)
- { return y < x; }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator<=(const flat_tree& x, const flat_tree& y)
- { return !(y < x); }
-
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator>=(const flat_tree& x, const flat_tree& y)
- { return !(x < y); }
-
- BOOST_CONTAINER_FORCEINLINE friend void swap(flat_tree& x, flat_tree& y)
- BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
- { x.swap(y); }
-
- private:
-
- template <class InputIterator>
- void priv_range_insertion_construct( bool unique_insertion, InputIterator first, InputIterator last)
- {
- //Use cend() as hint to achieve linear time for
- //ordered ranges as required by the standard
- //for the constructor
- //Call end() every iteration as reallocation might have invalidated iterators
- if(unique_insertion){
- this->insert_unique(first, last);
- }
- else{
- this->insert_equal (first, last);
- }
- }
-
- BOOST_CONTAINER_FORCEINLINE bool priv_in_range_or_end(const_iterator pos) const
- {
- return (this->begin() <= pos) && (pos <= this->end());
- }
-
- // insert/erase
- void priv_insert_equal_prepare
- (const_iterator pos, const value_type& val, insert_commit_data &data)
- {
- // N1780
- // To insert val at pos:
- // if pos == end || val <= *pos
- // if pos == begin || val >= *(pos-1)
- // insert val before pos
- // else
- // insert val before upper_bound(val)
- // else
- // insert val before lower_bound(val)
- const value_compare &val_cmp = this->m_data;
-
- if(pos == this->cend() || !val_cmp(*pos, val)){
- if (pos == this->cbegin() || !val_cmp(val, pos[-1])){
- data.position = pos;
- }
- else{
- data.position =
- this->priv_upper_bound(this->cbegin(), pos, KeyOfValue()(val));
- }
- }
- else{
- data.position =
- this->priv_lower_bound(pos, this->cend(), KeyOfValue()(val));
- }
- }
-
- bool priv_insert_unique_prepare
- (const_iterator b, const_iterator e, const key_type& k, insert_commit_data &commit_data)
- {
- const key_compare &key_cmp = this->priv_key_comp();
- commit_data.position = this->priv_lower_bound(b, e, k);
- return commit_data.position == e || key_cmp(k, KeyOfValue()(*commit_data.position));
- }
-
- BOOST_CONTAINER_FORCEINLINE bool priv_insert_unique_prepare
- (const key_type& k, insert_commit_data &commit_data)
- { return this->priv_insert_unique_prepare(this->cbegin(), this->cend(), k, commit_data); }
-
- bool priv_insert_unique_prepare
- (const_iterator pos, const key_type& k, insert_commit_data &commit_data)
- {
- //N1780. Props to Howard Hinnant!
- //To insert k at pos:
- //if pos == end || k <= *pos
- // if pos == begin || k >= *(pos-1)
- // insert k before pos
- // else
- // insert k before upper_bound(k)
- //else if pos+1 == end || k <= *(pos+1)
- // insert k after pos
- //else
- // insert k before lower_bound(k)
- const key_compare &key_cmp = this->priv_key_comp();
- const const_iterator cend_it = this->cend();
- if(pos == cend_it || key_cmp(k, KeyOfValue()(*pos))){ //Check if k should go before end
- const const_iterator cbeg = this->cbegin();
- commit_data.position = pos;
- if(pos == cbeg){ //If container is empty then insert it in the beginning
- return true;
- }
- const_iterator prev(pos);
- --prev;
- if(key_cmp(KeyOfValue()(*prev), k)){ //If previous element was less, then it should go between prev and pos
- return true;
- }
- else if(!key_cmp(k, KeyOfValue()(*prev))){ //If previous was equal then insertion should fail
- commit_data.position = prev;
- return false;
- }
- else{ //Previous was bigger so insertion hint was pointless, dispatch to hintless insertion
- //but reduce the search between beg and prev as prev is bigger than k
- return this->priv_insert_unique_prepare(cbeg, prev, k, commit_data);
- }
- }
- else{
- //The hint is before the insertion position, so insert it
- //in the remaining range [pos, end)
- return this->priv_insert_unique_prepare(pos, cend_it, k, commit_data);
- }
- }
-
- template<class Convertible>
- BOOST_CONTAINER_FORCEINLINE iterator priv_insert_commit
- (insert_commit_data &commit_data, BOOST_FWD_REF(Convertible) convertible)
- {
- return this->m_data.m_seq.insert
- ( commit_data.position
- , boost::forward<Convertible>(convertible));
- }
-
- template <class RanIt, class K>
- RanIt priv_lower_bound(RanIt first, const RanIt last,
- const K & key) const
- {
- const Compare &key_cmp = this->m_data.get_comp();
- KeyOfValue key_extract;
- size_type len = static_cast<size_type>(last - first);
- RanIt middle;
-
- while (len) {
- size_type step = len >> 1;
- middle = first;
- middle += difference_type(step);
-
- if (key_cmp(key_extract(*middle), key)) {
- first = ++middle;
- len -= step + 1;
- }
- else{
- len = step;
- }
- }
- return first;
- }
-
- template <class RanIt, class K>
- RanIt priv_upper_bound
- (RanIt first, const RanIt last,const K & key) const
- {
- const Compare &key_cmp = this->m_data.get_comp();
- KeyOfValue key_extract;
- size_type len = static_cast<size_type>(last - first);
- RanIt middle;
-
- while (len) {
- size_type step = len >> 1;
- middle = first;
- middle += difference_type(step);
-
- if (key_cmp(key, key_extract(*middle))) {
- len = step;
- }
- else{
- first = ++middle;
- len -= step + 1;
- }
- }
- return first;
- }
-
- template <class RanIt, class K>
- std::pair<RanIt, RanIt>
- priv_equal_range(RanIt first, RanIt last, const K& key) const
- {
- const Compare &key_cmp = this->m_data.get_comp();
- KeyOfValue key_extract;
- size_type len = static_cast<size_type>(last - first);
- RanIt middle;
-
- while (len) {
- size_type step = len >> 1;
- middle = first;
- middle += difference_type(step);
-
- if (key_cmp(key_extract(*middle), key)){
- first = ++middle;
- len -= step + 1;
- }
- else if (key_cmp(key, key_extract(*middle))){
- len = step;
- }
- else {
- //Middle is equal to key
- last = first;
- last += difference_type(len);
- RanIt const first_ret = this->priv_lower_bound(first, middle, key);
- return std::pair<RanIt, RanIt>
- ( first_ret, this->priv_upper_bound(++middle, last, key));
- }
- }
- return std::pair<RanIt, RanIt>(first, first);
- }
-
- template<class RanIt, class K>
- std::pair<RanIt, RanIt> priv_lower_bound_range(RanIt first, RanIt last, const K& k) const
- {
- const Compare &key_cmp = this->m_data.get_comp();
- KeyOfValue key_extract;
- RanIt lb(this->priv_lower_bound(first, last, k)), ub(lb);
- if(lb != last && !key_cmp(k, key_extract(*lb))){
- ++ub;
- }
- return std::pair<RanIt, RanIt>(lb, ub);
- }
-};
-
-} //namespace dtl {
-
-} //namespace container {
-
-//!has_trivial_destructor_after_move<> == true_type
-//!specialization for optimizations
-template <class T, class KeyOfValue,
-class Compare, class AllocatorOrContainer>
-struct has_trivial_destructor_after_move<boost::container::dtl::flat_tree<T, KeyOfValue, Compare, AllocatorOrContainer> >
-{
- typedef boost::container::dtl::flat_tree<T, KeyOfValue, Compare, AllocatorOrContainer> flat_tree;
- typedef typename flat_tree::container_type container_type;
- typedef typename flat_tree::key_compare key_compare;
- static const bool value = ::boost::has_trivial_destructor_after_move<container_type>::value &&
- ::boost::has_trivial_destructor_after_move<key_compare>::value;
-};
-
-} //namespace boost {
-
-#include <boost/container/detail/config_end.hpp>
-
-#endif // BOOST_CONTAINER_FLAT_TREE_HPP
diff --git a/contrib/restricted/boost/container/include/boost/container/detail/is_container.hpp b/contrib/restricted/boost/container/include/boost/container/detail/is_container.hpp
deleted file mode 100644
index 8ef0274d7a..0000000000
--- a/contrib/restricted/boost/container/include/boost/container/detail/is_container.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2017-2017. Distributed under the 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_IS_CONTAINER_HPP
-#define BOOST_CONTAINER_DETAIL_IS_CONTAINER_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-result"
-#endif
-
-//empty
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME empty
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace is_container_detail {
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}}
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 0
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 0
-#include <boost/intrusive/detail/has_member_function_callable_with.hpp>
-
-//size
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME size
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace is_container_detail {
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}}
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 0
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 0
-#include <boost/intrusive/detail/has_member_function_callable_with.hpp>
-
-//#pragma GCC diagnostic ignored "-Wunused-result"
-#if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
-#pragma GCC diagnostic pop
-#endif
-
-namespace boost {
-namespace container {
-namespace dtl {
-
-template <class Container>
-struct is_container
-{
- static const bool value =
- boost::container::is_container_detail::
- has_member_function_callable_with_size <const Container>::value &&
- boost::container::is_container_detail::
- has_member_function_callable_with_empty<const Container>::value;
-};
-
-template <>
-struct is_container<void>
-{
- static const bool value = false;
-};
-
-
-} //namespace dtl {
-} //namespace container {
-} //namespace boost {
-
-#endif //#ifndef BOOST_CONTAINER_DETAIL_IS_CONTAINER_HPP
diff --git a/contrib/restricted/boost/container/include/boost/container/detail/is_contiguous_container.hpp b/contrib/restricted/boost/container/include/boost/container/detail/is_contiguous_container.hpp
deleted file mode 100644
index 045de843a6..0000000000
--- a/contrib/restricted/boost/container/include/boost/container/detail/is_contiguous_container.hpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2017-2017. Distributed under the 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_IS_CONTIGUOUS_CONTAINER_HPP
-#define BOOST_CONTAINER_DETAIL_IS_CONTIGUOUS_CONTAINER_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wunused-result"
-#endif
-
-//data
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME data
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace is_contiguous_container_detail {
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}}
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 0
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 0
-#include <boost/intrusive/detail/has_member_function_callable_with.hpp>
-
-//back_free_capacity
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME back_free_capacity
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace back_free_capacity_detail {
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}}
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 0
-#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 0
-#include <boost/intrusive/detail/has_member_function_callable_with.hpp>
-
-//#pragma GCC diagnostic ignored "-Wunused-result"
-#if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
-#pragma GCC diagnostic pop
-#endif
-
-namespace boost {
-namespace container {
-namespace dtl {
-
-template <class Container>
-struct is_contiguous_container
-{
- static const bool value =
- boost::container::is_contiguous_container_detail::
- has_member_function_callable_with_data<Container>::value &&
- boost::container::is_contiguous_container_detail::
- has_member_function_callable_with_data<const Container>::value;
-};
-
-
-template < class Container
- , bool = boost::container::back_free_capacity_detail::
- has_member_function_callable_with_back_free_capacity<const Container>::value>
-struct back_free_capacity
-{
- static typename Container::size_type get(const Container &c)
- { return c.back_free_capacity(); }
-};
-
-template < class Container>
-struct back_free_capacity<Container, false>
-{
- static typename Container::size_type get(const Container &c)
- { return c.capacity() - c.size(); }
-};
-
-} //namespace dtl {
-} //namespace container {
-} //namespace boost {
-
-#endif //#ifndef BOOST_CONTAINER_DETAIL_IS_CONTIGUOUS_CONTAINER_HPP
diff --git a/contrib/restricted/boost/container/include/boost/container/detail/is_sorted.hpp b/contrib/restricted/boost/container/include/boost/container/detail/is_sorted.hpp
deleted file mode 100644
index 315bab54d7..0000000000
--- a/contrib/restricted/boost/container/include/boost/container/detail/is_sorted.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2016-2016. Distributed under the 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_IS_SORTED_HPP
-#define BOOST_CONTAINER_DETAIL_IS_SORTED_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-namespace boost {
-namespace container {
-namespace dtl {
-
-template <class ForwardIterator, class Pred>
-bool is_sorted (ForwardIterator first, ForwardIterator last, Pred pred)
-{
- if(first != last){
- ForwardIterator next = first;
- while (++next != last){
- if(pred(*next, *first))
- return false;
- ++first;
- }
- }
- return true;
-}
-
-template <class ForwardIterator, class Pred>
-bool is_sorted_and_unique (ForwardIterator first, ForwardIterator last, Pred pred)
-{
- if(first != last){
- ForwardIterator next = first;
- while (++next != last){
- if(!pred(*first, *next))
- return false;
- ++first;
- }
- }
- return true;
-}
-
-} //namespace dtl {
-} //namespace container {
-} //namespace boost {
-
-#endif //#ifndef BOOST_CONTAINER_DETAIL_IS_SORTED_HPP
diff --git a/contrib/restricted/boost/container/include/boost/container/detail/pair_key_mapped_of_value.hpp b/contrib/restricted/boost/container/include/boost/container/detail/pair_key_mapped_of_value.hpp
deleted file mode 100644
index 6112b87826..0000000000
--- a/contrib/restricted/boost/container/include/boost/container/detail/pair_key_mapped_of_value.hpp
+++ /dev/null
@@ -1,55 +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_PAIR_KEY_MAPPED_OF_VALUE_HPP
-#define BOOST_CONTAINER_PAIR_KEY_MAPPED_OF_VALUE_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/container/detail/config_begin.hpp>
-#include <boost/container/detail/workaround.hpp>
-
-namespace boost {
-namespace container {
-
-template<class Key, class Mapped>
-struct pair_key_mapped_of_value
-{
- typedef Key key_type;
- typedef Mapped mapped_type;
-
- template<class Pair>
- const key_type & key_of_value(const Pair &p) const
- { return p.first; }
-
- template<class Pair>
- const mapped_type & mapped_of_value(const Pair &p) const
- { return p.second; }
-
- template<class Pair>
- key_type & key_of_value(Pair &p) const
- { return const_cast<key_type&>(p.first); }
-
- template<class Pair>
- mapped_type & mapped_of_value(Pair &p) const
- { return p.second; }
-
-};
-
-}}
-
-#include <boost/container/detail/config_end.hpp>
-
-#endif // BOOST_CONTAINER_PAIR_KEY_MAPPED_OF_VALUE_HPP
diff --git a/contrib/restricted/boost/container/include/boost/container/flat_map.hpp b/contrib/restricted/boost/container/include/boost/container/flat_map.hpp
deleted file mode 100644
index 0a85b9db4a..0000000000
--- a/contrib/restricted/boost/container/include/boost/container/flat_map.hpp
+++ /dev/null
@@ -1,3069 +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_FLAT_MAP_HPP
-#define BOOST_CONTAINER_FLAT_MAP_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/container/detail/config_begin.hpp>
-#include <boost/container/detail/workaround.hpp>
-// container
-#include <boost/container/allocator_traits.hpp>
-#include <boost/container/container_fwd.hpp>
-#include <boost/container/new_allocator.hpp> //new_allocator
-#include <boost/container/throw_exception.hpp>
-// container/detail
-#include <boost/container/detail/flat_tree.hpp>
-#include <boost/container/detail/type_traits.hpp>
-#include <boost/container/detail/mpl.hpp>
-#include <boost/container/detail/algorithm.hpp> //equal()
-#include <boost/container/detail/container_or_allocator_rebind.hpp>
-// move
-#include <boost/move/utility_core.hpp>
-#include <boost/move/traits.hpp>
-// move/detail
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-#include <boost/move/detail/fwd_macros.hpp>
-#endif
-#include <boost/move/detail/move_helpers.hpp>
-#include <boost/move/detail/force_ptr.hpp>
-// intrusive
-#include <boost/intrusive/detail/minimal_pair_header.hpp> //pair
-#include <boost/intrusive/detail/minimal_less_equal_header.hpp>//less, equal
-//others
-#include <boost/core/no_exceptions_support.hpp>
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-#include <initializer_list>
-#endif
-
-namespace boost {
-namespace container {
-
-#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-template <class Key, class T, class Compare, class AllocatorOrContainer>
-class flat_multimap;
-
-namespace dtl{
-
-template<class D, class S>
-BOOST_CONTAINER_FORCEINLINE static D &force(S &s)
-{ return *move_detail::force_ptr<D*>(&s); }
-
-template<class D, class S>
-BOOST_CONTAINER_FORCEINLINE static const D &force(const S &s)
-{ return *move_detail::force_ptr<const D*>(&s); }
-
-template<class D, class S>
-BOOST_CONTAINER_FORCEINLINE static D force_copy(const S &s)
-{
- const D *const vp = move_detail::force_ptr<const D *>(&s);
- D ret_val(*vp);
- return ret_val;
-}
-
-} //namespace dtl{
-
-#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-//! A flat_map is a kind of associative container that supports unique keys (contains at
-//! most one of each key value) and provides for fast retrieval of values of another
-//! type T based on the keys.
-//!
-//! A flat_map satisfies all of the requirements of a container, a reversible
-//! container and an associative container. A flat_map also provides
-//! most operations described for unique keys. For a
-//! flat_map<Key,T> the key_type is Key and the value_type is std::pair<Key,T>
-//! (unlike std::map<Key, T> which value_type is std::pair<<b>const</b> Key, T>).
-//!
-//! flat_map is similar to std::map but it's implemented by as an ordered sequence container.
-//! The underlying sequence container is by default <i>vector</i> but it can also work
-//! user-provided vector-like SequenceContainers (like <i>static_vector</i> or <i>small_vector</i>).
-//!
-//! Using vector-like sequence containers means that inserting a new element into a flat_map might invalidate
-//! previous iterators and references (unless that sequence container is <i>stable_vector</i> or a similar
-//! container that offers stable pointers and references). Similarly, erasing an element might invalidate
-//! iterators and references pointing to elements that come after (their keys are bigger) the erased element.
-//!
-//! This container provides random-access iterators.
-//!
-//! \tparam Key is the key_type of the map
-//! \tparam Value is the <code>mapped_type</code>
-//! \tparam Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
-//! \tparam AllocatorOrContainer is either:
-//! - The allocator to allocate <code>value_type</code>s (e.g. <i>allocator< std::pair<Key, T> > </i>).
-//! (in this case <i>sequence_type</i> will be vector<value_type, AllocatorOrContainer>)
-//! - The SequenceContainer to be used as the underlying <i>sequence_type</i>. It must be a vector-like
-//! sequence container with random-access iterators.
-#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
-template <class Key, class T, class Compare = std::less<Key>, class AllocatorOrContainer = new_allocator< std::pair< Key, T> > >
-#else
-template <class Key, class T, class Compare, class AllocatorOrContainer>
-#endif
-class flat_map
-{
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- private:
- BOOST_COPYABLE_AND_MOVABLE(flat_map)
- //This is the tree that we should store if pair was movable
- typedef dtl::flat_tree<
- std::pair<Key, T>,
- dtl::select1st<Key>,
- Compare,
- AllocatorOrContainer> tree_t;
-
- //This is the real tree stored here. It's based on a movable pair
- typedef dtl::flat_tree<
- dtl::pair<Key, T>,
- dtl::select1st<Key>,
- Compare,
- typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type
- > impl_tree_t;
- impl_tree_t m_flat_tree; // flat tree representing 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;
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- typedef std::initializer_list<impl_value_type> impl_initializer_list;
- #endif
-
- typedef dtl::flat_tree_value_compare
- < Compare
- , dtl::select1st<Key>
- , std::pair<Key, T> > value_compare_t;
- typedef typename tree_t::iterator iterator_t;
- typedef typename tree_t::const_iterator const_iterator_t;
- typedef typename tree_t::reverse_iterator reverse_iterator_t;
- typedef typename tree_t::const_reverse_iterator const_reverse_iterator_t;
-
- public:
- typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
- typedef typename impl_tree_t::sequence_type impl_sequence_type;
-
- BOOST_CONTAINER_FORCEINLINE impl_tree_t &tree()
- { return m_flat_tree; }
-
- BOOST_CONTAINER_FORCEINLINE const impl_tree_t &tree() const
- { return m_flat_tree; }
-
- private:
- typedef typename tree_t::get_stored_allocator_const_return_t get_stored_allocator_const_return_t;
- typedef typename tree_t::get_stored_allocator_noconst_return_t get_stored_allocator_noconst_return_t;
- typedef typename impl_tree_t::get_stored_allocator_const_return_t impl_get_stored_allocator_const_return_t;
- typedef typename impl_tree_t::get_stored_allocator_noconst_return_t impl_get_stored_allocator_noconst_return_t;
-
- #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
- public:
-
- //////////////////////////////////////////////
- //
- // types
- //
- //////////////////////////////////////////////
- typedef Key key_type;
- typedef T mapped_type;
- typedef Compare key_compare;
- typedef std::pair<Key, T> value_type;
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::sequence_type) sequence_type;
- typedef typename sequence_type::allocator_type allocator_type;
- typedef ::boost::container::allocator_traits<allocator_type> allocator_traits_type;
- typedef typename sequence_type::pointer pointer;
- typedef typename sequence_type::const_pointer const_pointer;
- typedef typename sequence_type::reference reference;
- typedef typename sequence_type::const_reference const_reference;
- typedef typename sequence_type::size_type size_type;
- typedef typename sequence_type::difference_type difference_type;
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::stored_allocator_type) stored_allocator_type;
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::value_compare) value_compare;
-
- typedef typename sequence_type::iterator iterator;
- typedef typename sequence_type::const_iterator const_iterator;
- typedef typename sequence_type::reverse_iterator reverse_iterator;
- typedef typename sequence_type::const_reverse_iterator const_reverse_iterator;
- typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type;
-
- //AllocatorOrContainer::value_type must be std::pair<Key, T>
- BOOST_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
-
- //////////////////////////////////////////////
- //
- // construct/copy/destroy
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Default constructs an empty flat_map.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE flat_map() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<AllocatorOrContainer>::value &&
- dtl::is_nothrow_default_constructible<Compare>::value)
- : m_flat_tree()
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified allocator.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE explicit flat_map(const allocator_type& a)
- : m_flat_tree(dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified
- //! comparison object.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE explicit flat_map(const Compare& comp)
- : m_flat_tree(comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified
- //! comparison object and allocator.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE flat_map(const Compare& comp, const allocator_type& a)
- : m_flat_tree(comp, dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map and
- //! and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last)
- : m_flat_tree(true, first, last)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified
- //! allocator, and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last, const allocator_type& a)
- : m_flat_tree(true, first, last, dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
- //! and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last, const Compare& comp)
- : m_flat_tree(true, first, last, comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
- //! allocator, and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
- : m_flat_tree(true, first, last, comp, dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map
- //! and inserts elements from the ordered range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_map(ordered_unique_range_t, InputIterator first, InputIterator last)
- : m_flat_tree(ordered_range, first, last)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
- //! inserts elements from the ordered range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp)
- : m_flat_tree(ordered_range, first, last, comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map 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.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
- : m_flat_tree(ordered_range, first, last, comp, dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified allocator and
- //! inserts elements from the ordered range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const allocator_type& a)
- : m_flat_tree(ordered_range, first, last, Compare(), a)
- {}
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Constructs an empty flat_map and
- //! inserts elements from the range [il.begin() ,il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il)
- : m_flat_tree( true
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end())
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified
- //! allocator, and inserts elements from the range [il.begin() ,il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il, const allocator_type& a)
- : m_flat_tree( true
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end()
- , dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
- //! inserts elements from the range [il.begin() ,il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il, const Compare& comp)
- : m_flat_tree(true
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end()
- , comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
- //! allocator, and inserts elements from the range [il.begin() ,il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
- : m_flat_tree(true
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end()
- , comp
- , dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using 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.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE flat_map(ordered_unique_range_t, std::initializer_list<value_type> il)
- : m_flat_tree(ordered_unique_range
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end())
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object 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.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp)
- : m_flat_tree(ordered_unique_range
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end()
- , comp)
- {}
-
- //! <b>Effects</b>: 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.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
- : m_flat_tree( ordered_unique_range
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end()
- , comp
- , dtl::force<const impl_allocator_type>(a))
- {}
-#endif
-
- //! <b>Effects</b>: Copy constructs a flat_map.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE flat_map(const flat_map& x)
- : m_flat_tree(x.m_flat_tree)
- {}
-
- //! <b>Effects</b>: Move constructs a flat_map.
- //! Constructs *this using x's resources.
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Postcondition</b>: x is emptied.
- BOOST_CONTAINER_FORCEINLINE flat_map(BOOST_RV_REF(flat_map) x)
- BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
- : m_flat_tree(boost::move(x.m_flat_tree))
- {}
-
- //! <b>Effects</b>: Copy constructs a flat_map using the specified allocator.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE flat_map(const flat_map& x, const allocator_type &a)
- : m_flat_tree(x.m_flat_tree, dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Move constructs a flat_map using the specified allocator.
- //! Constructs *this using x's resources.
- //!
- //! <b>Complexity</b>: Constant if x.get_allocator() == a, linear otherwise.
- BOOST_CONTAINER_FORCEINLINE flat_map(BOOST_RV_REF(flat_map) x, const allocator_type &a)
- : m_flat_tree(boost::move(x.m_flat_tree), dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Makes *this a copy of x.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE flat_map& operator=(BOOST_COPY_ASSIGN_REF(flat_map) x)
- { m_flat_tree = x.m_flat_tree; return *this; }
-
- //! <b>Effects</b>: Move constructs a flat_map.
- //! Constructs *this using x's resources.
- //!
- //! <b>Throws</b>: If allocator_traits_type::propagate_on_container_move_assignment
- //! is false and (allocation throws or value_type's move constructor throws)
- //!
- //! <b>Complexity</b>: Constant if allocator_traits_type::
- //! propagate_on_container_move_assignment is true or
- //! this->get>allocator() == x.get_allocator(). Linear otherwise.
- BOOST_CONTAINER_FORCEINLINE flat_map& operator=(BOOST_RV_REF(flat_map) x)
- BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
- allocator_traits_type::is_always_equal::value) &&
- boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
- { m_flat_tree = boost::move(x.m_flat_tree); return *this; }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Assign elements from il to *this
- flat_map& operator=(std::initializer_list<value_type> il)
- {
- this->clear();
- this->insert(il.begin(), il.end());
- return *this;
- }
-#endif
-
- //! <b>Effects</b>: Returns a copy of the allocator that
- //! was passed to the object's constructor.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
-
- //! <b>Effects</b>: Returns a reference to the internal allocator.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- get_stored_allocator_noconst_return_t get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
- {
- impl_get_stored_allocator_noconst_return_t r = m_flat_tree.get_stored_allocator();
- return dtl::force<stored_allocator_type>(r);
- }
-
- //! <b>Effects</b>: Returns a reference to the internal allocator.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- get_stored_allocator_const_return_t get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
- {
- impl_get_stored_allocator_const_return_t r = m_flat_tree.get_stored_allocator();
- return dtl::force<const stored_allocator_type>(r);
- }
-
- //////////////////////////////////////////////
- //
- // iterators
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Returns an iterator to the first element contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<iterator>(m_flat_tree.begin()); }
-
- //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
-
- //! <b>Effects</b>: Returns an iterator to the end of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator end() BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<iterator>(m_flat_tree.end()); }
-
- //! <b>Effects</b>: Returns a const_iterator to the end of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
-
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
-
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
-
- //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
-
- //! <b>Effects</b>: Returns a const_iterator to the end of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
-
- //////////////////////////////////////////////
- //
- // capacity
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Returns true if the container contains no elements.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.empty(); }
-
- //! <b>Effects</b>: Returns the number of the elements contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.size(); }
-
- //! <b>Effects</b>: Returns the largest possible size of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.max_size(); }
-
- //! <b>Effects</b>: Number of elements for which memory has been allocated.
- //! capacity() is always greater than or equal to size().
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.capacity(); }
-
- //! <b>Effects</b>: If n is less than or equal to capacity(), or the
- //! underlying container has no `reserve` member, this call has no
- //! effect. Otherwise, it is a request for allocation of additional memory.
- //! If the request is successful, then capacity() is greater than or equal to
- //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged.
- //!
- //! <b>Throws</b>: If memory allocation allocation throws or T's copy constructor throws.
- //!
- //! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
- //! to values might be invalidated.
- BOOST_CONTAINER_FORCEINLINE void reserve(size_type cnt)
- { m_flat_tree.reserve(cnt); }
-
- //! <b>Effects</b>: Tries to deallocate the excess of memory created
- // with previous allocations. The size of the vector is unchanged
- //!
- //! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
- //!
- //! <b>Complexity</b>: Linear to size().
- BOOST_CONTAINER_FORCEINLINE void shrink_to_fit()
- { m_flat_tree.shrink_to_fit(); }
-
- //////////////////////////////////////////////
- //
- // element access
- //
- //////////////////////////////////////////////
-
- #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
- //! Effects: If there is no key equivalent to x in the flat_map, inserts
- //! value_type(x, T()) into the flat_map.
- //!
- //! Returns: A reference to the mapped_type corresponding to x in *this.
- //!
- //! Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present.
- mapped_type &operator[](const key_type& k);
-
- //! 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: A reference to the mapped_type corresponding to x in *this.
- //!
- //! Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present.
- mapped_type &operator[](key_type &&k);
- #elif defined(BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN)
- //in compilers like GCC 3.4, we can't catch temporaries
- BOOST_CONTAINER_FORCEINLINE mapped_type& operator[](const key_type &k) { return this->priv_subscript(k); }
- BOOST_CONTAINER_FORCEINLINE mapped_type& operator[](BOOST_RV_REF(key_type) k) { return this->priv_subscript(::boost::move(k)); }
- #else
- BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript)
- #endif
-
- //! Effects: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
- //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
- //! as if by insert, constructing it from value_type(k, forward<M>(obj)).
- //!
- //! No iterators or references are invalidated. If the insertion is successful, pointers and references
- //! to the element obtained while it is held in the node handle are invalidated, and pointers and
- //! references obtained to that element before it was extracted become valid.
- //!
- //! Returns: The bool component is true if the insertion took place and false if the assignment
- //! took place. The iterator component is pointing at the element that was inserted or updated.
- //!
- //! Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present.
- template <class M>
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> insert_or_assign(const key_type& k, BOOST_FWD_REF(M) obj)
- {
- return dtl::force_copy< std::pair<iterator, bool> >
- (this->m_flat_tree.insert_or_assign
- ( impl_const_iterator(), k, ::boost::forward<M>(obj))
- );
- }
-
- //! Effects: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
- //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
- //! as if by insert, constructing it from value_type(k, move(obj)).
- //!
- //! No iterators or references are invalidated. If the insertion is successful, pointers and references
- //! to the element obtained while it is held in the node handle are invalidated, and pointers and
- //! references obtained to that element before it was extracted become valid.
- //!
- //! Returns: The bool component is true if the insertion took place and false if the assignment
- //! took place. The iterator component is pointing at the element that was inserted or updated.
- //!
- //! Complexity: Logarithmic in the size of the container.
- template <class M>
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> insert_or_assign(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
- {
- return dtl::force_copy< std::pair<iterator, bool> >
- (this->m_flat_tree.insert_or_assign
- ( impl_const_iterator(), ::boost::move(k), ::boost::forward<M>(obj))
- );
- }
-
- //! Effects: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
- //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
- //! as if by insert, constructing it from value_type(k, forward<M>(obj)) and the new element
- //! to the container as close as possible to the position just before hint.
- //!
- //! No iterators or references are invalidated. If the insertion is successful, pointers and references
- //! to the element obtained while it is held in the node handle are invalidated, and pointers and
- //! references obtained to that element before it was extracted become valid.
- //!
- //! Returns: The bool component is true if the insertion took place and false if the assignment
- //! took place. The iterator component is pointing at the element that was inserted or updated.
- //!
- //! Complexity: Logarithmic in the size of the container in general, but amortized constant if
- //! the new element is inserted just before hint.
- template <class M>
- BOOST_CONTAINER_FORCEINLINE iterator insert_or_assign(const_iterator hint, const key_type& k, BOOST_FWD_REF(M) obj)
- {
- return dtl::force_copy<iterator>
- (this->m_flat_tree.insert_or_assign
- ( dtl::force_copy<impl_const_iterator>(hint)
- , k, ::boost::forward<M>(obj)).first
- );
- }
-
- //! Effects: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
- //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
- //! as if by insert, constructing it from value_type(k, move(obj)) and the new element
- //! to the container as close as possible to the position just before hint.
- //!
- //! No iterators or references are invalidated. If the insertion is successful, pointers and references
- //! to the element obtained while it is held in the node handle are invalidated, and pointers and
- //! references obtained to that element before it was extracted become valid.
- //!
- //! Returns: The bool component is true if the insertion took place and false if the assignment
- //! took place. The iterator component is pointing at the element that was inserted or updated.
- //!
- //! Complexity: Logarithmic in the size of the container in general, but amortized constant if
- //! the new element is inserted just before hint.
- template <class M>
- BOOST_CONTAINER_FORCEINLINE iterator insert_or_assign(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
- {
- return dtl::force_copy<iterator>
- (this->m_flat_tree.insert_or_assign
- ( dtl::force_copy<impl_const_iterator>(hint)
- , ::boost::move(k), ::boost::forward<M>(obj)).first
- );
- }
-
- //! @copydoc ::boost::container::flat_set::nth(size_type)
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
-
- //! @copydoc ::boost::container::flat_set::nth(size_type) const
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
-
- //! @copydoc ::boost::container::flat_set::index_of(iterator)
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
-
- //! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(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.
- //!
- //! Complexity: logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD T& at(const key_type& k)
- {
- iterator i = this->find(k);
- if(i == this->end()){
- throw_out_of_range("flat_map::at key not found");
- }
- return i->second;
- }
-
- //! 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.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD const T& at(const key_type& k) const
- {
- const_iterator i = this->find(k);
- if(i == this->end()){
- throw_out_of_range("flat_map::at key not found");
- }
- return i->second;
- }
-
- //////////////////////////////////////////////
- //
- // modifiers
- //
- //////////////////////////////////////////////
-
- #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- //! <b>Effects</b>: Inserts an object x of type T constructed with
- //! std::forward<Args>(args)... if and only if there is no element in the container
- //! with key equivalent to the key of x.
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only
- //! if the insertion takes place, and the iterator component of the pair
- //! points to the element with key equivalent to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic search time plus linear insertion
- //! to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> emplace(BOOST_FWD_REF(Args)... args)
- { return dtl::force_copy< std::pair<iterator, bool> >(m_flat_tree.emplace_unique(boost::forward<Args>(args)...)); }
-
- //! <b>Effects</b>: Inserts an object of type T constructed with
- //! std::forward<Args>(args)... in the container if and only if there is
- //! no element in the container with key equivalent to the key of x.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic search time (constant if x is inserted
- //! right before p) plus insertion linear to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
- {
- return dtl::force_copy<iterator>
- (m_flat_tree.emplace_hint_unique( dtl::force_copy<impl_const_iterator>(hint)
- , boost::forward<Args>(args)...));
- }
-
- //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
- //! forward_as_tuple(k), forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
- //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(k),
- //! forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only if the
- //! insertion took place. The returned iterator points to the map element whose key is equivalent to k.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(const key_type& k, BOOST_FWD_REF(Args)... args)
- {
- return dtl::force_copy< std::pair<iterator, bool> >(
- m_flat_tree.try_emplace(impl_const_iterator(), k, boost::forward<Args>(args)...));
- }
-
- //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
- //! forward_as_tuple(k), forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
- //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(k),
- //! forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Returns</b>: The returned iterator points to the map element whose key is equivalent to k.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
- //! is inserted right before p.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, const key_type &k, BOOST_FWD_REF(Args)... args)
- {
- return dtl::force_copy<iterator>(m_flat_tree.try_emplace
- (dtl::force_copy<impl_const_iterator>(hint), k, boost::forward<Args>(args)...).first);
- }
-
- //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
- //! forward_as_tuple(move(k)), forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
- //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(move(k)),
- //! forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only if the
- //! insertion took place. The returned iterator points to the map element whose key is equivalent to k.
- //!
- //! <b>Complexity</b>: Logarithmic search time plus linear insertion time in case the key is not present.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
- {
- return dtl::force_copy< std::pair<iterator, bool> >
- (m_flat_tree.try_emplace(impl_const_iterator(), boost::move(k), boost::forward<Args>(args)...));
- }
-
- //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
- //! forward_as_tuple(move(k)), forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
- //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(move(k)),
- //! forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Returns</b>: The returned iterator points to the map element whose key is equivalent to k.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
- //! is inserted right before p. Linear insertion time in case no equivalent key is present.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
- {
- return dtl::force_copy<iterator>
- (m_flat_tree.try_emplace(dtl::force_copy
- <impl_const_iterator>(hint), boost::move(k), boost::forward<Args>(args)...).first);
- }
-
- #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- #define BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE(N) \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> emplace(BOOST_MOVE_UREF##N)\
- {\
- return dtl::force_copy< std::pair<iterator, bool> >\
- (m_flat_tree.emplace_unique(BOOST_MOVE_FWD##N));\
- }\
- \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
- {\
- return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_unique\
- (dtl::force_copy<impl_const_iterator>(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
- }\
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(const key_type& k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
- {\
- return dtl::force_copy< std::pair<iterator, bool> >\
- (m_flat_tree.try_emplace(impl_const_iterator(), k BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
- }\
- \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, const key_type &k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
- { return dtl::force_copy<iterator>(m_flat_tree.try_emplace\
- (dtl::force_copy<impl_const_iterator>(hint), k BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first); }\
- \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
- {\
- return dtl::force_copy< std::pair<iterator, bool> >\
- (m_flat_tree.try_emplace(impl_const_iterator(), boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
- }\
- \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
- { return dtl::force_copy<iterator>(m_flat_tree.try_emplace\
- (dtl::force_copy<impl_const_iterator>(hint), boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first); }\
- //
- BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE)
- #undef BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE
-
- #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- //! <b>Effects</b>: Inserts x if and only if there is no element in the container
- //! with key equivalent to the key of x.
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only
- //! if the insertion takes place, and the iterator component of the pair
- //! points to the element with key equivalent to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic search time plus linear insertion
- //! to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> insert(const value_type& x)
- { return dtl::force_copy<std::pair<iterator,bool> >(
- m_flat_tree.insert_unique(dtl::force<const impl_value_type>(x))); }
-
- //! <b>Effects</b>: Inserts a new value_type move constructed from the pair if and
- //! only if there is no element in the container with key equivalent to the key of x.
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only
- //! if the insertion takes place, and the iterator component of the pair
- //! points to the element with key equivalent to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic search time plus linear insertion
- //! to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> insert(BOOST_RV_REF(value_type) x)
- {
- return dtl::force_copy<std::pair<iterator,bool> >(
- m_flat_tree.insert_unique(boost::move(dtl::force<impl_value_type>(x))));
- }
-
- //! <b>Effects</b>: Inserts a new value_type constructed from the pair if and
- //! only if there is no element in the container with key equivalent to the key of x.
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only
- //! if the insertion takes place, and the iterator component of the pair
- //! points to the element with key equivalent to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic search time plus linear insertion
- //! to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- template <class Pair>
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
- ( std::pair<iterator BOOST_MOVE_I bool>
- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
- BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> >::type)
- insert(BOOST_FWD_REF(Pair) x)
- {
- return dtl::force_copy<std::pair<iterator,bool> >
- (m_flat_tree.emplace_unique(boost::forward<Pair>(x)));
- }
-
- //! <b>Effects</b>: Inserts a copy of x in the container if and only if there is
- //! no element in the container with key equivalent to the key of x.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic search time (constant if x is inserted
- //! right before p) plus insertion linear to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, const value_type& x)
- {
- return dtl::force_copy<iterator>(
- m_flat_tree.insert_unique( dtl::force_copy<impl_const_iterator>(p)
- , dtl::force<const impl_value_type>(x)));
- }
-
- //! <b>Effects</b>: Inserts an element move constructed from x in the container.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic search time (constant if x is inserted
- //! right before p) plus insertion linear to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
- {
- return dtl::force_copy<iterator>
- (m_flat_tree.insert_unique( dtl::force_copy<impl_const_iterator>(p)
- , boost::move(dtl::force<impl_value_type>(x))));
- }
-
- //! <b>Effects</b>: Inserts an element constructed from x in the container.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic search time (constant if x is inserted
- //! right before p) plus insertion linear to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- template <class Pair>
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
- ( iterator
- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
- BOOST_MOVE_I iterator>::type)
- insert(const_iterator p, BOOST_FWD_REF(Pair) x)
- {
- return dtl::force_copy<iterator>(
- m_flat_tree.emplace_hint_unique(dtl::force_copy<impl_const_iterator>(p), boost::forward<Pair>(x)));
- }
-
- //! <b>Requires</b>: first, last are not iterators into *this.
- //!
- //! <b>Effects</b>: inserts each element from the range [first,last) if and only
- //! if there is no element with key equivalent to the key of that element.
- //!
- //! <b>Complexity</b>: N log(size()+N).
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE void insert(InputIterator first, InputIterator last)
- { m_flat_tree.insert_unique(first, last); }
-
- //! <b>Requires</b>: first, last are not iterators into *this.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Effects</b>: inserts each element from the range [first,last) 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.
- //!
- //! <b>Complexity</b>: Linear.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE void insert(ordered_unique_range_t, InputIterator first, InputIterator last)
- { m_flat_tree.insert_unique(ordered_unique_range, first, last); }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: 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.
- //!
- //! <b>Complexity</b>: N log(N).
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- BOOST_CONTAINER_FORCEINLINE void insert(std::initializer_list<value_type> il)
- {
- m_flat_tree.insert_unique( dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end());
- }
-
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Effects</b>: 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.
- //!
- //! <b>Complexity</b>: Linear.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE void insert(ordered_unique_range_t, std::initializer_list<value_type> il)
- {
- m_flat_tree.insert_unique(ordered_unique_range
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end());
- }
-#endif
-
- //! <b>Requires</b>: this->get_allocator() == source.get_allocator().
- //!
- //! <b>Effects</b>: Move-inserts each element from source into *this a using
- //! the comparison object of *this. If there is an element in a with key equivalent to the
- //! key of an element from source, then that element is not moved from source.
- //!
- //! <b>Complexity</b>: Linear in this->size() + source.size().
- //!
- //! <b>Note</b>: Invalidates all iterators and references.
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
- { m_flat_tree.merge_unique(source.tree()); }
-
- //! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
- { return this->merge(static_cast<flat_map<Key, T, C2, AllocatorOrContainer>&>(source)); }
-
- //! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
- { m_flat_tree.merge_unique(source.tree()); }
-
- //! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
- { return this->merge(static_cast<flat_multimap<Key, T, C2, AllocatorOrContainer>&>(source)); }
-
- //! <b>Effects</b>: Erases the element pointed to by p.
- //!
- //! <b>Returns</b>: Returns an iterator pointing to the element immediately
- //! following q prior to the element being erased. If no such element exists,
- //! returns end().
- //!
- //! <b>Complexity</b>: Linear to the elements with keys bigger than p
- //!
- //! <b>Note</b>: Invalidates elements with keys
- //! not less than the erased element.
- BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator p)
- {
- return dtl::force_copy<iterator>
- (m_flat_tree.erase(dtl::force_copy<impl_const_iterator>(p)));
- }
-
- //! <b>Effects</b>: If present, erases the element in the container with key equivalent to x.
- //!
- //! <b>Returns</b>: Returns the number of erased elements (0/1).
- //!
- //! <b>Complexity</b>: Logarithmic search time plus erasure time
- //! linear to the elements with bigger keys.
- BOOST_CONTAINER_FORCEINLINE size_type erase(const key_type& x)
- { return m_flat_tree.erase_unique(x); }
-
- //! <b>Effects</b>: Erases all the elements in the range [first, last).
- //!
- //! <b>Returns</b>: Returns last.
- //!
- //! <b>Complexity</b>: size()*N where N is the distance from first to last.
- //!
- //! <b>Complexity</b>: Logarithmic search time plus erasure time
- //! linear to the elements with bigger keys.
- BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator first, const_iterator last)
- {
- return dtl::force_copy<iterator>(
- m_flat_tree.erase( dtl::force_copy<impl_const_iterator>(first)
- , dtl::force_copy<impl_const_iterator>(last)));
- }
-
- //! <b>Effects</b>: Swaps the contents of *this and x.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE void swap(flat_map& x)
- BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
- && boost::container::dtl::is_nothrow_swappable<Compare>::value )
- { m_flat_tree.swap(x.m_flat_tree); }
-
- //! <b>Effects</b>: erase(begin(),end()).
- //!
- //! <b>Postcondition</b>: size() == 0.
- //!
- //! <b>Complexity</b>: linear in size().
- BOOST_CONTAINER_FORCEINLINE void clear() BOOST_NOEXCEPT_OR_NOTHROW
- { m_flat_tree.clear(); }
-
- //////////////////////////////////////////////
- //
- // observers
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Returns the comparison object out
- //! of which a was constructed.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- key_compare key_comp() const
- { return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
-
- //! <b>Effects</b>: Returns an object of value_compare constructed out
- //! of the comparison object.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- value_compare value_comp() const
- { return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
-
- //////////////////////////////////////////////
- //
- // map operations
- //
- //////////////////////////////////////////////
-
- //! <b>Returns</b>: An iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator find(const key_type& x)
- { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
-
- //! <b>Returns</b>: A const_iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator find(const key_type& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator find(const K& x)
- { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: A const_iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator find(const K& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
-
- //! <b>Returns</b>: The number of elements with key equivalent to x.
- //!
- //! <b>Complexity</b>: log(size())+count(k)
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type count(const key_type& x) const
- { return static_cast<size_type>(m_flat_tree.find(x) != m_flat_tree.end()); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: The number of elements with key equivalent to x.
- //!
- //! <b>Complexity</b>: log(size())+count(k)
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type count(const K& x) const
- //Don't use find() != end optimization here as transparent comparators with key K might
- //return a different range than key_type (which can only return a single element range)
- { return m_flat_tree.count(x); }
-
- //! <b>Returns</b>: Returns true if there is an element with key
- //! equivalent to key in the container, otherwise false.
- //!
- //! <b>Complexity</b>: log(size()).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- bool contains(const key_type& x) const
- { return m_flat_tree.find(x) != m_flat_tree.end(); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: Returns true if there is an element with key
- //! equivalent to key in the container, otherwise false.
- //!
- //! <b>Complexity</b>: log(size()).
- template<typename K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- bool contains(const K& x) const
- { return m_flat_tree.find(x) != m_flat_tree.end(); }
-
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator lower_bound(const key_type& x)
- { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
-
- //! <b>Returns</b>: A const iterator pointing to the first element with key not
- //! less than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator lower_bound(const key_type& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator lower_bound(const K& x)
- { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: A const iterator pointing to the first element with key not
- //! less than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator lower_bound(const K& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
-
- //! <b>Returns</b>: An iterator pointing to the first element with key greater
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator upper_bound(const key_type& x)
- { return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
-
- //! <b>Returns</b>: A const iterator pointing to the first element with key
- //! greater than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator upper_bound(const key_type& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to the first element with key greater
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator upper_bound(const K& x)
- { return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: A const iterator pointing to the first element with key
- //! greater than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator upper_bound(const K& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
-
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<iterator,iterator> equal_range(const key_type& x)
- { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.lower_bound_range(x)); }
-
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
- { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.lower_bound_range(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<iterator,iterator> equal_range(const K& x)
- //Don't use lower_bound_range optimization here as transparent comparators with key K might
- //return a different range than key_type (which can only return a single element range)
- { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<const_iterator, const_iterator> equal_range(const K& x) const
- //Don't use lower_bound_range optimization here as transparent comparators with key K might
- //return a different range than key_type (which can only return a single element range)
- { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
-
- //! <b>Effects</b>: Extracts the internal sequence container.
- //!
- //! <b>Complexity</b>: Same as the move constructor of sequence_type, usually constant.
- //!
- //! <b>Postcondition</b>: this->empty()
- //!
- //! <b>Throws</b>: If secuence_type's move constructor throws
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE sequence_type extract_sequence()
- {
- return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref()));
- }
-
- //! <b>Effects</b>: Discards the internally hold sequence container and adopts the
- //! one passed externally using the move assignment. Erases non-unique elements.
- //!
- //! <b>Complexity</b>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()
- //!
- //! <b>Throws</b>: If the comparison or the move constructor throws
- BOOST_CONTAINER_FORCEINLINE void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
- { this->m_flat_tree.adopt_sequence_unique(boost::move(dtl::force<impl_sequence_type>(seq))); }
-
- //! <b>Requires</b>: seq shall be ordered according to this->compare()
- //! and shall contain unique elements.
- //!
- //! <b>Effects</b>: Discards the internally hold sequence container and adopts the
- //! one passed externally using the move assignment.
- //!
- //! <b>Complexity</b>: Assuming O(1) move assignment, O(1)
- //!
- //! <b>Throws</b>: If the move assignment throws
- BOOST_CONTAINER_FORCEINLINE void adopt_sequence(ordered_unique_range_t, BOOST_RV_REF(sequence_type) seq)
- { this->m_flat_tree.adopt_sequence_unique(ordered_unique_range_t(), boost::move(dtl::force<impl_sequence_type>(seq))); }
-
- //! <b>Effects</b>: Returns a const view of the underlying sequence.
- //!
- //! <b>Complexity</b>: Constant
- //!
- //! <b>Throws</b>: Nothing
- BOOST_CONTAINER_FORCEINLINE const sequence_type & sequence() const BOOST_NOEXCEPT
- { return dtl::force<sequence_type>(m_flat_tree.get_sequence_cref()); }
-
- //! <b>Effects</b>: Returns true if x and y are equal
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator==(const flat_map& x, const flat_map& y)
- { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
-
- //! <b>Effects</b>: Returns true if x and y are unequal
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator!=(const flat_map& x, const flat_map& y)
- { return !(x == y); }
-
- //! <b>Effects</b>: Returns true if x is less than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator<(const flat_map& x, const flat_map& y)
- { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
-
- //! <b>Effects</b>: Returns true if x is greater than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator>(const flat_map& x, const flat_map& y)
- { return y < x; }
-
- //! <b>Effects</b>: Returns true if x is equal or less than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator<=(const flat_map& x, const flat_map& y)
- { return !(y < x); }
-
- //! <b>Effects</b>: Returns true if x is equal or greater than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator>=(const flat_map& x, const flat_map& y)
- { return !(x < y); }
-
- //! <b>Effects</b>: x.swap(y)
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE friend void swap(flat_map& x, flat_map& y)
- BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
- { x.swap(y); }
-
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- private:
- mapped_type &priv_subscript(const key_type& k)
- {
- iterator i = this->lower_bound(k);
- // i->first is greater than or equivalent to k.
- if (i == end() || key_comp()(k, (*i).first)){
- dtl::value_init<mapped_type> m;
- impl_value_type v(k, ::boost::move(m.m_t));
- i = this->insert(i, ::boost::move(v));
- }
- return (*i).second;
- }
- mapped_type &priv_subscript(BOOST_RV_REF(key_type) mk)
- {
- key_type &k = mk;
- iterator i = this->lower_bound(k);
- // i->first is greater than or equivalent to k.
- if (i == end() || key_comp()(k, (*i).first)){
- dtl::value_init<mapped_type> m;
- impl_value_type v(::boost::move(k), ::boost::move(m.m_t));
- i = this->insert(i, ::boost::move(v));
- }
- return (*i).second;
- }
- #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-};
-
-#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
-
-template <typename InputIterator>
-flat_map(InputIterator, InputIterator) ->
- flat_map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>>;
-
-template < typename InputIterator, typename AllocatorOrCompare>
- flat_map(InputIterator, InputIterator, AllocatorOrCompare const&) ->
- flat_map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , typename dtl::if_c< // Compare
- dtl::is_allocator<AllocatorOrCompare>::value
- , std::less<it_based_non_const_first_type_t<InputIterator>>
- , AllocatorOrCompare
- >::type
- , typename dtl::if_c< // Allocator
- dtl::is_allocator<AllocatorOrCompare>::value
- , AllocatorOrCompare
- , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
- >::type
- >;
-
-template < typename InputIterator, typename Compare, typename Allocator
- , typename = dtl::require_nonallocator_t<Compare>
- , typename = dtl::require_allocator_t<Allocator>>
-flat_map(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , Compare
- , Allocator>;
-
-template <typename InputIterator>
-flat_map(ordered_unique_range_t, InputIterator, InputIterator) ->
- flat_map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>>;
-
-template < typename InputIterator, typename AllocatorOrCompare>
-flat_map(ordered_unique_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
- flat_map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , typename dtl::if_c< // Compare
- dtl::is_allocator<AllocatorOrCompare>::value
- , std::less<it_based_non_const_first_type_t<InputIterator>>
- , AllocatorOrCompare
- >::type
- , typename dtl::if_c< // Allocator
- dtl::is_allocator<AllocatorOrCompare>::value
- , AllocatorOrCompare
- , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
- >::type
- >;
-
-template < typename InputIterator, typename Compare, typename Allocator
- , typename = dtl::require_nonallocator_t<Compare>
- , typename = dtl::require_allocator_t<Allocator>>
-flat_map(ordered_unique_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , Compare
- , Allocator>;
-
-#endif
-
-#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-} //namespace container {
-
-//!has_trivial_destructor_after_move<> == true_type
-//!specialization for optimizations
-template <class Key, class T, class Compare, class AllocatorOrContainer>
-struct has_trivial_destructor_after_move<boost::container::flat_map<Key, T, Compare, AllocatorOrContainer> >
-{
- typedef ::boost::container::dtl::pair<Key, T> value_t;
- typedef typename ::boost::container::dtl::container_or_allocator_rebind<AllocatorOrContainer, value_t>::type alloc_or_cont_t;
- typedef ::boost::container::dtl::flat_tree<value_t,::boost::container::dtl::select1st<Key>, Compare, alloc_or_cont_t> tree;
- static const bool value = ::boost::has_trivial_destructor_after_move<tree>::value;
-};
-
-namespace container {
-
-#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-//! A flat_multimap is a kind of associative container that supports equivalent keys
-//! (possibly containing multiple copies of the same key value) and provides for
-//! fast retrieval of values of another type T based on the keys.
-//!
-//! A flat_multimap satisfies all of the requirements of a container and of a reversible
-//! container and of an associative container. For a
-//! flat_multimap<Key,T> the key_type is Key and the value_type is std::pair<Key,T>
-//! (unlike std::multimap<Key, T> which value_type is std::pair<<b>const</b> Key, T>).
-//!
-//! flat_multimap is similar to std::multimap but it's implemented by as an ordered sequence container.
-//! The underlying sequence container is by default <i>vector</i> but it can also work
-//! user-provided vector-like SequenceContainers (like <i>static_vector</i> or <i>small_vector</i>).
-//!
-//! Using vector-like sequence containers means that inserting a new element into a flat_multimap might invalidate
-//! previous iterators and references (unless that sequence container is <i>stable_vector</i> or a similar
-//! container that offers stable pointers and references). Similarly, erasing an element might invalidate
-//! iterators and references pointing to elements that come after (their keys are bigger) the erased element.
-//!
-//! This container provides random-access iterators.
-//!
-//! \tparam Key is the key_type of the map
-//! \tparam Value is the <code>mapped_type</code>
-//! \tparam Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
-//! \tparam AllocatorOrContainer is either:
-//! - The allocator to allocate <code>value_type</code>s (e.g. <i>allocator< std::pair<Key, T> > </i>).
-//! (in this case <i>sequence_type</i> will be vector<value_type, AllocatorOrContainer>)
-//! - The SequenceContainer to be used as the underlying <i>sequence_type</i>. It must be a vector-like
-//! sequence container with random-access iterators.
-#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
-template <class Key, class T, class Compare = std::less<Key>, class AllocatorOrContainer = new_allocator< std::pair< Key, T> > >
-#else
-template <class Key, class T, class Compare, class AllocatorOrContainer>
-#endif
-class flat_multimap
-{
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- private:
- BOOST_COPYABLE_AND_MOVABLE(flat_multimap)
- typedef dtl::flat_tree<
- std::pair<Key, T>,
- dtl::select1st<Key>,
- Compare,
- AllocatorOrContainer> tree_t;
- //This is the real tree stored here. It's based on a movable pair
- typedef dtl::flat_tree<
- dtl::pair<Key, T>,
- dtl::select1st<Key>,
- Compare,
- typename dtl::container_or_allocator_rebind<AllocatorOrContainer, dtl::pair<Key, T> >::type
- > impl_tree_t;
- impl_tree_t m_flat_tree; // flat tree representing 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;
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- typedef std::initializer_list<impl_value_type> impl_initializer_list;
- #endif
-
- typedef dtl::flat_tree_value_compare
- < Compare
- , dtl::select1st<Key>
- , std::pair<Key, T> > value_compare_t;
- typedef typename tree_t::iterator iterator_t;
- typedef typename tree_t::const_iterator const_iterator_t;
- typedef typename tree_t::reverse_iterator reverse_iterator_t;
- typedef typename tree_t::const_reverse_iterator const_reverse_iterator_t;
-
- public:
- typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
- typedef typename impl_tree_t::sequence_type impl_sequence_type;
-
- BOOST_CONTAINER_FORCEINLINE impl_tree_t &tree()
- { return m_flat_tree; }
-
- BOOST_CONTAINER_FORCEINLINE const impl_tree_t &tree() const
- { return m_flat_tree; }
-
- private:
- #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
- public:
-
- //////////////////////////////////////////////
- //
- // types
- //
- //////////////////////////////////////////////
- typedef Key key_type;
- typedef T mapped_type;
- typedef Compare key_compare;
- typedef std::pair<Key, T> value_type;
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::sequence_type) sequence_type;
- typedef typename sequence_type::allocator_type allocator_type;
- typedef ::boost::container::allocator_traits<allocator_type> allocator_traits_type;
- typedef typename sequence_type::pointer pointer;
- typedef typename sequence_type::const_pointer const_pointer;
- typedef typename sequence_type::reference reference;
- typedef typename sequence_type::const_reference const_reference;
- typedef typename sequence_type::size_type size_type;
- typedef typename sequence_type::difference_type difference_type;
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::stored_allocator_type) stored_allocator_type;
- typedef typename BOOST_CONTAINER_IMPDEF(tree_t::value_compare) value_compare;
-
- typedef typename sequence_type::iterator iterator;
- typedef typename sequence_type::const_iterator const_iterator;
- typedef typename sequence_type::reverse_iterator reverse_iterator;
- typedef typename sequence_type::const_reverse_iterator const_reverse_iterator;
- typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type;
-
- //AllocatorOrContainer::value_type must be std::pair<Key, T>
- BOOST_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
-
- //////////////////////////////////////////////
- //
- // construct/copy/destroy
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Default constructs an empty flat_map.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE flat_multimap()
- BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<AllocatorOrContainer>::value &&
- dtl::is_nothrow_default_constructible<Compare>::value)
- : m_flat_tree()
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap using the specified allocator.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE explicit flat_multimap(const allocator_type& a)
- : m_flat_tree(dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison
- //! object .
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE explicit flat_multimap(const Compare& comp)
- : m_flat_tree(comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison
- //! object and allocator.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(const Compare& comp, const allocator_type& a)
- : m_flat_tree(comp, dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap
- //! and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(InputIterator first, InputIterator last)
- : m_flat_tree(false, first, last)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap using the specified
- //! allocator, and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(InputIterator first, InputIterator last, const allocator_type& a)
- : m_flat_tree(false, first, last, dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object
- //! and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(InputIterator first, InputIterator last, const Compare& comp)
- : m_flat_tree(false, first, last, comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object
- //! and allocator, and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
- : m_flat_tree(false, first, last, comp, dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap
- //! and inserts elements from the ordered range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(ordered_range_t, InputIterator first, InputIterator last)
- : m_flat_tree(ordered_range, first, last)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object and
- //! inserts elements from the ordered range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp)
- : m_flat_tree(ordered_range, first, last, comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap 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.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
- : m_flat_tree(ordered_range, first, last, comp, a)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object and
- //! inserts elements from the ordered range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const allocator_type &a)
- : m_flat_tree(ordered_range, first, last, Compare(), a)
- {}
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Constructs an empty flat_map and
- //! inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(std::initializer_list<value_type> il)
- : m_flat_tree( false
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end())
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified
- //! allocator, and inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(std::initializer_list<value_type> il, const allocator_type& a)
- : m_flat_tree(false
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end()
- , dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
- //! inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(std::initializer_list<value_type> il, const Compare& comp)
- : m_flat_tree(false
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end(), comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_map using the specified comparison object and
- //! allocator, and inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
- : m_flat_tree( false
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end()
- , comp, dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap and
- //! inserts elements from the ordered range [il.begin(), il.end()). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(ordered_range_t, std::initializer_list<value_type> il)
- : m_flat_tree( ordered_range
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end())
- {}
-
- //! <b>Effects</b>: Constructs an empty flat_multimap using the specified comparison object and
- //! inserts elements from the ordered range [il.begin(), il.end()). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp)
- : m_flat_tree( ordered_range
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end(), comp)
- {}
-
- //! <b>Effects</b>: 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.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
- : m_flat_tree( ordered_range
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end()
- , comp, dtl::force<const impl_allocator_type>(a))
- {}
-#endif
-
- //! <b>Effects</b>: Copy constructs a flat_multimap.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(const flat_multimap& x)
- : m_flat_tree(x.m_flat_tree)
- {}
-
- //! <b>Effects</b>: Move constructs a flat_multimap. Constructs *this using x's resources.
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Postcondition</b>: x is emptied.
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(BOOST_RV_REF(flat_multimap) x)
- BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
- : m_flat_tree(boost::move(x.m_flat_tree))
- {}
-
- //! <b>Effects</b>: Copy constructs a flat_multimap using the specified allocator.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(const flat_multimap& x, const allocator_type &a)
- : m_flat_tree(x.m_flat_tree, dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Move constructs a flat_multimap using the specified allocator.
- //! Constructs *this using x's resources.
- //!
- //! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap(BOOST_RV_REF(flat_multimap) x, const allocator_type &a)
- : m_flat_tree(boost::move(x.m_flat_tree), dtl::force<const impl_allocator_type>(a))
- {}
-
- //! <b>Effects</b>: Makes *this a copy of x.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap& operator=(BOOST_COPY_ASSIGN_REF(flat_multimap) x)
- { m_flat_tree = x.m_flat_tree; return *this; }
-
- //! <b>Effects</b>: this->swap(x.get()).
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap& operator=(BOOST_RV_REF(flat_multimap) x)
- BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
- allocator_traits_type::is_always_equal::value) &&
- boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
- { m_flat_tree = boost::move(x.m_flat_tree); return *this; }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Assign content of il to *this
- //!
- //! <b>Complexity</b>: Linear in il.size().
- BOOST_CONTAINER_FORCEINLINE
- flat_multimap& operator=(std::initializer_list<value_type> il)
- {
- this->clear();
- this->insert(il.begin(), il.end());
- return *this;
- }
-#endif
-
- //! <b>Effects</b>: Returns a copy of the allocator that
- //! was passed to the object's constructor.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
-
- //! <b>Effects</b>: Returns a reference to the internal allocator.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
-
- //! <b>Effects</b>: Returns a reference to the internal allocator.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force<const stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
-
- //////////////////////////////////////////////
- //
- // iterators
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Returns an iterator to the first element contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<iterator>(m_flat_tree.begin()); }
-
- //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
-
- //! <b>Effects</b>: Returns an iterator to the end of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator end() BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<iterator>(m_flat_tree.end()); }
-
- //! <b>Effects</b>: Returns a const_iterator to the end of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
-
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
-
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
-
- //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
-
- //! <b>Effects</b>: Returns a const_iterator to the end of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
-
- //////////////////////////////////////////////
- //
- // capacity
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Returns true if the container contains no elements.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.empty(); }
-
- //! <b>Effects</b>: Returns the number of the elements contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.size(); }
-
- //! <b>Effects</b>: Returns the largest possible size of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.max_size(); }
-
- //! <b>Effects</b>: Number of elements for which memory has been allocated.
- //! capacity() is always greater than or equal to size().
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.capacity(); }
-
- //! <b>Effects</b>: If n is less than or equal to capacity(), or the
- //! underlying container has no `reserve` member, this call has no
- //! effect. Otherwise, it is a request for allocation of additional memory.
- //! If the request is successful, then capacity() is greater than or equal to
- //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged.
- //!
- //! <b>Throws</b>: If memory allocation allocation throws or T's copy constructor throws.
- //!
- //! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
- //! to values might be invalidated.
- BOOST_CONTAINER_FORCEINLINE
- void reserve(size_type cnt)
- { m_flat_tree.reserve(cnt); }
-
- //! <b>Effects</b>: Tries to deallocate the excess of memory created
- // with previous allocations. The size of the vector is unchanged
- //!
- //! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
- //!
- //! <b>Complexity</b>: Linear to size().
- BOOST_CONTAINER_FORCEINLINE
- void shrink_to_fit()
- { m_flat_tree.shrink_to_fit(); }
-
- //! @copydoc ::boost::container::flat_set::nth(size_type)
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
-
- //! @copydoc ::boost::container::flat_set::nth(size_type) const
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
- { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
-
- //! @copydoc ::boost::container::flat_set::index_of(iterator)
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
-
- //! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
- { return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
-
- #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- //! <b>Effects</b>: Inserts an object of type T constructed with
- //! std::forward<Args>(args)... and returns the iterator pointing to the
- //! newly inserted element.
- //!
- //! <b>Complexity</b>: Logarithmic search time plus linear insertion
- //! to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE
- iterator emplace(BOOST_FWD_REF(Args)... args)
- { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Args>(args)...)); }
-
- //! <b>Effects</b>: Inserts an object of type T constructed with
- //! std::forward<Args>(args)... in the container.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic search time (constant time if the value
- //! is to be inserted before p) plus linear insertion
- //! to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE
- iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
- {
- return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_equal
- (dtl::force_copy<impl_const_iterator>(hint), boost::forward<Args>(args)...));
- }
-
- #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- #define BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE(N) \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE iterator emplace(BOOST_MOVE_UREF##N)\
- { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(BOOST_MOVE_FWD##N)); }\
- \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
- {\
- return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_equal\
- (dtl::force_copy<impl_const_iterator>(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 // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- //! <b>Effects</b>: Inserts x and returns the iterator pointing to the
- //! newly inserted element.
- //!
- //! <b>Complexity</b>: Logarithmic search time plus linear insertion
- //! to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const value_type& x)
- {
- return dtl::force_copy<iterator>(
- m_flat_tree.insert_equal(dtl::force<const impl_value_type>(x)));
- }
-
- //! <b>Effects</b>: Inserts a new value constructed from x and returns
- //! the iterator pointing to the newly inserted element.
- //!
- //! <b>Complexity</b>: Logarithmic search time plus linear insertion
- //! to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- template<class Pair>
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
- ( iterator
- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
- BOOST_MOVE_I iterator >::type)
- insert(BOOST_FWD_REF(Pair) x)
- { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Pair>(x))); }
-
- //! <b>Effects</b>: Inserts a copy of x in the container.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic search time (constant time if the value
- //! is to be inserted before p) plus linear insertion
- //! to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, const value_type& x)
- {
- return dtl::force_copy<iterator>
- (m_flat_tree.insert_equal( dtl::force_copy<impl_const_iterator>(p)
- , dtl::force<const impl_value_type>(x)));
- }
-
- //! <b>Effects</b>: Inserts a value constructed from x in the container.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic search time (constant time if the value
- //! is to be inserted before p) plus linear insertion
- //! to the elements with bigger keys than x.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- template<class Pair>
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
- ( iterator
- , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
- BOOST_MOVE_I iterator>::type)
- insert(const_iterator p, BOOST_FWD_REF(Pair) x)
- {
- return dtl::force_copy<iterator>(
- m_flat_tree.emplace_hint_equal(dtl::force_copy<impl_const_iterator>(p), boost::forward<Pair>(x)));
- }
-
- //! <b>Requires</b>: first, last are not iterators into *this.
- //!
- //! <b>Effects</b>: inserts each element from the range [first,last) .
- //!
- //! <b>Complexity</b>: N log(N).
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE void insert(InputIterator first, InputIterator last)
- { m_flat_tree.insert_equal(first, last); }
-
- //! <b>Requires</b>: first, last are not iterators into *this.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Effects</b>: inserts each element from the range [first,last) 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.
- //!
- //! <b>Complexity</b>: Linear.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE void insert(ordered_range_t, InputIterator first, InputIterator last)
- { m_flat_tree.insert_equal(ordered_range, first, last); }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: inserts each element from the range [il.begin(), il.end()) .
- //!
- //! <b>Complexity</b>: N log(N).
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- BOOST_CONTAINER_FORCEINLINE void insert(std::initializer_list<value_type> il)
- {
- m_flat_tree.insert_equal( dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end());
- }
-
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
- //!
- //! <b>Effects</b>: 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.
- //!
- //! <b>Complexity</b>: Linear.
- //!
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE void insert(ordered_range_t, std::initializer_list<value_type> il)
- {
- m_flat_tree.insert_equal( ordered_range
- , dtl::force<impl_initializer_list>(il).begin()
- , dtl::force<impl_initializer_list>(il).end());
- }
-#endif
-
- //! <b>Requires</b>: this->get_allocator() == source.get_allocator().
- //!
- //! <b>Effects</b>: Move-inserts each element from source into *this a using
- //! the comparison object of *this.
- //!
- //! <b>Complexity</b>: Linear in this->size() + source.size().
- //!
- //! <b>Note</b>: Invalidates all iterators and references.
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
- { m_flat_tree.merge_equal(source.tree()); }
-
- //! @copydoc ::boost::container::flat_multimap::merge(flat_multimap<Key, T, C2, AllocatorOrContainer>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
- { return this->merge(static_cast<flat_multimap<Key, T, C2, AllocatorOrContainer>&>(source)); }
-
- //! @copydoc ::boost::container::flat_multimap::merge(flat_multimap<Key, T, C2, AllocatorOrContainer>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
- { m_flat_tree.merge_equal(source.tree()); }
-
- //! @copydoc ::boost::container::flat_multimap::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
- { return this->merge(static_cast<flat_map<Key, T, C2, AllocatorOrContainer>&>(source)); }
-
- //! <b>Effects</b>: Erases the element pointed to by p.
- //!
- //! <b>Returns</b>: Returns an iterator pointing to the element immediately
- //! following q prior to the element being erased. If no such element exists,
- //! returns end().
- //!
- //! <b>Complexity</b>: Linear to the elements with keys bigger than p
- //!
- //! <b>Note</b>: Invalidates elements with keys
- //! not less than the erased element.
- BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator p)
- {
- return dtl::force_copy<iterator>(
- m_flat_tree.erase(dtl::force_copy<impl_const_iterator>(p)));
- }
-
- //! <b>Effects</b>: Erases all elements in the container with key equivalent to x.
- //!
- //! <b>Returns</b>: Returns the number of erased elements.
- //!
- //! <b>Complexity</b>: Logarithmic search time plus erasure time
- //! linear to the elements with bigger keys.
- BOOST_CONTAINER_FORCEINLINE size_type erase(const key_type& x)
- { return m_flat_tree.erase(x); }
-
- //! <b>Effects</b>: Erases all the elements in the range [first, last).
- //!
- //! <b>Returns</b>: Returns last.
- //!
- //! <b>Complexity</b>: size()*N where N is the distance from first to last.
- //!
- //! <b>Complexity</b>: Logarithmic search time plus erasure time
- //! linear to the elements with bigger keys.
- BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator first, const_iterator last)
- {
- return dtl::force_copy<iterator>
- (m_flat_tree.erase( dtl::force_copy<impl_const_iterator>(first)
- , dtl::force_copy<impl_const_iterator>(last)));
- }
-
- //! <b>Effects</b>: Swaps the contents of *this and x.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE void swap(flat_multimap& x)
- BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
- && boost::container::dtl::is_nothrow_swappable<Compare>::value )
- { m_flat_tree.swap(x.m_flat_tree); }
-
- //! <b>Effects</b>: erase(begin(),end()).
- //!
- //! <b>Postcondition</b>: size() == 0.
- //!
- //! <b>Complexity</b>: linear in size().
- BOOST_CONTAINER_FORCEINLINE void clear() BOOST_NOEXCEPT_OR_NOTHROW
- { m_flat_tree.clear(); }
-
- //////////////////////////////////////////////
- //
- // observers
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Returns the comparison object out
- //! of which a was constructed.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- key_compare key_comp() const
- { return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
-
- //! <b>Effects</b>: Returns an object of value_compare constructed out
- //! of the comparison object.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- value_compare value_comp() const
- { return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
-
- //////////////////////////////////////////////
- //
- // map operations
- //
- //////////////////////////////////////////////
-
- //! <b>Returns</b>: An iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator find(const key_type& x)
- { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
-
- //! <b>Returns</b>: An const_iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator find(const key_type& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator find(const K& x)
- { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An const_iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator find(const K& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
-
- //! <b>Returns</b>: The number of elements with key equivalent to x.
- //!
- //! <b>Complexity</b>: log(size())+count(k)
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type count(const key_type& x) const
- { return m_flat_tree.count(x); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: The number of elements with key equivalent to x.
- //!
- //! <b>Complexity</b>: log(size())+count(k)
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type count(const K& x) const
- { return m_flat_tree.count(x); }
-
- //! <b>Returns</b>: Returns true if there is an element with key
- //! equivalent to key in the container, otherwise false.
- //!
- //! <b>Complexity</b>: log(size()).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- bool contains(const key_type& x) const
- { return m_flat_tree.find(x) != m_flat_tree.end(); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: Returns true if there is an element with key
- //! equivalent to key in the container, otherwise false.
- //!
- //! <b>Complexity</b>: log(size()).
- template<typename K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- bool contains(const K& x) const
- { return m_flat_tree.find(x) != m_flat_tree.end(); }
-
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator lower_bound(const key_type& x)
- { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
-
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator lower_bound(const key_type& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator lower_bound(const K& x)
- { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator lower_bound(const K& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
-
- //! <b>Returns</b>: An iterator pointing to the first element with key greater
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator upper_bound(const key_type& x)
- {return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
-
- //! <b>Returns</b>: A const iterator pointing to the first element with key
- //! greater than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator upper_bound(const key_type& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to the first element with key greater
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator upper_bound(const K& x)
- {return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: A const iterator pointing to the first element with key
- //! greater than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator upper_bound(const K& x) const
- { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
-
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<iterator,iterator> equal_range(const key_type& x)
- { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
-
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
- { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<iterator,iterator> equal_range(const K& x)
- { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- template<class K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- std::pair<const_iterator, const_iterator> equal_range(const K& x) const
- { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
-
- //! <b>Effects</b>: Extracts the internal sequence container.
- //!
- //! <b>Complexity</b>: Same as the move constructor of sequence_type, usually constant.
- //!
- //! <b>Postcondition</b>: this->empty()
- //!
- //! <b>Throws</b>: If secuence_type's move constructor throws
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- sequence_type extract_sequence()
- { return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref())); }
-
- //! <b>Effects</b>: Discards the internally hold sequence container and adopts the
- //! one passed externally using the move assignment.
- //!
- //! <b>Complexity</b>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()
- //!
- //! <b>Throws</b>: If the comparison or the move constructor throws
- BOOST_CONTAINER_FORCEINLINE void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
- { this->m_flat_tree.adopt_sequence_equal(boost::move(dtl::force<impl_sequence_type>(seq))); }
-
- //! <b>Requires</b>: seq shall be ordered according to this->compare().
- //!
- //! <b>Effects</b>: Discards the internally hold sequence container and adopts the
- //! one passed externally using the move assignment.
- //!
- //! <b>Complexity</b>: Assuming O(1) move assignment, O(1)
- //!
- //! <b>Throws</b>: If the move assignment throws
- BOOST_CONTAINER_FORCEINLINE void adopt_sequence(ordered_range_t, BOOST_RV_REF(sequence_type) seq)
- { this->m_flat_tree.adopt_sequence_equal(ordered_range_t(), boost::move(dtl::force<impl_sequence_type>(seq))); }
-
- //! <b>Effects</b>: Returns a const view of the underlying sequence.
- //!
- //! <b>Complexity</b>: Constant
- //!
- //! <b>Throws</b>: Nothing
- BOOST_CONTAINER_FORCEINLINE const sequence_type & sequence() const BOOST_NOEXCEPT
- { return dtl::force<sequence_type>(m_flat_tree.get_sequence_cref()); }
-
- //! <b>Effects</b>: Returns true if x and y are equal
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator==(const flat_multimap& x, const flat_multimap& y)
- { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
-
- //! <b>Effects</b>: Returns true if x and y are unequal
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator!=(const flat_multimap& x, const flat_multimap& y)
- { return !(x == y); }
-
- //! <b>Effects</b>: Returns true if x is less than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator<(const flat_multimap& x, const flat_multimap& y)
- { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
-
- //! <b>Effects</b>: Returns true if x is greater than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator>(const flat_multimap& x, const flat_multimap& y)
- { return y < x; }
-
- //! <b>Effects</b>: Returns true if x is equal or less than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator<=(const flat_multimap& x, const flat_multimap& y)
- { return !(y < x); }
-
- //! <b>Effects</b>: Returns true if x is equal or greater than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- friend bool operator>=(const flat_multimap& x, const flat_multimap& y)
- { return !(x < y); }
-
- //! <b>Effects</b>: x.swap(y)
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE friend void swap(flat_multimap& x, flat_multimap& y)
- BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
- { x.swap(y); }
-};
-
-#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
-
-template <typename InputIterator>
-flat_multimap(InputIterator, InputIterator) ->
- flat_multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>>;
-
-template < typename InputIterator, typename AllocatorOrCompare>
-flat_multimap(InputIterator, InputIterator, AllocatorOrCompare const&) ->
- flat_multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , typename dtl::if_c< // Compare
- dtl::is_allocator<AllocatorOrCompare>::value
- , std::less<it_based_non_const_first_type_t<InputIterator>>
- , AllocatorOrCompare
- >::type
- , typename dtl::if_c< // Allocator
- dtl::is_allocator<AllocatorOrCompare>::value
- , AllocatorOrCompare
- , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
- >::type
- >;
-
-template < typename InputIterator, typename Compare, typename Allocator
- , typename = dtl::require_nonallocator_t<Compare>
- , typename = dtl::require_allocator_t<Allocator>>
-flat_multimap(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , Compare
- , Allocator>;
-
-template <typename InputIterator>
-flat_multimap(ordered_range_t, InputIterator, InputIterator) ->
- flat_multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>>;
-
-template < typename InputIterator, typename AllocatorOrCompare>
-flat_multimap(ordered_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
- flat_multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , typename dtl::if_c< // Compare
- dtl::is_allocator<AllocatorOrCompare>::value
- , std::less<it_based_non_const_first_type_t<InputIterator>>
- , AllocatorOrCompare
- >::type
- , typename dtl::if_c< // Allocator
- dtl::is_allocator<AllocatorOrCompare>::value
- , AllocatorOrCompare
- , new_allocator<std::pair<it_based_non_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
- >::type
- >;
-
-template < typename InputIterator, typename Compare, typename Allocator
- , typename = dtl::require_nonallocator_t<Compare>
- , typename = dtl::require_allocator_t<Allocator>>
-flat_multimap(ordered_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- flat_multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , Compare
- , Allocator>;
-
-#endif
-
-}}
-
-#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-namespace boost {
-
-//!has_trivial_destructor_after_move<> == true_type
-//!specialization for optimizations
-template <class Key, class T, class Compare, class AllocatorOrContainer>
-struct has_trivial_destructor_after_move< boost::container::flat_multimap<Key, T, Compare, AllocatorOrContainer> >
-{
- typedef ::boost::container::dtl::pair<Key, T> value_t;
- typedef typename ::boost::container::dtl::container_or_allocator_rebind<AllocatorOrContainer, value_t>::type alloc_or_cont_t;
- typedef ::boost::container::dtl::flat_tree<value_t,::boost::container::dtl::select1st<Key>, Compare, alloc_or_cont_t> tree;
- static const bool value = ::boost::has_trivial_destructor_after_move<tree>::value;
-};
-
-} //namespace boost {
-
-#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-#include <boost/container/detail/config_end.hpp>
-
-#endif // BOOST_CONTAINER_FLAT_MAP_HPP
diff --git a/contrib/restricted/boost/container/include/boost/container/map.hpp b/contrib/restricted/boost/container/include/boost/container/map.hpp
deleted file mode 100644
index 30c7b83e95..0000000000
--- a/contrib/restricted/boost/container/include/boost/container/map.hpp
+++ /dev/null
@@ -1,2316 +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_MAP_HPP
-#define BOOST_CONTAINER_MAP_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/container/detail/config_begin.hpp>
-#include <boost/container/detail/workaround.hpp>
-
-// container
-#include <boost/container/container_fwd.hpp>
-#include <boost/container/new_allocator.hpp> //new_allocator
-#include <boost/container/throw_exception.hpp>
-// container/detail
-#include <boost/container/detail/mpl.hpp>
-#include <boost/container/detail/tree.hpp>
-#include <boost/container/detail/type_traits.hpp>
-#include <boost/container/detail/value_init.hpp>
-#include <boost/container/detail/pair.hpp>
-#include <boost/container/detail/pair_key_mapped_of_value.hpp>
-
-// move
-#include <boost/move/traits.hpp>
-#include <boost/move/utility_core.hpp>
-// move/detail
-#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-#include <boost/move/detail/fwd_macros.hpp>
-#endif
-#include <boost/move/detail/move_helpers.hpp>
-// intrusive/detail
-#include <boost/intrusive/detail/minimal_pair_header.hpp> //pair
-#include <boost/intrusive/detail/minimal_less_equal_header.hpp>//less, equal
-// other
-#include <boost/static_assert.hpp>
-#include <boost/core/no_exceptions_support.hpp>
-// std
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-#include <initializer_list>
-#endif
-
-namespace boost {
-namespace container {
-
-#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-//! A map is a kind of associative container that supports unique keys (contains at
-//! most one of each key value) and provides for fast retrieval of values of another
-//! type T based on the keys. The map class supports bidirectional iterators.
-//!
-//! A map satisfies all of the requirements of a container and of a reversible
-//! container and of an associative container. The <code>value_type</code> stored
-//! by this container is the value_type is std::pair<const Key, T>.
-//!
-//! \tparam Key is the key_type of the map
-//! \tparam T is the <code>mapped_type</code>
-//! \tparam Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
-//! \tparam Allocator is the allocator to allocate the <code>value_type</code>s
-//! (e.g. <i>allocator< std::pair<const Key, T> > </i>).
-//! \tparam Options is an packed option type generated using using boost::container::tree_assoc_options.
-template < class Key, class T, class Compare = std::less<Key>
- , class Allocator = void, class Options = tree_assoc_defaults >
-#else
-template <class Key, class T, class Compare, class Allocator, class Options>
-#endif
-class map
- ///@cond
- : public dtl::tree
- < std::pair<const Key, T>
- , int
- , Compare, Allocator, Options>
- ///@endcond
-{
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- private:
- BOOST_COPYABLE_AND_MOVABLE(map)
-
- typedef int select_1st_t;
- typedef std::pair<const Key, T> value_type_impl;
- typedef dtl::tree
- <value_type_impl, select_1st_t, Compare, Allocator, Options> base_t;
- typedef dtl::pair <Key, T> movable_value_type_impl;
- typedef typename base_t::value_compare value_compare_impl;
- #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
- public:
- //////////////////////////////////////////////
- //
- // types
- //
- //////////////////////////////////////////////
-
- typedef Key key_type;
- typedef T mapped_type;
- typedef typename base_t::allocator_type allocator_type;
- typedef ::boost::container::allocator_traits<allocator_type> allocator_traits_type;
- typedef typename boost::container::allocator_traits<allocator_type>::value_type value_type;
- typedef typename boost::container::allocator_traits<allocator_type>::pointer pointer;
- typedef typename boost::container::allocator_traits<allocator_type>::const_pointer const_pointer;
- typedef typename boost::container::allocator_traits<allocator_type>::reference reference;
- typedef typename boost::container::allocator_traits<allocator_type>::const_reference const_reference;
- typedef typename boost::container::allocator_traits<allocator_type>::size_type size_type;
- typedef typename boost::container::allocator_traits<allocator_type>::difference_type difference_type;
- typedef typename BOOST_CONTAINER_IMPDEF(base_t::stored_allocator_type) stored_allocator_type;
- typedef BOOST_CONTAINER_IMPDEF(value_compare_impl) value_compare;
- typedef Compare key_compare;
- typedef typename BOOST_CONTAINER_IMPDEF(base_t::iterator) iterator;
- typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_iterator) const_iterator;
- typedef typename BOOST_CONTAINER_IMPDEF(base_t::reverse_iterator) reverse_iterator;
- typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_reverse_iterator) const_reverse_iterator;
- //typedef std::pair<key_type, mapped_type> nonconst_value_type;
- typedef BOOST_CONTAINER_IMPDEF(movable_value_type_impl) movable_value_type;
- typedef BOOST_CONTAINER_IMPDEF(node_handle<
- typename base_t::stored_allocator_type
- BOOST_MOVE_I pair_key_mapped_of_value
- <key_type BOOST_MOVE_I mapped_type> >) node_type;
- typedef BOOST_CONTAINER_IMPDEF
- (insert_return_type_base<iterator BOOST_MOVE_I node_type>) insert_return_type;
-
- //allocator_type::value_type type must be std::pair<CONST Key, T>
- BOOST_STATIC_ASSERT((dtl::is_same<typename allocator_type::value_type, std::pair<const Key, T> >::value));
-
- //////////////////////////////////////////////
- //
- // construct/copy/destroy
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Default constructs an empty map.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE
- map() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value &&
- dtl::is_nothrow_default_constructible<Compare>::value)
- : base_t()
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified comparison object
- //! and allocator.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE map(const Compare& comp, const allocator_type& a)
- : base_t(comp, a)
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified comparison object.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE explicit map(const Compare& comp)
- : base_t(comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified allocator.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE explicit map(const allocator_type& a)
- : base_t(a)
- {}
-
- //! <b>Effects</b>: Constructs an empty map and
- //! inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE map(InputIterator first, InputIterator last)
- : base_t(true, first, last)
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified
- //! allocator, and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE map(InputIterator first, InputIterator last, const allocator_type& a)
- : base_t(true, first, last, Compare(), a)
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified comparison object and
- //! inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE map(InputIterator first, InputIterator last, const Compare& comp)
- : base_t(true, first, last, comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified comparison object and
- //! allocator, and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE map(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
- : base_t(true, first, last, comp, a)
- {}
-
- //! <b>Effects</b>: Constructs an empty map and
- //! inserts elements from the ordered unique range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE map( ordered_unique_range_t, InputIterator first, InputIterator last)
- : base_t(ordered_range, first, last)
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified comparison object and
- //! inserts elements from the ordered unique range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE map( ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp)
- : base_t(ordered_range, first, last, comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty map 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.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE map( ordered_unique_range_t, InputIterator first, InputIterator last
- , const Compare& comp, const allocator_type& a)
- : base_t(ordered_range, first, last, comp, a)
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified allocator object and
- //! inserts elements from the ordered unique range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE map(ordered_unique_range_t, InputIterator first, InputIterator last, const allocator_type& a)
- : base_t(ordered_range, first, last, Compare(), a)
- {}
-
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Constructs an empty map and
- //! inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted according
- //! to the predicate and otherwise N logN, where N is il.first() - il.end().
- BOOST_CONTAINER_FORCEINLINE map(std::initializer_list<value_type> il)
- : base_t(true, il.begin(), il.end())
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified comparison object and
- //! inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is il.first() - il.end().
- BOOST_CONTAINER_FORCEINLINE map(std::initializer_list<value_type> il, const Compare& comp)
- : base_t(true, il.begin(), il.end(), comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified
- //! allocator, and inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is il.first() - il.end().
- BOOST_CONTAINER_FORCEINLINE map(std::initializer_list<value_type> il, const allocator_type& a)
- : base_t(true, il.begin(), il.end(), Compare(), a)
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified comparison object and
- //! allocator, and inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is il.first() - il.end().
- BOOST_CONTAINER_FORCEINLINE map(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
- : base_t(true, il.begin(), il.end(), comp, a)
- {}
-
- //! <b>Effects</b>: Constructs an empty map 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.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE map(ordered_unique_range_t, std::initializer_list<value_type> il)
- : base_t(ordered_range, il.begin(), il.end())
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified comparison object,
- //! 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.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp)
- : base_t(ordered_range, il.begin(), il.end(), comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty 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.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate and must be
- //! unique values.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE map( ordered_unique_range_t, std::initializer_list<value_type> il
- , const Compare& comp, const allocator_type& a)
- : base_t(ordered_range, il.begin(), il.end(), comp, a)
- {}
-
-#endif
-
- //! <b>Effects</b>: Copy constructs a map.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE map(const map& x)
- : base_t(static_cast<const base_t&>(x))
- {}
-
- //! <b>Effects</b>: Move constructs a map. Constructs *this using x's resources.
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Postcondition</b>: x is emptied.
- BOOST_CONTAINER_FORCEINLINE map(BOOST_RV_REF(map) x)
- BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
- : base_t(BOOST_MOVE_BASE(base_t, x))
- {}
-
- //! <b>Effects</b>: Copy constructs a map using the specified allocator.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE map(const map& x, const allocator_type &a)
- : base_t(static_cast<const base_t&>(x), a)
- {}
-
- //! <b>Effects</b>: Move constructs a map using the specified allocator.
- //! Constructs *this using x's resources.
- //!
- //! <b>Complexity</b>: Constant if x == x.get_allocator(), linear otherwise.
- //!
- //! <b>Postcondition</b>: x is emptied.
- BOOST_CONTAINER_FORCEINLINE map(BOOST_RV_REF(map) x, const allocator_type &a)
- : base_t(BOOST_MOVE_BASE(base_t, x), a)
- {}
-
- //! <b>Effects</b>: Makes *this a copy of x.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE map& operator=(BOOST_COPY_ASSIGN_REF(map) x)
- { return static_cast<map&>(this->base_t::operator=(static_cast<const base_t&>(x))); }
-
- //! <b>Effects</b>: this->swap(x.get()).
- //!
- //! <b>Throws</b>: If allocator_traits_type::propagate_on_container_move_assignment
- //! is false and (allocation throws or value_type's move constructor throws)
- //!
- //! <b>Complexity</b>: Constant if allocator_traits_type::
- //! propagate_on_container_move_assignment is true or
- //! this->get>allocator() == x.get_allocator(). Linear otherwise.
- BOOST_CONTAINER_FORCEINLINE map& operator=(BOOST_RV_REF(map) x)
- BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
- allocator_traits_type::is_always_equal::value) &&
- boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
- { return static_cast<map&>(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Assign content of il to *this.
- //!
- BOOST_CONTAINER_FORCEINLINE map& operator=(std::initializer_list<value_type> il)
- {
- this->clear();
- insert(il.begin(), il.end());
- return *this;
- }
-#endif
-
- #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- //! <b>Effects</b>: Returns a copy of the allocator that
- //! was passed to the object's constructor.
- //!
- //! <b>Complexity</b>: Constant.
- allocator_type get_allocator() const;
-
- //! <b>Effects</b>: Returns a reference to the internal allocator.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Note</b>: Non-standard extension.
- stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns a reference to the internal allocator.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Note</b>: Non-standard extension.
- const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns an iterator to the first element contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- iterator begin() BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns an iterator to the end of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- iterator end() BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns a const_iterator to the end of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns a const_iterator to the end of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
- //! of the reversed container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns true if the container contains no elements.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- bool empty() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns the number of the elements contained in the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- size_type size() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns the largest possible size of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
- //! <b>Effects</b>: If there is no key equivalent to x in the map, inserts
- //! value_type(x, T()) into the map.
- //!
- //! <b>Returns</b>: A reference to the mapped_type corresponding to x in *this.
- //!
- //! <b>Complexity</b>: Logarithmic.
- mapped_type& operator[](const key_type &k);
-
- //! <b>Effects</b>: 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)
- //!
- //! <b>Returns</b>: A reference to the mapped_type corresponding to x in *this.
- //!
- //! <b>Complexity</b>: Logarithmic.
- mapped_type& operator[](key_type &&k);
- #elif defined(BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN)
- //in compilers like GCC 3.4, we can't catch temporaries
- BOOST_CONTAINER_FORCEINLINE mapped_type& operator[](const key_type &k) { return this->priv_subscript(k); }
- BOOST_CONTAINER_FORCEINLINE mapped_type& operator[](BOOST_RV_REF(key_type) k) { return this->priv_subscript(::boost::move(k)); }
- #else
- BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript)
- #endif
-
- //! <b>Effects</b>: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
- //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
- //! as if by insert, constructing it from value_type(k, forward<M>(obj)).
- //!
- //! No iterators or references are invalidated. If the insertion is successful, pointers and references
- //! to the element obtained while it is held in the node handle are invalidated, and pointers and
- //! references obtained to that element before it was extracted become valid.
- //!
- //! <b>Returns</b>: The bool component is true if the insertion took place and false if the assignment
- //! took place. The iterator component is pointing at the element that was inserted or updated.
- //!
- //! <b>Complexity</b>: Logarithmic in the size of the container.
- template <class M>
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> insert_or_assign(const key_type& k, BOOST_FWD_REF(M) obj)
- { return this->base_t::insert_or_assign(const_iterator(), k, ::boost::forward<M>(obj)); }
-
- //! <b>Effects</b>: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
- //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
- //! as if by insert, constructing it from value_type(k, move(obj)).
- //!
- //! No iterators or references are invalidated. If the insertion is successful, pointers and references
- //! to the element obtained while it is held in the node handle are invalidated, and pointers and
- //! references obtained to that element before it was extracted become valid.
- //!
- //! <b>Returns</b>: The bool component is true if the insertion took place and false if the assignment
- //! took place. The iterator component is pointing at the element that was inserted or updated.
- //!
- //! <b>Complexity</b>: Logarithmic in the size of the container.
- template <class M>
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> insert_or_assign(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
- { return this->base_t::insert_or_assign(const_iterator(), ::boost::move(k), ::boost::forward<M>(obj)); }
-
- //! <b>Effects</b>: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
- //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
- //! as if by insert, constructing it from value_type(k, forward<M>(obj)) and the new element
- //! to the container as close as possible to the position just before hint.
- //!
- //! No iterators or references are invalidated. If the insertion is successful, pointers and references
- //! to the element obtained while it is held in the node handle are invalidated, and pointers and
- //! references obtained to that element before it was extracted become valid.
- //!
- //! <b>Returns</b>: The bool component is true if the insertion took place and false if the assignment
- //! took place. The iterator component is pointing at the element that was inserted or updated.
- //!
- //! <b>Complexity</b>: Logarithmic in the size of the container in general, but amortized constant if
- //! the new element is inserted just before hint.
- template <class M>
- BOOST_CONTAINER_FORCEINLINE iterator insert_or_assign(const_iterator hint, const key_type& k, BOOST_FWD_REF(M) obj)
- { return this->base_t::insert_or_assign(hint, k, ::boost::forward<M>(obj)).first; }
-
- //! <b>Effects</b>: If a key equivalent to k already exists in the container, assigns forward<M>(obj)
- //! to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value
- //! as if by insert, constructing it from value_type(k, move(obj)) and the new element
- //! to the container as close as possible to the position just before hint.
- //!
- //! No iterators or references are invalidated. If the insertion is successful, pointers and references
- //! to the element obtained while it is held in the node handle are invalidated, and pointers and
- //! references obtained to that element before it was extracted become valid.
- //!
- //! <b>Returns</b>: The bool component is true if the insertion took place and false if the assignment
- //! took place. The iterator component is pointing at the element that was inserted or updated.
- //!
- //! <b>Complexity</b>: Logarithmic in the size of the container in general, but amortized constant if
- //! the new element is inserted just before hint.
- template <class M>
- BOOST_CONTAINER_FORCEINLINE iterator insert_or_assign(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
- { return this->base_t::insert_or_assign(hint, ::boost::move(k), ::boost::forward<M>(obj)).first; }
-
- //! <b>Returns</b>: 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.
- //! <b>Complexity</b>: logarithmic.
- T& at(const key_type& k)
- {
- iterator i = this->find(k);
- if(i == this->end()){
- throw_out_of_range("map::at key not found");
- }
- return i->second;
- }
-
- //! <b>Returns</b>: 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.
- //! <b>Complexity</b>: logarithmic.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD const T& at(const key_type& k) const
- {
- const_iterator i = this->find(k);
- if(i == this->end()){
- throw_out_of_range("map::at key not found");
- }
- return i->second;
- }
-
- //////////////////////////////////////////////
- //
- // modifiers
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Inserts x if and only if there is no element in the container
- //! with key equivalent to the key of x.
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only
- //! if the insertion takes place, and the iterator component of the pair
- //! points to the element with key equivalent to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> insert(const value_type& x)
- { return this->base_t::insert_unique_convertible(x); }
-
- //! <b>Effects</b>: 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.
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only
- //! if the insertion takes place, and the iterator component of the pair
- //! points to the element with key equivalent to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> insert(BOOST_RV_REF(value_type) x)
- { return this->base_t::insert_unique_convertible(boost::move(x)); }
-
- //! <b>Effects</b>: Inserts a new value_type created from the pair if and only if
- //! there is no element in the container with key equivalent to the key of x.
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only
- //! if the insertion takes place, and the iterator component of the pair
- //! points to the element with key equivalent to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template <class Pair>
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
- ( std::pair<iterator BOOST_MOVE_I bool>
- , typename dtl::enable_if_c<
- dtl::is_convertible<Pair BOOST_MOVE_I value_type>::value ||
- dtl::is_convertible<Pair BOOST_MOVE_I movable_value_type>::value
- BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> >::type)
- insert(BOOST_FWD_REF(Pair) x)
- { return this->base_t::emplace_unique(boost::forward<Pair>(x)); }
-
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, const value_type& x)
- { return this->base_t::insert_unique_hint_convertible(p, x); }
-
- //! <b>Effects</b>: Inserts a copy of x in the container if and only if there is
- //! no element in the container with key equivalent to the key of x.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
- //! is inserted right before p.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
- { return this->base_t::insert_unique_hint_convertible(p, boost::move(x)); }
-
- //! <b>Effects</b>: Inserts a copy of x in the container if and only if there is
- //! no element in the container with key equivalent to the key of x.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
- //! is inserted right before p.
- template <class Pair>
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
- ( iterator
- , typename dtl::enable_if_c<
- dtl::is_convertible<Pair BOOST_MOVE_I value_type>::value ||
- dtl::is_convertible<Pair BOOST_MOVE_I movable_value_type>::value
- BOOST_MOVE_I iterator >::type)
- insert(const_iterator p, BOOST_FWD_REF(Pair) x)
- { return this->base_t::emplace_hint_unique(p, boost::forward<Pair>(x)); }
-
-
-/*
- //! <b>Effects</b>: 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.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
- //! is inserted right before p.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(nonconst_value_type) x)
- { return this->try_emplace(p, boost::move(x.first), boost::move(x.second)); }
-
- //! <b>Effects</b>: 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.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
- //! is inserted right before p.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x)
- { return this->try_emplace(p, boost::move(x.first), boost::move(x.second)); }
-
- //! <b>Effects</b>: Inserts a copy of x in the container.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, const nonconst_value_type& x)
- { return this->try_emplace(p, x.first, x.second); }
-
-
-*/
- //! <b>Requires</b>: first, last are not iterators into *this.
- //!
- //! <b>Effects</b>: inserts each element from the range [first,last) if and only
- //! if there is no element with key equivalent to the key of that element.
- //!
- //! <b>Complexity</b>: At most N log(size()+N) (N is the distance from first to last)
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE void insert(InputIterator first, InputIterator last)
- { this->base_t::insert_unique_range(first, last); }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: 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.
- //!
- //! <b>Complexity</b>: At most N log(size()+N) (N is the distance from il.begin() to il.end())
- BOOST_CONTAINER_FORCEINLINE void insert(std::initializer_list<value_type> il)
- { this->base_t::insert_unique_range(il.begin(), il.end()); }
-#endif
-
- //! <b>Requires</b>: nh is empty or this->get_allocator() == nh.get_allocator().
- //!
- //! <b>Effects</b>: If nh is empty, has no effect. Otherwise, inserts the element owned
- //! by nh if and only if there is no element in the container with a key equivalent to nh.key().
- //!
- //! <b>Returns</b>: If nh is empty, insert_return_type.inserted is false, insert_return_type.position
- //! is end(), and insert_return_type.node is empty. Otherwise if the insertion took place,
- //! insert_return_type.inserted is true, insert_return_type.position points to the inserted element,
- //! and insert_return_type.node is empty; if the insertion failed, insert_return_type.inserted is
- //! false, insert_return_type.node has the previous value of nh, and insert_return_type.position
- //! points to an element with a key equivalent to nh.key().
- //!
- //! <b>Complexity</b>: Logarithmic
- insert_return_type insert(BOOST_RV_REF_BEG_IF_CXX11 node_type BOOST_RV_REF_END_IF_CXX11 nh)
- {
- typename base_t::node_type n(boost::move(nh));
- typename base_t::insert_return_type base_ret(this->base_t::insert_unique_node(boost::move(n)));
- return insert_return_type (base_ret.inserted, base_ret.position, boost::move(base_ret.node));
- }
-
- //! <b>Effects</b>: Same as `insert(node_type && nh)` but the element is inserted as close as possible
- //! to the position just prior to "hint".
- //!
- //! <b>Complexity</b>: logarithmic in general, but amortized constant if the element is inserted
- //! right before "hint".
- insert_return_type insert(const_iterator hint, BOOST_RV_REF_BEG_IF_CXX11 node_type BOOST_RV_REF_END_IF_CXX11 nh)
- {
- typename base_t::node_type n(boost::move(nh));
- typename base_t::insert_return_type base_ret(this->base_t::insert_unique_node(hint, boost::move(n)));
- return insert_return_type (base_ret.inserted, base_ret.position, boost::move(base_ret.node));
- }
-
- #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- //! <b>Effects</b>: Inserts an object x of type T constructed with
- //! std::forward<Args>(args)... in the container if and only if there is
- //! no element in the container with an equivalent key.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only
- //! if the insertion takes place, and the iterator component of the pair
- //! points to the element with key equivalent to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
- //! is inserted right before p.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> emplace(BOOST_FWD_REF(Args)... args)
- { return this->base_t::emplace_unique(boost::forward<Args>(args)...); }
-
- //! <b>Effects</b>: Inserts an object of type T constructed with
- //! std::forward<Args>(args)... in the container if and only if there is
- //! no element in the container with an equivalent key.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
- //! is inserted right before p.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args)
- { return this->base_t::emplace_hint_unique(p, boost::forward<Args>(args)...); }
-
- //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
- //! forward_as_tuple(k), forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
- //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(k),
- //! forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only if the
- //! insertion took place. The returned iterator points to the map element whose key is equivalent to k.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(const key_type& k, BOOST_FWD_REF(Args)... args)
- { return this->base_t::try_emplace(const_iterator(), k, boost::forward<Args>(args)...); }
-
- //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
- //! forward_as_tuple(k), forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
- //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(k),
- //! forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Returns</b>: The returned iterator points to the map element whose key is equivalent to k.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
- //! is inserted right before p.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, const key_type &k, BOOST_FWD_REF(Args)... args)
- { return this->base_t::try_emplace(hint, k, boost::forward<Args>(args)...).first; }
-
- //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
- //! forward_as_tuple(move(k)), forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
- //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(move(k)),
- //! forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Returns</b>: The bool component of the returned pair is true if and only if the
- //! insertion took place. The returned iterator points to the map element whose key is equivalent to k.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
- { return this->base_t::try_emplace(const_iterator(), boost::move(k), boost::forward<Args>(args)...); }
-
- //! <b>Requires</b>: value_type shall be EmplaceConstructible into map from piecewise_construct,
- //! forward_as_tuple(move(k)), forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Effects</b>: If the map already contains an element whose key is equivalent to k, there is no effect. Otherwise
- //! inserts an object of type value_type constructed with piecewise_construct, forward_as_tuple(move(k)),
- //! forward_as_tuple(forward<Args>(args)...).
- //!
- //! <b>Returns</b>: The returned iterator points to the map element whose key is equivalent to k.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
- //! is inserted right before p.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
- { return this->base_t::try_emplace(hint, boost::move(k), boost::forward<Args>(args)...).first; }
-
- #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- #define BOOST_CONTAINER_MAP_EMPLACE_CODE(N) \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> 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 \
- BOOST_CONTAINER_FORCEINLINE 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_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(const key_type& k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
- { return this->base_t::try_emplace(const_iterator(), k BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\
- \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, const key_type &k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
- { return this->base_t::try_emplace(hint, k BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first; }\
- \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
- { return this->base_t::try_emplace(const_iterator(), boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\
- \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
- { return this->base_t::try_emplace(hint, boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first; }\
- //
- BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_MAP_EMPLACE_CODE)
- #undef BOOST_CONTAINER_MAP_EMPLACE_CODE
-
- #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- //! <b>Effects</b>: If present, erases the element in the container with key equivalent to x.
- //!
- //! <b>Returns</b>: Returns the number of erased elements (0/1).
- //!
- //! <b>Complexity</b>: log(size()) + count(k)
- BOOST_CONTAINER_FORCEINLINE size_type erase(const key_type& x)
- { return this->base_t::erase_unique(x); }
-
- #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- //! <b>Effects</b>: Erases the element pointed to by p.
- //!
- //! <b>Returns</b>: Returns an iterator pointing to the element immediately
- //! following q prior to the element being erased. If no such element exists,
- //! returns end().
- //!
- //! <b>Complexity</b>: Amortized constant time
- iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Erases all the elements in the range [first, last).
- //!
- //! <b>Returns</b>: Returns last.
- //!
- //! <b>Complexity</b>: log(size())+N where N is the distance from first to last.
- iterator erase(const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW;
-
- #else
- using base_t::erase;
- #endif // #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- //! <b>Effects</b>: Removes the first element in the container with key equivalent to k.
- //!
- //! <b>Returns</b>: A node_type owning the element if found, otherwise an empty node_type.
- //!
- //! <b>Complexity</b>: log(size()).
- node_type extract(const key_type& k)
- {
- typename base_t::node_type base_nh(this->base_t::extract(k));
- node_type nh(boost::move(base_nh));
- return BOOST_MOVE_RET(node_type, nh);
- }
-
- //! <b>Effects</b>: Removes the element pointed to by "position".
- //!
- //! <b>Returns</b>: A node_type owning the element, otherwise an empty node_type.
- //!
- //! <b>Complexity</b>: Amortized constant.
- node_type extract(const_iterator position)
- {
- typename base_t::node_type base_nh(this->base_t::extract(position));
- node_type nh(boost::move(base_nh));
- return BOOST_MOVE_RET(node_type, nh);
- }
-
- //! <b>Requires</b>: this->get_allocator() == source.get_allocator().
- //!
- //! <b>Effects</b>: Attempts to extract each element in source and insert it into a using
- //! the comparison object of *this. If there is an element in a with key equivalent to the
- //! key of an element from source, then that element is not extracted from source.
- //!
- //! <b>Postcondition</b>: Pointers and references to the transferred elements of source refer
- //! to those same elements but as members of *this. Iterators referring to the transferred
- //! elements will continue to refer to their elements, but they now behave as iterators into *this,
- //! not into source.
- //!
- //! <b>Throws</b>: Nothing unless the comparison object throws.
- //!
- //! <b>Complexity</b>: N log(size() + N) (N has the value source.size())
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(map<Key, T, C2, Allocator, Options>& source)
- {
- typedef dtl::tree
- <value_type_impl, select_1st_t, C2, Allocator, Options> base2_t;
- this->merge_unique(static_cast<base2_t&>(source));
- }
-
- //! @copydoc ::boost::container::map::merge(map<Key, T, C2, Allocator, Options>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG map<Key, T, C2, Allocator, Options> BOOST_RV_REF_END source)
- { return this->merge(static_cast<map<Key, T, C2, Allocator, Options>&>(source)); }
-
- //! @copydoc ::boost::container::map::merge(map<Key, T, C2, Allocator, Options>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(multimap<Key, T, C2, Allocator, Options>& source)
- {
- typedef dtl::tree
- <value_type_impl, select_1st_t, C2, Allocator, Options> base2_t;
- this->base_t::merge_unique(static_cast<base2_t&>(source));
- }
-
- //! @copydoc ::boost::container::map::merge(map<Key, T, C2, Allocator, Options>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG multimap<Key, T, C2, Allocator, Options> BOOST_RV_REF_END source)
- { return this->merge(static_cast<multimap<Key, T, C2, Allocator, Options>&>(source)); }
-
- #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
- //! <b>Effects</b>: Swaps the contents of *this and x.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- void swap(map& x)
- BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
- && boost::container::dtl::is_nothrow_swappable<Compare>::value );
-
- //! <b>Effects</b>: erase(begin(),end()).
- //!
- //! <b>Postcondition</b>: size() == 0.
- //!
- //! <b>Complexity</b>: linear in size().
- void clear() BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! <b>Effects</b>: Returns the comparison object out
- //! of which a was constructed.
- //!
- //! <b>Complexity</b>: Constant.
- key_compare key_comp() const;
-
- //! <b>Effects</b>: Returns an object of value_compare constructed out
- //! of the comparison object.
- //!
- //! <b>Complexity</b>: Constant.
- value_compare value_comp() const;
-
- //! <b>Returns</b>: An iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- iterator find(const key_type& x);
-
- //! <b>Returns</b>: A const_iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- const_iterator find(const key_type& x) const;
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<typename K>
- iterator find(const K& x);
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: A const_iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<typename K>
- const_iterator find(const K& x) const;
-
- #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- //! <b>Returns</b>: The number of elements with key equivalent to x.
- //!
- //! <b>Complexity</b>: log(size())+count(k)
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type count(const key_type& x) const
- { return static_cast<size_type>(this->find(x) != this->cend()); }
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: The number of elements with key equivalent to x.
- //!
- //! <b>Complexity</b>: log(size())+count(k)
- template<typename K>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type count(const K& x) const
- { return static_cast<size_type>(this->find(x) != this->cend()); }
-
- #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- //! <b>Returns</b>: Returns true if there is an element with key
- //! equivalent to key in the container, otherwise false.
- //!
- //! <b>Complexity</b>: log(size()).
- bool contains(const key_type& x) const;
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: Returns true if there is an element with key
- //! equivalent to key in the container, otherwise false.
- //!
- //! <b>Complexity</b>: log(size()).
- template<typename K>
- bool contains(const K& x) const;
-
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- iterator lower_bound(const key_type& x);
-
- //! <b>Returns</b>: A const iterator pointing to the first element with key not
- //! less than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- const_iterator lower_bound(const key_type& x) const;
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- iterator lower_bound(const K& x);
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: A const iterator pointing to the first element with key not
- //! less than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- const_iterator lower_bound(const K& x) const;
-
- //! <b>Returns</b>: An iterator pointing to the first element with key greater
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- iterator upper_bound(const key_type& x);
-
- //! <b>Returns</b>: A const iterator pointing to the first element with key
- //! greater than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- const_iterator upper_bound(const key_type& x) const;
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to the first element with key greater
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- iterator upper_bound(const K& x);
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: A const iterator pointing to the first element with key
- //! greater than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- const_iterator upper_bound(const K& x) const;
-
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- std::pair<iterator,iterator> equal_range(const key_type& x);
-
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- std::pair<const_iterator,const_iterator> equal_range(const key_type& x) const;
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- std::pair<iterator,iterator> equal_range(const K& x);
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- std::pair<const_iterator,const_iterator> equal_range(const K& x) const;
-
- //! <b>Effects</b>: Rebalances the tree. It's a no-op for Red-Black and AVL trees.
- //!
- //! <b>Complexity</b>: Linear
- void rebalance();
-
- //! <b>Effects</b>: Returns true if x and y are equal
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator==(const map& x, const map& y);
-
- //! <b>Effects</b>: Returns true if x and y are unequal
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator!=(const map& x, const map& y);
-
- //! <b>Effects</b>: Returns true if x is less than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator<(const map& x, const map& y);
-
- //! <b>Effects</b>: Returns true if x is greater than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator>(const map& x, const map& y);
-
- //! <b>Effects</b>: Returns true if x is equal or less than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator<=(const map& x, const map& y);
-
- //! <b>Effects</b>: Returns true if x is equal or greater than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator>=(const map& x, const map& y);
-
- //! <b>Effects</b>: x.swap(y)
- //!
- //! <b>Complexity</b>: Constant.
- friend void swap(map& x, map& y)
- BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
- && boost::container::dtl::is_nothrow_swappable<Compare>::value );
-
- #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- private:
- template<class KeyConvertible>
- BOOST_CONTAINER_FORCEINLINE mapped_type& priv_subscript(BOOST_FWD_REF(KeyConvertible) k)
- {
- return this->try_emplace(boost::forward<KeyConvertible>(k)).first->second;
- }
- #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-};
-
-#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
-
-template <typename InputIterator>
-map(InputIterator, InputIterator) ->
- map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>>;
-
-template < typename InputIterator, typename AllocatorOrCompare>
- map(InputIterator, InputIterator, AllocatorOrCompare const&) ->
- map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , typename dtl::if_c< // Compare
- dtl::is_allocator<AllocatorOrCompare>::value
- , std::less<it_based_non_const_first_type_t<InputIterator>>
- , AllocatorOrCompare
- >::type
- , typename dtl::if_c< // Allocator
- dtl::is_allocator<AllocatorOrCompare>::value
- , AllocatorOrCompare
- , new_allocator<std::pair<it_based_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
- >::type
- >;
-
-template < typename InputIterator, typename Compare, typename Allocator
- , typename = dtl::require_nonallocator_t<Compare>
- , typename = dtl::require_allocator_t<Allocator>>
-map(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , Compare
- , Allocator>;
-
-template <typename InputIterator>
-map(ordered_unique_range_t, InputIterator, InputIterator) ->
- map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>>;
-
-template < typename InputIterator, typename AllocatorOrCompare>
-map(ordered_unique_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
- map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , typename dtl::if_c< // Compare
- dtl::is_allocator<AllocatorOrCompare>::value
- , std::less<it_based_non_const_first_type_t<InputIterator>>
- , AllocatorOrCompare
- >::type
- , typename dtl::if_c< // Allocator
- dtl::is_allocator<AllocatorOrCompare>::value
- , AllocatorOrCompare
- , new_allocator<std::pair<it_based_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
- >::type
- >;
-
-template < typename InputIterator, typename Compare, typename Allocator
- , typename = dtl::require_nonallocator_t<Compare>
- , typename = dtl::require_allocator_t<Allocator>>
-map(ordered_unique_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- map< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , Compare
- , Allocator>;
-
-#endif
-
-
-#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-} //namespace container {
-
-//!has_trivial_destructor_after_move<> == true_type
-//!specialization for optimizations
-template <class Key, class T, class Compare, class Allocator, class Options>
-struct has_trivial_destructor_after_move<boost::container::map<Key, T, Compare, Allocator, Options> >
-{
- typedef ::boost::container::dtl::tree<std::pair<const Key, T>, int, Compare, Allocator, Options> tree;
- static const bool value = ::boost::has_trivial_destructor_after_move<tree>::value;
-};
-
-namespace container {
-
-#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-//! A multimap is a kind of associative container that supports equivalent keys
-//! (possibly containing multiple copies of the same key value) and provides for
-//! fast retrieval of values of another type T based on the keys. The multimap class
-//! supports bidirectional iterators.
-//!
-//! A multimap satisfies all of the requirements of a container and of a reversible
-//! container and of an associative container. The <code>value_type</code> stored
-//! by this container is the value_type is std::pair<const Key, T>.
-//!
-//! \tparam Key is the key_type of the map
-//! \tparam Value is the <code>mapped_type</code>
-//! \tparam Compare is the ordering function for Keys (e.g. <i>std::less<Key></i>).
-//! \tparam Allocator is the allocator to allocate the <code>value_type</code>s
-//! (e.g. <i>allocator< std::pair<const Key, T> > </i>).
-//! \tparam Options is an packed option type generated using using boost::container::tree_assoc_options.
-template < class Key, class T, class Compare = std::less<Key>
- , class Allocator = new_allocator< std::pair< const Key, T> >, class Options = tree_assoc_defaults>
-#else
-template <class Key, class T, class Compare, class Allocator, class Options>
-#endif
-class multimap
- ///@cond
- : public dtl::tree
- < std::pair<const Key, T>
- , int
- , Compare, Allocator, Options>
- ///@endcond
-{
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- private:
- BOOST_COPYABLE_AND_MOVABLE(multimap)
-
- typedef int select_1st_t;
- typedef std::pair<const Key, T> value_type_impl;
- typedef dtl::tree
- <value_type_impl, select_1st_t, Compare, Allocator, Options> base_t;
- typedef dtl::pair <Key, T> movable_value_type_impl;
- typedef typename base_t::value_compare value_compare_impl;
- #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
- public:
- //////////////////////////////////////////////
- //
- // types
- //
- //////////////////////////////////////////////
-
- typedef Key key_type;
- typedef T mapped_type;
- typedef typename base_t::allocator_type allocator_type;
- typedef ::boost::container::allocator_traits<allocator_type> allocator_traits_type;
- typedef typename boost::container::allocator_traits<allocator_type>::value_type value_type;
- typedef typename boost::container::allocator_traits<allocator_type>::pointer pointer;
- typedef typename boost::container::allocator_traits<allocator_type>::const_pointer const_pointer;
- typedef typename boost::container::allocator_traits<allocator_type>::reference reference;
- typedef typename boost::container::allocator_traits<allocator_type>::const_reference const_reference;
- typedef typename boost::container::allocator_traits<allocator_type>::size_type size_type;
- typedef typename boost::container::allocator_traits<allocator_type>::difference_type difference_type;
- typedef typename BOOST_CONTAINER_IMPDEF(base_t::stored_allocator_type) stored_allocator_type;
- typedef BOOST_CONTAINER_IMPDEF(value_compare_impl) value_compare;
- typedef Compare key_compare;
- typedef typename BOOST_CONTAINER_IMPDEF(base_t::iterator) iterator;
- typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_iterator) const_iterator;
- typedef typename BOOST_CONTAINER_IMPDEF(base_t::reverse_iterator) reverse_iterator;
- typedef typename BOOST_CONTAINER_IMPDEF(base_t::const_reverse_iterator) const_reverse_iterator;
- //typedef std::pair<key_type, mapped_type> nonconst_value_type;
- typedef BOOST_CONTAINER_IMPDEF(movable_value_type_impl) movable_value_type;
- typedef BOOST_CONTAINER_IMPDEF(node_handle<
- typename base_t::stored_allocator_type
- BOOST_MOVE_I pair_key_mapped_of_value
- <key_type BOOST_MOVE_I mapped_type> >) node_type;
-
- //allocator_type::value_type type must be std::pair<CONST Key, T>
- BOOST_STATIC_ASSERT((dtl::is_same<typename allocator_type::value_type, std::pair<const Key, T> >::value));
-
- //////////////////////////////////////////////
- //
- // construct/copy/destroy
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Default constructs an empty multimap.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE multimap()
- BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value &&
- dtl::is_nothrow_default_constructible<Compare>::value)
- : base_t()
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap using the specified allocator
- //! object and allocator.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE explicit multimap(const allocator_type& a)
- : base_t(a)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap using the specified comparison.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE explicit multimap(const Compare& comp)
- : base_t(comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap using the specified comparison and allocator.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE multimap(const Compare& comp, const allocator_type& a)
- : base_t(comp, a)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap and
- //! inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE multimap(InputIterator first, InputIterator last)
- : base_t(false, first, last)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap using the specified
- //! allocator, and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE multimap(InputIterator first, InputIterator last, const allocator_type& a)
- : base_t(false, first, last, Compare(), a)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap using the specified comparison object and
- //! inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE multimap(InputIterator first, InputIterator last, const Compare& comp)
- : base_t(false, first, last, comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap using the specified comparison object
- //! and allocator, and inserts elements from the range [first ,last ).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is last - first.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE multimap(InputIterator first, InputIterator last,
- const Compare& comp, const allocator_type& a)
- : base_t(false, first, last, comp, a)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap and
- //! inserts elements from the ordered range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, InputIterator first, InputIterator last)
- : base_t(ordered_range, first, last)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap using the specified comparison object and
- //! inserts elements from the ordered range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp)
- : base_t(ordered_range, first, last, comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap 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.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp,
- const allocator_type& a)
- : base_t(ordered_range, first, last, comp, a)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap using the specified allocator and
- //! inserts elements from the ordered range [first ,last). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [first ,last) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, InputIterator first, InputIterator last, const allocator_type& a)
- : base_t(ordered_range, first, last, Compare(), a)
- {}
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Constructs an empty multimap and
- //! and inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is il.first() - il.end().
- BOOST_CONTAINER_FORCEINLINE multimap(std::initializer_list<value_type> il)
- : base_t(false, il.begin(), il.end())
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap using the specified
- //! allocator, and inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is il.first() - il.end().
- BOOST_CONTAINER_FORCEINLINE multimap(std::initializer_list<value_type> il, const allocator_type& a)
- : base_t(false, il.begin(), il.end(), Compare(), a)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap using the specified comparison object and
- //! inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is il.first() - il.end().
- BOOST_CONTAINER_FORCEINLINE multimap(std::initializer_list<value_type> il, const Compare& comp)
- : base_t(false, il.begin(), il.end(), comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty multimap using the specified comparison object and
- //! allocator, and inserts elements from the range [il.begin(), il.end()).
- //!
- //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
- //! the predicate and otherwise N logN, where N is il.first() - il.end().
- BOOST_CONTAINER_FORCEINLINE multimap(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
- : base_t(false, il.begin(), il.end(), comp, a)
- {}
-
-
- //! <b>Effects</b>: Constructs an empty map and
- //! inserts elements from the ordered range [il.begin(), il.end()). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, std::initializer_list<value_type> il)
- : base_t(ordered_range, il.begin(), il.end())
- {}
-
- //! <b>Effects</b>: Constructs an empty map using the specified comparison object and
- //! inserts elements from the ordered range [il.begin(), il.end()). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp)
- : base_t(ordered_range, il.begin(), il.end(), comp)
- {}
-
- //! <b>Effects</b>: Constructs an empty map and
- //! inserts elements from the ordered range [il.begin(), il.end()). This function
- //! is more efficient than the normal range creation for ordered ranges.
- //!
- //! <b>Requires</b>: [il.begin(), il.end()) must be ordered according to the predicate.
- //!
- //! <b>Complexity</b>: Linear in N.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_FORCEINLINE multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
- : base_t(ordered_range, il.begin(), il.end(), comp, a)
- {}
-
-#endif
-
- //! <b>Effects</b>: Copy constructs a multimap.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE multimap(const multimap& x)
- : base_t(static_cast<const base_t&>(x))
- {}
-
- //! <b>Effects</b>: Move constructs a multimap. Constructs *this using x's resources.
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Postcondition</b>: x is emptied.
- BOOST_CONTAINER_FORCEINLINE multimap(BOOST_RV_REF(multimap) x)
- BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
- : base_t(BOOST_MOVE_BASE(base_t, x))
- {}
-
- //! <b>Effects</b>: Copy constructs a multimap.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE multimap(const multimap& x, const allocator_type &a)
- : base_t(static_cast<const base_t&>(x), a)
- {}
-
- //! <b>Effects</b>: Move constructs a multimap using the specified allocator.
- //! Constructs *this using x's resources.
- //! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
- //!
- //! <b>Postcondition</b>: x is emptied.
- BOOST_CONTAINER_FORCEINLINE multimap(BOOST_RV_REF(multimap) x, const allocator_type &a)
- : base_t(BOOST_MOVE_BASE(base_t, x), a)
- {}
-
- //! <b>Effects</b>: Makes *this a copy of x.
- //!
- //! <b>Complexity</b>: Linear in x.size().
- BOOST_CONTAINER_FORCEINLINE multimap& operator=(BOOST_COPY_ASSIGN_REF(multimap) x)
- { return static_cast<multimap&>(this->base_t::operator=(static_cast<const base_t&>(x))); }
-
- //! <b>Effects</b>: this->swap(x.get()).
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_FORCEINLINE multimap& operator=(BOOST_RV_REF(multimap) x)
- BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
- allocator_traits_type::is_always_equal::value) &&
- boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
- { return static_cast<multimap&>(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Assign content of il to *this.
- //!
- BOOST_CONTAINER_FORCEINLINE multimap& operator=(std::initializer_list<value_type> il)
- {
- this->clear();
- insert(il.begin(), il.end());
- return *this;
- }
-#endif
-
- #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- //! @copydoc ::boost::container::set::get_allocator()
- allocator_type get_allocator() const;
-
- //! @copydoc ::boost::container::set::get_stored_allocator()
- stored_allocator_type &get_stored_allocator();
-
- //! @copydoc ::boost::container::set::get_stored_allocator() const
- const stored_allocator_type &get_stored_allocator() const;
-
- //! @copydoc ::boost::container::set::begin()
- iterator begin();
-
- //! @copydoc ::boost::container::set::begin() const
- const_iterator begin() const;
-
- //! @copydoc ::boost::container::set::cbegin() const
- const_iterator cbegin() const;
-
- //! @copydoc ::boost::container::set::end()
- iterator end() BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! @copydoc ::boost::container::set::end() const
- const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! @copydoc ::boost::container::set::cend() const
- const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! @copydoc ::boost::container::set::rbegin()
- reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! @copydoc ::boost::container::set::rbegin() const
- const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! @copydoc ::boost::container::set::crbegin() const
- const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! @copydoc ::boost::container::set::rend()
- reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! @copydoc ::boost::container::set::rend() const
- const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! @copydoc ::boost::container::set::crend() const
- const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! @copydoc ::boost::container::set::empty() const
- bool empty() const;
-
- //! @copydoc ::boost::container::set::size() const
- size_type size() const;
-
- //! @copydoc ::boost::container::set::max_size() const
- size_type max_size() const;
-
- #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- //! <b>Effects</b>: Inserts an object of type T constructed with
- //! std::forward<Args>(args)... in the container.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
- //! is inserted right before p.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE iterator emplace(BOOST_FWD_REF(Args)... args)
- { return this->base_t::emplace_equal(boost::forward<Args>(args)...); }
-
- //! <b>Effects</b>: Inserts an object of type T constructed with
- //! std::forward<Args>(args)... in the container.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
- //! is inserted right before p.
- template <class... Args>
- BOOST_CONTAINER_FORCEINLINE iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args)
- { return this->base_t::emplace_hint_equal(p, boost::forward<Args>(args)...); }
-
- #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- #define BOOST_CONTAINER_MULTIMAP_EMPLACE_CODE(N) \
- BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
- BOOST_CONTAINER_FORCEINLINE 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 \
- BOOST_CONTAINER_FORCEINLINE 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 // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
-
- //! <b>Effects</b>: Inserts x and returns the iterator pointing to the
- //! newly inserted element.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const value_type& x)
- { return this->base_t::insert_equal_convertible(x); }
-
- //! <b>Effects</b>: Inserts a new value move-constructed from x and returns
- //! the iterator pointing to the newly inserted element.
- //!
- //! <b>Complexity</b>: Logarithmic.
- BOOST_CONTAINER_FORCEINLINE iterator insert(BOOST_RV_REF(value_type) x)
- { return this->base_t::insert_equal_convertible(boost::move(x)); }
-
- //! <b>Effects</b>: Inserts a new value constructed from x and returns
- //! the iterator pointing to the newly inserted element.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<class Pair>
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
- ( iterator
- , typename dtl::enable_if_c<
- dtl::is_convertible<Pair BOOST_MOVE_I value_type>::value ||
- dtl::is_convertible<Pair BOOST_MOVE_I movable_value_type>::value
- BOOST_MOVE_I iterator >::type)
- insert(BOOST_FWD_REF(Pair) x)
- { return this->base_t::emplace_equal(boost::forward<Pair>(x)); }
-
- //! <b>Effects</b>: Inserts a copy of x in the container.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
- //! is inserted right before p.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, const value_type& x)
- { return this->base_t::insert_equal_hint_convertible(p, x); }
-
- //! <b>Effects</b>: Inserts a new value move constructed from x in the container.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
- //! is inserted right before p.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x)
- { return this->base_t::insert_equal_hint_convertible(p, boost::move(x)); }
-
- //! <b>Effects</b>: Inserts a new value constructed from x in the container.
- //! p is a hint pointing to where the insert should start to search.
- //!
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
- //! to the key of x.
- //!
- //! <b>Complexity</b>: Logarithmic in general, but amortized constant if t
- //! is inserted right before p.
- template<class Pair>
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
- ( iterator
- , typename dtl::enable_if_c<
- dtl::is_convertible<Pair BOOST_MOVE_I value_type>::value ||
- dtl::is_convertible<Pair BOOST_MOVE_I movable_value_type>::value
- BOOST_MOVE_I iterator>::type)
- insert(const_iterator p, BOOST_FWD_REF(Pair) x)
- { return this->base_t::emplace_hint_equal(p, boost::forward<Pair>(x)); }
-
- //! <b>Requires</b>: first, last are not iterators into *this.
- //!
- //! <b>Effects</b>: inserts each element from the range [first,last) .
- //!
- //! <b>Complexity</b>: At most N log(size()+N) (N is the distance from first to last)
- template <class InputIterator>
- BOOST_CONTAINER_FORCEINLINE void insert(InputIterator first, InputIterator last)
- { this->base_t::insert_equal_range(first, last); }
-
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: inserts each element from the range [il.begin(), il.end().
- //!
- //! <b>Complexity</b>: At most N log(size()+N) (N is the distance from il.begin() to il.end())
- BOOST_CONTAINER_FORCEINLINE void insert(std::initializer_list<value_type> il)
- { this->base_t::insert_equal_range(il.begin(), il.end()); }
-#endif
-
- //! <b>Requires</b>: nh is empty or this->get_allocator() == nh.get_allocator().
- //!
- //! <b>Effects/Returns</b>: If nh is empty, has no effect and returns end(). Otherwise, inserts
- //! the element owned by nh and returns an iterator pointing to the newly inserted element.
- //! If a range containing elements with keys equivalent to nh.key() exists,
- //! the element is inserted at the end of that range. nh is always emptied.
- //!
- //! <b>Complexity</b>: Logarithmic
- iterator insert(BOOST_RV_REF_BEG_IF_CXX11 node_type BOOST_RV_REF_END_IF_CXX11 nh)
- {
- typename base_t::node_type n(boost::move(nh));
- return this->base_t::insert_equal_node(boost::move(n));
- }
-
- //! <b>Effects</b>: Same as `insert(node_type && nh)` but the element is inserted as close as possible
- //! to the position just prior to "hint".
- //!
- //! <b>Complexity</b>: logarithmic in general, but amortized constant if the element is inserted
- //! right before "hint".
- iterator insert(const_iterator hint, BOOST_RV_REF_BEG_IF_CXX11 node_type BOOST_RV_REF_END_IF_CXX11 nh)
- {
- typename base_t::node_type n(boost::move(nh));
- return this->base_t::insert_equal_node(hint, boost::move(n));
- }
-
- #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-
- //! @copydoc ::boost::container::set::erase(const_iterator)
- iterator erase(const_iterator p);
-
- //! @copydoc ::boost::container::set::erase(const key_type&)
- size_type erase(const key_type& x);
-
- //! @copydoc ::boost::container::set::erase(const_iterator,const_iterator)
- iterator erase(const_iterator first, const_iterator last);
- #endif
-
- //! @copydoc ::boost::container::map::extract(const key_type&)
- node_type extract(const key_type& k)
- {
- typename base_t::node_type base_nh(this->base_t::extract(k));
- return node_type(boost::move(base_nh));
- }
-
- //! @copydoc ::boost::container::map::extract(const_iterator)
- node_type extract(const_iterator position)
- {
- typename base_t::node_type base_nh(this->base_t::extract(position));
- return node_type (boost::move(base_nh));
- }
-
- //! <b>Requires</b>: this->get_allocator() == source.get_allocator().
- //!
- //! <b>Effects</b>: Extracts each element in source and insert it into a using
- //! the comparison object of *this.
- //!
- //! <b>Postcondition</b>: Pointers and references to the transferred elements of source refer
- //! to those same elements but as members of *this. Iterators referring to the transferred
- //! elements will continue to refer to their elements, but they now behave as iterators into *this,
- //! not into source.
- //!
- //! <b>Throws</b>: Nothing unless the comparison object throws.
- //!
- //! <b>Complexity</b>: N log(size() + N) (N has the value source.size())
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(multimap<Key, T, C2, Allocator, Options>& source)
- {
- typedef dtl::tree
- <value_type_impl, select_1st_t, C2, Allocator, Options> base2_t;
- this->base_t::merge_equal(static_cast<base2_t&>(source));
- }
-
- //! @copydoc ::boost::container::multimap::merge(multimap<Key, T, C2, Allocator, Options>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG multimap<Key, T, C2, Allocator, Options> BOOST_RV_REF_END source)
- { return this->merge(static_cast<multimap<Key, T, C2, Allocator, Options>&>(source)); }
-
- //! @copydoc ::boost::container::multimap::merge(multimap<Key, T, C2, Allocator, Options>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(map<Key, T, C2, Allocator, Options>& source)
- {
- typedef dtl::tree
- <value_type_impl, select_1st_t, C2, Allocator, Options> base2_t;
- this->base_t::merge_equal(static_cast<base2_t&>(source));
- }
-
- //! @copydoc ::boost::container::multimap::merge(multimap<Key, T, C2, Allocator, Options>&)
- template<class C2>
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG map<Key, T, C2, Allocator, Options> BOOST_RV_REF_END source)
- { return this->merge(static_cast<map<Key, T, C2, Allocator, Options>&>(source)); }
-
- #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
- //! @copydoc ::boost::container::set::swap
- void swap(multiset& x)
- BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
- && boost::container::dtl::is_nothrow_swappable<Compare>::value );
-
- //! @copydoc ::boost::container::set::clear
- void clear() BOOST_NOEXCEPT_OR_NOTHROW;
-
- //! @copydoc ::boost::container::set::key_comp
- key_compare key_comp() const;
-
- //! @copydoc ::boost::container::set::value_comp
- value_compare value_comp() const;
-
- //! <b>Returns</b>: An iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- iterator find(const key_type& x);
-
- //! <b>Returns</b>: A const iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- const_iterator find(const key_type& x) const;
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<typename K>
- iterator find(const K& x);
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: A const_iterator pointing to an element with the key
- //! equivalent to x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic.
- template<typename K>
- const_iterator find(const K& x) const;
-
- //! <b>Returns</b>: The number of elements with key equivalent to x.
- //!
- //! <b>Complexity</b>: log(size())+count(k)
- size_type count(const key_type& x) const;
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: The number of elements with key equivalent to x.
- //!
- //! <b>Complexity</b>: log(size())+count(k)
- template<typename K>
- size_type count(const K& x) const;
-
- //! <b>Returns</b>: Returns true if there is an element with key
- //! equivalent to key in the container, otherwise false.
- //!
- //! <b>Complexity</b>: log(size()).
- bool contains(const key_type& x) const;
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: Returns true if there is an element with key
- //! equivalent to key in the container, otherwise false.
- //!
- //! <b>Complexity</b>: log(size()).
- template<typename K>
- bool contains(const K& x) const;
-
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- iterator lower_bound(const key_type& x);
-
- //! <b>Returns</b>: A const iterator pointing to the first element with key not
- //! less than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- const_iterator lower_bound(const key_type& x) const;
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to the first element with key not less
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- iterator lower_bound(const K& x);
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: A const iterator pointing to the first element with key not
- //! less than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- const_iterator lower_bound(const K& x) const;
-
- //! <b>Returns</b>: An iterator pointing to the first element with key greater
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- iterator upper_bound(const key_type& x);
-
- //! <b>Returns</b>: A const iterator pointing to the first element with key
- //! greater than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- const_iterator upper_bound(const key_type& x) const;
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: An iterator pointing to the first element with key greater
- //! than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- iterator upper_bound(const K& x);
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Returns</b>: A const iterator pointing to the first element with key
- //! greater than x, or end() if such an element is not found.
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- const_iterator upper_bound(const K& x) const;
-
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- std::pair<iterator,iterator> equal_range(const key_type& x);
-
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- std::pair<const_iterator,const_iterator> equal_range(const key_type& x) const;
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- std::pair<iterator,iterator> equal_range(const K& x);
-
- //! <b>Requires</b>: This overload is available only if
- //! key_compare::is_transparent exists.
- //!
- //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
- //!
- //! <b>Complexity</b>: Logarithmic
- template<typename K>
- std::pair<const_iterator,const_iterator> equal_range(const K& x) const;
-
- //! <b>Effects</b>: Rebalances the tree. It's a no-op for Red-Black and AVL trees.
- //!
- //! <b>Complexity</b>: Linear
- void rebalance();
-
- //! <b>Effects</b>: Returns true if x and y are equal
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator==(const multimap& x, const multimap& y);
-
- //! <b>Effects</b>: Returns true if x and y are unequal
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator!=(const multimap& x, const multimap& y);
-
- //! <b>Effects</b>: Returns true if x is less than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator<(const multimap& x, const multimap& y);
-
- //! <b>Effects</b>: Returns true if x is greater than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator>(const multimap& x, const multimap& y);
-
- //! <b>Effects</b>: Returns true if x is equal or less than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator<=(const multimap& x, const multimap& y);
-
- //! <b>Effects</b>: Returns true if x is equal or greater than y
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the container.
- friend bool operator>=(const multimap& x, const multimap& y);
-
- //! <b>Effects</b>: x.swap(y)
- //!
- //! <b>Complexity</b>: Constant.
- friend void swap(multimap& x, multimap& y)
- BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
- && boost::container::dtl::is_nothrow_swappable<Compare>::value );
-
- #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
-};
-
-#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
-
-template <typename InputIterator>
-multimap(InputIterator, InputIterator) ->
- multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>>;
-
-template < typename InputIterator, typename AllocatorOrCompare>
-multimap(InputIterator, InputIterator, AllocatorOrCompare const&) ->
- multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , typename dtl::if_c< // Compare
- dtl::is_allocator<AllocatorOrCompare>::value
- , std::less<it_based_non_const_first_type_t<InputIterator>>
- , AllocatorOrCompare
- >::type
- , typename dtl::if_c< // Allocator
- dtl::is_allocator<AllocatorOrCompare>::value
- , AllocatorOrCompare
- , new_allocator<std::pair<it_based_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
- >::type
- >;
-
-template < typename InputIterator, typename Compare, typename Allocator
- , typename = dtl::require_nonallocator_t<Compare>
- , typename = dtl::require_allocator_t<Allocator>>
-multimap(InputIterator, InputIterator, Compare const&, Allocator const&) ->
- multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , Compare
- , Allocator>;
-
-template <typename InputIterator>
-multimap(ordered_range_t, InputIterator, InputIterator) ->
- multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>>;
-
-template < typename InputIterator, typename AllocatorOrCompare>
-multimap(ordered_range_t, InputIterator, InputIterator, AllocatorOrCompare const&) ->
- multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , typename dtl::if_c< // Compare
- dtl::is_allocator<AllocatorOrCompare>::value
- , std::less<it_based_const_first_type_t<InputIterator>>
- , AllocatorOrCompare
- >::type
- , typename dtl::if_c< // Allocator
- dtl::is_allocator<AllocatorOrCompare>::value
- , AllocatorOrCompare
- , new_allocator<std::pair<it_based_const_first_type_t<InputIterator>, it_based_second_type_t<InputIterator>>>
- >::type
- >;
-
-template < typename InputIterator, typename Compare, typename Allocator
- , typename = dtl::require_nonallocator_t<Compare>
- , typename = dtl::require_allocator_t<Allocator>>
-multimap(ordered_range_t, InputIterator, InputIterator, Compare const&, Allocator const&) ->
- multimap< it_based_non_const_first_type_t<InputIterator>
- , it_based_second_type_t<InputIterator>
- , Compare
- , Allocator>;
-#endif
-
-#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-} //namespace container {
-
-//!has_trivial_destructor_after_move<> == true_type
-//!specialization for optimizations
-template <class Key, class T, class Compare, class Allocator, class Options>
-struct has_trivial_destructor_after_move<boost::container::multimap<Key, T, Compare, Allocator, Options> >
-{
- typedef ::boost::container::dtl::tree<std::pair<const Key, T>, int, Compare, Allocator, Options> tree;
- static const bool value = ::boost::has_trivial_destructor_after_move<tree>::value;
-};
-
-namespace container {
-
-#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-}}
-
-#include <boost/container/detail/config_end.hpp>
-
-#endif // BOOST_CONTAINER_MAP_HPP
-
diff --git a/contrib/restricted/boost/container/include/boost/container/string.hpp b/contrib/restricted/boost/container/include/boost/container/string.hpp
deleted file mode 100644
index fbe0986d67..0000000000
--- a/contrib/restricted/boost/container/include/boost/container/string.hpp
+++ /dev/null
@@ -1,3604 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (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 http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/container for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_CONTAINER_STRING_HPP
-#define BOOST_CONTAINER_STRING_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/container/detail/config_begin.hpp>
-#include <boost/container/detail/workaround.hpp>
-#include <boost/container/container_fwd.hpp>
-// container
-#include <boost/container/allocator_traits.hpp>
-#include <boost/container/new_allocator.hpp> //new_allocator
-#include <boost/container/throw_exception.hpp>
-// container/detail
-#include <boost/container/detail/alloc_helpers.hpp>
-#include <boost/container/detail/allocator_version_traits.hpp>
-#include <boost/container/detail/allocation_type.hpp>
-#include <boost/container/detail/iterator.hpp>
-#include <boost/container/detail/iterators.hpp>
-#include <boost/container/detail/min_max.hpp>
-#include <boost/container/detail/mpl.hpp>
-#include <boost/container/detail/next_capacity.hpp>
-#include <boost/move/detail/to_raw_pointer.hpp>
-#include <boost/container/detail/version_type.hpp>
-#include <boost/container/detail/type_traits.hpp>
-#include <boost/container/detail/algorithm.hpp>
-#include <boost/container/detail/minimal_char_traits_header.hpp> // for char_traits
-//intrusive
-#include <boost/intrusive/pointer_traits.hpp>
-#include <boost/intrusive/detail/hash_combine.hpp>
-#include <boost/move/detail/force_ptr.hpp>
-//move
-#include <boost/move/utility_core.hpp>
-#include <boost/move/adl_move_swap.hpp>
-#include <boost/move/traits.hpp>
-
-#include <boost/static_assert.hpp>
-#include <boost/core/no_exceptions_support.hpp>
-
-#include <iosfwd>
-#include <istream> //
-#include <ostream>
-#include <ios>
-#include <locale>
-#include <cstddef>
-#include <climits>
-
-//std
-#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
-#include <initializer_list> //for std::initializer_list
-#endif
-
-
-namespace boost {
-namespace container {
-
-#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-namespace dtl {
-// ------------------------------------------------------------
-// Class basic_string_base.
-
-// basic_string_base is a helper class that makes it it easier to write
-// an exception-safe version of basic_string. The constructor allocates,
-// but does not initialize, a block of memory. The destructor
-// deallocates, but does not destroy elements within, a block of
-// memory. The destructor assumes that the memory either is the internal buffer,
-// or else points to a block of memory that was allocated using string_base's
-// allocator and whose size is this->m_storage.
-template <class Allocator>
-class basic_string_base
-{
- basic_string_base & operator=(const basic_string_base &);
- basic_string_base(const basic_string_base &);
-
- typedef Allocator allocator_type;
- public:
- typedef allocator_traits<allocator_type> allocator_traits_type;
- typedef allocator_type stored_allocator_type;
- typedef typename allocator_traits_type::pointer pointer;
- typedef typename allocator_traits_type::value_type value_type;
- typedef typename allocator_traits_type::size_type size_type;
- typedef typename allocator_traits_type::difference_type difference_type;
-
- typedef ::boost::intrusive::pointer_traits<pointer> pointer_traits;
-
- BOOST_CONTAINER_FORCEINLINE basic_string_base()
- : members_()
- {}
-
- BOOST_CONTAINER_FORCEINLINE explicit basic_string_base(const allocator_type& a)
- : members_(a)
- {}
-
- BOOST_CONTAINER_FORCEINLINE explicit basic_string_base(BOOST_RV_REF(allocator_type) a)
- : members_(boost::move(a))
- {}
-
- BOOST_CONTAINER_FORCEINLINE basic_string_base(const allocator_type& a, size_type n)
- : members_(a)
- {
- this->allocate_initial_block(n);
- }
-
- BOOST_CONTAINER_FORCEINLINE explicit basic_string_base(size_type n)
- : members_()
- {
- this->allocate_initial_block(n);
- }
-
- BOOST_CONTAINER_FORCEINLINE ~basic_string_base()
- {
- if(!this->is_short()){
- this->deallocate(this->priv_long_addr(), this->priv_long_storage());
- }
- }
-
- private:
-
- //This is the structure controlling a long string
- struct long_t
- {
- size_type is_short : 1;
- size_type length : (sizeof(size_type)*CHAR_BIT - 1);
- size_type storage;
- pointer start;
-
- BOOST_CONTAINER_FORCEINLINE long_t()
- : is_short(0)
- {}
-
- BOOST_CONTAINER_FORCEINLINE long_t(size_type len, size_type stor, pointer ptr)
- : is_short(0), length(len), storage(stor), start(ptr)
- {}
-
- BOOST_CONTAINER_FORCEINLINE long_t(const long_t &other)
- {
- this->is_short = false;
- length = other.length;
- storage = other.storage;
- start = other.start;
- }
-
- BOOST_CONTAINER_FORCEINLINE long_t &operator= (const long_t &other)
- {
- length = other.length;
- storage = other.storage;
- start = other.start;
- return *this;
- }
- };
-
- //This type is the first part of the structure controlling a short string
- //The "data" member stores
- struct short_header
- {
- unsigned char is_short : 1;
- unsigned char length : (CHAR_BIT - 1);
- };
-
- //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 dtl::aligned_storage
- <sizeof(long_t), dtl::alignment_of<long_t>::value>::type long_raw_t;
-
- protected:
- static const size_type MinInternalBufferChars = 8;
- static const size_type AlignmentOfValueType =
- alignment_of<value_type>::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 =
- (ZeroCostInternalBufferChars > MinInternalBufferChars) ?
- ZeroCostInternalBufferChars : MinInternalBufferChars;
-
- struct short_t
- {
- short_header h;
- value_type data[UnalignedFinalInternalBufferChars];
- };
-
- union repr_t_size_t
- {
- long_raw_t r;
- short_t s;
- };
-
- union repr_t
- {
- long_raw_t r_aligner;
- short_t s_aligner;
- unsigned char data[sizeof(repr_t_size_t)];
- };
-
- struct members_holder
- : public allocator_type
- {
- BOOST_CONTAINER_FORCEINLINE void init()
- {
- short_t &s = *::new(this->m_repr.data) short_t;
- s.h.is_short = 1;
- s.h.length = 0;
- }
-
- BOOST_CONTAINER_FORCEINLINE members_holder()
- : allocator_type()
- { this->init(); }
-
- template<class AllocatorConvertible>
- BOOST_CONTAINER_FORCEINLINE explicit members_holder(BOOST_FWD_REF(AllocatorConvertible) a)
- : allocator_type(boost::forward<AllocatorConvertible>(a))
- { this->init(); }
-
- BOOST_CONTAINER_FORCEINLINE const short_t *pshort_repr() const
- { return move_detail::force_ptr<const short_t*>(m_repr.data); }
-
- BOOST_CONTAINER_FORCEINLINE const long_t *plong_repr() const
- { return move_detail::force_ptr<const long_t*>(m_repr.data); }
-
- BOOST_CONTAINER_FORCEINLINE short_t *pshort_repr()
- { return move_detail::force_ptr<short_t*>(m_repr.data); }
-
- BOOST_CONTAINER_FORCEINLINE long_t *plong_repr()
- { return move_detail::force_ptr<long_t*>(m_repr.data); }
-
- repr_t m_repr;
- } members_;
-
- BOOST_CONTAINER_FORCEINLINE const allocator_type &alloc() const
- { return members_; }
-
- BOOST_CONTAINER_FORCEINLINE allocator_type &alloc()
- { return members_; }
-
- static const size_type InternalBufferChars = (sizeof(repr_t) - ShortDataOffset)/sizeof(value_type);
-
- private:
-
- static const size_type MinAllocation = InternalBufferChars*2;
-
- protected:
- BOOST_CONTAINER_FORCEINLINE bool is_short() const
- {
- //Access and copy (to avoid UB) the first byte of the union to know if the
- //active representation is short or long
- short_header hdr;
- BOOST_STATIC_ASSERT((sizeof(short_header) == 1));
- *(unsigned char*)&hdr = *(unsigned char*)&this->members_.m_repr;
- return hdr.is_short != 0;
- }
-
- BOOST_CONTAINER_FORCEINLINE short_t *construct_short()
- {
- short_t *ps = ::new(this->members_.m_repr.data) short_t;
- ps->h.is_short = 1;
- return ps;
- }
-
- BOOST_CONTAINER_FORCEINLINE void destroy_short()
- {
- BOOST_ASSERT(this->is_short());
- this->members_.pshort_repr()->~short_t();
- }
-
- short_t *assure_short()
- {
- if (!this->is_short()){
- this->destroy_long();
- return construct_short();
- }
- return this->members_.pshort_repr();
- }
-
- BOOST_CONTAINER_FORCEINLINE long_t *construct_long()
- {
- long_t *pl = ::new(this->members_.m_repr.data) long_t;
- //is_short flag is written in the constructor
- return pl;
- }
-
- BOOST_CONTAINER_FORCEINLINE void destroy_long()
- {
- BOOST_ASSERT(!this->is_short());
- this->members_.plong_repr()->~long_t();
- }
-
- long_t *assure_long()
- {
- if (this->is_short()){
- this->destroy_short();
- return this->construct_long();
- }
- return this->members_.plong_repr();
- }
-
-
- protected:
-
- typedef dtl::integral_constant<unsigned,
- boost::container::dtl::version<allocator_type>::value> alloc_version;
-
- pointer allocation_command(allocation_type command,
- size_type limit_size,
- size_type &prefer_in_recvd_out_size,
- pointer &reuse)
- {
- if(this->is_short() && (command & (expand_fwd | expand_bwd)) ){
- reuse = 0;
- command &= ~(expand_fwd | expand_bwd);
- }
- return dtl::allocator_version_traits<allocator_type>::allocation_command
- (this->alloc(), command, limit_size, prefer_in_recvd_out_size, reuse);
- }
-
- size_type next_capacity(size_type additional_objects) const
- {
- return growth_factor_100()
- ( this->priv_storage(), additional_objects, allocator_traits_type::max_size(this->alloc()));
- }
-
- void deallocate(pointer p, size_type n)
- {
- if (p && (n > InternalBufferChars))
- this->alloc().deallocate(p, n);
- }
-
- BOOST_CONTAINER_FORCEINLINE void construct(pointer p, const value_type &value = value_type())
- {
- allocator_traits_type::construct
- ( this->alloc()
- , boost::movelib::to_raw_pointer(p)
- , value
- );
- }
-
- void destroy(pointer p, size_type n)
- {
- value_type *raw_p = boost::movelib::to_raw_pointer(p);
- for(; n--; ++raw_p){
- allocator_traits_type::destroy( this->alloc(), raw_p);
- }
- }
-
- BOOST_CONTAINER_FORCEINLINE void destroy(pointer p)
- {
- allocator_traits_type::destroy
- ( this->alloc()
- , boost::movelib::to_raw_pointer(p)
- );
- }
-
- void allocate_initial_block(size_type n)
- {
- if (n <= this->max_size()) {
- if(n > InternalBufferChars){
- size_type new_cap = this->next_capacity(n);
- pointer reuse = 0;
- pointer p = this->allocation_command(allocate_new, n, new_cap, reuse);
- BOOST_ASSERT(this->is_short());
- this->construct_long();
- this->priv_long_addr(p);
- this->priv_long_size(0);
- this->priv_storage(new_cap);
- }
- }
- else{
- throw_length_error("basic_string::allocate_initial_block max_size() exceeded");
- }
- }
-
- BOOST_CONTAINER_FORCEINLINE void deallocate_block()
- { this->deallocate(this->priv_addr(), this->priv_storage()); }
-
- BOOST_CONTAINER_FORCEINLINE size_type max_size() const
- { return allocator_traits_type::max_size(this->alloc()) - 1; }
-
- protected:
- BOOST_CONTAINER_FORCEINLINE size_type priv_capacity() const
- { return this->priv_storage() - 1; }
-
- BOOST_CONTAINER_FORCEINLINE pointer priv_short_addr() const
- { return pointer_traits::pointer_to(const_cast<value_type&>(this->members_.pshort_repr()->data[0])); }
-
- //GCC seems a bit confused about uninitialized accesses
- #if defined(BOOST_GCC) && (BOOST_GCC >= 40700)
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
- #endif
-
- BOOST_CONTAINER_FORCEINLINE pointer priv_long_addr() const
- { return this->members_.plong_repr()->start; }
-
- BOOST_CONTAINER_FORCEINLINE pointer priv_addr() const
- {
- return this->is_short()
- ? priv_short_addr()
- : priv_long_addr()
- ;
- }
-
- BOOST_CONTAINER_FORCEINLINE pointer priv_end_addr() const
- {
- return this->is_short()
- ? this->priv_short_addr() + difference_type(this->priv_short_size())
- : this->priv_long_addr() + difference_type(this->priv_long_size())
- ;
- }
-
- BOOST_CONTAINER_FORCEINLINE void priv_long_addr(pointer addr)
- { this->members_.plong_repr()->start = addr; }
-
- BOOST_CONTAINER_FORCEINLINE size_type priv_storage() const
- { return this->is_short() ? priv_short_storage() : priv_long_storage(); }
-
- BOOST_CONTAINER_FORCEINLINE size_type priv_short_storage() const
- { return InternalBufferChars; }
-
- BOOST_CONTAINER_FORCEINLINE size_type priv_long_storage() const
- { return this->members_.plong_repr()->storage; }
-
- BOOST_CONTAINER_FORCEINLINE void priv_storage(size_type storage)
- {
- if(!this->is_short())
- this->priv_long_storage(storage);
- }
-
- BOOST_CONTAINER_FORCEINLINE void priv_long_storage(size_type storage)
- {
- this->members_.plong_repr()->storage = storage;
- }
-
- BOOST_CONTAINER_FORCEINLINE size_type priv_size() const
- { return this->is_short() ? this->priv_short_size() : this->priv_long_size(); }
-
- BOOST_CONTAINER_FORCEINLINE size_type priv_short_size() const
- { return this->members_.pshort_repr()->h.length; }
-
- BOOST_CONTAINER_FORCEINLINE size_type priv_long_size() const
- { return this->members_.plong_repr()->length; }
-
- BOOST_CONTAINER_FORCEINLINE void priv_size(size_type sz)
- {
- if(this->is_short())
- this->priv_short_size(sz);
- else
- this->priv_long_size(sz);
- }
-
- BOOST_CONTAINER_FORCEINLINE void priv_short_size(size_type sz)
- {
- typedef unsigned char uchar_type;
- static const uchar_type mask = uchar_type(uchar_type(-1) >> 1U);
- BOOST_ASSERT( sz <= mask );
- //Make -Wconversion happy
- this->members_.pshort_repr()->h.length = uchar_type(uchar_type(sz) & mask);
- }
-
- BOOST_CONTAINER_FORCEINLINE void priv_long_size(size_type sz)
- {
- static const size_type mask = size_type(-1) >> 1U;
- BOOST_ASSERT( sz <= mask );
- //Make -Wconversion happy
- this->members_.plong_repr()->length = sz & mask;
- }
- #if defined(BOOST_GCC) && (BOOST_GCC >= 40700)
- #pragma GCC diagnostic pop
- #endif
-
- void swap_data(basic_string_base& other)
- {
- if(this->is_short()){
- if(other.is_short()){
- 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_.pshort_repr());
- this->members_.pshort_repr()->~short_t();
- ::new(this->members_.plong_repr()) long_t(*other.members_.plong_repr());
- other.members_.plong_repr()->~long_t();
- ::new(other.members_.pshort_repr()) short_t(short_backup);
- }
- }
- else{
- if(other.is_short()){
- short_t short_backup(*other.members_.pshort_repr());
- other.members_.pshort_repr()->~short_t();
- ::new(other.members_.plong_repr()) long_t(*this->members_.plong_repr());
- this->members_.plong_repr()->~long_t();
- ::new(this->members_.pshort_repr()) short_t(short_backup);
- }
- else{
- boost::adl_move_swap(*this->members_.plong_repr(), *other.members_.plong_repr());
- }
- }
- }
-};
-
-} //namespace dtl {
-
-#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-//! The basic_string class represents a Sequence of characters. It contains all the
-//! usual operations of a Sequence, and, additionally, it contains standard string
-//! operations such as search and concatenation.
-//!
-//! The basic_string class is parameterized by character type, and by that type's
-//! Character Traits.
-//!
-//! This class has performance characteristics very much like vector<>, meaning,
-//! for example, that it does not perform reference-count or copy-on-write, and that
-//! concatenation of two strings is an O(N) operation.
-//!
-//! Some of basic_string's member functions use an unusual method of specifying positions
-//! and ranges. In addition to the conventional method using iterators, many of
-//! basic_string's member functions use a single value pos of type size_type to represent a
-//! position (in which case the position is begin() + pos, and many of basic_string's
-//! member functions use two values, pos and n, to represent a range. In that case pos is
-//! the beginning of the range and n is its size. That is, the range is
-//! [begin() + pos, begin() + pos + n).
-//!
-//! Note that the C++ standard does not specify the complexity of basic_string operations.
-//! In this implementation, basic_string has performance characteristics very similar to
-//! those of vector: access to a single character is O(1), while copy and concatenation
-//! are O(N).
-//!
-//! In this implementation, begin(),
-//! end(), rbegin(), rend(), operator[], c_str(), and data() do not invalidate iterators.
-//! In this implementation, iterators are only invalidated by member functions that
-//! explicitly change the string's contents.
-//!
-//! \tparam CharT The type of character it contains.
-//! \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 CharT, class Traits = std::char_traits<CharT>, class Allocator = void >
-#else
-template <class CharT, class Traits, class Allocator>
-#endif
-class basic_string
- : private dtl::basic_string_base<typename real_allocator<CharT, Allocator>::type>
-{
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- private:
- BOOST_COPYABLE_AND_MOVABLE(basic_string)
- typedef dtl::basic_string_base<typename real_allocator<CharT, Allocator>::type> base_t;
- typedef typename base_t::allocator_traits_type allocator_traits_type;
- static const typename base_t::size_type InternalBufferChars = base_t::InternalBufferChars;
-
- protected:
- // Allocator helper class to use a char_traits as a function object.
-
- template <class Tr>
- 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;
-
- bool operator()(const first_argument_type& x, const second_argument_type& y) const
- { return Tr::eq(x, y); }
- };
-
- template <class Tr>
- struct Not_within_traits
- {
- typedef typename Tr::char_type argument_type;
- typedef bool result_type;
-
- typedef const typename Tr::char_type* Pointer;
- const Pointer m_first;
- const Pointer m_last;
-
- Not_within_traits(Pointer f, Pointer l)
- : m_first(f), m_last(l) {}
-
- bool operator()(const typename Tr::char_type& x) const
- {
- return boost::container::find_if(m_first, m_last,
- boost::container::bind1st(Eq_traits<Tr>(), x)) == m_last;
- }
- };
- #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
- public:
- //////////////////////////////////////////////
- //
- // types
- //
- //////////////////////////////////////////////
- typedef Traits traits_type;
- typedef CharT value_type;
- typedef typename real_allocator<CharT, Allocator>::type allocator_type;
- typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
- typedef typename ::boost::container::allocator_traits<allocator_type>::const_pointer const_pointer;
- typedef typename ::boost::container::allocator_traits<allocator_type>::reference reference;
- typedef typename ::boost::container::allocator_traits<allocator_type>::const_reference const_reference;
- typedef typename ::boost::container::allocator_traits<allocator_type>::size_type size_type;
- typedef typename ::boost::container::allocator_traits<allocator_type>::difference_type difference_type;
- 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(boost::container::reverse_iterator<iterator>) reverse_iterator;
- typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<const_iterator>) const_reverse_iterator;
- static const size_type npos = size_type(-1);
-
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- private:
- typedef constant_iterator<CharT> cvalue_iterator;
- typedef typename base_t::alloc_version alloc_version;
- typedef ::boost::intrusive::pointer_traits<pointer> pointer_traits;
- #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
- public: // Constructor, destructor, assignment.
- //////////////////////////////////////////////
- //
- // construct/copy/destroy
- //
- //////////////////////////////////////////////
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- struct reserve_t {};
-
- basic_string(reserve_t, size_type n,
- const allocator_type& a = allocator_type())
- //Select allocator as in copy constructor as reserve_t-based constructors
- //are two step copies optimized for capacity
- : base_t( allocator_traits_type::select_on_container_copy_construction(a)
- , n + 1)
- { this->priv_terminate_string(); }
-
- #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
- //! <b>Effects</b>: Default constructs a basic_string.
- //!
- //! <b>Throws</b>: If allocator_type's default constructor throws.
- basic_string() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<allocator_type>::value)
- : base_t()
- { this->priv_terminate_string(); }
-
-
- //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter.
- //!
- //! <b>Throws</b>: Nothing
- explicit basic_string(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW
- : base_t(a)
- { this->priv_terminate_string(); }
-
- //! <b>Effects</b>: Copy constructs a basic_string.
- //!
- //! <b>Postcondition</b>: x == *this.
- //!
- //! <b>Throws</b>: If allocator_type's default constructor or allocation throws.
- basic_string(const basic_string& s)
- : base_t(allocator_traits_type::select_on_container_copy_construction(s.alloc()))
- {
- this->priv_terminate_string();
- this->assign(s.begin(), s.end());
- }
-
- //! <b>Effects</b>: Same as basic_string(sv.data(), sv.size(), a).
- //!
- //! <b>Throws</b>: If allocator_type's default constructor or allocation throws.
- template<template <class, class> class BasicStringView>
- explicit basic_string(BasicStringView<CharT, Traits> sv, const allocator_type& a = allocator_type())
- : base_t(allocator_traits_type::select_on_container_copy_construction(a))
- {
- this->priv_terminate_string();
- this->assign(sv);
- }
-
- //! <b>Effects</b>: Move constructor. Moves s's resources to *this.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- 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());
- }
- }
-
- //! <b>Effects</b>: Copy constructs a basic_string using the specified allocator.
- //!
- //! <b>Postcondition</b>: x == *this.
- //!
- //! <b>Throws</b>: If allocation throws.
- basic_string(const basic_string& s, const allocator_type &a)
- : base_t(a)
- {
- this->priv_terminate_string();
- this->assign(s.begin(), s.end());
- }
-
- //! <b>Effects</b>: Move constructor using the specified allocator.
- //! Moves s's resources to *this.
- //!
- //! <b>Throws</b>: If allocation throws.
- //!
- //! <b>Complexity</b>: Constant if a == s.get_allocator(), linear otherwise.
- basic_string(BOOST_RV_REF(basic_string) s, const allocator_type &a)
- : base_t(a)
- {
- this->priv_terminate_string();
- if(s.alloc() == this->alloc()){
- this->swap_data(s);
- }
- else{
- this->assign(s.begin(), s.end());
- }
- }
-
- //! <b>Effects</b>: Constructs a basic_string with a default-constructed allocator,
- //! and is initialized by a specific number of characters of the s string.
- basic_string(const basic_string& s, size_type pos, size_type n = npos)
- : base_t()
- {
- this->priv_terminate_string();
- if (pos > s.size())
- throw_out_of_range("basic_string::basic_string out of range position");
- else
- this->assign
- (s.begin() + pos, s.begin() + pos + dtl::min_value(n, s.size() - pos));
- }
-
- //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
- //! and is initialized by a specific number of characters of the s string.
- basic_string(const basic_string& s, size_type pos, size_type n, const allocator_type& a)
- : base_t(a)
- {
- this->priv_terminate_string();
- if (pos > s.size())
- throw_out_of_range("basic_string::basic_string out of range position");
- else
- this->assign
- (s.begin() + pos, s.begin() + pos + dtl::min_value(n, s.size() - pos));
- }
-
- //! <b>Effects</b>: Constructs a basic_string taking a default-constructed allocator,
- //! and is initialized by a specific number of characters of the s c-string.
- basic_string(const CharT* s, size_type n)
- : base_t()
- {
- this->priv_terminate_string();
- this->assign(s, s + difference_type(n));
- }
-
- //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
- //! and is initialized by a specific number of characters of the s c-string.
- basic_string(const CharT* s, size_type n, const allocator_type& a)
- : base_t(a)
- {
- this->priv_terminate_string();
- this->assign(s, s + difference_type(n));
- }
-
- //! <b>Effects</b>: Constructs a basic_string with a default-constructed allocator,
- //! and is initialized by the null-terminated s c-string.
- basic_string(const CharT* s)
- : base_t()
- {
- this->priv_terminate_string();
- this->assign(s, s + Traits::length(s));
- }
-
- //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
- //! and is initialized by the null-terminated s c-string.
- basic_string(const CharT* s, const allocator_type& a)
- : base_t(a)
- {
- this->priv_terminate_string();
- this->assign(s, s + Traits::length(s));
- }
-
-
- //! <b>Effects</b>: Constructs a basic_string with a default-constructed allocator,
- //! and is initialized by n copies of c.
- basic_string(size_type n, CharT c)
- : base_t()
- {
- this->priv_terminate_string();
- this->assign(n, c);
- }
-
- //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
- //! and is initialized by n copies of c.
- basic_string(size_type n, CharT c, const allocator_type& a)
- : base_t(a)
- {
- this->priv_terminate_string();
- this->assign(n, c);
- }
-
- //! <b>Effects</b>: Constructs a basic_string with a default-constructed allocator,
- //! and is initialized by n default-initialized characters.
- basic_string(size_type n, default_init_t)
- : base_t(n + 1)
- {
- this->priv_size(n);
- this->priv_terminate_string();
- }
-
- //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
- //! and is initialized by n default-initialized characters.
- basic_string(size_type n, default_init_t, const allocator_type& a)
- : base_t(a, n + 1)
- {
- this->priv_size(n);
- this->priv_terminate_string();
- }
-
- //! <b>Effects</b>: Constructs a basic_string with a default-constructed allocator,
- //! and a range of iterators.
- template <class InputIterator>
- basic_string(InputIterator f, InputIterator l)
- : base_t()
- {
- this->priv_terminate_string();
- this->assign(f, l);
- }
-
- //! <b>Effects</b>: Constructs a basic_string taking the allocator as parameter,
- //! and a range of iterators.
- template <class InputIterator>
- basic_string(InputIterator f, InputIterator l, const allocator_type& a)
- : base_t(a)
- {
- this->priv_terminate_string();
- this->assign(f, l);
- }
-
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Same as basic_string(il.begin(), il.end(), a).
- //!
- basic_string(std::initializer_list<value_type> il, const allocator_type& a = allocator_type())
- : base_t(a)
- {
- this->priv_terminate_string();
- this->assign(il.begin(), il.end());
- }
- #endif
-
- //! <b>Effects</b>: Destroys the basic_string. All used memory is deallocated.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- ~basic_string() BOOST_NOEXCEPT_OR_NOTHROW
- {}
-
- //! <b>Effects</b>: Copy constructs a string.
- //!
- //! <b>Postcondition</b>: x == *this.
- //!
- //! <b>Complexity</b>: Linear to the elements x contains.
- basic_string& operator=(BOOST_COPY_ASSIGN_REF(basic_string) x)
- {
- if (BOOST_LIKELY(this != &x)) {
- allocator_type &this_alloc = this->alloc();
- const allocator_type &x_alloc = x.alloc();
- dtl::bool_<allocator_traits_type::
- propagate_on_container_copy_assignment::value> flag;
- if(flag && this_alloc != x_alloc){
- if(!this->is_short()){
- this->deallocate_block();
- this->assure_short();
- Traits::assign(*this->priv_addr(), CharT(0));
- this->priv_short_size(0);
- }
- }
- dtl::assign_alloc(this->alloc(), x.alloc(), flag);
- this->assign(x.begin(), x.end());
- }
- return *this;
- }
-
- //! <b>Effects</b>: Move constructor. Moves x's resources to *this.
- //!
- //! <b>Throws</b>: If allocator_traits_type::propagate_on_container_move_assignment
- //! is false and allocation throws
- //!
- //! <b>Complexity</b>: Constant if allocator_traits_type::
- //! 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_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value
- || allocator_traits_type::is_always_equal::value)
- {
- if (BOOST_LIKELY(this != &x)) {
- allocator_type &this_alloc = this->alloc();
- allocator_type &x_alloc = x.alloc();
- const bool propagate_alloc = allocator_traits_type::
- propagate_on_container_move_assignment::value;
- dtl::bool_<propagate_alloc> flag;
- const bool allocators_equal = this_alloc == x_alloc; (void)allocators_equal;
- //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){
- //Destroy objects but retain memory in case x reuses it in the future
- this->clear();
- //Move allocator if needed
- dtl::move_alloc(this_alloc, x_alloc, flag);
- //Nothrow swap
- this->swap_data(x);
- }
- //Else do a one by one move
- else{
- this->assign( x.begin(), x.end());
- }
- }
- return *this;
- }
-
- //! <b>Effects</b>: Assignment from a null-terminated c-string.
- //!
- basic_string& operator=(const CharT* s)
- { return this->assign(s, s + Traits::length(s)); }
-
- //! <b>Effects</b>: Returns *this = basic_string(1, c).
- //!
- basic_string& operator=(CharT c)
- { return this->assign(static_cast<size_type>(1), c); }
-
- //! <b>Effects</b>: Equivalent to return assign(sv).
- //!
- template<template <class, class> class BasicStringView>
- basic_string& operator=(BasicStringView<CharT, Traits> sv)
- { return this->assign(sv.data(), sv.size()); }
-
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Returns *this = basic_string(il);
- //!
- basic_string& operator=(std::initializer_list<CharT> il)
- {
- return this->assign(il.begin(), il.end());
- }
- #endif
-
- //! <b>Effects</b>: Returns a copy of the internal allocator.
- //!
- //! <b>Throws</b>: If allocator's copy constructor throws.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->alloc(); }
-
- //! <b>Effects</b>: Returns a reference to the internal allocator.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
- { return this->alloc(); }
-
- //! <b>Effects</b>: Returns a reference to the internal allocator.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Complexity</b>: Constant.
- //!
- //! <b>Note</b>: Non-standard extension.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->alloc(); }
-
- //////////////////////////////////////////////
- //
- // iterators
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Returns an iterator to the first element contained in the vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
- { return this->priv_addr(); }
-
- //! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->priv_addr(); }
-
- //! <b>Effects</b>: Returns an iterator to the end of the vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- iterator end() BOOST_NOEXCEPT_OR_NOTHROW
- { return this->priv_end_addr(); }
-
- //! <b>Effects</b>: Returns a const_iterator to the end of the vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->priv_end_addr(); }
-
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
- //! of the reversed vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
- { return reverse_iterator(this->priv_end_addr()); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
- //! of the reversed vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->crbegin(); }
-
- //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
- //! of the reversed vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
- { return reverse_iterator(this->priv_addr()); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
- //! of the reversed vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->crend(); }
-
- //! <b>Effects</b>: Returns a const_iterator to the first element contained in the vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->priv_addr(); }
-
- //! <b>Effects</b>: Returns a const_iterator to the end of the vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->priv_end_addr(); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
- //! of the reversed vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
- { return const_reverse_iterator(this->priv_end_addr()); }
-
- //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
- //! of the reversed vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
- { return const_reverse_iterator(this->priv_addr()); }
-
- //////////////////////////////////////////////
- //
- // capacity
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Returns true if the vector contains no elements.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
- { return !this->priv_size(); }
-
- //! <b>Effects</b>: Returns the number of the elements contained in the vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->priv_size(); }
-
- //! <b>Effects</b>: Returns the number of the elements contained in the vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type length() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->size(); }
-
- //! <b>Effects</b>: Returns the largest possible size of the vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
- { return base_t::max_size(); }
-
- //! <b>Effects</b>: Inserts or erases elements at the end such that
- //! the size becomes n. New elements are copy constructed from x.
- //!
- //! <b>Throws</b>: If memory allocation throws
- //!
- //! <b>Complexity</b>: Linear to the difference between size() and new_size.
- void resize(size_type n, CharT c)
- {
- if (n <= this->size())
- this->erase(this->begin() + difference_type(n), this->end());
- else
- this->append(n - this->size(), c);
- }
-
- //! <b>Effects</b>: Inserts or erases elements at the end such that
- //! the size becomes n. New elements are value initialized.
- //!
- //! <b>Throws</b>: If memory allocation throws
- //!
- //! <b>Complexity</b>: Linear to the difference between size() and new_size.
- void resize(size_type n)
- { resize(n, CharT()); }
-
- //! <b>Effects</b>: Inserts or erases elements at the end such that
- //! the size becomes n. New elements are uninitialized.
- //!
- //! <b>Throws</b>: If memory allocation throws
- //!
- //! <b>Complexity</b>: Linear to the difference between size() and new_size.
- //!
- //! <b>Note</b>: Non-standard extension
- void resize(size_type n, default_init_t)
- {
- if (n <= this->size())
- this->erase(this->begin() + difference_type(n), this->end());
- else{
- this->priv_reserve(n, false);
- this->priv_size(n);
- this->priv_terminate_string();
- }
- }
-
- //! <b>Effects</b>: Number of elements for which memory has been allocated.
- //! capacity() is always greater than or equal to size().
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->priv_capacity(); }
-
- //! <b>Effects</b>: If n is less than or equal to capacity(), this call has no
- //! effect. Otherwise, it is a request for allocation of additional memory.
- //! If the request is successful, then capacity() is greater than or equal to
- //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged.
- //!
- //! <b>Throws</b>: If memory allocation allocation throws
- void reserve(size_type res_arg)
- { this->priv_reserve(res_arg); }
-
- //! <b>Effects</b>: Tries to deallocate the excess of memory created
- //! with previous allocations. The size of the string is unchanged
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Complexity</b>: Linear to size().
- void shrink_to_fit()
- {
- //Check if shrinking is possible
- if(this->priv_storage() > InternalBufferChars){
- //Check if we should pass from dynamically allocated buffer
- //to the internal storage
- if(this->priv_size() < InternalBufferChars){
- //Dynamically allocated buffer attributes
- pointer long_addr = this->priv_long_addr();
- size_type long_storage = this->priv_long_storage();
- size_type long_size = this->priv_long_size();
- //Shrink from allocated buffer to the internal one, including trailing null
- Traits::copy( boost::movelib::to_raw_pointer(this->priv_short_addr())
- , boost::movelib::to_raw_pointer(long_addr)
- , long_size+1);
- BOOST_ASSERT(!this->is_short());
- this->destroy_long();
- this->construct_short();
- this->alloc().deallocate(long_addr, long_storage);
- }
- else{
- //Shrinking in dynamic buffer
- this->priv_shrink_to_fit_dynamic_buffer(alloc_version());
- }
- }
- }
-
- //////////////////////////////////////////////
- //
- // element access
- //
- //////////////////////////////////////////////
-
- //! <b>Requires</b>: !empty()
- //!
- //! <b>Effects</b>: Returns a reference to the first
- //! element of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reference front() BOOST_NOEXCEPT_OR_NOTHROW
- {
- BOOST_ASSERT(!this->empty());
- return *this->priv_addr();
- }
-
- //! <b>Requires</b>: !empty()
- //!
- //! <b>Effects</b>: Returns a const reference to the first
- //! element of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
- {
- BOOST_ASSERT(!this->empty());
- return *this->priv_addr();
- }
-
- //! <b>Requires</b>: !empty()
- //!
- //! <b>Effects</b>: Returns a reference to the last
- //! element of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reference back() BOOST_NOEXCEPT_OR_NOTHROW
- {
- BOOST_ASSERT(!this->empty());
- return *(this->priv_addr() + (this->size() - 1u) );
- }
-
- //! <b>Requires</b>: !empty()
- //!
- //! <b>Effects</b>: Returns a const reference to the last
- //! element of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
- {
- BOOST_ASSERT(!this->empty());
- return *(this->priv_addr() + (this->size() - 1u) );
- }
-
- //! <b>Requires</b>: size() > n.
- //!
- //! <b>Effects</b>: Returns a reference to the nth element
- //! from the beginning of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
- {
- BOOST_ASSERT(this->size() > n);
- return *(this->priv_addr() + difference_type(n));
- }
-
- //! <b>Requires</b>: size() > n.
- //!
- //! <b>Effects</b>: Returns a const reference to the nth element
- //! from the beginning of the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
- {
- BOOST_ASSERT(this->size() > n);
- return *(this->priv_addr() + difference_type(n));
- }
-
- //! <b>Requires</b>: size() > n.
- //!
- //! <b>Effects</b>: Returns a reference to the nth element
- //! from the beginning of the container.
- //!
- //! <b>Throws</b>: range_error if n >= size()
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- reference at(size_type n)
- {
- if (n >= this->size())
- throw_out_of_range("basic_string::at invalid subscript");
- return *(this->priv_addr() + difference_type(n));
- }
-
- //! <b>Requires</b>: size() > n.
- //!
- //! <b>Effects</b>: Returns a const reference to the nth element
- //! from the beginning of the container.
- //!
- //! <b>Throws</b>: range_error if n >= size()
- //!
- //! <b>Complexity</b>: Constant.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const_reference at(size_type n) const {
- if (n >= this->size())
- throw_out_of_range("basic_string::at invalid subscript");
- return *(this->priv_addr() + difference_type(n));
- }
-
- //////////////////////////////////////////////
- //
- // modifiers
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Calls append(str.data, str.size()).
- //!
- //! <b>Returns</b>: *this
- basic_string& operator+=(const basic_string& s)
- { return this->append(s); }
-
- //! <b>Effects</b>: Same as `return append(sv)`.
- //!
- template<template<class, class> class BasicStringView>
- basic_string& operator+=(BasicStringView<CharT, Traits> sv)
- {
- return this->append(sv);
- }
-
- //! <b>Effects</b>: Calls append(s).
- //!
- //! <b>Returns</b>: *this
- basic_string& operator+=(const CharT* s)
- { return this->append(s); }
-
- //! <b>Effects</b>: Calls append(1, c).
- //!
- //! <b>Returns</b>: *this
- basic_string& operator+=(CharT c)
- { this->push_back(c); return *this; }
-
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Returns append(il)
- //!
- basic_string& operator+=(std::initializer_list<CharT> il)
- {
- return this->append(il);
- }
- #endif
-
- //! <b>Effects</b>: Calls append(str.data(), str.size()).
- //!
- //! <b>Returns</b>: *this
- basic_string& append(const basic_string& s)
- { return this->append(s.begin(), s.end()); }
-
- //! <b>Effects</b>: Same as return append(sv.data(), sv.size()).
- //!
- template<template<class, class> class BasicStringView>
- basic_string& append(BasicStringView<CharT, Traits> sv)
- { return this->append(sv.data(), sv.size()); }
-
- //! <b>Requires</b>: pos <= str.size()
- //!
- //! <b>Effects</b>: Determines the effective length rlen of the string to append
- //! as the smaller of n and str.size() - pos and calls append(str.data() + pos, rlen).
- //!
- //! <b>Throws</b>: If memory allocation throws and out_of_range if pos > str.size()
- //!
- //! <b>Returns</b>: *this
- basic_string& append(const basic_string& s, size_type pos, size_type n = npos)
- {
- if (pos > s.size())
- throw_out_of_range("basic_string::append out of range position");
- return this->append(s.begin() + pos,
- s.begin() + pos + dtl::min_value(n, s.size() - pos));
- }
-
- //! <b>Requires</b>: s points to an array of at least n elements of CharT.
- //!
- //! <b>Effects</b>: The function replaces the string controlled by *this with
- //! a string of length size() + n whose irst size() elements are a copy of the
- //! original string controlled by *this and whose remaining
- //! elements are a copy of the initial n elements of s.
- //!
- //! <b>Throws</b>: If memory allocation throws length_error if size() + n > max_size().
- //!
- //! <b>Returns</b>: *this
- basic_string& append(const CharT* s, size_type n)
- { return this->append(s, s + difference_type(n)); }
-
- //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Effects</b>: Calls append(s, traits::length(s)).
- //!
- //! <b>Returns</b>: *this
- basic_string& append(const CharT* s)
- { return this->append(s, s + Traits::length(s)); }
-
- //! <b>Effects</b>: Equivalent to append(basic_string(n, c)).
- //!
- //! <b>Returns</b>: *this
- basic_string& append(size_type n, CharT c)
- { return this->append(cvalue_iterator(c, n), cvalue_iterator()); }
-
- //! <b>Requires</b>: [first,last) is a valid range.
- //!
- //! <b>Effects</b>: Equivalent to append(basic_string(first, last)).
- //!
- //! <b>Returns</b>: *this
- template <class InputIter>
- basic_string& append(InputIter first, InputIter last)
- { this->insert(this->end(), first, last); return *this; }
-
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Returns append(il.begin(), il.size()).
- //!
- basic_string& append(std::initializer_list<CharT> il)
- {
- return this->append(il.begin(), il.size());
- }
- #endif
-
- //! <b>Effects</b>: Equivalent to append(static_cast<size_type>(1), c).
- //!
- void push_back(CharT c)
- {
- const size_type old_size = this->priv_size();
- if (old_size < this->capacity()){
- const pointer addr = this->priv_addr();
- this->priv_construct_null(addr + difference_type(old_size + 1u));
- Traits::assign(addr[difference_type(old_size)], c);
- this->priv_size(old_size+1u);
- }
- else{
- //No enough memory, insert a new object at the end
- this->append(size_type(1), c);
- }
- }
-
- //! <b>Effects</b>: Equivalent to assign(str, 0, npos).
- //!
- //! <b>Returns</b>: *this
- basic_string& assign(const basic_string& s)
- { return this->operator=(s); }
-
- //! <b>Effects</b>: Equivalent to return assign(sv.data(), sv.size()).
- //!
- //! <b>Returns</b>: *this
- template<template <class, class> class BasicStringView>
- basic_string& assign(BasicStringView<CharT, Traits> sv)
- { return this->operator=(sv); }
-
- //! <b>Effects</b>: The function replaces the string controlled by *this
- //! with a string of length str.size() whose elements are a copy of the string
- //! controlled by str. Leaves str in a valid but unspecified state.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: *this
- basic_string& assign(BOOST_RV_REF(basic_string) ms) BOOST_NOEXCEPT_OR_NOTHROW
- { return this->swap_data(ms), *this; }
-
- //! <b>Requires</b>: pos <= str.size()
- //!
- //! <b>Effects</b>: Determines the effective length rlen of the string to assign as
- //! the smaller of n and str.size() - pos and calls assign(str.data() + pos rlen).
- //!
- //! <b>Throws</b>: If memory allocation throws or out_of_range if pos > str.size().
- //!
- //! <b>Returns</b>: *this
- basic_string& assign(const basic_string& s, size_type pos, size_type n)
- {
- if (pos > s.size())
- throw_out_of_range("basic_string::assign out of range position");
- return this->assign(s.begin() + pos,
- s.begin() + pos + dtl::min_value(n, s.size() - pos));
- }
-
- //! <b>Requires</b>: s points to an array of at least n elements of CharT.
- //!
- //! <b>Effects</b>: Replaces the string controlled by *this with a string of
- //! length n whose elements are a copy of those pointed to by s.
- //!
- //! <b>Throws</b>: If memory allocation throws or length_error if n > max_size().
- //!
- //! <b>Returns</b>: *this
- basic_string& assign(const CharT* s, size_type n)
- { return this->assign(s, s + difference_type(n)); }
-
- //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Effects</b>: Calls assign(s, traits::length(s)).
- //!
- //! <b>Returns</b>: *this
- basic_string& assign(const CharT* s)
- { return this->assign(s, s + Traits::length(s)); }
-
- //! <b>Effects</b>: Equivalent to assign(basic_string(n, c)).
- //!
- //! <b>Returns</b>: *this
- basic_string& assign(size_type n, CharT c)
- { return this->assign(cvalue_iterator(c, n), cvalue_iterator()); }
-
- //! <b>Effects</b>: Equivalent to assign(basic_string(first, last)).
- //!
- //! <b>Returns</b>: *this
- basic_string& assign(const CharT* first, const CharT* last)
- {
- size_type n = static_cast<size_type>(last - first);
- this->reserve(n);
- CharT* ptr = boost::movelib::to_raw_pointer(this->priv_addr());
- Traits::copy(ptr, first, n);
- this->priv_construct_null(ptr + difference_type(n));
- this->priv_size(n);
- return *this;
- }
-
- //! <b>Effects</b>: Equivalent to assign(basic_string(first, last)).
- //!
- //! <b>Returns</b>: *this
- template <class InputIter>
- basic_string& assign(InputIter first, InputIter last
- #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
- , typename dtl::disable_if_convertible<InputIter, size_type>::type * = 0
- #endif
- )
- {
- size_type cur = 0;
- const pointer addr = this->priv_addr();
- CharT *ptr = boost::movelib::to_raw_pointer(addr);
- const size_type old_size = this->priv_size();
- while (first != last && cur != old_size) {
- Traits::assign(*ptr, *first);
- ++first;
- ++cur;
- ++ptr;
- }
- if (first == last)
- this->erase(addr + difference_type(cur), addr + difference_type(old_size));
- else
- this->append(first, last);
- return *this;
- }
-
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: Returns assign(il.begin(), il.size()).
- //!
- basic_string& assign(std::initializer_list<CharT> il)
- {
- return this->assign(il.begin(), il.size());
- }
- #endif
-
- //! <b>Requires</b>: pos <= size().
- //!
- //! <b>Effects</b>: Calls insert(pos, str.data(), str.size()).
- //!
- //! <b>Throws</b>: If memory allocation throws or out_of_range if pos > size().
- //!
- //! <b>Returns</b>: *this
- basic_string& insert(size_type pos, const basic_string& s)
- {
- const size_type sz = this->size();
- if (pos > sz)
- throw_out_of_range("basic_string::insert out of range position");
- if (sz > this->max_size() - s.size())
- throw_length_error("basic_string::insert max_size() exceeded");
- this->insert(this->priv_addr() + pos, s.begin(), s.end());
- return *this;
- }
-
- //! <b>Requires</b>: pos1 <= size() and pos2 <= str.size()
- //!
- //! <b>Effects</b>: Determines the effective length rlen of the string to insert as
- //! the smaller of n and str.size() - pos2 and calls insert(pos1, str.data() + pos2, rlen).
- //!
- //! <b>Throws</b>: If memory allocation throws or out_of_range if pos1 > size() or pos2 > str.size().
- //!
- //! <b>Returns</b>: *this
- basic_string& insert(size_type pos1, const basic_string& s, size_type pos2, size_type n = npos)
- {
- const size_type sz = this->size();
- const size_type str_size = s.size();
- if (pos1 > sz || pos2 > str_size)
- throw_out_of_range("basic_string::insert out of range position");
- size_type len = dtl::min_value(n, str_size - pos2);
- if (sz > this->max_size() - len)
- throw_length_error("basic_string::insert max_size() exceeded");
- const CharT *beg_ptr = boost::movelib::to_raw_pointer(s.begin()) + pos2;
- const CharT *end_ptr = beg_ptr + len;
- this->insert(this->priv_addr() + pos1, beg_ptr, end_ptr);
- return *this;
- }
-
- //! <b>Requires</b>: s points to an array of at least n elements of CharT and pos <= size().
- //!
- //! <b>Effects</b>: Replaces the string controlled by *this with a string of length size() + n
- //! whose first pos elements are a copy of the initial elements of the original string
- //! controlled by *this and whose next n elements are a copy of the elements in s and whose
- //! remaining elements are a copy of the remaining elements of the original string controlled by *this.
- //!
- //! <b>Throws</b>: If memory allocation throws, out_of_range if pos > size() or
- //! length_error if size() + n > max_size().
- //!
- //! <b>Returns</b>: *this
- basic_string& insert(size_type pos, const CharT* s, size_type n)
- {
- if (pos > this->size())
- throw_out_of_range("basic_string::insert out of range position");
- if (this->size() > this->max_size() - n)
- throw_length_error("basic_string::insert max_size() exceeded");
- this->insert(this->priv_addr() + pos, s, s + difference_type(n));
- return *this;
- }
-
- //! <b>Requires</b>: pos <= size() and s points to an array of at least traits::length(s) + 1 elements of CharT
- //!
- //! <b>Effects</b>: Calls insert(pos, s, traits::length(s)).
- //!
- //! <b>Throws</b>: If memory allocation throws, out_of_range if pos > size()
- //! length_error if size() > max_size() - Traits::length(s)
- //!
- //! <b>Returns</b>: *this
- basic_string& insert(size_type pos, const CharT* s)
- {
- if (pos > this->size())
- throw_out_of_range("basic_string::insert out of range position");
- size_type len = Traits::length(s);
- if (this->size() > this->max_size() - len)
- throw_length_error("basic_string::insert max_size() exceeded");
- this->insert(this->priv_addr() + pos, s, s + len);
- return *this;
- }
-
- //! <b>Effects</b>: Equivalent to insert(pos, basic_string(n, c)).
- //!
- //! <b>Throws</b>: If memory allocation throws, out_of_range if pos > size()
- //! length_error if size() > max_size() - n
- //!
- //! <b>Returns</b>: *this
- basic_string& insert(size_type pos, size_type n, CharT c)
- {
- if (pos > this->size())
- throw_out_of_range("basic_string::insert out of range position");
- if (this->size() > this->max_size() - n)
- throw_length_error("basic_string::insert max_size() exceeded");
- this->insert(const_iterator(this->priv_addr() + pos), n, c);
- return *this;
- }
-
- //! <b>Effects</b>: Same as `return insert(pos, sv.data(), sv.size())`.
- //!
- template<template<class, class> class BasicStringView>
- basic_string& insert(size_type pos, BasicStringView<CharT, Traits> sv)
- { return this->insert(pos, sv.data(), sv.size()); }
-
- //! <b>Requires</b>: p is a valid iterator on *this.
- //!
- //! <b>Effects</b>: inserts a copy of c before the character referred to by p.
- //!
- //! <b>Returns</b>: An iterator which refers to the copy of the inserted character.
- iterator insert(const_iterator p, CharT c)
- {
- size_type new_offset = size_type(p - this->priv_addr());
- this->insert(p, cvalue_iterator(c, 1), cvalue_iterator());
- return this->priv_addr() + new_offset;
- }
-
- //! <b>Requires</b>: p is a valid iterator on *this.
- //!
- //! <b>Effects</b>: Inserts n copies of c before the character referred to by p.
- //!
- //! <b>Returns</b>: an iterator to the first inserted element or p if n is 0.
- iterator insert(const_iterator p, size_type n, CharT c)
- { return this->insert(p, cvalue_iterator(c, n), cvalue_iterator()); }
-
- //! <b>Requires</b>: p is a valid iterator on *this. [first,last) is a valid range.
- //!
- //! <b>Effects</b>: Equivalent to insert(p - begin(), basic_string(first, last)).
- //!
- //! <b>Returns</b>: an iterator to the first inserted element or p if first == last.
- template <class InputIter>
- iterator insert(const_iterator p, InputIter first, InputIter last
- #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
- , typename dtl::disable_if_or
- < void
- , dtl::is_convertible<InputIter, size_type>
- , dtl::is_not_input_iterator<InputIter>
- >::type * = 0
- #endif
- )
- {
- const size_type n_pos = p - this->cbegin();
- for ( ; first != last; ++first, ++p) {
- p = this->insert(p, *first);
- }
- return this->begin() + difference_type(n_pos);
- }
-
- #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
- template <class ForwardIter>
- iterator insert(const_iterator p, ForwardIter first, ForwardIter last
- , typename dtl::disable_if_or
- < void
- , dtl::is_convertible<ForwardIter, size_type>
- , dtl::is_input_iterator<ForwardIter>
- >::type * = 0
- )
- {
- const size_type n_pos = size_type(p - this->cbegin());
- if (first != last) {
- const size_type n = boost::container::iterator_udistance(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;
- 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 + 1u, new_cap, hint);
-
- //Check forward expansion
- if(old_start == allocation_ret){
- enough_capacity = true;
- this->priv_storage(new_cap);
- }
- }
-
- //Reuse same buffer
- if(enough_capacity){
- const size_type elems_after = old_size - size_type(p - old_start);
- const size_type old_length = old_size;
- size_type new_size = 0;
- if (elems_after >= n) {
- const pointer pointer_past_last = old_start + difference_type(old_size + 1u);
- priv_uninitialized_copy(old_start + difference_type(old_size - n + 1u),
- pointer_past_last, pointer_past_last);
-
- Traits::move(const_cast<CharT*>(boost::movelib::to_raw_pointer(p + difference_type(n))),
- boost::movelib::to_raw_pointer(p),
- (elems_after - n) + 1u);
- (priv_copy)(first, last, const_cast<CharT*>(boost::movelib::to_raw_pointer(p)));
- new_size = old_size + n;
- }
- else {
- ForwardIter mid = first;
- boost::container::iterator_uadvance(mid, elems_after + 1u);
-
- priv_uninitialized_copy(mid, last, old_start + difference_type(old_size + 1u));
- const size_type newer_size = old_size + (n - elems_after);
- this->priv_size(newer_size);
- priv_uninitialized_copy
- (p, const_iterator(old_start + difference_type(old_length + 1u)),
- old_start + difference_type(newer_size));
- (priv_copy)(first, mid, const_cast<CharT*>(boost::movelib::to_raw_pointer(p)));
- new_size = newer_size + elems_after;
- }
- this->priv_size(new_size);
- this->priv_construct_null(old_start + difference_type(new_size));
- }
- else{
- 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
- new_length += priv_uninitialized_copy
- (const_iterator(old_start), p, new_start);
- new_length += priv_uninitialized_copy
- (first, last, new_start + difference_type(new_length));
- new_length += priv_uninitialized_copy
- (p, const_iterator(old_start + difference_type(old_size)),
- new_start + difference_type(new_length));
- this->priv_construct_null(new_start + difference_type(new_length));
-
- this->deallocate_block();
- this->assure_long();
- this->priv_long_addr(new_start);
- this->priv_long_size(new_length);
- this->priv_long_storage(new_cap);
- }
- else{
- //value_type is POD, so backwards expansion is much easier
- //than with vector<T>
- value_type * const oldbuf = boost::movelib::to_raw_pointer(old_start);
- value_type * const newbuf = boost::movelib::to_raw_pointer(new_start);
- const value_type *const pos = boost::movelib::to_raw_pointer(p);
- const size_type before = size_type(pos - oldbuf);
-
- //First move old data
- Traits::move(newbuf, oldbuf, before);
- Traits::move(newbuf + difference_type(before + n), pos, old_size - before);
- //Now initialize the new data
- priv_uninitialized_copy(first, last, new_start + difference_type(before));
- this->priv_construct_null(new_start + difference_type(old_size + n));
- this->assure_long();
- this->priv_long_addr(new_start);
- this->priv_long_size(old_size + n);
- this->priv_long_storage(new_cap);
- }
- }
- }
- return this->begin() + difference_type(n_pos);
- }
- #endif
-
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Effects</b>: As if by insert(p, il.begin(), il.end()).
- //!
- //! <b>Returns</b>: An iterator which refers to the copy of the first inserted
- //! character, or p if i1 is empty.
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, std::initializer_list<CharT> il)
- {
- return this->insert(p, il.begin(), il.end());
- }
- #endif
-
- //! <b>Effects</b>: Removes the last element from the container.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Constant time.
- void pop_back() BOOST_NOEXCEPT_OR_NOTHROW
- {
- BOOST_ASSERT(!this->empty());
- iterator p = this->end();
- this->erase(--p);
- }
-
- //! <b>Requires</b>: pos <= size()
- //!
- //! <b>Effects</b>: Determines the effective length xlen of the string to be removed as the smaller of n and size() - pos.
- //! The function then replaces the string controlled by *this with a string of length size() - xlen
- //! whose first pos elements are a copy of the initial elements of the original string controlled by *this,
- //! and whose remaining elements are a copy of the elements of the original string controlled by *this
- //! beginning at position pos + xlen.
- //!
- //! <b>Throws</b>: out_of_range if pos > size().
- //!
- //! <b>Returns</b>: *this
- basic_string& erase(size_type pos = 0, size_type n = npos)
- {
- if (pos > this->size())
- throw_out_of_range("basic_string::erase out of range position");
- const pointer addr = this->priv_addr();
- erase(addr + difference_type(pos), addr + difference_type(pos) + dtl::min_value(n, this->size() - pos));
- return *this;
- }
-
- //! <b>Effects</b>: Removes the character referred to by p.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: 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_NOEXCEPT_OR_NOTHROW
- {
- // The move includes the terminating null.
- CharT * const ptr = const_cast<CharT*>(boost::movelib::to_raw_pointer(p));
- const size_type old_size = this->priv_size();
- Traits::move(ptr,
- boost::movelib::to_raw_pointer(p + 1),
- old_size - size_type(p - this->priv_addr()));
- this->priv_size(old_size-1u);
- return iterator(ptr);
- }
-
- //! <b>Requires</b>: first and last are valid iterators on *this, defining a range [first,last).
- //!
- //! <b>Effects</b>: Removes the characters in the range [first,last).
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: 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_NOEXCEPT_OR_NOTHROW
- {
- CharT * f = const_cast<CharT*>(boost::movelib::to_raw_pointer(first));
- if (first != last) { // The move includes the terminating null.
- const size_type num_erased = size_type(last - first);
- const size_type old_size = this->priv_size();
- Traits::move(f,
- boost::movelib::to_raw_pointer(last),
- old_size + 1u - size_type(last - this->priv_addr()));
- const size_type new_length = old_size - num_erased;
- this->priv_size(new_length);
- }
- return iterator(f);
- }
-
- //! <b>Effects</b>: Erases all the elements of the vector.
- //!
- //! <b>Throws</b>: Nothing.
- //!
- //! <b>Complexity</b>: Linear to the number of elements in the vector.
- void clear() BOOST_NOEXCEPT_OR_NOTHROW
- {
- if(this->is_short()) {
- Traits::assign(*this->priv_short_addr(), CharT(0));
- this->priv_short_size(0);
- }
- else {
- Traits::assign(*this->priv_long_addr(), CharT(0));
- this->priv_long_size(0);
- }
- }
-
- //! <b>Requires</b>: pos1 <= size().
- //!
- //! <b>Effects</b>: Calls replace(pos1, n1, str.data(), str.size()).
- //!
- //! <b>Throws</b>: if memory allocation throws or out_of_range if pos1 > size().
- //!
- //! <b>Returns</b>: *this
- basic_string& replace(size_type pos1, size_type n1, const basic_string& str)
- {
- if (pos1 > this->size())
- throw_out_of_range("basic_string::replace out of range position");
- const size_type len = dtl::min_value(n1, this->size() - pos1);
- if (this->size() - len >= this->max_size() - str.size())
- throw_length_error("basic_string::replace max_size() exceeded");
- const pointer addr = this->priv_addr();
- return this->replace( const_iterator(addr + difference_type(pos1))
- , const_iterator(addr + difference_type(pos1 + len))
- , str.begin(), str.end());
- }
-
- //! <b>Effects</b>: Calls `return replace(pos1, n1, sv.data(), sv.size());`.
- //!
- template<template<class, class> class BasicStringView>
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(size_type pos1, size_type n1, BasicStringView<CharT, Traits> sv)
- {
- return this->replace(pos1, n1, sv.data(), sv.size());
- }
-
- //! <b>Requires</b>: pos1 <= size() and pos2 <= str.size().
- //!
- //! <b>Effects</b>: Determines the effective length rlen of the string to be
- //! inserted as the smaller of n2 and str.size() - pos2 and calls
- //! replace(pos1, n1, str.data() + pos2, rlen).
- //!
- //! <b>Throws</b>: if memory allocation throws, out_of_range if pos1 > size() or pos2 > str.size().
- //!
- //! <b>Returns</b>: *this
- basic_string& replace(size_type pos1, size_type n1,
- const basic_string& str, size_type pos2, size_type n2 = npos)
- {
- if (pos2 > str.size())
- throw_out_of_range("basic_string::replace out of range position");
- return this->replace(pos1, n1, str.data()+pos2, dtl::min_value(n2, str.size() - pos2));
- }
-
- //! <b>Throws</b>: out_of_range if pos1 > size() or pos2 > sv.size().
- //!
- //! <b>Effects</b>: Determines the effective length rlen of the string to be inserted as the
- //! smaller of n2 and sv.size() - pos2 and calls `replace(pos1, n1, sv.data() + pos2, rlen)`.
- //!
- //! <b>Returns</b>: *this.
- template<template<class, class> class BasicStringView>
- basic_string& replace(size_type pos1, size_type n1, BasicStringView<CharT, Traits> sv,
- size_type pos2, size_type n2 = npos)
- {
- if (pos2 > sv.size())
- throw_out_of_range("basic_string::replace out of range position");
- return this->replace(pos1, n1, sv.data()+pos2, dtl::min_value(n2, sv.size() - pos2));
- }
-
- //! <b>Requires</b>: pos1 <= size() and s points to an array of at least n2 elements of CharT.
- //!
- //! <b>Effects</b>: Determines the effective length xlen of the string to be removed as the
- //! smaller of n1 and size() - pos1. If size() - xlen >= max_size() - n2 throws length_error.
- //! Otherwise, the function replaces the string controlled by *this with a string of
- //! length size() - xlen + n2 whose first pos1 elements are a copy of the initial elements
- //! of the original string controlled by *this, whose next n2 elements are a copy of the
- //! initial n2 elements of s, and whose remaining elements are a copy of the elements of
- //! the original string controlled by *this beginning at position pos + xlen.
- //!
- //! <b>Throws</b>: if memory allocation throws, out_of_range if pos1 > size() or length_error
- //! if the length of the resulting string would exceed max_size()
- //!
- //! <b>Returns</b>: *this
- basic_string& replace(size_type pos1, size_type n1, const CharT* s, size_type n2)
- {
- if (pos1 > this->size())
- throw_out_of_range("basic_string::replace out of range position");
- const size_type len = dtl::min_value(n1, this->size() - pos1);
- const size_type max_sz = this->max_size();
- if (n2 > max_sz || (this->size() - len) >= (max_sz - n2))
- throw_length_error("basic_string::replace max_size() exceeded");
- const pointer addr = this->priv_addr() + pos1;
- return this->replace(addr, addr + difference_type(len), s, s + difference_type(n2));
- }
-
- //! <b>Requires</b>: pos1 <= size() and s points to an array of at least n2 elements of CharT.
- //!
- //! <b>Effects</b>: Determines the effective length xlen of the string to be removed as the smaller
- //! of n1 and size() - pos1. If size() - xlen >= max_size() - n2 throws length_error. Otherwise,
- //! the function replaces the string controlled by *this with a string of length size() - xlen + n2
- //! whose first pos1 elements are a copy of the initial elements of the original string controlled
- //! by *this, whose next n2 elements are a copy of the initial n2 elements of s, and whose
- //! remaining elements are a copy of the elements of the original string controlled by *this
- //! beginning at position pos + xlen.
- //!
- //! <b>Throws</b>: if memory allocation throws, out_of_range if pos1 > size() or length_error
- //! if the length of the resulting string would exceed max_size()
- //!
- //! <b>Returns</b>: *this
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(size_type pos, size_type n1, const CharT* s)
- {
- return this->replace(pos, n1, s, Traits::length(s));
- }
-
- //! <b>Requires</b>: pos1 <= size().
- //!
- //! <b>Effects</b>: Equivalent to replace(pos1, n1, basic_string(n2, c)).
- //!
- //! <b>Throws</b>: if memory allocation throws, out_of_range if pos1 > size() or length_error
- //! if the length of the resulting string would exceed max_size()
- //!
- //! <b>Returns</b>: *this
- basic_string& replace(size_type pos1, size_type n1, size_type n2, CharT c)
- {
- if (pos1 > this->size())
- throw_out_of_range("basic_string::replace out of range position");
- const size_type len = dtl::min_value(n1, this->size() - pos1);
- if (n2 > this->max_size() || this->size() - len >= this->max_size() - n2)
- throw_length_error("basic_string::replace max_size() exceeded");
- const pointer addr = this->priv_addr();
- return this->replace(addr + difference_type(pos1), addr + difference_type(pos1 + len), n2, c);
- }
-
- //! <b>Requires</b>: [begin(),i1) and [i1,i2) are valid ranges.
- //!
- //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, str).
- //!
- //! <b>Throws</b>: if memory allocation throws
- //!
- //! <b>Returns</b>: *this
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str)
- { return this->replace(i1, i2, str.data(), str.data()+str.size()); }
-
- //! <b>Requires</b>: [begin(),i1) and [i1,i2) are valid ranges and
- //! s points to an array of at least n elements
- //!
- //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, s, n).
- //!
- //! <b>Throws</b>: if memory allocation throws
- //!
- //! <b>Returns</b>: *this
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, const CharT* s, size_type n)
- { return this->replace(i1, i2, s, s + difference_type(n)); }
-
- //! <b>Requires</b>: [begin(),i1) and [i1,i2) are valid ranges and s points to an
- //! array of at least traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, s, traits::length(s)).
- //!
- //! <b>Throws</b>: if memory allocation throws
- //!
- //! <b>Returns</b>: *this
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, const CharT* s)
- { return this->replace(i1, i2, s, s + Traits::length(s)); }
-
- //! <b>Requires</b>: [begin(),i1) and [i1,i2) are valid ranges.
- //!
- //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, basic_string(n, c)).
- //!
- //! <b>Throws</b>: if memory allocation throws
- //!
- //! <b>Returns</b>: *this
- basic_string& replace(const_iterator i1, const_iterator i2, size_type n, CharT c)
- {
- const size_type len = static_cast<size_type>(i2 - i1);
- if (len >= n) {
- Traits::assign(const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)), n, c);
- erase(i1 + difference_type(n), i2);
- }
- else {
- Traits::assign(const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)), len, c);
- insert(i2, n - len, c);
- }
- return *this;
- }
-
- //! <b>Requires</b>: [begin(),i1), [i1,i2) and [j1,j2) are valid ranges.
- //!
- //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, basic_string(j1, j2)).
- //!
- //! <b>Throws</b>: if memory allocation throws
- //!
- //! <b>Returns</b>: *this
- template <class InputIter>
- basic_string& replace(const_iterator i1, const_iterator i2, InputIter j1, InputIter j2
- #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
- , typename dtl::disable_if_or
- < void
- , dtl::is_convertible<InputIter, size_type>
- , dtl::is_input_iterator<InputIter>
- >::type * = 0
- #endif
- )
- {
- for ( ; i1 != i2 && j1 != j2; ++i1, ++j1){
- Traits::assign(*const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)), *j1);
- }
-
- if (j1 == j2)
- this->erase(i1, i2);
- else
- this->insert(i2, j1, j2);
- return *this;
- }
-
- #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
- template <class ForwardIter>
- basic_string& replace(const_iterator i1, const_iterator i2, ForwardIter j1, ForwardIter j2
- , typename dtl::disable_if_or
- < void
- , dtl::is_convertible<ForwardIter, size_type>
- , dtl::is_not_input_iterator<ForwardIter>
- >::type * = 0
- )
- {
- 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<CharT*>(boost::movelib::to_raw_pointer(i1)));
- this->erase(i1 + difference_type(n), i2);
- }
- else {
- ForwardIter m = j1;
- boost::container::iterator_advance(m, len);
- this->priv_copy(j1, m, const_cast<CharT*>(boost::movelib::to_raw_pointer(i1)));
- this->insert(i2, m, j2);
- }
- return *this;
- }
- #endif
-
- //! <b>Requires</b>: [begin(), i1) and [i1, i2) are valid ranges.
- //!
- //! <b>Effects</b>: Calls `replace(i1 - begin(), i2 - i1, sv).`.
- //!
- //! <b>Returns</b>: *this.
- template<template <class, class> class BasicStringView>
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, BasicStringView<CharT, Traits> sv)
- {
- return this->replace( static_cast<size_type>(i1 - this->cbegin())
- , static_cast<size_type>(i2 - i1), sv);
- }
-
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
- //! <b>Requires</b>: [begin(), i1) and [i1, i2) are valid ranges.
- //!
- //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, il.begin(), il.size()).
- //!
- //! <b>Returns</b>: *this.
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, std::initializer_list<CharT> il)
- {
- return this->replace( static_cast<size_type>(i1 - this->cbegin())
- , static_cast<size_type>(i2 - i1)
- , il.begin(), il.size());
- }
- #endif
-
- //! <b>Requires</b>: pos <= size()
- //!
- //! <b>Effects</b>: Determines the effective length rlen of the string to copy as the
- //! smaller of n and size() - pos. s shall designate an array of at least rlen elements.
- //! The function then replaces the string designated by s with a string of length rlen
- //! whose elements are a copy of the string controlled by *this beginning at position pos.
- //! The function does not append a null object to the string designated by s.
- //!
- //! <b>Throws</b>: if memory allocation throws, out_of_range if pos > size().
- //!
- //! <b>Returns</b>: rlen
- size_type copy(CharT* s, size_type n, size_type pos = 0) const
- {
- if (pos > this->size())
- throw_out_of_range("basic_string::copy out of range position");
- const size_type len = dtl::min_value(n, this->size() - pos);
- Traits::copy(s, boost::movelib::to_raw_pointer(this->priv_addr() + pos), len);
- return len;
- }
-
- //! <b>Effects</b>: *this contains the same sequence of characters that was in s,
- //! s contains the same sequence of characters that was in *this.
- //!
- //! <b>Throws</b>: 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);
- dtl::bool_<allocator_traits_type::propagate_on_container_swap::value> flag;
- dtl::swap_alloc(this->alloc(), x.alloc(), flag);
- }
-
- //////////////////////////////////////////////
- //
- // data access
- //
- //////////////////////////////////////////////
-
- //! <b>Requires</b>: The program shall not alter any of the values stored in the character array.
- //!
- //! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
- //!
- //! <b>Complexity</b>: constant time.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const CharT* c_str() const BOOST_NOEXCEPT_OR_NOTHROW
- { return boost::movelib::to_raw_pointer(this->priv_addr()); }
-
- //! <b>Requires</b>: The program shall not alter any of the values stored in the character array.
- //!
- //! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
- //!
- //! <b>Complexity</b>: constant time.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- const CharT* data() const BOOST_NOEXCEPT_OR_NOTHROW
- { return boost::movelib::to_raw_pointer(this->priv_addr()); }
-
- //! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
- //!
- //! <b>Complexity</b>: constant time.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- CharT* data() BOOST_NOEXCEPT_OR_NOTHROW
- { return boost::movelib::to_raw_pointer(this->priv_addr()); }
-
- #ifndef BOOST_CONTAINER_TEMPLATED_CONVERSION_OPERATOR_BROKEN
- //! <b>Returns</b>: a string_view to the characters in the string.
- //!
- //! <b>Complexity</b>: constant time.
- template<template <class, class> class BasicStringView>
- BOOST_CONTAINER_FORCEINLINE operator BasicStringView<CharT, Traits>() const BOOST_NOEXCEPT_OR_NOTHROW
- { return this->to_view< BasicStringView<CharT, Traits> >(); }
- #endif
-
- //! <b>Returns</b>: a string_view to the characters in the string.
- //!
- //! <b>Complexity</b>: constant time.
- //!
- //! <b>Note</b>: This function is available to write portable code for compilers
- //! that don't support templated conversion operators.
- template<class BasicStringView>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- BasicStringView to_view() const BOOST_NOEXCEPT_OR_NOTHROW
- { return BasicStringView(this->data(), this->size()); }
-
- //////////////////////////////////////////////
- //
- // string operations
- //
- //////////////////////////////////////////////
-
- //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that both
- //! of the following conditions hold:
- //! 1) pos <= xpos and xpos + str.size() <= size();
- //! 2) traits::eq(at(xpos+I), str.at(I)) for all elements I of the string controlled by str.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find(const basic_string& s, size_type pos = 0) const
- { return find(s.c_str(), pos, s.size()); }
-
- //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that both
- //! of the following conditions hold:
- //! 1) pos <= xpos and xpos + sv.size() <= size();
- //! 2) traits::eq(at(xpos+I), sv.at(I)) for all elements I of the string controlled by sv.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- template<template <class, class> class BasicStringView>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
- { return this->find(sv.data(), pos, sv.size()); }
-
- //! <b>Requires</b>: s points to an array of at least n elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(s,n),pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find(const CharT* s, size_type pos, size_type n) const
- {
- if (pos + n > this->size())
- return npos;
- else {
- const pointer addr = this->priv_addr();
- pointer finish = addr + difference_type(this->priv_size());
- const const_iterator result =
- boost::container::search(boost::movelib::to_raw_pointer(addr + difference_type(pos)),
- boost::movelib::to_raw_pointer(finish),
- s, s + difference_type(n), Eq_traits<Traits>());
- return result != finish ? size_type(result - begin()) : npos;
- }
- }
-
- //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find(basic_string(s), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find(const CharT* s, size_type pos = 0) const
- { return this->find(s, pos, Traits::length(s)); }
-
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(1,c), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find(CharT c, size_type pos = 0) const
- {
- const size_type sz = this->size();
- if (pos >= sz)
- return npos;
- else {
- const pointer addr = this->priv_addr();
- pointer finish = addr + difference_type(sz);
- const const_iterator result =
- boost::container::find_if(addr + difference_type(pos), finish,
- boost::container::bind2nd(Eq_traits<Traits>(), c));
- return result != finish ? size_type(result - begin()) : npos;
- }
- }
-
- //! <b>Effects</b>: Determines the highest position xpos, if possible, such
- //! that both of the following conditions obtain:
- //! a) xpos <= pos and xpos + str.size() <= size();
- //! b) traits::eq(at(xpos+I), str.at(I)) for all elements I of the string controlled by str.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type rfind(const basic_string& str, size_type pos = npos) const
- { return this->rfind(str.c_str(), pos, str.size()); }
-
- //! <b>Effects</b>: Determines the highest position xpos, if possible, such
- //! that both of the following conditions obtain:
- //! a) xpos <= pos and xpos + sv.size() <= size();
- //! b) traits::eq(at(xpos+I), sv.at(I)) for all elements I of the string controlled by sv.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- template<template <class, class> class BasicStringView>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type rfind(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
- { return this->rfind(sv.data(), pos, sv.size()); }
-
- //! <b>Requires</b>: s points to an array of at least n elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: rfind(basic_string(s, n), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type rfind(const CharT* s, size_type pos, size_type n) const
- {
- const size_type len = this->size();
-
- if (n > len)
- return npos;
- else if (n == 0)
- return dtl::min_value(len, pos);
- else {
- const const_iterator last = begin() + difference_type(dtl::min_value(len - n, pos + n));
- const const_iterator result = boost::container::find_end
- (begin(), last, s, s + difference_type(n), Eq_traits<Traits>());
- return result != last ? size_type(result - begin()) : npos;
- }
- }
-
- //! <b>Requires</b>: pos <= size() and s points to an array of at least
- //! traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: rfind(basic_string(s), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type rfind(const CharT* s, size_type pos = npos) const
- { return this->rfind(s, pos, Traits::length(s)); }
-
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: rfind(basic_string<CharT,traits,allocator_type>(1,c),pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type rfind(CharT c, size_type pos = npos) const
- {
- const size_type len = this->size();
-
- if (len < 1)
- return npos;
- else {
- const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
- const_reverse_iterator rresult =
- boost::container::find_if(const_reverse_iterator(last), rend(),
- boost::container::bind2nd(Eq_traits<Traits>(), c));
- return rresult != rend() ? size_type((rresult.base() - 1) - begin()) : npos;
- }
- }
-
- //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that both of the
- //! following conditions obtain: a) pos <= xpos and xpos < size();
- //! b) traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_first_of(const basic_string& str, size_type pos = 0) const
- { return this->find_first_of(str.c_str(), pos, str.size()); }
-
- //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that both of the
- //! following conditions obtain: a) pos <= xpos and xpos < size();
- //! b) traits::eq(at(xpos), sv.at(I)) for some element I of the string controlled by sv.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- template<template <class, class> class BasicStringView>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_first_of(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
- { return this->find_first_of(sv.data(), pos, sv.size()); }
-
- //! <b>Requires</b>: s points to an array of at least n elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_first_of(basic_string(s, n), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_first_of(const CharT* s, size_type pos, size_type n) const
- {
- const size_type sz = this->size();
- if (pos >= sz)
- return npos;
- else {
- const pointer addr = this->priv_addr();
- pointer finish = addr + difference_type(sz);
- const_iterator result = boost::container::find_first_of
- (addr + difference_type(pos), finish, s, s + difference_type(n), Eq_traits<Traits>());
- return result != finish ? size_type(result - this->begin()) : npos;
- }
- }
-
- //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_first_of(basic_string(s), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_first_of(const CharT* s, size_type pos = 0) const
- { return this->find_first_of(s, pos, Traits::length(s)); }
-
- //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_first_of(basic_string<CharT,traits,allocator_type>(1,c), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_first_of(CharT c, size_type pos = 0) const
- { return this->find(c, pos); }
-
- //! <b>Effects</b>: Determines the highest position xpos, if possible, such that both of
- //! the following conditions obtain: a) xpos <= pos and xpos < size(); b)
- //! traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_last_of(const basic_string& str, size_type pos = npos) const
- { return this->find_last_of(str.c_str(), pos, str.size()); }
-
- //! <b>Effects</b>: Determines the highest position xpos, if possible, such that both of
- //! the following conditions obtain: a) xpos <= pos and xpos < size(); b)
- //! traits::eq(at(xpos), str.at(I)) for some element I of the string controlled by str.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- template<template <class, class> class BasicStringView>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_last_of(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
- { return this->find_last_of(sv.data(), pos, sv.size()); }
-
- //! <b>Requires</b>: s points to an array of at least n elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_last_of(basic_string(s, n), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_last_of(const CharT* s, size_type pos, size_type n) const
- {
- const size_type len = this->size();
-
- if (len < 1)
- return npos;
- else {
- const pointer addr = this->priv_addr();
- const const_iterator last = addr + difference_type(dtl::min_value(len - 1, pos) + 1);
- const const_reverse_iterator rresult =
- boost::container::find_first_of(const_reverse_iterator(last), rend(),
- s, s + difference_type(n), Eq_traits<Traits>());
- return rresult != rend() ? size_type((rresult.base() - 1) - addr) : npos;
- }
- }
-
- //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_last_of(basic_string<CharT,traits,allocator_type>(1,c),pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_last_of(const CharT* s, size_type pos = npos) const
- { return this->find_last_of(s, pos, Traits::length(s)); }
-
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_last_of(basic_string(s), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_last_of(CharT c, size_type pos = npos) const
- { return this->rfind(c, pos); }
-
- //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that
- //! both of the following conditions obtain:
- //! a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), str.at(I)) for no
- //! element I of the string controlled by str.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_first_not_of(const basic_string& str, size_type pos = 0) const
- { return this->find_first_not_of(str.c_str(), pos, str.size()); }
-
- //! <b>Effects</b>: Determines the lowest position xpos, if possible, such that
- //! both of the following conditions obtain:
- //! a) pos <= xpos and xpos < size(); b) traits::eq(at(xpos), sv.at(I)) for no
- //! element I of the string controlled by sv.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- template<template <class, class> class BasicStringView>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_first_not_of(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
- { return this->find_first_not_of(sv.data(), pos, sv.size()); }
-
- //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_first_not_of(basic_string(s, n), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_first_not_of(const CharT* s, size_type pos, size_type n) const
- {
- if (pos > this->size())
- return npos;
- else {
- const pointer addr = this->priv_addr();
- const pointer finish = addr + difference_type(this->priv_size());
- const const_iterator result = boost::container::find_if
- (addr + difference_type(pos), finish, Not_within_traits<Traits>(s, s + difference_type(n)));
- return result != finish ? size_type(result - addr) : npos;
- }
- }
-
- //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_first_not_of(basic_string(s), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_first_not_of(const CharT* s, size_type pos = 0) const
- { return this->find_first_not_of(s, pos, Traits::length(s)); }
-
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_first_not_of(basic_string(1, c), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_first_not_of(CharT c, size_type pos = 0) const
- {
- if (pos > this->size())
- return npos;
- else {
- const pointer addr = this->priv_addr();
- const pointer finish = addr + difference_type(this->priv_size());
- const const_iterator result
- = boost::container::find_if(addr + difference_type(pos), finish,
- boost::container::not1(boost::container::bind2nd(Eq_traits<Traits>(), c)));
- return result != finish ? size_type(result - begin()) : npos;
- }
- }
-
- //! <b>Effects</b>: Determines the highest position xpos, if possible, such that
- //! both of the following conditions obtain: a) xpos <= pos and xpos < size();
- //! b) traits::eq(at(xpos), str.at(I)) for no element I of the string controlled by str.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_last_not_of(const basic_string& str, size_type pos = npos) const
- { return this->find_last_not_of(str.c_str(), pos, str.size()); }
-
- //! <b>Effects</b>: Determines the highest position xpos, if possible, such that
- //! both of the following conditions obtain: a) xpos <= pos and xpos < size();
- //! b) traits::eq(at(xpos), sv.at(I)) for no element I of the string controlled by sv.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
- template<template <class, class> class BasicStringView>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_last_not_of(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
- { return this->find_last_not_of(sv.data(), pos, sv.size()); }
-
- //! <b>Requires</b>: s points to an array of at least n elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_last_not_of(basic_string(s, n), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_last_not_of(const CharT* s, size_type pos, size_type n) const
- {
- const size_type len = this->size();
-
- if (len < 1)
- return npos;
- else {
- const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
- const const_reverse_iterator rresult =
- boost::container::find_if(const_reverse_iterator(last), rend(),
- Not_within_traits<Traits>(s, s + difference_type(n)));
- return rresult != rend() ? size_type((rresult.base() - 1) - begin()) : npos;
- }
- }
-
- //! <b>Requires</b>: s points to an array of at least traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_last_not_of(basic_string(s), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_last_not_of(const CharT* s, size_type pos = npos) const
- { return this->find_last_not_of(s, pos, Traits::length(s)); }
-
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: find_last_not_of(basic_string(1, c), pos).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- size_type find_last_not_of(CharT c, size_type pos = npos) const
- {
- const size_type len = this->size();
-
- if (len < 1)
- return npos;
- else {
- const const_iterator last = begin() + dtl::min_value(len - 1, pos) + 1;
- const const_reverse_iterator rresult =
- boost::container::find_if(const_reverse_iterator(last), rend(),
- boost::container::not1(boost::container::bind2nd(Eq_traits<Traits>(), c)));
- return rresult != rend() ? size_type((rresult.base() - 1) - begin()) : npos;
- }
- }
-
- //! <b>Requires</b>: Requires: pos <= size()
- //!
- //! <b>Effects</b>: Determines the effective length rlen of the string to copy as
- //! the smaller of n and size() - pos.
- //!
- //! <b>Throws</b>: If memory allocation throws or out_of_range if pos > size().
- //!
- //! <b>Returns</b>: basic_string<CharT,traits,allocator_type>(data()+pos,rlen).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- basic_string substr(size_type pos = 0, size_type n = npos) const
- {
- if (pos > this->size())
- throw_out_of_range("basic_string::substr out of range position");
- const pointer addr = this->priv_addr();
- return basic_string(addr + difference_type(pos),
- addr + difference_type(pos + dtl::min_value(n, size() - pos)), this->alloc());
- }
-
- //! <b>Effects</b>: Determines the effective length rlen of the string to compare as
- //! the smaller of size() and str.size(). The function then compares the two strings by
- //! calling traits::compare(data(), str.data(), rlen).
- //!
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: The nonzero result if the result of the comparison is nonzero.
- //! Otherwise, returns a value < 0 if size() < str.size(), a 0 value if size() == str.size(),
- //! and value > 0 if size() > str.size()
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- int compare(const basic_string& str) const
- {
- const pointer addr = this->priv_addr();
- const pointer str_addr = str.priv_addr();
- return this->s_compare(addr, addr + difference_type(this->priv_size()), str_addr, str_addr + difference_type(str.priv_size()));
- }
-
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: compare(basic_string(sv)).
- template<template <class, class> class BasicStringView>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- int compare(BasicStringView<CharT,Traits> sv) const
- {
- const pointer addr = this->priv_addr();
- return this->s_compare(addr, addr + difference_type(this->priv_size()), sv.data(), sv.data() + difference_type(sv.size()));
- }
-
- //! <b>Requires</b>: pos1 <= size()
- //!
- //! <b>Effects</b>: Determines the effective length rlen of the string to compare as
- //! the smaller of (this->size() - pos1), n1 and str.size(). The function then compares the two strings by
- //! calling traits::compare(data()+pos1, str.data(), rlen).
- //!
- //! <b>Throws</b>: out_of_range if pos1 > size()
- //!
- //! <b>Returns</b>:basic_string(*this,pos1,n1).compare(str).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- int compare(size_type pos1, size_type n1, const basic_string& str) const
- {
- if (pos1 > this->size())
- throw_out_of_range("basic_string::compare out of range position");
- const pointer addr = this->priv_addr();
- const pointer str_addr = str.priv_addr();
- return this->s_compare(addr + difference_type(pos1),
- addr + difference_type(pos1 + dtl::min_value(n1, this->size() - pos1)),
- str_addr, str_addr + difference_type(str.priv_size()));
- }
-
- //! <b>Requires</b>: pos1 <= size()
- //!
- //! <b>Throws</b>: out_of_range if pos1 > size()
- //!
- //! <b>Returns</b>:basic_string(*this,pos1,n1).compare(sv).
- template<template <class, class> class BasicStringView>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- int compare(size_type pos1, size_type n1, BasicStringView<CharT,Traits> sv) const
- {
- if (pos1 > this->size())
- throw_out_of_range("basic_string::compare out of range position");
- const pointer addr = this->priv_addr() + pos1;
- const CharT* str_addr = sv.data();
- return this->s_compare(addr, addr + difference_type(dtl::min_value(n1, this->size() - pos1)),
- str_addr, str_addr + sv.size());
- }
-
- //! <b>Requires</b>: pos1 <= size() and pos2 <= str.size()
- //!
- //! <b>Effects</b>: Determines the effective length rlen of the string to copy as
- //! the smaller of
- //!
- //! <b>Throws</b>: out_of_range if pos1 > size() or pos2 > str.size()
- //!
- //! <b>Returns</b>: basic_string(*this, pos1, n1).compare(basic_string(str, pos2, n2)).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- int compare(size_type pos1, size_type n1, const basic_string& str, size_type pos2, size_type n2 = npos) const
- {
- if (pos1 > this->size() || pos2 > str.size())
- throw_out_of_range("basic_string::compare out of range position");
- const pointer addr = this->priv_addr() + pos1;
- const pointer str_addr = str.priv_addr() + pos2;
- return this->s_compare(addr, addr + difference_type(dtl::min_value(n1, this->size() - pos1)),
- str_addr, str_addr + difference_type(dtl::min_value(n2, str.size() - pos2)));
- }
-
- //! <b>Requires</b>: pos1 <= size() and pos2 <= str.size()
- //!
- //! <b>Effects</b>: Determines the effective length rlen of the string to copy as
- //! the smaller of
- //!
- //! <b>Throws</b>: out_of_range if pos1 > size() or pos2 > sv.size()
- //!
- //! <b>Returns</b>: basic_string(*this, pos1, n1).compare(BasicStringView<CharT, Traits>(sv, pos2, n2)).
- template<template <class, class> class BasicStringView>
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- int compare(size_type pos1, size_type n1, BasicStringView<CharT,Traits> sv, size_type pos2, size_type n2) const
- {
- if (pos1 > this->size() || pos2 > sv.size())
- throw_out_of_range("basic_string::compare out of range position");
- const pointer addr = this->priv_addr() + pos1;
- const CharT * str_addr = sv.data() + pos2;
- return this->s_compare(addr, addr + difference_type(dtl::min_value(n1, this->size() - pos1)),
- str_addr, str_addr + difference_type(dtl::min_value(n2, sv.size() - pos2)));
- }
-
- //! <b>Throws</b>: Nothing
- //!
- //! <b>Returns</b>: compare(basic_string(s)).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- int compare(const CharT* s) const
- {
- const pointer addr = this->priv_addr();
- return this->s_compare(addr, addr + difference_type(this->priv_size()), s, s + Traits::length(s));
- }
-
- //! <b>Requires</b>: pos1 > size() and s points to an array of at least n2 elements of CharT.
- //!
- //! <b>Throws</b>: out_of_range if pos1 > size()
- //!
- //! <b>Returns</b>: basic_string(*this, pos, n1).compare(basic_string(s, n2)).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- int compare(size_type pos1, size_type n1, const CharT* s, size_type n2) const
- {
- if (pos1 > this->size())
- throw_out_of_range("basic_string::compare out of range position");
- const pointer addr = this->priv_addr();
- return this->s_compare( addr + difference_type(pos1),
- addr + difference_type(pos1 + dtl::min_value(n1, this->size() - pos1)),
- s, s + difference_type(n2));
- }
-
- //! <b>Requires</b>: pos1 > size() and s points to an array of at least traits::length(s) + 1 elements of CharT.
- //!
- //! <b>Throws</b>: out_of_range if pos1 > size()
- //!
- //! <b>Returns</b>: basic_string(*this, pos, n1).compare(basic_string(s, n2)).
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
- int compare(size_type pos1, size_type n1, const CharT* s) const
- { return this->compare(pos1, n1, s, Traits::length(s)); }
-
- #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
- private:
- void priv_reserve(size_type res_arg, const bool null_terminate = true)
- {
- if (res_arg > this->max_size()){
- throw_length_error("basic_string::reserve max_size() exceeded");
- }
-
- if (this->capacity() < res_arg){
- size_type n = dtl::max_value(res_arg, this->size()) + 1;
- size_type new_cap = this->next_capacity(n);
- 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();
- new_length += priv_uninitialized_copy
- (addr, addr + difference_type(this->priv_size()), new_start);
- if(null_terminate){
- this->priv_construct_null(new_start + difference_type(new_length));
- }
- this->deallocate_block();
- this->assure_long();
- this->priv_long_addr(new_start);
- this->priv_long_size(new_length);
- this->priv_storage(new_cap);
- }
- }
-
- template<class It1, class It2>
- static int s_compare(It1 f1, It1 l1, It2 f2, It2 l2)
- {
- const std::size_t n1 = std::size_t(l1 - f1);
- const std::size_t n2 = std::size_t(l2 - f2);
- const int cmp = Traits::compare(boost::movelib::to_raw_pointer(f1),
- boost::movelib::to_raw_pointer(f2),
- dtl::min_value(n1, n2));
- return cmp != 0 ? cmp : (n1 < n2 ? -1 : (n1 > n2 ? 1 : 0));
- }
-
- template<class AllocVersion>
- void priv_shrink_to_fit_dynamic_buffer
- ( AllocVersion
- , typename dtl::enable_if<dtl::is_same<AllocVersion, version_1> >::type* = 0)
- {
- //Allocate a new buffer.
- size_type real_cap = 0;
- const pointer long_addr = this->priv_long_addr();
- const size_type long_size = this->priv_long_size();
- const size_type long_storage = this->priv_long_storage();
- //We can make this nothrow as chars are always NoThrowCopyables
- BOOST_TRY{
- 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( boost::movelib::to_raw_pointer(ret)
- , boost::movelib::to_raw_pointer(this->priv_long_addr())
- , long_size+1);
- this->priv_long_addr(ret);
- this->priv_storage(real_cap);
- //And release old buffer
- this->alloc().deallocate(long_addr, long_storage);
- }
- BOOST_CATCH(...){
- return;
- }
- BOOST_CATCH_END
- }
-
- template<class AllocVersion>
- void priv_shrink_to_fit_dynamic_buffer
- ( AllocVersion
- , typename dtl::enable_if<dtl::is_same<AllocVersion, version_2> >::type* = 0)
- {
- 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(), received_size, hint)){
- this->priv_storage(received_size);
- }
- }
-
- BOOST_CONTAINER_FORCEINLINE void priv_construct_null(pointer p)
- { this->construct(p, CharT(0)); }
-
- // Helper functions used by constructors. It is a severe error for
- // any of them to be called anywhere except from within constructors.
- BOOST_CONTAINER_FORCEINLINE void priv_terminate_string()
- { this->priv_construct_null(this->priv_end_addr()); }
-
- template<class FwdIt, class Count> inline
- void priv_uninitialized_fill_n(FwdIt first, Count count, const CharT val)
- {
- //Save initial position
- FwdIt init = first;
-
- BOOST_TRY{
- //Construct objects
- for (; count--; ++first){
- this->construct(first, val);
- }
- }
- BOOST_CATCH(...){
- //Call destructors
- for (; init != first; ++init){
- this->destroy(init);
- }
- BOOST_RETHROW
- }
- BOOST_CATCH_END
- }
-
- template<class InpIt, class FwdIt> inline
- size_type priv_uninitialized_copy(InpIt first, InpIt last, FwdIt dest)
- {
- //Save initial destination position
- FwdIt dest_init = dest;
- size_type constructed = 0;
-
- BOOST_TRY{
- //Try to build objects
- for (; first != last; ++dest, ++first, ++constructed){
- this->construct(dest, *first);
- }
- }
- BOOST_CATCH(...){
- //Call destructors
- for (; constructed--; ++dest_init){
- this->destroy(dest_init);
- }
- BOOST_RETHROW
- }
- BOOST_CATCH_END
- return (constructed);
- }
-
- template <class InputIterator, class OutIterator>
- static void priv_copy(InputIterator first, InputIterator last, OutIterator result)
- {
- for ( ; first != last; ++first, ++result)
- Traits::assign(*result, *first);
- }
-
- static BOOST_CONTAINER_FORCEINLINE void priv_copy(const CharT* first, const CharT* last, CharT* result)
- { Traits::copy(result, first, std::size_t(last - first)); }
-
- template <class Integer>
- BOOST_CONTAINER_FORCEINLINE basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
- Integer n, Integer x,
- dtl::true_)
- { return this->replace(first, last, (size_type) n, (CharT) x); }
-
- template <class InputIter>
- BOOST_CONTAINER_FORCEINLINE basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
- InputIter f, InputIter l,
- dtl::false_)
- {
- typedef typename boost::container::iterator_traits<InputIter>::iterator_category Category;
- return this->priv_replace(first, last, f, l, Category());
- }
-
- #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-};
-
-#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
-
-template <typename InputIterator>
-basic_string(InputIterator, InputIterator) ->
- basic_string<typename iterator_traits<InputIterator>::value_type>;
-
-template <typename InputIterator, typename Allocator>
-basic_string(InputIterator, InputIterator, Allocator const&) ->
- basic_string<typename iterator_traits<InputIterator>::value_type, Allocator>;
-
-#endif
-
-#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-//!Typedef for a basic_string of
-//!narrow characters
-typedef basic_string
- <char
- ,std::char_traits<char>
- ,new_allocator<char> >
-string;
-
-//!Typedef for a basic_string of
-//!narrow characters
-typedef basic_string
- <wchar_t
- ,std::char_traits<wchar_t>
- ,new_allocator<wchar_t> >
-wstring;
-
-#else
-
-template <class CharT, class Traits, class Allocator>
-const typename basic_string<CharT,Traits,Allocator>::size_type
- basic_string<CharT,Traits,Allocator>::npos;
-
-template<class S>
-struct is_string
-{
- static const bool value = false;
-};
-
-template<class C, class T, class A>
-struct is_string< basic_string<C, T, A> >
-{
- static const bool value = true;
-};
-
-#endif
-
-// ------------------------------------------------------------
-// Non-member functions.
-
-// Operator+
-
-template <class CharT, class Traits, class Allocator> inline
- basic_string<CharT,Traits,Allocator>
- operator+(const basic_string<CharT,Traits,Allocator>& x
- ,const basic_string<CharT,Traits,Allocator>& y)
-{
- typedef basic_string<CharT,Traits,Allocator> str_t;
- typedef typename str_t::reserve_t reserve_t;
- reserve_t reserve;
- str_t result(reserve, x.size() + y.size(), x.get_stored_allocator());
- result.append(x);
- result.append(y);
- return result;
-}
-
-template <class CharT, class Traits, class Allocator> inline
- basic_string<CharT, Traits, Allocator> operator+
- ( BOOST_RV_REF_BEG basic_string<CharT, Traits, Allocator> BOOST_RV_REF_END x
- , BOOST_RV_REF_BEG basic_string<CharT, Traits, Allocator> BOOST_RV_REF_END y)
-{
- x += y;
- return boost::move(x);
-}
-
-template <class CharT, class Traits, class Allocator> inline
- basic_string<CharT, Traits, Allocator> operator+
- ( BOOST_RV_REF_BEG basic_string<CharT, Traits, Allocator> BOOST_RV_REF_END x
- , const basic_string<CharT,Traits,Allocator>& y)
-{
- x += y;
- return boost::move(x);
-}
-
-template <class CharT, class Traits, class Allocator> inline
- basic_string<CharT, Traits, Allocator> operator+
- (const basic_string<CharT,Traits,Allocator>& x
- ,BOOST_RV_REF_BEG basic_string<CharT, Traits, Allocator> BOOST_RV_REF_END y)
-{
- y.insert(y.begin(), x.begin(), x.end());
- return boost::move(y);
-}
-
-template <class CharT, class Traits, class Allocator> inline
- basic_string<CharT, Traits, Allocator> operator+
- (const CharT* s, basic_string<CharT, Traits, Allocator> y)
-{
- y.insert(y.begin(), s, s + Traits::length(s));
- return y;
-}
-
-template <class CharT, class Traits, class Allocator> inline
- basic_string<CharT,Traits,Allocator> operator+
- (basic_string<CharT,Traits,Allocator> x, const CharT* s)
-{
- x += s;
- return x;
-}
-
-template <class CharT, class Traits, class Allocator> inline
- basic_string<CharT,Traits,Allocator> operator+
- (CharT c, basic_string<CharT,Traits,Allocator> y)
-{
- y.insert(y.begin(), c);
- return y;
-}
-
-template <class CharT, class Traits, class Allocator> inline
- basic_string<CharT,Traits,Allocator> operator+
- (basic_string<CharT,Traits,Allocator> x, const CharT c)
-{
- x += c;
- return x;
-}
-
-// Operator== and operator!=
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator==(const basic_string<CharT,Traits,Allocator>& x, const basic_string<CharT,Traits,Allocator>& y)
-{
- return x.size() == y.size() &&
- Traits::compare(x.data(), y.data(), x.size()) == 0;
-}
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator==(const CharT* s, const basic_string<CharT,Traits,Allocator>& y)
-{
- typename basic_string<CharT,Traits,Allocator>::size_type n = Traits::length(s);
- return n == y.size() && Traits::compare(s, y.data(), n) == 0;
-}
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator==(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
-{
- typename basic_string<CharT,Traits,Allocator>::size_type n = Traits::length(s);
- return x.size() == n && Traits::compare(x.data(), s, n) == 0;
-}
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
- operator==( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
-{
- return x.size() == y.size() &&
- Traits::compare(x.data(), y.data(), x.size()) == 0;
-}
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
- operator==( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
-{
- return x.size() == y.size() &&
- Traits::compare(x.data(), y.data(), x.size()) == 0;
-}
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator!=(const basic_string<CharT,Traits,Allocator>& x, const basic_string<CharT,Traits,Allocator>& y)
- { return !(x == y); }
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator!=(const CharT* s, const basic_string<CharT,Traits,Allocator>& y)
- { return !(s == y); }
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator!=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
- { return !(x == s); }
-
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
-operator!=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
- { return !(x == y); }
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
-operator!=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
- { return !(x == y); }
-
-// Operator< (and also >, <=, and >=).
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator<(const basic_string<CharT,Traits,Allocator>& x, const basic_string<CharT,Traits,Allocator>& y)
-{
- return x.compare(y) < 0;
-}
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator<(const CharT* s, const basic_string<CharT,Traits,Allocator>& y)
-{
- return y.compare(s) > 0;
-}
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator<(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
-{
- return x.compare(s) < 0;
-}
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
-operator<( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
- { return y.compare(x) > 0; }
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
-operator<( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
- { return x.compare(y) < 0; }
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator>(const basic_string<CharT,Traits,Allocator>& x, const basic_string<CharT,Traits,Allocator>& y) {
- return y < x;
-}
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator>(const CharT* s, const basic_string<CharT,Traits,Allocator>& y) {
- return y < s;
-}
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator>(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
-{
- return s < x;
-}
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
-operator>( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
- { return y < x; }
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
-operator>( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
- { return y < x; }
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator<=(const basic_string<CharT,Traits,Allocator>& x, const basic_string<CharT,Traits,Allocator>& y)
-{
- return !(y < x);
-}
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator<=(const CharT* s, const basic_string<CharT,Traits,Allocator>& y)
- { return !(y < s); }
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator<=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
- { return !(s < x); }
-
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
-operator<=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
- { return !(y < x); }
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
-operator<=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
- { return !(y < x); }
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator>=(const basic_string<CharT,Traits,Allocator>& x,
- const basic_string<CharT,Traits,Allocator>& y)
- { return !(x < y); }
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator>=(const CharT* s, const basic_string<CharT,Traits,Allocator>& y)
- { return !(s < y); }
-
-template <class CharT, class Traits, class Allocator>
-inline bool
-operator>=(const basic_string<CharT,Traits,Allocator>& x, const CharT* s)
- { return !(x < s); }
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
-operator>=( BasicStringView<CharT,Traits> x, const basic_string<CharT,Traits,Allocator>& y)
- { return !(x < y); }
-
-template <class CharT, class Traits, class Allocator, template <class, class> class BasicStringView>
-inline
- BOOST_CONTAINER_DOC1ST( bool,
- typename dtl::disable_if
- <is_string< BasicStringView<CharT BOOST_MOVE_I Traits> > BOOST_MOVE_I bool >::type)
-operator>=( const basic_string<CharT,Traits,Allocator>& x, BasicStringView<CharT,Traits> y)
- { return !(x < y); }
-
-// Swap.
-template <class CharT, class Traits, class Allocator>
-inline void swap(basic_string<CharT,Traits,Allocator>& x, basic_string<CharT,Traits,Allocator>& y)
- BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
-{ x.swap(y); }
-
-#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-// I/O.
-namespace dtl {
-
-template <class CharT, class Traits>
-inline bool
-string_fill(std::basic_ostream<CharT, Traits>& os,
- std::basic_streambuf<CharT, Traits>* buf,
- std::size_t n)
-{
- CharT f = os.fill();
- std::size_t i;
- bool ok = true;
-
- for (i = 0; i < n; i++)
- ok = ok && !Traits::eq_int_type(buf->sputc(f), Traits::eof());
- return ok;
-}
-
-} //namespace dtl {
-#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-template <class CharT, class Traits, class Allocator>
-std::basic_ostream<CharT, Traits>&
-operator<<(std::basic_ostream<CharT, Traits>& os, const basic_string<CharT,Traits,Allocator>& s)
-{
- typename std::basic_ostream<CharT, Traits>::sentry sentry(os);
- bool ok = false;
-
- if (sentry) {
- ok = true;
- typename basic_string<CharT,Traits,Allocator>::size_type n = s.size();
- typename basic_string<CharT,Traits,Allocator>::size_type pad_len = 0;
- const bool left = (os.flags() & std::ios::left) != 0;
- const std::size_t w = os.width(0);
- std::basic_streambuf<CharT, Traits>* buf = os.rdbuf();
-
- if (w != 0 && n < w)
- pad_len = w - n;
-
- if (!left)
- ok = dtl::string_fill(os, buf, pad_len);
-
- ok = ok &&
- buf->sputn(s.data(), std::streamsize(n)) == std::streamsize(n);
-
- if (left)
- ok = ok && dtl::string_fill(os, buf, pad_len);
- }
-
- if (!ok)
- os.setstate(std::ios_base::failbit);
-
- return os;
-}
-
-
-template <class CharT, class Traits, class Allocator>
-std::basic_istream<CharT, Traits>&
-operator>>(std::basic_istream<CharT, Traits>& is, basic_string<CharT,Traits,Allocator>& s)
-{
- typename std::basic_istream<CharT, Traits>::sentry sentry(is);
-
- if (sentry) {
- std::basic_streambuf<CharT, Traits>* buf = is.rdbuf();
- const std::ctype<CharT>& ctype = std::use_facet<std::ctype<CharT> >(is.getloc());
-
- s.clear();
- std::size_t n = is.width(0);
- if (n == 0)
- n = static_cast<std::size_t>(-1);
- else
- s.reserve(n);
-
- while (n-- > 0) {
- typename Traits::int_type c1 = buf->sbumpc();
-
- if (Traits::eq_int_type(c1, Traits::eof())) {
- is.setstate(std::ios_base::eofbit);
- break;
- }
- else {
- CharT c = Traits::to_char_type(c1);
-
- if (ctype.is(std::ctype<CharT>::space, c)) {
- if (Traits::eq_int_type(buf->sputbackc(c), Traits::eof()))
- is.setstate(std::ios_base::failbit);
- break;
- }
- else
- s.push_back(c);
- }
- }
-
- // If we have read no characters, then set failbit.
- if (s.size() == 0)
- is.setstate(std::ios_base::failbit);
- }
- else
- is.setstate(std::ios_base::failbit);
-
- return is;
-}
-
-template <class CharT, class Traits, class Allocator>
-std::basic_istream<CharT, Traits>&
-getline(std::istream& is, basic_string<CharT,Traits,Allocator>& s,CharT delim)
-{
- typename basic_string<CharT,Traits,Allocator>::size_type nread = 0;
- typename std::basic_istream<CharT, Traits>::sentry sentry(is, true);
- if (sentry) {
- std::basic_streambuf<CharT, Traits>* buf = is.rdbuf();
- s.clear();
-
- while (nread < s.max_size()) {
- int c1 = buf->sbumpc();
- if (Traits::eq_int_type(c1, Traits::eof())) {
- is.setstate(std::ios_base::eofbit);
- break;
- }
- else {
- ++nread;
- CharT c = Traits::to_char_type(c1);
- if (!Traits::eq(c, delim))
- s.push_back(c);
- else
- break; // Character is extracted but not appended.
- }
- }
- }
- if (nread == 0 || nread >= s.max_size())
- is.setstate(std::ios_base::failbit);
-
- return is;
-}
-
-template <class CharT, class Traits, class Allocator>
-inline std::basic_istream<CharT, Traits>&
-getline(std::basic_istream<CharT, Traits>& is, basic_string<CharT,Traits,Allocator>& s)
-{
- return getline(is, s, '\n');
-}
-
-template <class Ch, class Allocator>
-inline std::size_t hash_value(basic_string<Ch, std::char_traits<Ch>, Allocator> const& v)
-{
- std::size_t seed = 0;
- const Ch *first = v.data();
-
- for(std::size_t i = 0, i_max = v.size(); i != i_max; ++i)
- {
- boost::intrusive::detail::hash_combine_size_t(seed, static_cast<std::size_t>(*first));
- ++first;
- }
-
- return seed;
-}
-
-}}
-
-#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-namespace boost {
-
-//!has_trivial_destructor_after_move<> == true_type
-//!specialization for optimizations
-template <class C, class T, class Allocator>
-struct has_trivial_destructor_after_move<boost::container::basic_string<C, T, Allocator> >
-{
- typedef typename boost::container::basic_string<C, T, Allocator>::allocator_type allocator_type;
- typedef typename ::boost::container::allocator_traits<allocator_type>::pointer pointer;
- static const bool value = ::boost::has_trivial_destructor_after_move<allocator_type>::value &&
- ::boost::has_trivial_destructor_after_move<pointer>::value;
-};
-
-}
-
-#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
-
-#include <boost/container/detail/config_end.hpp>
-
-#endif // BOOST_CONTAINER_STRING_HPP
diff --git a/contrib/restricted/boost/core/include/boost/core/null_deleter.hpp b/contrib/restricted/boost/core/include/boost/core/null_deleter.hpp
deleted file mode 100644
index f0af59034e..0000000000
--- a/contrib/restricted/boost/core/include/boost/core/null_deleter.hpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file null_deleter.hpp
- * \author Andrey Semashev
- * \date 22.04.2007
- *
- * This header contains a \c null_deleter implementation. This is an empty
- * function object that receives a pointer and does nothing with it.
- * Such empty deletion strategy may be convenient, for example, when
- * constructing <tt>shared_ptr</tt>s that point to some object that should not be
- * deleted (i.e. a variable on the stack or some global singleton, like <tt>std::cout</tt>).
- */
-
-#ifndef BOOST_CORE_NULL_DELETER_HPP
-#define BOOST_CORE_NULL_DELETER_HPP
-
-#include <boost/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-//! A function object that does nothing and can be used as an empty deleter for \c shared_ptr
-struct null_deleter
-{
- //! Function object result type
- typedef void result_type;
- /*!
- * Does nothing
- */
- template< typename T >
- void operator() (T*) const BOOST_NOEXCEPT {}
-};
-
-} // namespace boost
-
-#endif // BOOST_CORE_NULL_DELETER_HPP
diff --git a/contrib/restricted/boost/core/include/boost/detail/scoped_enum_emulation.hpp b/contrib/restricted/boost/core/include/boost/detail/scoped_enum_emulation.hpp
deleted file mode 100644
index 6e47c0f1e7..0000000000
--- a/contrib/restricted/boost/core/include/boost/detail/scoped_enum_emulation.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright (c) 2014 Andrey Semashev
- *
- * Distributed under the 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_DETAIL_SCOPED_ENUM_EMULATION_HPP
-#define BOOST_DETAIL_SCOPED_ENUM_EMULATION_HPP
-
-// The header file at this path is deprecated;
-// use boost/core/scoped_enum.hpp instead.
-
-#include <boost/config/header_deprecated.hpp>
-
-BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
-
-#include <boost/core/scoped_enum.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/date_facet.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_facet.hpp
deleted file mode 100644
index 4ab49236f4..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/date_facet.hpp
+++ /dev/null
@@ -1,766 +0,0 @@
-#ifndef _DATE_TIME_DATE_FACET__HPP___
-#define _DATE_TIME_DATE_FACET__HPP___
-
-/* Copyright (c) 2004-2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Martin Andrian, Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <iterator> // ostreambuf_iterator
-#include <locale>
-#include <string>
-#include <vector>
-#include <boost/throw_exception.hpp>
-#include <boost/algorithm/string/replace.hpp>
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/period.hpp>
-#include <boost/date_time/special_defs.hpp>
-#include <boost/date_time/special_values_formatter.hpp>
-#include <boost/date_time/period_formatter.hpp>
-#include <boost/date_time/period_parser.hpp>
-#include <boost/date_time/date_generator_formatter.hpp>
-#include <boost/date_time/date_generator_parser.hpp>
-#include <boost/date_time/format_date_parser.hpp>
-
-namespace boost { namespace date_time {
-
-
- /*! Class that provides format based I/O facet for date types.
- *
- * This class allows the formatting of dates by using format string.
- * Format strings are:
- *
- * - %A => long_weekday_format - Full name Ex: Tuesday
- * - %a => short_weekday_format - Three letter abbreviation Ex: Tue
- * - %B => long_month_format - Full name Ex: October
- * - %b => short_month_format - Three letter abbreviation Ex: Oct
- * - %x => standard_format_specifier - defined by the locale
- * - %Y-%b-%d => default_date_format - YYYY-Mon-dd
- *
- * Default month format == %b
- * Default weekday format == %a
- */
- template <class date_type,
- class CharT,
- class OutItrT = std::ostreambuf_iterator<CharT, std::char_traits<CharT> > >
- class BOOST_SYMBOL_VISIBLE date_facet : public std::locale::facet {
- public:
- typedef typename date_type::duration_type duration_type;
- // greg_weekday is gregorian_calendar::day_of_week_type
- typedef typename date_type::day_of_week_type day_of_week_type;
- typedef typename date_type::day_type day_type;
- typedef typename date_type::month_type month_type;
- typedef boost::date_time::period<date_type,duration_type> period_type;
- typedef std::basic_string<CharT> string_type;
- typedef CharT char_type;
- typedef boost::date_time::period_formatter<CharT> period_formatter_type;
- typedef boost::date_time::special_values_formatter<CharT> special_values_formatter_type;
- typedef std::vector<std::basic_string<CharT> > input_collection_type;
- // used for the output of the date_generators
- typedef date_generator_formatter<date_type, CharT> date_gen_formatter_type;
- typedef partial_date<date_type> partial_date_type;
- typedef nth_kday_of_month<date_type> nth_kday_type;
- typedef first_kday_of_month<date_type> first_kday_type;
- typedef last_kday_of_month<date_type> last_kday_type;
- typedef first_kday_after<date_type> kday_after_type;
- typedef first_kday_before<date_type> kday_before_type;
- static const char_type long_weekday_format[3];
- static const char_type short_weekday_format[3];
- static const char_type long_month_format[3];
- static const char_type short_month_format[3];
- static const char_type default_period_separator[4];
- static const char_type standard_format_specifier[3];
- static const char_type iso_format_specifier[7];
- static const char_type iso_format_extended_specifier[9];
- static const char_type default_date_format[9]; // YYYY-Mon-DD
- static std::locale::id id;
-
-#if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
- std::locale::id& __get_id (void) const { return id; }
-#endif
-
- explicit date_facet(::size_t a_ref = 0)
- : std::locale::facet(a_ref),
- //m_format(standard_format_specifier)
- m_format(default_date_format),
- m_month_format(short_month_format),
- m_weekday_format(short_weekday_format)
- {}
-
- explicit date_facet(const char_type* format_str,
- const input_collection_type& short_names,
- ::size_t ref_count = 0)
- : std::locale::facet(ref_count),
- m_format(format_str),
- m_month_format(short_month_format),
- m_weekday_format(short_weekday_format),
- m_month_short_names(short_names)
- {}
-
-
- explicit date_facet(const char_type* format_str,
- period_formatter_type per_formatter = period_formatter_type(),
- special_values_formatter_type sv_formatter = special_values_formatter_type(),
- date_gen_formatter_type dg_formatter = date_gen_formatter_type(),
- ::size_t ref_count = 0)
- : std::locale::facet(ref_count),
- m_format(format_str),
- m_month_format(short_month_format),
- m_weekday_format(short_weekday_format),
- m_period_formatter(per_formatter),
- m_date_gen_formatter(dg_formatter),
- m_special_values_formatter(sv_formatter)
- {}
- void format(const char_type* const format_str) {
- m_format = format_str;
- }
- virtual void set_iso_format()
- {
- m_format = iso_format_specifier;
- }
- virtual void set_iso_extended_format()
- {
- m_format = iso_format_extended_specifier;
- }
- void month_format(const char_type* const format_str) {
- m_month_format = format_str;
- }
- void weekday_format(const char_type* const format_str) {
- m_weekday_format = format_str;
- }
-
- void period_formatter(period_formatter_type per_formatter) {
- m_period_formatter= per_formatter;
- }
- void special_values_formatter(const special_values_formatter_type& svf)
- {
- m_special_values_formatter = svf;
- }
- void short_weekday_names(const input_collection_type& short_names)
- {
- m_weekday_short_names = short_names;
- }
- void long_weekday_names(const input_collection_type& long_names)
- {
- m_weekday_long_names = long_names;
- }
-
- void short_month_names(const input_collection_type& short_names)
- {
- m_month_short_names = short_names;
- }
-
- void long_month_names(const input_collection_type& long_names)
- {
- m_month_long_names = long_names;
- }
-
- void date_gen_phrase_strings(const input_collection_type& new_strings,
- typename date_gen_formatter_type::phrase_elements beg_pos=date_gen_formatter_type::first)
- {
- m_date_gen_formatter.elements(new_strings, beg_pos);
- }
-
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const date_type& d) const
- {
- if (d.is_special()) {
- return do_put_special(next, a_ios, fill_char, d.as_special());
- }
- //The following line of code required the date to support a to_tm function
- return do_put_tm(next, a_ios, fill_char, to_tm(d), m_format);
- }
-
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const duration_type& dd) const
- {
- if (dd.is_special()) {
- return do_put_special(next, a_ios, fill_char, dd.get_rep().as_special());
- }
-
- typedef std::num_put<CharT, OutItrT> num_put;
- if (std::has_facet<num_put>(a_ios.getloc())) {
- return std::use_facet<num_put>(a_ios.getloc()).put(next, a_ios, fill_char, dd.get_rep().as_number());
- }
- else {
- num_put* f = new num_put();
- std::locale l = std::locale(a_ios.getloc(), f);
- a_ios.imbue(l);
- return f->put(next, a_ios, fill_char, dd.get_rep().as_number());
- }
-
- }
-
-
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const month_type& m) const
- {
- //if (d.is_special()) {
- // return do_put_special(next, a_ios, fill_char, d.as_special());
- //}
- //The following line of code required the date to support a to_tm function
- std::tm dtm;
- std::memset(&dtm, 0, sizeof(dtm));
- dtm.tm_mon = m - 1;
- return do_put_tm(next, a_ios, fill_char, dtm, m_month_format);
- }
-
- //! puts the day of month
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const day_type& day) const
- {
- std::tm dtm;
- std::memset(&dtm, 0, sizeof(dtm));
- dtm.tm_mday = day.as_number();
- char_type tmp[3] = {'%','d'};
- string_type temp_format(tmp);
- return do_put_tm(next, a_ios, fill_char, dtm, temp_format);
- }
-
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const day_of_week_type& dow) const
- {
- //if (d.is_special()) {
- // return do_put_special(next, a_ios, fill_char, d.as_special());
- //}
- //The following line of code required the date to support a to_tm function
- std::tm dtm;
- std::memset(&dtm, 0, sizeof(dtm));
- dtm.tm_wday = dow;
- return do_put_tm(next, a_ios, fill_char, dtm, m_weekday_format);
- }
-
-
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const period_type& p) const
- {
- return m_period_formatter.put_period(next, a_ios, fill_char, p, *this);
- }
-
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const partial_date_type& pd) const
- {
- return m_date_gen_formatter.put_partial_date(next, a_ios, fill_char, pd, *this);
- }
-
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const nth_kday_type& nkd) const
- {
- return m_date_gen_formatter.put_nth_kday(next, a_ios, fill_char, nkd, *this);
- }
-
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const first_kday_type& fkd) const
- {
- return m_date_gen_formatter.put_first_kday(next, a_ios, fill_char, fkd, *this);
- }
-
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const last_kday_type& lkd) const
- {
- return m_date_gen_formatter.put_last_kday(next, a_ios, fill_char, lkd, *this);
- }
-
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const kday_before_type& fkb) const
- {
- return m_date_gen_formatter.put_kday_before(next, a_ios, fill_char, fkb, *this);
- }
-
- OutItrT put(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const kday_after_type& fka) const
- {
- return m_date_gen_formatter.put_kday_after(next, a_ios, fill_char, fka, *this);
- }
-
- protected:
- virtual OutItrT do_put_special(OutItrT next,
- std::ios_base& /*a_ios*/,
- char_type /*fill_char*/,
- const boost::date_time::special_values sv) const
- {
- m_special_values_formatter.put_special(next, sv);
- return next;
- }
- virtual OutItrT do_put_tm(OutItrT next,
- std::ios_base& a_ios,
- char_type fill_char,
- const tm& tm_value,
- string_type a_format) const
- {
- // update format string with custom names
- if (!m_weekday_long_names.empty()) {
- boost::algorithm::replace_all(a_format,
- long_weekday_format,
- m_weekday_long_names[tm_value.tm_wday]);
- }
- if (!m_weekday_short_names.empty()) {
- boost::algorithm::replace_all(a_format,
- short_weekday_format,
- m_weekday_short_names[tm_value.tm_wday]);
-
- }
- if (!m_month_long_names.empty()) {
- boost::algorithm::replace_all(a_format,
- long_month_format,
- m_month_long_names[tm_value.tm_mon]);
- }
- if (!m_month_short_names.empty()) {
- boost::algorithm::replace_all(a_format,
- short_month_format,
- m_month_short_names[tm_value.tm_mon]);
- }
- // use time_put facet to create final string
- const char_type* p_format = a_format.c_str();
- return std::use_facet<std::time_put<CharT> >(a_ios.getloc()).put(next, a_ios,
- fill_char,
- &tm_value,
- p_format,
- p_format + a_format.size());
- }
- protected:
- string_type m_format;
- string_type m_month_format;
- string_type m_weekday_format;
- period_formatter_type m_period_formatter;
- date_gen_formatter_type m_date_gen_formatter;
- special_values_formatter_type m_special_values_formatter;
- input_collection_type m_month_short_names;
- input_collection_type m_month_long_names;
- input_collection_type m_weekday_short_names;
- input_collection_type m_weekday_long_names;
- private:
- };
-
- template <class date_type, class CharT, class OutItrT>
- std::locale::id date_facet<date_type, CharT, OutItrT>::id;
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_facet<date_type, CharT, OutItrT>::char_type
- date_facet<date_type, CharT, OutItrT>::long_weekday_format[3] = {'%','A'};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_facet<date_type, CharT, OutItrT>::char_type
- date_facet<date_type, CharT, OutItrT>::short_weekday_format[3] = {'%','a'};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_facet<date_type, CharT, OutItrT>::char_type
- date_facet<date_type, CharT, OutItrT>::long_month_format[3] = {'%','B'};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_facet<date_type, CharT, OutItrT>::char_type
- date_facet<date_type, CharT, OutItrT>::short_month_format[3] = {'%','b'};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_facet<date_type, CharT, OutItrT>::char_type
- date_facet<date_type, CharT, OutItrT>::default_period_separator[4] = { ' ', '/', ' '};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_facet<date_type, CharT, OutItrT>::char_type
- date_facet<date_type, CharT, OutItrT>::standard_format_specifier[3] =
- {'%', 'x' };
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_facet<date_type, CharT, OutItrT>::char_type
- date_facet<date_type, CharT, OutItrT>::iso_format_specifier[7] =
- {'%', 'Y', '%', 'm', '%', 'd' };
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_facet<date_type, CharT, OutItrT>::char_type
- date_facet<date_type, CharT, OutItrT>::iso_format_extended_specifier[9] =
- {'%', 'Y', '-', '%', 'm', '-', '%', 'd' };
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_facet<date_type, CharT, OutItrT>::char_type
- date_facet<date_type, CharT, OutItrT>::default_date_format[9] =
- {'%','Y','-','%','b','-','%','d'};
-
-
-
- //! Input facet
- template <class date_type,
- class CharT,
- class InItrT = std::istreambuf_iterator<CharT, std::char_traits<CharT> > >
- class BOOST_SYMBOL_VISIBLE date_input_facet : public std::locale::facet {
- public:
- typedef typename date_type::duration_type duration_type;
- // greg_weekday is gregorian_calendar::day_of_week_type
- typedef typename date_type::day_of_week_type day_of_week_type;
- typedef typename date_type::day_type day_type;
- typedef typename date_type::month_type month_type;
- typedef typename date_type::year_type year_type;
- typedef boost::date_time::period<date_type,duration_type> period_type;
- typedef std::basic_string<CharT> string_type;
- typedef CharT char_type;
- typedef boost::date_time::period_parser<date_type, CharT> period_parser_type;
- typedef boost::date_time::special_values_parser<date_type,CharT> special_values_parser_type;
- typedef std::vector<std::basic_string<CharT> > input_collection_type;
- typedef format_date_parser<date_type, CharT> format_date_parser_type;
- // date_generators stuff goes here
- typedef date_generator_parser<date_type, CharT> date_gen_parser_type;
- typedef partial_date<date_type> partial_date_type;
- typedef nth_kday_of_month<date_type> nth_kday_type;
- typedef first_kday_of_month<date_type> first_kday_type;
- typedef last_kday_of_month<date_type> last_kday_type;
- typedef first_kday_after<date_type> kday_after_type;
- typedef first_kday_before<date_type> kday_before_type;
-
- static const char_type long_weekday_format[3];
- static const char_type short_weekday_format[3];
- static const char_type long_month_format[3];
- static const char_type short_month_format[3];
- static const char_type four_digit_year_format[3];
- static const char_type two_digit_year_format[3];
- static const char_type default_period_separator[4];
- static const char_type standard_format_specifier[3];
- static const char_type iso_format_specifier[7];
- static const char_type iso_format_extended_specifier[9];
- static const char_type default_date_format[9]; // YYYY-Mon-DD
- static std::locale::id id;
-
- explicit date_input_facet(::size_t a_ref = 0)
- : std::locale::facet(a_ref),
- m_format(default_date_format),
- m_month_format(short_month_format),
- m_weekday_format(short_weekday_format),
- m_year_format(four_digit_year_format),
- m_parser(m_format, std::locale::classic())
- // default period_parser & special_values_parser used
- {}
-
- explicit date_input_facet(const string_type& format_str,
- ::size_t a_ref = 0)
- : std::locale::facet(a_ref),
- m_format(format_str),
- m_month_format(short_month_format),
- m_weekday_format(short_weekday_format),
- m_year_format(four_digit_year_format),
- m_parser(m_format, std::locale::classic())
- // default period_parser & special_values_parser used
- {}
-
- explicit date_input_facet(const string_type& format_str,
- const format_date_parser_type& date_parser,
- const special_values_parser_type& sv_parser,
- const period_parser_type& per_parser,
- const date_gen_parser_type& date_gen_parser,
- ::size_t ref_count = 0)
- : std::locale::facet(ref_count),
- m_format(format_str),
- m_month_format(short_month_format),
- m_weekday_format(short_weekday_format),
- m_year_format(four_digit_year_format),
- m_parser(date_parser),
- m_date_gen_parser(date_gen_parser),
- m_period_parser(per_parser),
- m_sv_parser(sv_parser)
- {}
-
-
- void format(const char_type* const format_str) {
- m_format = format_str;
- }
- virtual void set_iso_format()
- {
- m_format = iso_format_specifier;
- }
- virtual void set_iso_extended_format()
- {
- m_format = iso_format_extended_specifier;
- }
- void month_format(const char_type* const format_str) {
- m_month_format = format_str;
- }
- void weekday_format(const char_type* const format_str) {
- m_weekday_format = format_str;
- }
- void year_format(const char_type* const format_str) {
- m_year_format = format_str;
- }
-
- void period_parser(period_parser_type per_parser) {
- m_period_parser = per_parser;
- }
- void short_weekday_names(const input_collection_type& weekday_names)
- {
- m_parser.short_weekday_names(weekday_names);
- }
- void long_weekday_names(const input_collection_type& weekday_names)
- {
- m_parser.long_weekday_names(weekday_names);
- }
-
- void short_month_names(const input_collection_type& month_names)
- {
- m_parser.short_month_names(month_names);
- }
-
- void long_month_names(const input_collection_type& month_names)
- {
- m_parser.long_month_names(month_names);
- }
-
- void date_gen_element_strings(const input_collection_type& col)
- {
- m_date_gen_parser.element_strings(col);
- }
- void date_gen_element_strings(const string_type& first,
- const string_type& second,
- const string_type& third,
- const string_type& fourth,
- const string_type& fifth,
- const string_type& last,
- const string_type& before,
- const string_type& after,
- const string_type& of)
-
- {
- m_date_gen_parser.element_strings(first,second,third,fourth,fifth,last,before,after,of);
- }
-
- void special_values_parser(special_values_parser_type sv_parser)
- {
- m_sv_parser = sv_parser;
- }
-
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& /*a_ios*/,
- date_type& d) const
- {
- d = m_parser.parse_date(from, to, m_format, m_sv_parser);
- return from;
- }
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& /*a_ios*/,
- month_type& m) const
- {
- m = m_parser.parse_month(from, to, m_month_format);
- return from;
- }
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& /*a_ios*/,
- day_of_week_type& wd) const
- {
- wd = m_parser.parse_weekday(from, to, m_weekday_format);
- return from;
- }
- //! Expects 1 or 2 digit day range: 1-31
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& /*a_ios*/,
- day_type& d) const
- {
- d = m_parser.parse_var_day_of_month(from, to);
- return from;
- }
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& /*a_ios*/,
- year_type& y) const
- {
- y = m_parser.parse_year(from, to, m_year_format);
- return from;
- }
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& a_ios,
- duration_type& dd) const
- {
- // skip leading whitespace
- while(std::isspace(*from) && from != to) { ++from; }
-
- /* num_get.get() will always consume the first character if it
- * is a sign indicator (+/-). Special value strings may begin
- * with one of these signs so we'll need a copy of it
- * in case num_get.get() fails. */
- char_type c = '\0';
- // TODO Are these characters somewhere in the locale?
- if(*from == '-' || *from == '+') {
- c = *from;
- }
- typedef std::num_get<CharT, InItrT> num_get;
- typename duration_type::duration_rep_type val = 0;
- std::ios_base::iostate err = std::ios_base::goodbit;
-
- if (std::has_facet<num_get>(a_ios.getloc())) {
- from = std::use_facet<num_get>(a_ios.getloc()).get(from, to, a_ios, err, val);
- }
- else {
- num_get* ng = new num_get();
- std::locale l = std::locale(a_ios.getloc(), ng);
- a_ios.imbue(l);
- from = ng->get(from, to, a_ios, err, val);
- }
- if(err & std::ios_base::failbit){
- typedef typename special_values_parser_type::match_results match_results;
- match_results mr;
- if(c == '-' || c == '+') { // was the first character consumed?
- mr.cache += c;
- }
- m_sv_parser.match(from, to, mr);
- if(mr.current_match == match_results::PARSE_ERROR) {
- boost::throw_exception(std::ios_base::failure("Parse failed. No match found for '" + mr.cache + "'"));
- BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return from); // should never reach
- }
- dd = duration_type(static_cast<special_values>(mr.current_match));
- }
- else {
- dd = duration_type(val);
- }
- return from;
- }
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& a_ios,
- period_type& p) const
- {
- p = m_period_parser.get_period(from, to, a_ios, p, duration_type::unit(), *this);
- return from;
- }
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& a_ios,
- nth_kday_type& nkd) const
- {
- nkd = m_date_gen_parser.get_nth_kday_type(from, to, a_ios, *this);
- return from;
- }
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& a_ios,
- partial_date_type& pd) const
- {
-
- pd = m_date_gen_parser.get_partial_date_type(from, to, a_ios, *this);
- return from;
- }
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& a_ios,
- first_kday_type& fkd) const
- {
- fkd = m_date_gen_parser.get_first_kday_type(from, to, a_ios, *this);
- return from;
- }
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& a_ios,
- last_kday_type& lkd) const
- {
- lkd = m_date_gen_parser.get_last_kday_type(from, to, a_ios, *this);
- return from;
- }
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& a_ios,
- kday_before_type& fkb) const
- {
- fkb = m_date_gen_parser.get_kday_before_type(from, to, a_ios, *this);
- return from;
- }
- InItrT get(InItrT& from,
- InItrT& to,
- std::ios_base& a_ios,
- kday_after_type& fka) const
- {
- fka = m_date_gen_parser.get_kday_after_type(from, to, a_ios, *this);
- return from;
- }
-
- protected:
- string_type m_format;
- string_type m_month_format;
- string_type m_weekday_format;
- string_type m_year_format;
- format_date_parser_type m_parser;
- date_gen_parser_type m_date_gen_parser;
- period_parser_type m_period_parser;
- special_values_parser_type m_sv_parser;
- private:
- };
-
-
- template <class date_type, class CharT, class OutItrT>
- std::locale::id date_input_facet<date_type, CharT, OutItrT>::id;
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_input_facet<date_type, CharT, OutItrT>::char_type
- date_input_facet<date_type, CharT, OutItrT>::long_weekday_format[3] = {'%','A'};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_input_facet<date_type, CharT, OutItrT>::char_type
- date_input_facet<date_type, CharT, OutItrT>::short_weekday_format[3] = {'%','a'};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_input_facet<date_type, CharT, OutItrT>::char_type
- date_input_facet<date_type, CharT, OutItrT>::long_month_format[3] = {'%','B'};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_input_facet<date_type, CharT, OutItrT>::char_type
- date_input_facet<date_type, CharT, OutItrT>::short_month_format[3] = {'%','b'};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_input_facet<date_type, CharT, OutItrT>::char_type
- date_input_facet<date_type, CharT, OutItrT>::four_digit_year_format[3] = {'%','Y'};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_input_facet<date_type, CharT, OutItrT>::char_type
- date_input_facet<date_type, CharT, OutItrT>::two_digit_year_format[3] = {'%','y'};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_input_facet<date_type, CharT, OutItrT>::char_type
- date_input_facet<date_type, CharT, OutItrT>::default_period_separator[4] = { ' ', '/', ' '};
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_input_facet<date_type, CharT, OutItrT>::char_type
- date_input_facet<date_type, CharT, OutItrT>::standard_format_specifier[3] =
- {'%', 'x' };
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_input_facet<date_type, CharT, OutItrT>::char_type
- date_input_facet<date_type, CharT, OutItrT>::iso_format_specifier[7] =
- {'%', 'Y', '%', 'm', '%', 'd' };
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_input_facet<date_type, CharT, OutItrT>::char_type
- date_input_facet<date_type, CharT, OutItrT>::iso_format_extended_specifier[9] =
- {'%', 'Y', '-', '%', 'm', '-', '%', 'd' };
-
- template <class date_type, class CharT, class OutItrT>
- const typename date_input_facet<date_type, CharT, OutItrT>::char_type
- date_input_facet<date_type, CharT, OutItrT>::default_date_format[9] =
- {'%','Y','-','%','b','-','%','d'};
-
-} } // namespaces
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/date_format_simple.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_format_simple.hpp
deleted file mode 100644
index 452990379b..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/date_format_simple.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-#ifndef DATE_TIME_SIMPLE_FORMAT_HPP___
-#define DATE_TIME_SIMPLE_FORMAT_HPP___
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/parse_format_base.hpp"
-
-namespace boost {
-namespace date_time {
-
-//! Class to provide simple basic formatting rules
-template<class charT>
-class simple_format {
-public:
-
- //! String used printed is date is invalid
- static const charT* not_a_date()
- {
- return "not-a-date-time";
- }
- //! String used to for positive infinity value
- static const charT* pos_infinity()
- {
- return "+infinity";
- }
- //! String used to for positive infinity value
- static const charT* neg_infinity()
- {
- return "-infinity";
- }
- //! Describe month format
- static month_format_spec month_format()
- {
- return month_as_short_string;
- }
- static ymd_order_spec date_order()
- {
- return ymd_order_iso; //YYYY-MM-DD
- }
- //! This format uses '-' to separate date elements
- static bool has_date_sep_chars()
- {
- return true;
- }
- //! Char to sep?
- static charT year_sep_char()
- {
- return '-';
- }
- //! char between year-month
- static charT month_sep_char()
- {
- return '-';
- }
- //! Char to separate month-day
- static charT day_sep_char()
- {
- return '-';
- }
- //! char between date-hours
- static charT hour_sep_char()
- {
- return ' ';
- }
- //! char between hour and minute
- static charT minute_sep_char()
- {
- return ':';
- }
- //! char for second
- static charT second_sep_char()
- {
- return ':';
- }
-
-};
-
-#ifndef BOOST_NO_STD_WSTRING
-
-//! Specialization of formmating rules for wchar_t
-template<>
-class simple_format<wchar_t> {
-public:
-
- //! String used printed is date is invalid
- static const wchar_t* not_a_date()
- {
- return L"not-a-date-time";
- }
- //! String used to for positive infinity value
- static const wchar_t* pos_infinity()
- {
- return L"+infinity";
- }
- //! String used to for positive infinity value
- static const wchar_t* neg_infinity()
- {
- return L"-infinity";
- }
- //! Describe month format
- static month_format_spec month_format()
- {
- return month_as_short_string;
- }
- static ymd_order_spec date_order()
- {
- return ymd_order_iso; //YYYY-MM-DD
- }
- //! This format uses '-' to separate date elements
- static bool has_date_sep_chars()
- {
- return true;
- }
- //! Char to sep?
- static wchar_t year_sep_char()
- {
- return '-';
- }
- //! char between year-month
- static wchar_t month_sep_char()
- {
- return '-';
- }
- //! Char to separate month-day
- static wchar_t day_sep_char()
- {
- return '-';
- }
- //! char between date-hours
- static wchar_t hour_sep_char()
- {
- return ' ';
- }
- //! char between hour and minute
- static wchar_t minute_sep_char()
- {
- return ':';
- }
- //! char for second
- static wchar_t second_sep_char()
- {
- return ':';
- }
-
-};
-
-#endif // BOOST_NO_STD_WSTRING
-} } //namespace date_time
-
-
-
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting.hpp
deleted file mode 100644
index c1b69a8c79..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-#ifndef DATE_TIME_DATE_FORMATTING_HPP___
-#define DATE_TIME_DATE_FORMATTING_HPP___
-
-/* Copyright (c) 2002-2004 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/iso_format.hpp"
-#include "boost/date_time/compiler_config.hpp"
-#include <boost/io/ios_state.hpp>
-#include <string>
-#include <sstream>
-#include <iomanip>
-
-/* NOTE: "formatter" code for older compilers, ones that define
- * BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS, is located in
- * date_formatting_limited.hpp
- */
-
-namespace boost {
-namespace date_time {
-
- //! Formats a month as as string into an ostream
- template<class month_type, class format_type, class charT=char>
- class month_formatter
- {
- typedef std::basic_ostream<charT> ostream_type;
- public:
- //! Formats a month as as string into an ostream
- /*! This function demands that month_type provide
- * functions for converting to short and long strings
- * if that capability is used.
- */
- static ostream_type& format_month(const month_type& month,
- ostream_type &os)
- {
- switch (format_type::month_format())
- {
- case month_as_short_string:
- {
- os << month.as_short_string();
- break;
- }
- case month_as_long_string:
- {
- os << month.as_long_string();
- break;
- }
- case month_as_integer:
- {
- boost::io::basic_ios_fill_saver<charT> ifs(os);
- os << std::setw(2) << std::setfill(os.widen('0')) << month.as_number();
- break;
- }
- default:
- break;
-
- }
- return os;
- } // format_month
- };
-
-
- //! Convert ymd to a standard string formatting policies
- template<class ymd_type, class format_type, class charT=char>
- class ymd_formatter
- {
- public:
- //! Convert ymd to a standard string formatting policies
- /*! This is standard code for handling date formatting with
- * year-month-day based date information. This function
- * uses the format_type to control whether the string will
- * contain separator characters, and if so what the character
- * will be. In addtion, it can format the month as either
- * an integer or a string as controled by the formatting
- * policy
- */
- static std::basic_string<charT> ymd_to_string(ymd_type ymd)
- {
- typedef typename ymd_type::month_type month_type;
- std::basic_ostringstream<charT> ss;
-
- // Temporarily switch to classic locale to prevent possible formatting
- // of year with comma or other character (for example 2,008).
- ss.imbue(std::locale::classic());
- ss << ymd.year;
- ss.imbue(std::locale());
-
- if (format_type::has_date_sep_chars()) {
- ss << format_type::month_sep_char();
- }
- //this name is a bit ugly, oh well....
- month_formatter<month_type,format_type,charT>::format_month(ymd.month, ss);
- if (format_type::has_date_sep_chars()) {
- ss << format_type::day_sep_char();
- }
- ss << std::setw(2) << std::setfill(ss.widen('0'))
- << ymd.day;
- return ss.str();
- }
- };
-
-
- //! Convert a date to string using format policies
- template<class date_type, class format_type, class charT=char>
- class date_formatter
- {
- public:
- typedef std::basic_string<charT> string_type;
- //! Convert to a date to standard string using format policies
- static string_type date_to_string(date_type d)
- {
- typedef typename date_type::ymd_type ymd_type;
- if (d.is_not_a_date()) {
- return string_type(format_type::not_a_date());
- }
- if (d.is_neg_infinity()) {
- return string_type(format_type::neg_infinity());
- }
- if (d.is_pos_infinity()) {
- return string_type(format_type::pos_infinity());
- }
- ymd_type ymd = d.year_month_day();
- return ymd_formatter<ymd_type, format_type, charT>::ymd_to_string(ymd);
- }
- };
-
-
-} } //namespace date_time
-
-
-#endif
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_limited.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_limited.hpp
deleted file mode 100644
index 7c5c1735a3..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_limited.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-#ifndef DATE_TIME_DATE_FORMATTING_LIMITED_HPP___
-#define DATE_TIME_DATE_FORMATTING_LIMITED_HPP___
-
-/* Copyright (c) 2002-2004 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/iso_format.hpp"
-#include "boost/date_time/compiler_config.hpp"
-#include <string>
-#include <sstream>
-#include <iomanip>
-
-
-namespace boost {
-namespace date_time {
-
- //! Formats a month as as string into an ostream
- template<class month_type, class format_type>
- class month_formatter
- {
- public:
- //! Formats a month as as string into an ostream
- /*! This function demands that month_type provide
- * functions for converting to short and long strings
- * if that capability is used.
- */
- static std::ostream& format_month(const month_type& month,
- std::ostream& os)
- {
- switch (format_type::month_format())
- {
- case month_as_short_string:
- {
- os << month.as_short_string();
- break;
- }
- case month_as_long_string:
- {
- os << month.as_long_string();
- break;
- }
- case month_as_integer:
- {
- os << std::setw(2) << std::setfill('0') << month.as_number();
- break;
- }
-
- }
- return os;
- } // format_month
- };
-
-
- //! Convert ymd to a standard string formatting policies
- template<class ymd_type, class format_type>
- class ymd_formatter
- {
- public:
- //! Convert ymd to a standard string formatting policies
- /*! This is standard code for handling date formatting with
- * year-month-day based date information. This function
- * uses the format_type to control whether the string will
- * contain separator characters, and if so what the character
- * will be. In addtion, it can format the month as either
- * an integer or a string as controled by the formatting
- * policy
- */
- static std::string ymd_to_string(ymd_type ymd)
- {
- typedef typename ymd_type::month_type month_type;
- std::ostringstream ss;
- ss << ymd.year;
- if (format_type::has_date_sep_chars()) {
- ss << format_type::month_sep_char();
- }
- //this name is a bit ugly, oh well....
- month_formatter<month_type,format_type>::format_month(ymd.month, ss);
- if (format_type::has_date_sep_chars()) {
- ss << format_type::day_sep_char();
- }
- ss << std::setw(2) << std::setfill('0')
- << ymd.day;
- return ss.str();
- }
- };
-
-
- //! Convert a date to string using format policies
- template<class date_type, class format_type>
- class date_formatter
- {
- public:
- //! Convert to a date to standard string using format policies
- static std::string date_to_string(date_type d)
- {
- typedef typename date_type::ymd_type ymd_type;
- if (d.is_not_a_date()) {
- return format_type::not_a_date();
- }
- if (d.is_neg_infinity()) {
- return format_type::neg_infinity();
- }
- if (d.is_pos_infinity()) {
- return format_type::pos_infinity();
- }
- ymd_type ymd = d.year_month_day();
- return ymd_formatter<ymd_type, format_type>::ymd_to_string(ymd);
- }
- };
-
-
-} } //namespace date_time
-
-
-#endif
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_locales.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_locales.hpp
deleted file mode 100644
index a1daad33ae..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/date_formatting_locales.hpp
+++ /dev/null
@@ -1,234 +0,0 @@
-#ifndef DATE_TIME_DATE_FORMATTING_LOCALES_HPP___
-#define DATE_TIME_DATE_FORMATTING_LOCALES_HPP___
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-
-#include "boost/date_time/locale_config.hpp" // set BOOST_DATE_TIME_NO_LOCALE
-
-#ifndef BOOST_DATE_TIME_NO_LOCALE
-
-#include "boost/date_time/iso_format.hpp"
-#include "boost/date_time/date_names_put.hpp"
-#include "boost/date_time/parse_format_base.hpp"
-#include <boost/io/ios_state.hpp>
-//#include <string>
-#include <sstream>
-#include <iomanip>
-
-
-namespace boost {
-namespace date_time {
-
- //! Formats a month as as string into an ostream
- template<class facet_type,
- class charT = char>
- class ostream_month_formatter
- {
- public:
- typedef typename facet_type::month_type month_type;
- typedef std::basic_ostream<charT> ostream_type;
-
- //! Formats a month as as string into an output iterator
- static void format_month(const month_type& month,
- ostream_type& os,
- const facet_type& f)
- {
-
- switch (f.month_format())
- {
- case month_as_short_string:
- {
- std::ostreambuf_iterator<charT> oitr(os);
- f.put_month_short(oitr, month.as_enum());
- break;
- }
- case month_as_long_string:
- {
- std::ostreambuf_iterator<charT> oitr(os);
- f.put_month_long(oitr, month.as_enum());
- break;
- }
- case month_as_integer:
- {
- boost::io::basic_ios_fill_saver<charT> ifs(os);
- os << std::setw(2) << std::setfill(os.widen('0')) << month.as_number();
- break;
- }
-
- }
- } // format_month
-
- };
-
-
- //! Formats a weekday
- template<class weekday_type,
- class facet_type,
- class charT = char>
- class ostream_weekday_formatter
- {
- public:
- typedef typename facet_type::month_type month_type;
- typedef std::basic_ostream<charT> ostream_type;
-
- //! Formats a month as as string into an output iterator
- static void format_weekday(const weekday_type& wd,
- ostream_type& os,
- const facet_type& f,
- bool as_long_string)
- {
-
- std::ostreambuf_iterator<charT> oitr(os);
- if (as_long_string) {
- f.put_weekday_long(oitr, wd.as_enum());
- }
- else {
- f.put_weekday_short(oitr, wd.as_enum());
- }
-
- } // format_weekday
-
- };
-
-
- //! Convert ymd to a standard string formatting policies
- template<class ymd_type,
- class facet_type,
- class charT = char>
- class ostream_ymd_formatter
- {
- public:
- typedef typename ymd_type::month_type month_type;
- typedef ostream_month_formatter<facet_type, charT> month_formatter_type;
- typedef std::basic_ostream<charT> ostream_type;
- typedef std::basic_string<charT> foo_type;
-
- //! Convert ymd to a standard string formatting policies
- /*! This is standard code for handling date formatting with
- * year-month-day based date information. This function
- * uses the format_type to control whether the string will
- * contain separator characters, and if so what the character
- * will be. In addtion, it can format the month as either
- * an integer or a string as controled by the formatting
- * policy
- */
- // static string_type ymd_to_string(ymd_type ymd)
-// {
-// std::ostringstream ss;
-// facet_type dnp;
-// ymd_put(ymd, ss, dnp);
-// return ss.str();
-// }
-
-
- // Put ymd to ostream -- part of ostream refactor
- static void ymd_put(ymd_type ymd,
- ostream_type& os,
- const facet_type& f)
- {
- boost::io::basic_ios_fill_saver<charT> ifs(os);
- std::ostreambuf_iterator<charT> oitr(os);
- switch (f.date_order()) {
- case ymd_order_iso: {
- os << ymd.year;
- if (f.has_date_sep_chars()) {
- f.month_sep_char(oitr);
- }
- month_formatter_type::format_month(ymd.month, os, f);
- if (f.has_date_sep_chars()) {
- f.day_sep_char(oitr);
- }
- os << std::setw(2) << std::setfill(os.widen('0'))
- << ymd.day;
- break;
- }
- case ymd_order_us: {
- month_formatter_type::format_month(ymd.month, os, f);
- if (f.has_date_sep_chars()) {
- f.day_sep_char(oitr);
- }
- os << std::setw(2) << std::setfill(os.widen('0'))
- << ymd.day;
- if (f.has_date_sep_chars()) {
- f.month_sep_char(oitr);
- }
- os << ymd.year;
- break;
- }
- case ymd_order_dmy: {
- os << std::setw(2) << std::setfill(os.widen('0'))
- << ymd.day;
- if (f.has_date_sep_chars()) {
- f.day_sep_char(oitr);
- }
- month_formatter_type::format_month(ymd.month, os, f);
- if (f.has_date_sep_chars()) {
- f.month_sep_char(oitr);
- }
- os << ymd.year;
- break;
- }
- }
- }
- };
-
-
- //! Convert a date to string using format policies
- template<class date_type,
- class facet_type,
- class charT = char>
- class ostream_date_formatter
- {
- public:
- typedef std::basic_ostream<charT> ostream_type;
- typedef typename date_type::ymd_type ymd_type;
-
- //! Put date into an ostream
- static void date_put(const date_type& d,
- ostream_type& os,
- const facet_type& f)
- {
- special_values sv = d.as_special();
- if (sv == not_special) {
- ymd_type ymd = d.year_month_day();
- ostream_ymd_formatter<ymd_type, facet_type, charT>::ymd_put(ymd, os, f);
- }
- else { // output a special value
- std::ostreambuf_iterator<charT> coi(os);
- f.put_special_value(coi, sv);
- }
- }
-
-
- //! Put date into an ostream
- static void date_put(const date_type& d,
- ostream_type& os)
- {
- //retrieve the local from the ostream
- std::locale locale = os.getloc();
- if (std::has_facet<facet_type>(locale)) {
- const facet_type& f = std::use_facet<facet_type>(locale);
- date_put(d, os, f);
- }
- else {
- //default to something sensible if no facet installed
- facet_type default_facet;
- date_put(d, os, default_facet);
- }
- } // date_to_ostream
- }; //class date_formatter
-
-
-} } //namespace date_time
-
-#endif
-
-#endif
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/date_generator_formatter.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_generator_formatter.hpp
deleted file mode 100644
index 42c396b2c0..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/date_generator_formatter.hpp
+++ /dev/null
@@ -1,265 +0,0 @@
-#ifndef _DATE_TIME_DATE_GENERATOR_FORMATTER__HPP___
-#define _DATE_TIME_DATE_GENERATOR_FORMATTER__HPP___
-
-/* Copyright (c) 2004 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <iostream>
-#include <string>
-#include <vector>
-#include <algorithm>
-#include "boost/date_time/date_generators.hpp"
-
-namespace boost {
-namespace date_time {
-
- //! Formats date_generators for output
- /*! Formatting of date_generators follows specific orders for the
- * various types of date_generators.
- * - partial_date => "dd Month"
- * - nth_day_of_the_week_in_month => "nth weekday of month"
- * - first_day_of_the_week_in_month => "first weekday of month"
- * - last_day_of_the_week_in_month => "last weekday of month"
- * - first_day_of_the_week_after => "weekday after"
- * - first_day_of_the_week_before => "weekday before"
- * While the order of the elements in these phrases cannot be changed,
- * the elements themselves can be. Weekday and Month get their formats
- * and names from the date_facet. The remaining elements are stored in
- * the date_generator_formatter and can be customized upon construction
- * or via a member function. The default elements are those shown in the
- * examples above.
- */
- template <class date_type, class CharT, class OutItrT = std::ostreambuf_iterator<CharT, std::char_traits<CharT> > >
- class date_generator_formatter {
- public:
- typedef partial_date<date_type> partial_date_type;
- typedef nth_kday_of_month<date_type> nth_kday_type;
- typedef first_kday_of_month<date_type> first_kday_type;
- typedef last_kday_of_month<date_type> last_kday_type;
- typedef first_kday_after<date_type> kday_after_type;
- typedef first_kday_before<date_type> kday_before_type;
-
- typedef CharT char_type;
- typedef std::basic_string<char_type> string_type;
- typedef std::vector<string_type> collection_type;
- static const char_type first_string[6];
- static const char_type second_string[7];
- static const char_type third_string[6];
- static const char_type fourth_string[7];
- static const char_type fifth_string[6];
- static const char_type last_string[5];
- static const char_type before_string[8];
- static const char_type after_string[6];
- static const char_type of_string[3];
-
- enum phrase_elements {first=0, second, third, fourth, fifth, last,
- before, after, of, number_of_phrase_elements};
-
- //! Default format elements used
- date_generator_formatter()
- {
- phrase_strings.reserve(number_of_phrase_elements);
- phrase_strings.push_back(string_type(first_string));
- phrase_strings.push_back(string_type(second_string));
- phrase_strings.push_back(string_type(third_string));
- phrase_strings.push_back(string_type(fourth_string));
- phrase_strings.push_back(string_type(fifth_string));
- phrase_strings.push_back(string_type(last_string));
- phrase_strings.push_back(string_type(before_string));
- phrase_strings.push_back(string_type(after_string));
- phrase_strings.push_back(string_type(of_string));
- }
-
- //! Constructor that allows for a custom set of phrase elements
- date_generator_formatter(const string_type& first_str,
- const string_type& second_str,
- const string_type& third_str,
- const string_type& fourth_str,
- const string_type& fifth_str,
- const string_type& last_str,
- const string_type& before_str,
- const string_type& after_str,
- const string_type& of_str)
- {
- phrase_strings.reserve(number_of_phrase_elements);
- phrase_strings.push_back(first_str);
- phrase_strings.push_back(second_str);
- phrase_strings.push_back(third_str);
- phrase_strings.push_back(fourth_str);
- phrase_strings.push_back(fifth_str);
- phrase_strings.push_back(last_str);
- phrase_strings.push_back(before_str);
- phrase_strings.push_back(after_str);
- phrase_strings.push_back(of_str);
- }
-
- //! Replace the set of phrase elements with those contained in new_strings
- /*! The order of the strings in the given collection is important.
- * They must follow:
- * - first, second, third, fourth, fifth, last, before, after, of.
- *
- * It is not necessary to send in a complete set if only a few
- * elements are to be replaced as long as the correct beg_pos is used.
- *
- * Ex: To keep the default first through fifth elements, but replace
- * the rest with a collection of:
- * - "final", "prior", "following", "in".
- * The beg_pos of date_generator_formatter::last would be used.
- */
- void elements(const collection_type& new_strings,
- phrase_elements beg_pos=first)
- {
- if(beg_pos < number_of_phrase_elements) {
- typename collection_type::iterator itr = phrase_strings.begin();
- itr += beg_pos;
- std::copy(new_strings.begin(), new_strings.end(),
- itr);
- //phrase_strings.begin());
- }
- }
-
- //!Put a partial_date => "dd Month"
- template<class facet_type>
- OutItrT put_partial_date(OutItrT next, std::ios_base& a_ios,
- CharT a_fill, const partial_date_type& pd,
- const facet_type& facet) const
- {
- facet.put(next, a_ios, a_fill, pd.day());
- next = a_fill; //TODO change this ???
- facet.put(next, a_ios, a_fill, pd.month());
- return next;
- }
-
- //! Put an nth_day_of_the_week_in_month => "nth weekday of month"
- template<class facet_type>
- OutItrT put_nth_kday(OutItrT next, std::ios_base& a_ios,
- CharT a_fill, const nth_kday_type& nkd,
- const facet_type& facet) const
- {
- put_string(next, phrase_strings[nkd.nth_week() -1]);
- next = a_fill; //TODO change this ???
- facet.put(next, a_ios, a_fill, nkd.day_of_week());
- next = a_fill; //TODO change this ???
- put_string(next, string_type(of_string));
- next = a_fill; //TODO change this ???
- facet.put(next, a_ios, a_fill, nkd.month());
- return next;
- }
-
- //! Put a first_day_of_the_week_in_month => "first weekday of month"
- template<class facet_type>
- OutItrT put_first_kday(OutItrT next, std::ios_base& a_ios,
- CharT a_fill, const first_kday_type& fkd,
- const facet_type& facet) const
- {
- put_string(next, phrase_strings[first]);
- next = a_fill; //TODO change this ???
- facet.put(next, a_ios, a_fill, fkd.day_of_week());
- next = a_fill; //TODO change this ???
- put_string(next, string_type(of_string));
- next = a_fill; //TODO change this ???
- facet.put(next, a_ios, a_fill, fkd.month());
- return next;
- }
-
- //! Put a last_day_of_the_week_in_month => "last weekday of month"
- template<class facet_type>
- OutItrT put_last_kday(OutItrT next, std::ios_base& a_ios,
- CharT a_fill, const last_kday_type& lkd,
- const facet_type& facet) const
- {
- put_string(next, phrase_strings[last]);
- next = a_fill; //TODO change this ???
- facet.put(next, a_ios, a_fill, lkd.day_of_week());
- next = a_fill; //TODO change this ???
- put_string(next, string_type(of_string));
- next = a_fill; //TODO change this ???
- facet.put(next, a_ios, a_fill, lkd.month());
- return next;
- }
-
- //! Put a first_day_of_the_week_before => "weekday before"
- template<class facet_type>
- OutItrT put_kday_before(OutItrT next, std::ios_base& a_ios,
- CharT a_fill, const kday_before_type& fkb,
- const facet_type& facet) const
- {
- facet.put(next, a_ios, a_fill, fkb.day_of_week());
- next = a_fill; //TODO change this ???
- put_string(next, phrase_strings[before]);
- return next;
- }
-
- //! Put a first_day_of_the_week_after => "weekday after"
- template<class facet_type>
- OutItrT put_kday_after(OutItrT next, std::ios_base& a_ios,
- CharT a_fill, const kday_after_type& fka,
- const facet_type& facet) const
- {
- facet.put(next, a_ios, a_fill, fka.day_of_week());
- next = a_fill; //TODO change this ???
- put_string(next, phrase_strings[after]);
- return next;
- }
-
-
- private:
- collection_type phrase_strings;
-
- //! helper function to put the various member string into stream
- OutItrT put_string(OutItrT next, const string_type& str) const
- {
- typename string_type::const_iterator itr = str.begin();
- while(itr != str.end()) {
- *next = *itr;
- ++itr;
- ++next;
- }
- return next;
- }
- };
-
- template<class date_type, class CharT, class OutItrT>
- const typename date_generator_formatter<date_type, CharT, OutItrT>::char_type
- date_generator_formatter<date_type, CharT, OutItrT>::first_string[6] =
- {'f','i','r','s','t'};
- template<class date_type, class CharT, class OutItrT>
- const typename date_generator_formatter<date_type, CharT, OutItrT>::char_type
- date_generator_formatter<date_type, CharT, OutItrT>::second_string[7] =
- {'s','e','c','o','n','d'};
- template<class date_type, class CharT, class OutItrT>
- const typename date_generator_formatter<date_type, CharT, OutItrT>::char_type
- date_generator_formatter<date_type, CharT, OutItrT>::third_string[6] =
- {'t','h','i','r','d'};
- template<class date_type, class CharT, class OutItrT>
- const typename date_generator_formatter<date_type, CharT, OutItrT>::char_type
- date_generator_formatter<date_type, CharT, OutItrT>::fourth_string[7] =
- {'f','o','u','r','t','h'};
- template<class date_type, class CharT, class OutItrT>
- const typename date_generator_formatter<date_type, CharT, OutItrT>::char_type
- date_generator_formatter<date_type, CharT, OutItrT>::fifth_string[6] =
- {'f','i','f','t','h'};
- template<class date_type, class CharT, class OutItrT>
- const typename date_generator_formatter<date_type, CharT, OutItrT>::char_type
- date_generator_formatter<date_type, CharT, OutItrT>::last_string[5] =
- {'l','a','s','t'};
- template<class date_type, class CharT, class OutItrT>
- const typename date_generator_formatter<date_type, CharT, OutItrT>::char_type
- date_generator_formatter<date_type, CharT, OutItrT>::before_string[8] =
- {'b','e','f','o','r','e'};
- template<class date_type, class CharT, class OutItrT>
- const typename date_generator_formatter<date_type, CharT, OutItrT>::char_type
- date_generator_formatter<date_type, CharT, OutItrT>::after_string[6] =
- {'a','f','t','e','r'};
- template<class date_type, class CharT, class OutItrT>
- const typename date_generator_formatter<date_type, CharT, OutItrT>::char_type
- date_generator_formatter<date_type, CharT, OutItrT>::of_string[3] =
- {'o','f'};
-} } // namespaces
-
-#endif // _DATE_TIME_DATE_GENERATOR_FORMATTER__HPP___
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/date_generator_parser.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_generator_parser.hpp
deleted file mode 100644
index f4d7b27a79..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/date_generator_parser.hpp
+++ /dev/null
@@ -1,330 +0,0 @@
-
-#ifndef DATE_TIME_DATE_GENERATOR_PARSER_HPP__
-#define DATE_TIME_DATE_GENERATOR_PARSER_HPP__
-
-/* Copyright (c) 2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <string>
-#include <vector>
-#include <iterator> // istreambuf_iterator
-#include <boost/throw_exception.hpp>
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/string_parse_tree.hpp>
-#include <boost/date_time/date_generators.hpp>
-#include <boost/date_time/format_date_parser.hpp>
-
-namespace boost { namespace date_time {
-
- //! Class for date_generator parsing
- /*! The elements of a date_generator "phrase" are parsed from the input stream in a
- * particular order. All elements are required and the order in which they appear
- * cannot change, however, the elements themselves can be changed. The default
- * elements and their order are as follows:
- *
- * - partial_date => "dd Month"
- * - nth_day_of_the_week_in_month => "nth weekday of month"
- * - first_day_of_the_week_in_month => "first weekday of month"
- * - last_day_of_the_week_in_month => "last weekday of month"
- * - first_day_of_the_week_after => "weekday after"
- * - first_day_of_the_week_before => "weekday before"
- *
- * Weekday and Month names and formats are handled via the date_input_facet.
- *
- */
- template<class date_type, typename charT>
- class date_generator_parser
- {
- public:
- typedef std::basic_string<charT> string_type;
- typedef std::istreambuf_iterator<charT> stream_itr_type;
-
- typedef typename date_type::month_type month_type;
- typedef typename date_type::day_of_week_type day_of_week_type;
- typedef typename date_type::day_type day_type;
-
- typedef string_parse_tree<charT> parse_tree_type;
- typedef typename parse_tree_type::parse_match_result_type match_results;
- typedef std::vector<std::basic_string<charT> > collection_type;
-
- typedef partial_date<date_type> partial_date_type;
- typedef nth_kday_of_month<date_type> nth_kday_type;
- typedef first_kday_of_month<date_type> first_kday_type;
- typedef last_kday_of_month<date_type> last_kday_type;
- typedef first_kday_after<date_type> kday_after_type;
- typedef first_kday_before<date_type> kday_before_type;
-
- typedef charT char_type;
- static const char_type first_string[6];
- static const char_type second_string[7];
- static const char_type third_string[6];
- static const char_type fourth_string[7];
- static const char_type fifth_string[6];
- static const char_type last_string[5];
- static const char_type before_string[8];
- static const char_type after_string[6];
- static const char_type of_string[3];
-
- enum phrase_elements {first=0, second, third, fourth, fifth, last,
- before, after, of, number_of_phrase_elements};
-
- //! Creates a date_generator_parser with the default set of "element_strings"
- date_generator_parser()
- {
- element_strings(string_type(first_string),
- string_type(second_string),
- string_type(third_string),
- string_type(fourth_string),
- string_type(fifth_string),
- string_type(last_string),
- string_type(before_string),
- string_type(after_string),
- string_type(of_string));
- }
-
- //! Creates a date_generator_parser using a user defined set of element strings
- date_generator_parser(const string_type& first_str,
- const string_type& second_str,
- const string_type& third_str,
- const string_type& fourth_str,
- const string_type& fifth_str,
- const string_type& last_str,
- const string_type& before_str,
- const string_type& after_str,
- const string_type& of_str)
- {
- element_strings(first_str, second_str, third_str, fourth_str, fifth_str,
- last_str, before_str, after_str, of_str);
- }
-
- //! Replace strings that determine nth week for generator
- void element_strings(const string_type& first_str,
- const string_type& second_str,
- const string_type& third_str,
- const string_type& fourth_str,
- const string_type& fifth_str,
- const string_type& last_str,
- const string_type& before_str,
- const string_type& after_str,
- const string_type& of_str)
- {
- collection_type phrases;
- phrases.push_back(first_str);
- phrases.push_back(second_str);
- phrases.push_back(third_str);
- phrases.push_back(fourth_str);
- phrases.push_back(fifth_str);
- phrases.push_back(last_str);
- phrases.push_back(before_str);
- phrases.push_back(after_str);
- phrases.push_back(of_str);
- m_element_strings = parse_tree_type(phrases, this->first); // enum first
- }
-
- void element_strings(const collection_type& col)
- {
- m_element_strings = parse_tree_type(col, this->first); // enum first
- }
-
- //! returns partial_date parsed from stream
- template<class facet_type>
- partial_date_type
- get_partial_date_type(stream_itr_type& sitr,
- stream_itr_type& stream_end,
- std::ios_base& a_ios,
- const facet_type& facet) const
- {
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- day_type d(1);
- month_type m(1);
- facet.get(sitr, stream_end, a_ios, d);
- facet.get(sitr, stream_end, a_ios, m);
-
- return partial_date_type(d,m);
- }
-
- //! returns nth_kday_of_week parsed from stream
- template<class facet_type>
- nth_kday_type
- get_nth_kday_type(stream_itr_type& sitr,
- stream_itr_type& stream_end,
- std::ios_base& a_ios,
- const facet_type& facet) const
- {
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- typename nth_kday_type::week_num wn;
- day_of_week_type wd(0); // no default constructor
- month_type m(1); // no default constructor
-
- match_results mr = m_element_strings.match(sitr, stream_end);
- switch(mr.current_match) {
- case first : { wn = nth_kday_type::first; break; }
- case second : { wn = nth_kday_type::second; break; }
- case third : { wn = nth_kday_type::third; break; }
- case fourth : { wn = nth_kday_type::fourth; break; }
- case fifth : { wn = nth_kday_type::fifth; break; }
- default:
- {
- boost::throw_exception(std::ios_base::failure("Parse failed. No match found for '" + mr.cache + "'"));
- BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(wn = nth_kday_type::first);
- }
- } // week num
- facet.get(sitr, stream_end, a_ios, wd); // day_of_week
- extract_element(sitr, stream_end, of); // "of" element
- facet.get(sitr, stream_end, a_ios, m); // month
-
- return nth_kday_type(wn, wd, m);
- }
-
- //! returns first_kday_of_week parsed from stream
- template<class facet_type>
- first_kday_type
- get_first_kday_type(stream_itr_type& sitr,
- stream_itr_type& stream_end,
- std::ios_base& a_ios,
- const facet_type& facet) const
- {
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- day_of_week_type wd(0); // no default constructor
- month_type m(1); // no default constructor
-
- extract_element(sitr, stream_end, first); // "first" element
- facet.get(sitr, stream_end, a_ios, wd); // day_of_week
- extract_element(sitr, stream_end, of); // "of" element
- facet.get(sitr, stream_end, a_ios, m); // month
-
-
- return first_kday_type(wd, m);
- }
-
- //! returns last_kday_of_week parsed from stream
- template<class facet_type>
- last_kday_type
- get_last_kday_type(stream_itr_type& sitr,
- stream_itr_type& stream_end,
- std::ios_base& a_ios,
- const facet_type& facet) const
- {
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- day_of_week_type wd(0); // no default constructor
- month_type m(1); // no default constructor
-
- extract_element(sitr, stream_end, last); // "last" element
- facet.get(sitr, stream_end, a_ios, wd); // day_of_week
- extract_element(sitr, stream_end, of); // "of" element
- facet.get(sitr, stream_end, a_ios, m); // month
-
-
- return last_kday_type(wd, m);
- }
-
- //! returns first_kday_of_week parsed from stream
- template<class facet_type>
- kday_before_type
- get_kday_before_type(stream_itr_type& sitr,
- stream_itr_type& stream_end,
- std::ios_base& a_ios,
- const facet_type& facet) const
- {
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- day_of_week_type wd(0); // no default constructor
-
- facet.get(sitr, stream_end, a_ios, wd); // day_of_week
- extract_element(sitr, stream_end, before);// "before" element
-
- return kday_before_type(wd);
- }
-
- //! returns first_kday_of_week parsed from stream
- template<class facet_type>
- kday_after_type
- get_kday_after_type(stream_itr_type& sitr,
- stream_itr_type& stream_end,
- std::ios_base& a_ios,
- const facet_type& facet) const
- {
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- day_of_week_type wd(0); // no default constructor
-
- facet.get(sitr, stream_end, a_ios, wd); // day_of_week
- extract_element(sitr, stream_end, after); // "after" element
-
- return kday_after_type(wd);
- }
-
- private:
- parse_tree_type m_element_strings;
-
- //! Extracts phrase element from input. Throws ios_base::failure on error.
- void extract_element(stream_itr_type& sitr,
- stream_itr_type& stream_end,
- typename date_generator_parser::phrase_elements ele) const
- {
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
- match_results mr = m_element_strings.match(sitr, stream_end);
- if(mr.current_match != ele) {
- boost::throw_exception(std::ios_base::failure("Parse failed. No match found for '" + mr.cache + "'"));
- }
- }
-
- };
-
- template<class date_type, class CharT>
- const typename date_generator_parser<date_type, CharT>::char_type
- date_generator_parser<date_type, CharT>::first_string[6] =
- {'f','i','r','s','t'};
- template<class date_type, class CharT>
- const typename date_generator_parser<date_type, CharT>::char_type
- date_generator_parser<date_type, CharT>::second_string[7] =
- {'s','e','c','o','n','d'};
- template<class date_type, class CharT>
- const typename date_generator_parser<date_type, CharT>::char_type
- date_generator_parser<date_type, CharT>::third_string[6] =
- {'t','h','i','r','d'};
- template<class date_type, class CharT>
- const typename date_generator_parser<date_type, CharT>::char_type
- date_generator_parser<date_type, CharT>::fourth_string[7] =
- {'f','o','u','r','t','h'};
- template<class date_type, class CharT>
- const typename date_generator_parser<date_type, CharT>::char_type
- date_generator_parser<date_type, CharT>::fifth_string[6] =
- {'f','i','f','t','h'};
- template<class date_type, class CharT>
- const typename date_generator_parser<date_type, CharT>::char_type
- date_generator_parser<date_type, CharT>::last_string[5] =
- {'l','a','s','t'};
- template<class date_type, class CharT>
- const typename date_generator_parser<date_type, CharT>::char_type
- date_generator_parser<date_type, CharT>::before_string[8] =
- {'b','e','f','o','r','e'};
- template<class date_type, class CharT>
- const typename date_generator_parser<date_type, CharT>::char_type
- date_generator_parser<date_type, CharT>::after_string[6] =
- {'a','f','t','e','r'};
- template<class date_type, class CharT>
- const typename date_generator_parser<date_type, CharT>::char_type
- date_generator_parser<date_type, CharT>::of_string[3] =
- {'o','f'};
-
-} } //namespace
-
-#endif // DATE_TIME_DATE_GENERATOR_PARSER_HPP__
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/date_names_put.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_names_put.hpp
deleted file mode 100644
index 20da2d2ed0..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/date_names_put.hpp
+++ /dev/null
@@ -1,321 +0,0 @@
-#ifndef DATE_TIME_DATE_NAMES_PUT_HPP___
-#define DATE_TIME_DATE_NAMES_PUT_HPP___
-
-/* Copyright (c) 2002-2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-
-#include <boost/date_time/locale_config.hpp> // set BOOST_DATE_TIME_NO_LOCALE
-
-#ifndef BOOST_DATE_TIME_NO_LOCALE
-
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/special_defs.hpp>
-#include <boost/date_time/date_defs.hpp>
-#include <boost/date_time/parse_format_base.hpp>
-#include <boost/lexical_cast.hpp>
-#include <locale>
-
-
-namespace boost {
-namespace date_time {
-
- //! Output facet base class for gregorian dates.
- /*! This class is a base class for date facets used to localize the
- * names of months and the names of days in the week.
- *
- * Requirements of Config
- * - define an enumeration month_enum that enumerates the months.
- * The enumeration should be '1' based eg: Jan==1
- * - define as_short_string and as_long_string
- *
- * (see langer & kreft p334).
- *
- */
- template<class Config,
- class charT = char,
- class OutputIterator = std::ostreambuf_iterator<charT> >
- class BOOST_SYMBOL_VISIBLE date_names_put : public std::locale::facet
- {
- public:
- date_names_put() {}
- typedef OutputIterator iter_type;
- typedef typename Config::month_type month_type;
- typedef typename Config::month_enum month_enum;
- typedef typename Config::weekday_enum weekday_enum;
- typedef typename Config::special_value_enum special_value_enum;
- //typedef typename Config::format_type format_type;
- typedef std::basic_string<charT> string_type;
- typedef charT char_type;
- static const char_type default_special_value_names[3][17];
- static const char_type separator[2];
-
- static std::locale::id id;
-
-#if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
- std::locale::id& __get_id (void) const { return id; }
-#endif
-
- void put_special_value(iter_type& oitr, special_value_enum sv) const
- {
- do_put_special_value(oitr, sv);
- }
- void put_month_short(iter_type& oitr, month_enum moy) const
- {
- do_put_month_short(oitr, moy);
- }
- void put_month_long(iter_type& oitr, month_enum moy) const
- {
- do_put_month_long(oitr, moy);
- }
- void put_weekday_short(iter_type& oitr, weekday_enum wd) const
- {
- do_put_weekday_short(oitr, wd);
- }
- void put_weekday_long(iter_type& oitr, weekday_enum wd) const
- {
- do_put_weekday_long(oitr, wd);
- }
- bool has_date_sep_chars() const
- {
- return do_has_date_sep_chars();
- }
- void year_sep_char(iter_type& oitr) const
- {
- do_year_sep_char(oitr);
- }
- //! char between year-month
- void month_sep_char(iter_type& oitr) const
- {
- do_month_sep_char(oitr);
- }
- //! Char to separate month-day
- void day_sep_char(iter_type& oitr) const
- {
- do_day_sep_char(oitr);
- }
- //! Determines the order to put the date elements
- ymd_order_spec date_order() const
- {
- return do_date_order();
- }
- //! Determines if month is displayed as integer, short or long string
- month_format_spec month_format() const
- {
- return do_month_format();
- }
-
- protected:
- //! Default facet implementation uses month_type defaults
- virtual void do_put_month_short(iter_type& oitr, month_enum moy) const
- {
- month_type gm(moy);
- charT c = '\0';
- put_string(oitr, gm.as_short_string(c));
- }
- //! Default facet implementation uses month_type defaults
- virtual void do_put_month_long(iter_type& oitr,
- month_enum moy) const
- {
- month_type gm(moy);
- charT c = '\0';
- put_string(oitr, gm.as_long_string(c));
- }
- //! Default facet implementation for special value types
- virtual void do_put_special_value(iter_type& oitr, special_value_enum sv) const
- {
- if(sv <= 2) { // only output not_a_date_time, neg_infin, or pos_infin
- string_type s(default_special_value_names[sv]);
- put_string(oitr, s);
- }
- }
- virtual void do_put_weekday_short(iter_type&, weekday_enum) const
- {
- }
- virtual void do_put_weekday_long(iter_type&, weekday_enum) const
- {
- }
- virtual bool do_has_date_sep_chars() const
- {
- return true;
- }
- virtual void do_year_sep_char(iter_type& oitr) const
- {
- string_type s(separator);
- put_string(oitr, s);
- }
- //! char between year-month
- virtual void do_month_sep_char(iter_type& oitr) const
- {
- string_type s(separator);
- put_string(oitr, s);
- }
- //! Char to separate month-day
- virtual void do_day_sep_char(iter_type& oitr) const
- {
- string_type s(separator); //put in '-'
- put_string(oitr, s);
- }
- //! Default for date order
- virtual ymd_order_spec do_date_order() const
- {
- return ymd_order_iso;
- }
- //! Default month format
- virtual month_format_spec do_month_format() const
- {
- return month_as_short_string;
- }
- void put_string(iter_type& oi, const charT* const s) const
- {
- string_type s1(boost::lexical_cast<string_type>(s));
- typename string_type::iterator si,end;
- for (si=s1.begin(), end=s1.end(); si!=end; si++, oi++) {
- *oi = *si;
- }
- }
- void put_string(iter_type& oi, const string_type& s1) const
- {
- typename string_type::const_iterator si,end;
- for (si=s1.begin(), end=s1.end(); si!=end; si++, oi++) {
- *oi = *si;
- }
- }
- };
-
- template<class Config, class charT, class OutputIterator>
- const typename date_names_put<Config, charT, OutputIterator>::char_type
- date_names_put<Config, charT, OutputIterator>::default_special_value_names[3][17] = {
- {'n','o','t','-','a','-','d','a','t','e','-','t','i','m','e'},
- {'-','i','n','f','i','n','i','t','y'},
- {'+','i','n','f','i','n','i','t','y'} };
-
- template<class Config, class charT, class OutputIterator>
- const typename date_names_put<Config, charT, OutputIterator>::char_type
- date_names_put<Config, charT, OutputIterator>::separator[2] =
- {'-', '\0'} ;
-
-
- //! Generate storage location for a std::locale::id
- template<class Config, class charT, class OutputIterator>
- std::locale::id date_names_put<Config, charT, OutputIterator>::id;
-
- //! A date name output facet that takes an array of char* to define strings
- template<class Config,
- class charT = char,
- class OutputIterator = std::ostreambuf_iterator<charT> >
- class BOOST_SYMBOL_VISIBLE all_date_names_put : public date_names_put<Config, charT, OutputIterator>
- {
- public:
- all_date_names_put(const charT* const month_short_names[],
- const charT* const month_long_names[],
- const charT* const special_value_names[],
- const charT* const weekday_short_names[],
- const charT* const weekday_long_names[],
- charT separator_char = '-',
- ymd_order_spec order_spec = ymd_order_iso,
- month_format_spec month_format = month_as_short_string) :
- month_short_names_(month_short_names),
- month_long_names_(month_long_names),
- special_value_names_(special_value_names),
- weekday_short_names_(weekday_short_names),
- weekday_long_names_(weekday_long_names),
- order_spec_(order_spec),
- month_format_spec_(month_format)
- {
- separator_char_[0] = separator_char;
- separator_char_[1] = '\0';
-
- }
- typedef OutputIterator iter_type;
- typedef typename Config::month_enum month_enum;
- typedef typename Config::weekday_enum weekday_enum;
- typedef typename Config::special_value_enum special_value_enum;
-
- const charT* const* get_short_month_names() const
- {
- return month_short_names_;
- }
- const charT* const* get_long_month_names() const
- {
- return month_long_names_;
- }
- const charT* const* get_special_value_names() const
- {
- return special_value_names_;
- }
- const charT* const* get_short_weekday_names()const
- {
- return weekday_short_names_;
- }
- const charT* const* get_long_weekday_names()const
- {
- return weekday_long_names_;
- }
-
- protected:
- //! Generic facet that takes array of chars
- virtual void do_put_month_short(iter_type& oitr, month_enum moy) const
- {
- this->put_string(oitr, month_short_names_[moy-1]);
- }
- //! Long month names
- virtual void do_put_month_long(iter_type& oitr, month_enum moy) const
- {
- this->put_string(oitr, month_long_names_[moy-1]);
- }
- //! Special values names
- virtual void do_put_special_value(iter_type& oitr, special_value_enum sv) const
- {
- this->put_string(oitr, special_value_names_[sv]);
- }
- virtual void do_put_weekday_short(iter_type& oitr, weekday_enum wd) const
- {
- this->put_string(oitr, weekday_short_names_[wd]);
- }
- virtual void do_put_weekday_long(iter_type& oitr, weekday_enum wd) const
- {
- this->put_string(oitr, weekday_long_names_[wd]);
- }
- //! char between year-month
- virtual void do_month_sep_char(iter_type& oitr) const
- {
- this->put_string(oitr, separator_char_);
- }
- //! Char to separate month-day
- virtual void do_day_sep_char(iter_type& oitr) const
- {
- this->put_string(oitr, separator_char_);
- }
- //! Set the date ordering
- virtual ymd_order_spec do_date_order() const
- {
- return order_spec_;
- }
- //! Set the date ordering
- virtual month_format_spec do_month_format() const
- {
- return month_format_spec_;
- }
-
- private:
- const charT* const* month_short_names_;
- const charT* const* month_long_names_;
- const charT* const* special_value_names_;
- const charT* const* weekday_short_names_;
- const charT* const* weekday_long_names_;
- charT separator_char_[2];
- ymd_order_spec order_spec_;
- month_format_spec month_format_spec_;
- };
-
-} } //namespace boost::date_time
-
-#endif //BOOST_NO_STD_LOCALE
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/date_parsing.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/date_parsing.hpp
deleted file mode 100644
index 34e39bd9cb..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/date_parsing.hpp
+++ /dev/null
@@ -1,342 +0,0 @@
-#ifndef _DATE_TIME_DATE_PARSING_HPP___
-#define _DATE_TIME_DATE_PARSING_HPP___
-
-/* Copyright (c) 2002,2003,2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <map>
-#include <string>
-#include <sstream>
-#include <iterator>
-#include <algorithm>
-#include <boost/tokenizer.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/parse_format_base.hpp>
-#include <boost/date_time/period.hpp>
-
-#if defined(BOOST_DATE_TIME_NO_LOCALE)
-#include <cctype> // ::tolower(int)
-#else
-#include <locale> // std::tolower(char, locale)
-#endif
-
-namespace boost {
-namespace date_time {
-
- //! A function to replace the std::transform( , , ,tolower) construct
- /*! This function simply takes a string, and changes all the characters
- * in that string to lowercase (according to the default system locale).
- * In the event that a compiler does not support locales, the old
- * C style tolower() is used.
- */
- inline
- std::string
- convert_to_lower(std::string inp)
- {
-#if !defined(BOOST_DATE_TIME_NO_LOCALE)
- const std::locale loc(std::locale::classic());
-#endif
- std::string::size_type i = 0, n = inp.length();
- for (; i < n; ++i) {
- inp[i] =
-#if defined(BOOST_DATE_TIME_NO_LOCALE)
- static_cast<char>(std::tolower(inp[i]));
-#else
- // tolower and others were brought in to std for borland >= v564
- // in compiler_config.hpp
- std::tolower(inp[i], loc);
-#endif
- }
- return inp;
- }
-
- //! Helper function for parse_date.
- template<class month_type>
- inline unsigned short
- month_str_to_ushort(std::string const& s) {
- if((s.at(0) >= '0') && (s.at(0) <= '9')) {
- return boost::lexical_cast<unsigned short>(s);
- }
- else {
- std::string str = convert_to_lower(s);
- //c++98 support
-#if defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)
- static std::map<std::string, unsigned short> month_map;
- typedef std::map<std::string, unsigned short>::value_type vtype;
- if( month_map.empty() ) {
- month_map.insert( vtype("jan", static_cast<unsigned short>(1)) );
- month_map.insert( vtype("january", static_cast<unsigned short>(1)) );
- month_map.insert( vtype("feb", static_cast<unsigned short>(2)) );
- month_map.insert( vtype("february", static_cast<unsigned short>(2)) );
- month_map.insert( vtype("mar", static_cast<unsigned short>(3)) );
- month_map.insert( vtype("march", static_cast<unsigned short>(3)) );
- month_map.insert( vtype("apr", static_cast<unsigned short>(4)) );
- month_map.insert( vtype("april", static_cast<unsigned short>(4)) );
- month_map.insert( vtype("may", static_cast<unsigned short>(5)) );
- month_map.insert( vtype("jun", static_cast<unsigned short>(6)) );
- month_map.insert( vtype("june", static_cast<unsigned short>(6)) );
- month_map.insert( vtype("jul", static_cast<unsigned short>(7)) );
- month_map.insert( vtype("july", static_cast<unsigned short>(7)) );
- month_map.insert( vtype("aug", static_cast<unsigned short>(8)) );
- month_map.insert( vtype("august", static_cast<unsigned short>(8)) );
- month_map.insert( vtype("sep", static_cast<unsigned short>(9)) );
- month_map.insert( vtype("september", static_cast<unsigned short>(9)) );
- month_map.insert( vtype("oct", static_cast<unsigned short>(10)) );
- month_map.insert( vtype("october", static_cast<unsigned short>(10)) );
- month_map.insert( vtype("nov", static_cast<unsigned short>(11)) );
- month_map.insert( vtype("november", static_cast<unsigned short>(11)) );
- month_map.insert( vtype("dec", static_cast<unsigned short>(12)) );
- month_map.insert( vtype("december", static_cast<unsigned short>(12)) );
- }
-#else //c+11 and beyond
- static std::map<std::string, unsigned short> month_map =
- { { "jan", static_cast<unsigned short>(1) }, { "january", static_cast<unsigned short>(1) },
- { "feb", static_cast<unsigned short>(2) }, { "february", static_cast<unsigned short>(2) },
- { "mar", static_cast<unsigned short>(3) }, { "march", static_cast<unsigned short>(3) },
- { "apr", static_cast<unsigned short>(4) }, { "april", static_cast<unsigned short>(4) },
- { "may", static_cast<unsigned short>(5) },
- { "jun", static_cast<unsigned short>(6) }, { "june", static_cast<unsigned short>(6) },
- { "jul", static_cast<unsigned short>(7) }, { "july", static_cast<unsigned short>(7) },
- { "aug", static_cast<unsigned short>(8) }, { "august", static_cast<unsigned short>(8) },
- { "sep", static_cast<unsigned short>(9) }, { "september", static_cast<unsigned short>(9) },
- { "oct", static_cast<unsigned short>(10) }, { "october", static_cast<unsigned short>(10)},
- { "nov", static_cast<unsigned short>(11) }, { "november", static_cast<unsigned short>(11)},
- { "dec", static_cast<unsigned short>(12) }, { "december", static_cast<unsigned short>(12)}
- };
-#endif
- std::map<std::string, unsigned short>::const_iterator mitr = month_map.find( str );
- if ( mitr != month_map.end() ) {
- return mitr->second;
- }
- }
- return 13; // intentionally out of range - name not found
- }
-
-
- //! Generic function to parse a delimited date (eg: 2002-02-10)
- /*! Accepted formats are: "2003-02-10" or " 2003-Feb-10" or
- * "2003-Feburary-10"
- * The order in which the Month, Day, & Year appear in the argument
- * string can be accomodated by passing in the appropriate ymd_order_spec
- */
- template<class date_type>
- date_type
- parse_date(const std::string& s, int order_spec = ymd_order_iso) {
- std::string spec_str;
- if(order_spec == ymd_order_iso) {
- spec_str = "ymd";
- }
- else if(order_spec == ymd_order_dmy) {
- spec_str = "dmy";
- }
- else { // (order_spec == ymd_order_us)
- spec_str = "mdy";
- }
-
- typedef typename date_type::month_type month_type;
- unsigned pos = 0;
- unsigned short year(0), month(0), day(0);
- typedef typename std::basic_string<char>::traits_type traits_type;
- typedef boost::char_separator<char, traits_type> char_separator_type;
- typedef boost::tokenizer<char_separator_type,
- std::basic_string<char>::const_iterator,
- std::basic_string<char> > tokenizer;
- typedef boost::tokenizer<char_separator_type,
- std::basic_string<char>::const_iterator,
- std::basic_string<char> >::iterator tokenizer_iterator;
- // may need more delimiters, these work for the regression tests
- const char sep_char[] = {',','-','.',' ','/','\0'};
- char_separator_type sep(sep_char);
- tokenizer tok(s,sep);
- for(tokenizer_iterator beg=tok.begin();
- beg!=tok.end() && pos < spec_str.size();
- ++beg, ++pos) {
- switch(spec_str.at(pos)) {
- case 'y':
- {
- year = boost::lexical_cast<unsigned short>(*beg);
- break;
- }
- case 'm':
- {
- month = month_str_to_ushort<month_type>(*beg);
- break;
- }
- case 'd':
- {
- day = boost::lexical_cast<unsigned short>(*beg);
- break;
- }
- default: break;
- } //switch
- }
- return date_type(year, month, day);
- }
-
- //! Generic function to parse undelimited date (eg: 20020201)
- template<class date_type>
- date_type
- parse_undelimited_date(const std::string& s) {
- int offsets[] = {4,2,2};
- int pos = 0;
- //typename date_type::ymd_type ymd((year_type::min)(),1,1);
- unsigned short y = 0, m = 0, d = 0;
-
- /* The two bool arguments state that parsing will not wrap
- * (only the first 8 characters will be parsed) and partial
- * strings will not be parsed.
- * Ex:
- * "2005121" will parse 2005 & 12, but not the "1" */
- boost::offset_separator osf(offsets, offsets+3, false, false);
-
- typedef typename boost::tokenizer<boost::offset_separator,
- std::basic_string<char>::const_iterator,
- std::basic_string<char> > tokenizer_type;
- tokenizer_type tok(s, osf);
- for(typename tokenizer_type::iterator ti=tok.begin(); ti!=tok.end();++ti) {
- unsigned short i = boost::lexical_cast<unsigned short>(*ti);
- switch(pos) {
- case 0: y = i; break;
- case 1: m = i; break;
- case 2: d = i; break;
- default: break;
- }
- pos++;
- }
- return date_type(y,m,d);
- }
-
- //! Helper function for 'date gregorian::from_stream()'
- /*! Creates a string from the iterators that reference the
- * begining & end of a char[] or string. All elements are
- * used in output string */
- template<class date_type, class iterator_type>
- inline
- date_type
- from_stream_type(iterator_type& beg,
- iterator_type const& end,
- char)
- {
- std::ostringstream ss;
- while(beg != end) {
- ss << *beg++;
- }
- return parse_date<date_type>(ss.str());
- }
-
- //! Helper function for 'date gregorian::from_stream()'
- /*! Returns the first string found in the stream referenced by the
- * begining & end iterators */
- template<class date_type, class iterator_type>
- inline
- date_type
- from_stream_type(iterator_type& beg,
- iterator_type const& /* end */,
- std::string const&)
- {
- return parse_date<date_type>(*beg);
- }
-
- /* I believe the wchar stuff would be best elsewhere, perhaps in
- * parse_date<>()? In the mean time this gets us started... */
- //! Helper function for 'date gregorian::from_stream()'
- /*! Creates a string from the iterators that reference the
- * begining & end of a wstring. All elements are
- * used in output string */
- template<class date_type, class iterator_type>
- inline
- date_type from_stream_type(iterator_type& beg,
- iterator_type const& end,
- wchar_t)
- {
- std::ostringstream ss;
-#if !defined(BOOST_DATE_TIME_NO_LOCALE)
- std::locale loc;
- std::ctype<wchar_t> const& fac = std::use_facet<std::ctype<wchar_t> >(loc);
- while(beg != end) {
- ss << fac.narrow(*beg++, 'X'); // 'X' will cause exception to be thrown
- }
-#else
- while(beg != end) {
- char c = 'X'; // 'X' will cause exception to be thrown
- const wchar_t wc = *beg++;
- if (wc >= 0 && wc <= 127)
- c = static_cast< char >(wc);
- ss << c;
- }
-#endif
- return parse_date<date_type>(ss.str());
- }
-#ifndef BOOST_NO_STD_WSTRING
- //! Helper function for 'date gregorian::from_stream()'
- /*! Creates a string from the first wstring found in the stream
- * referenced by the begining & end iterators */
- template<class date_type, class iterator_type>
- inline
- date_type
- from_stream_type(iterator_type& beg,
- iterator_type const& /* end */,
- std::wstring const&) {
- std::wstring ws = *beg;
- std::ostringstream ss;
- std::wstring::iterator wsb = ws.begin(), wse = ws.end();
-#if !defined(BOOST_DATE_TIME_NO_LOCALE)
- std::locale loc;
- std::ctype<wchar_t> const& fac = std::use_facet<std::ctype<wchar_t> >(loc);
- while(wsb != wse) {
- ss << fac.narrow(*wsb++, 'X'); // 'X' will cause exception to be thrown
- }
-#else
- while(wsb != wse) {
- char c = 'X'; // 'X' will cause exception to be thrown
- const wchar_t wc = *wsb++;
- if (wc >= 0 && wc <= 127)
- c = static_cast< char >(wc);
- ss << c;
- }
-#endif
- return parse_date<date_type>(ss.str());
- }
-#endif // BOOST_NO_STD_WSTRING
-#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
- // This function cannot be compiled with MSVC 6.0 due to internal compiler shorcomings
-#else
- //! function called by wrapper functions: date_period_from_(w)string()
- template<class date_type, class charT>
- period<date_type, typename date_type::duration_type>
- from_simple_string_type(const std::basic_string<charT>& s){
- typedef typename std::basic_string<charT>::traits_type traits_type;
- typedef typename boost::char_separator<charT, traits_type> char_separator;
- typedef typename boost::tokenizer<char_separator,
- typename std::basic_string<charT>::const_iterator,
- std::basic_string<charT> > tokenizer;
- const charT sep_list[4] = {'[','/',']','\0'};
- char_separator sep(sep_list);
- tokenizer tokens(s, sep);
- typename tokenizer::iterator tok_it = tokens.begin();
- std::basic_string<charT> date_string = *tok_it;
- // get 2 string iterators and generate a date from them
- typename std::basic_string<charT>::iterator date_string_start = date_string.begin(),
- date_string_end = date_string.end();
- typedef typename std::iterator_traits<typename std::basic_string<charT>::iterator>::value_type value_type;
- date_type d1 = from_stream_type<date_type>(date_string_start, date_string_end, value_type());
- date_string = *(++tok_it); // next token
- date_string_start = date_string.begin(), date_string_end = date_string.end();
- date_type d2 = from_stream_type<date_type>(date_string_start, date_string_end, value_type());
- return period<date_type, typename date_type::duration_type>(d1, d2);
- }
-#endif
-
-} } //namespace date_time
-
-
-
-
-#endif
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/dst_transition_generators.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/dst_transition_generators.hpp
deleted file mode 100644
index 5a74806f1c..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/dst_transition_generators.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright (c) 2002,2003,2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- */
-#ifndef DATE_TIME_DATE_DST_TRANSITION_DAY_GEN_HPP__
-#define DATE_TIME_DATE_DST_TRANSITION_DAY_GEN_HPP__
-
-#include <string>
-
-namespace boost {
-namespace date_time {
-
- //! Defines base interface for calculating start and end date of daylight savings
- template<class date_type>
- class dst_day_calc_rule
- {
- public:
- typedef typename date_type::year_type year_type;
- virtual ~dst_day_calc_rule() {}
- virtual date_type start_day(year_type y) const=0;
- virtual std::string start_rule_as_string() const=0;
- virtual date_type end_day(year_type y) const=0;
- virtual std::string end_rule_as_string() const=0;
-
- };
-
- //! Canonical form for a class that provides day rule calculation
- /*! This class is used to generate specific sets of dst rules
- *
- *@tparam spec Provides a specifiction of the function object types used
- * to generate start and end days of daylight savings as well
- * as the date type.
- */
- template<class spec>
- class day_calc_dst_rule : public dst_day_calc_rule<typename spec::date_type>
- {
- public:
- typedef typename spec::date_type date_type;
- typedef typename date_type::year_type year_type;
- typedef typename spec::start_rule start_rule;
- typedef typename spec::end_rule end_rule;
- day_calc_dst_rule(start_rule dst_start,
- end_rule dst_end) :
- dst_start_(dst_start),
- dst_end_(dst_end)
- {}
- virtual date_type start_day(year_type y) const
- {
- return dst_start_.get_date(y);
- }
- virtual std::string start_rule_as_string() const
- {
- return dst_start_.to_string();
- }
- virtual date_type end_day(year_type y) const
- {
- return dst_end_.get_date(y);
- }
- virtual std::string end_rule_as_string() const
- {
- return dst_end_.to_string();
- }
- private:
- start_rule dst_start_;
- end_rule dst_end_;
- };
-
-
-} }//namespace
-
-
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/find_match.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/find_match.hpp
deleted file mode 100644
index 72c81ce5cd..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/find_match.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef _BOOST_DATE_TIME_FIND_MATCH_HPP___
-#define _BOOST_DATE_TIME_FIND_MATCH_HPP___
-
-/* Copyright (c) 2002,2003,2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <string>
-
-namespace boost {
-namespace date_time {
-
-
- //! Find index of a string in either of 2 arrays
- /*! find_match searches both arrays for a match to 's'. Both arrays
- * must contain 'size' elements. The index of the match is returned.
- * If no match is found, 'size' is returned.
- * Ex. "Jan" returns 0, "Dec" returns 11, "Tue" returns 2.
- * 'size' can be sent in with: (greg_month::max)() (which 12),
- * (greg_weekday::max)() + 1 (which is 7) or date_time::NumSpecialValues */
- template<class charT>
- short find_match(const charT* const* short_names,
- const charT* const* long_names,
- short size,
- const std::basic_string<charT>& s) {
- for(short i = 0; i < size; ++i){
- if(short_names[i] == s || long_names[i] == s){
- return i;
- }
- }
- return size; // not-found, return a value out of range
- }
-
-
-} } //namespace date_time
-
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/format_date_parser.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/format_date_parser.hpp
deleted file mode 100644
index 2269a4897e..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/format_date_parser.hpp
+++ /dev/null
@@ -1,724 +0,0 @@
-
-#ifndef DATE_TIME_FORMAT_DATE_PARSER_HPP__
-#define DATE_TIME_FORMAT_DATE_PARSER_HPP__
-
-/* Copyright (c) 2004-2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-
-#include "boost/lexical_cast.hpp"
-#include "boost/date_time/string_parse_tree.hpp"
-#include "boost/date_time/strings_from_facet.hpp"
-#include "boost/date_time/special_values_parser.hpp"
-#include <string>
-#include <vector>
-#include <sstream>
-#include <iterator>
-#ifndef BOOST_NO_STDC_NAMESPACE
-# include <cctype>
-#else
-# include <ctype.h>
-#endif
-
-#ifdef BOOST_NO_STDC_NAMESPACE
-namespace std {
- using ::isspace;
- using ::isdigit;
-}
-#endif
-namespace boost { namespace date_time {
-
-//! Helper function for parsing fixed length strings into integers
-/*! Will consume 'length' number of characters from stream. Consumed
- * character are transfered to parse_match_result struct.
- * Returns '-1' if no number can be parsed or incorrect number of
- * digits in stream. */
-template<typename int_type, typename charT>
-inline
-int_type
-fixed_string_to_int(std::istreambuf_iterator<charT>& itr,
- std::istreambuf_iterator<charT>& stream_end,
- parse_match_result<charT>& mr,
- unsigned int length,
- const charT& fill_char)
-{
- //typedef std::basic_string<charT> string_type;
- unsigned int j = 0;
- //string_type s;
- while (j < length && itr != stream_end &&
- (std::isdigit(*itr) || *itr == fill_char)) {
- if(*itr == fill_char) {
- /* Since a fill_char can be anything, we convert it to a zero.
- * lexical_cast will behave predictably when zero is used as fill. */
- mr.cache += ('0');
- }
- else {
- mr.cache += (*itr);
- }
- itr++;
- j++;
- }
- int_type i = static_cast<int_type>(-1);
- // mr.cache will hold leading zeros. size() tells us when input is too short.
- if(mr.cache.size() < length) {
- return i;
- }
- try {
- i = boost::lexical_cast<int_type>(mr.cache);
- }catch(bad_lexical_cast&){
- // we want to return -1 if the cast fails so nothing to do here
- }
- return i;
-}
-
-//! Helper function for parsing fixed length strings into integers
-/*! Will consume 'length' number of characters from stream. Consumed
- * character are transfered to parse_match_result struct.
- * Returns '-1' if no number can be parsed or incorrect number of
- * digits in stream. */
-template<typename int_type, typename charT>
-inline
-int_type
-fixed_string_to_int(std::istreambuf_iterator<charT>& itr,
- std::istreambuf_iterator<charT>& stream_end,
- parse_match_result<charT>& mr,
- unsigned int length)
-{
- return fixed_string_to_int<int_type, charT>(itr, stream_end, mr, length, '0');
-}
-
-//! Helper function for parsing varied length strings into integers
-/*! Will consume 'max_length' characters from stream only if those
- * characters are digits. Returns '-1' if no number can be parsed.
- * Will not parse a number preceeded by a '+' or '-'. */
-template<typename int_type, typename charT>
-inline
-int_type
-var_string_to_int(std::istreambuf_iterator<charT>& itr,
- const std::istreambuf_iterator<charT>& stream_end,
- unsigned int max_length)
-{
- typedef std::basic_string<charT> string_type;
- unsigned int j = 0;
- string_type s;
- while (itr != stream_end && (j < max_length) && std::isdigit(*itr)) {
- s += (*itr);
- ++itr;
- ++j;
- }
- int_type i = static_cast<int_type>(-1);
- if(!s.empty()) {
- i = boost::lexical_cast<int_type>(s);
- }
- return i;
-}
-
-
-//! Class with generic date parsing using a format string
-/*! The following is the set of recognized format specifiers
- - %a - Short weekday name
- - %A - Long weekday name
- - %b - Abbreviated month name
- - %B - Full month name
- - %d - Day of the month as decimal 01 to 31
- - %j - Day of year as decimal from 001 to 366
- - %m - Month name as a decimal 01 to 12
- - %U - Week number 00 to 53 with first Sunday as the first day of week 1?
- - %w - Weekday as decimal number 0 to 6 where Sunday == 0
- - %W - Week number 00 to 53 where Monday is first day of week 1
- - %x - facet default date representation
- - %y - Year without the century - eg: 04 for 2004
- - %Y - Year with century
-
- The weekday specifiers (%a and %A) do not add to the date construction,
- but they provide a way to skip over the weekday names for formats that
- provide them.
-
- todo -- Another interesting feature that this approach could provide is
- an option to fill in any missing fields with the current values
- from the clock. So if you have %m-%d the parser would detect
- the missing year value and fill it in using the clock.
-
- todo -- What to do with the %x. %x in the classic facet is just bad...
-
- */
-template<class date_type, typename charT>
-class format_date_parser
-{
- public:
- typedef std::basic_string<charT> string_type;
- typedef std::basic_istringstream<charT> stringstream_type;
- typedef std::istreambuf_iterator<charT> stream_itr_type;
- typedef typename string_type::const_iterator const_itr;
- typedef typename date_type::year_type year_type;
- typedef typename date_type::month_type month_type;
- typedef typename date_type::day_type day_type;
- typedef typename date_type::duration_type duration_type;
- typedef typename date_type::day_of_week_type day_of_week_type;
- typedef typename date_type::day_of_year_type day_of_year_type;
- typedef string_parse_tree<charT> parse_tree_type;
- typedef typename parse_tree_type::parse_match_result_type match_results;
- typedef std::vector<std::basic_string<charT> > input_collection_type;
-
- // TODO sv_parser uses its default constructor - write the others
-
- format_date_parser(const string_type& format_str,
- const input_collection_type& month_short_names,
- const input_collection_type& month_long_names,
- const input_collection_type& weekday_short_names,
- const input_collection_type& weekday_long_names) :
- m_format(format_str),
- m_month_short_names(month_short_names, 1),
- m_month_long_names(month_long_names, 1),
- m_weekday_short_names(weekday_short_names),
- m_weekday_long_names(weekday_long_names)
- {}
-
- format_date_parser(const string_type& format_str,
- const std::locale& locale) :
- m_format(format_str),
- m_month_short_names(gather_month_strings<charT>(locale), 1),
- m_month_long_names(gather_month_strings<charT>(locale, false), 1),
- m_weekday_short_names(gather_weekday_strings<charT>(locale)),
- m_weekday_long_names(gather_weekday_strings<charT>(locale, false))
- {}
-
- format_date_parser(const format_date_parser<date_type,charT>& fdp)
- {
- this->m_format = fdp.m_format;
- this->m_month_short_names = fdp.m_month_short_names;
- this->m_month_long_names = fdp.m_month_long_names;
- this->m_weekday_short_names = fdp.m_weekday_short_names;
- this->m_weekday_long_names = fdp.m_weekday_long_names;
- }
-
- string_type format() const
- {
- return m_format;
- }
-
- void format(string_type format_str)
- {
- m_format = format_str;
- }
-
- void short_month_names(const input_collection_type& month_names)
- {
- m_month_short_names = parse_tree_type(month_names, 1);
- }
- void long_month_names(const input_collection_type& month_names)
- {
- m_month_long_names = parse_tree_type(month_names, 1);
- }
- void short_weekday_names(const input_collection_type& weekday_names)
- {
- m_weekday_short_names = parse_tree_type(weekday_names);
- }
- void long_weekday_names(const input_collection_type& weekday_names)
- {
- m_weekday_long_names = parse_tree_type(weekday_names);
- }
-
- date_type
- parse_date(const string_type& value,
- const string_type& format_str,
- const special_values_parser<date_type,charT>& sv_parser) const
- {
- stringstream_type ss(value);
- stream_itr_type sitr(ss);
- stream_itr_type stream_end;
- return parse_date(sitr, stream_end, format_str, sv_parser);
- }
-
- date_type
- parse_date(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end,
- const special_values_parser<date_type,charT>& sv_parser) const
- {
- return parse_date(sitr, stream_end, m_format, sv_parser);
- }
-
- /*! Of all the objects that the format_date_parser can parse, only a
- * date can be a special value. Therefore, only parse_date checks
- * for special_values. */
- date_type
- parse_date(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end,
- string_type format_str,
- const special_values_parser<date_type,charT>& sv_parser) const
- {
- bool use_current_char = false;
-
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- short year(0), month(0), day(0), day_of_year(0);// wkday(0);
- /* Initialized the following to their minimum values. These intermediate
- * objects are used so we get specific exceptions when part of the input
- * is unparsable.
- * Ex: "205-Jan-15" will throw a bad_year, "2005-Jsn-15"- bad_month, etc.*/
- year_type t_year(1400);
- month_type t_month(1);
- day_type t_day(1);
- day_of_week_type wkday(0);
-
-
- const_itr itr(format_str.begin());
- while (itr != format_str.end() && (sitr != stream_end)) {
- if (*itr == '%') {
- if ( ++itr == format_str.end())
- break;
- if (*itr != '%') {
- switch(*itr) {
- case 'a':
- {
- //this value is just throw away. It could be used for
- //error checking potentially, but it isn't helpful in
- //actually constructing the date - we just need to get it
- //out of the stream
- match_results mr = m_weekday_short_names.match(sitr, stream_end);
- if(mr.current_match == match_results::PARSE_ERROR) {
- // check special_values
- if(sv_parser.match(sitr, stream_end, mr)) {
- return date_type(static_cast<special_values>(mr.current_match));
- }
- }
- wkday = mr.current_match;
- if (mr.has_remaining()) {
- use_current_char = true;
- }
- break;
- }
- case 'A':
- {
- //this value is just throw away. It could be used for
- //error checking potentially, but it isn't helpful in
- //actually constructing the date - we just need to get it
- //out of the stream
- match_results mr = m_weekday_long_names.match(sitr, stream_end);
- if(mr.current_match == match_results::PARSE_ERROR) {
- // check special_values
- if(sv_parser.match(sitr, stream_end, mr)) {
- return date_type(static_cast<special_values>(mr.current_match));
- }
- }
- wkday = mr.current_match;
- if (mr.has_remaining()) {
- use_current_char = true;
- }
- break;
- }
- case 'b':
- {
- match_results mr = m_month_short_names.match(sitr, stream_end);
- if(mr.current_match == match_results::PARSE_ERROR) {
- // check special_values
- if(sv_parser.match(sitr, stream_end, mr)) {
- return date_type(static_cast<special_values>(mr.current_match));
- }
- }
- t_month = month_type(mr.current_match);
- if (mr.has_remaining()) {
- use_current_char = true;
- }
- break;
- }
- case 'B':
- {
- match_results mr = m_month_long_names.match(sitr, stream_end);
- if(mr.current_match == match_results::PARSE_ERROR) {
- // check special_values
- if(sv_parser.match(sitr, stream_end, mr)) {
- return date_type(static_cast<special_values>(mr.current_match));
- }
- }
- t_month = month_type(mr.current_match);
- if (mr.has_remaining()) {
- use_current_char = true;
- }
- break;
- }
- case 'd':
- {
- match_results mr;
- day = fixed_string_to_int<short, charT>(sitr, stream_end, mr, 2);
- if(day == -1) {
- if(sv_parser.match(sitr, stream_end, mr)) {
- return date_type(static_cast<special_values>(mr.current_match));
- }
- }
- t_day = day_type(day);
- break;
- }
- case 'e':
- {
- match_results mr;
- day = fixed_string_to_int<short, charT>(sitr, stream_end, mr, 2, ' ');
- if(day == -1) {
- if(sv_parser.match(sitr, stream_end, mr)) {
- return date_type(static_cast<special_values>(mr.current_match));
- }
- }
- t_day = day_type(day);
- break;
- }
- case 'j':
- {
- match_results mr;
- day_of_year = fixed_string_to_int<short, charT>(sitr, stream_end, mr, 3);
- if(day_of_year == -1) {
- if(sv_parser.match(sitr, stream_end, mr)) {
- return date_type(static_cast<special_values>(mr.current_match));
- }
- }
- // these next two lines are so we get an exception with bad input
- day_of_year_type t_day_of_year(1);
- t_day_of_year = day_of_year_type(day_of_year);
- break;
- }
- case 'm':
- {
- match_results mr;
- month = fixed_string_to_int<short, charT>(sitr, stream_end, mr, 2);
- if(month == -1) {
- if(sv_parser.match(sitr, stream_end, mr)) {
- return date_type(static_cast<special_values>(mr.current_match));
- }
- }
- t_month = month_type(month);
- break;
- }
- case 'Y':
- {
- match_results mr;
- year = fixed_string_to_int<short, charT>(sitr, stream_end, mr, 4);
- if(year == -1) {
- if(sv_parser.match(sitr, stream_end, mr)) {
- return date_type(static_cast<special_values>(mr.current_match));
- }
- }
- t_year = year_type(year);
- break;
- }
- case 'y':
- {
- match_results mr;
- year = fixed_string_to_int<short, charT>(sitr, stream_end, mr, 2);
- if(year == -1) {
- if(sv_parser.match(sitr, stream_end, mr)) {
- return date_type(static_cast<special_values>(mr.current_match));
- }
- }
- year += 2000; //make 2 digit years in this century
- t_year = year_type(year);
- break;
- }
- default:
- {} //ignore those we don't understand
-
- }//switch
-
- }
- else { // itr == '%', second consecutive
- sitr++;
- }
-
- itr++; //advance past format specifier
- }
- else { //skip past chars in format and in buffer
- itr++;
- if (use_current_char) {
- use_current_char = false;
- }
- else {
- sitr++;
- }
- }
- }
-
- if (day_of_year > 0) {
- date_type d(static_cast<unsigned short>(year-1),12,31); //end of prior year
- return d + duration_type(day_of_year);
- }
-
- return date_type(t_year, t_month, t_day); // exceptions were thrown earlier
- // if input was no good
- }
-
- //! Throws bad_month if unable to parse
- month_type
- parse_month(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end,
- string_type format_str) const
- {
- match_results mr;
- return parse_month(sitr, stream_end, format_str, mr);
- }
-
- //! Throws bad_month if unable to parse
- month_type
- parse_month(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end,
- string_type format_str,
- match_results& mr) const
- {
- bool use_current_char = false;
-
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- short month(0);
-
- const_itr itr(format_str.begin());
- while (itr != format_str.end() && (sitr != stream_end)) {
- if (*itr == '%') {
- if ( ++itr == format_str.end())
- break;
- if (*itr != '%') {
- switch(*itr) {
- case 'b':
- {
- mr = m_month_short_names.match(sitr, stream_end);
- month = mr.current_match;
- if (mr.has_remaining()) {
- use_current_char = true;
- }
- break;
- }
- case 'B':
- {
- mr = m_month_long_names.match(sitr, stream_end);
- month = mr.current_match;
- if (mr.has_remaining()) {
- use_current_char = true;
- }
- break;
- }
- case 'm':
- {
- month = var_string_to_int<short, charT>(sitr, stream_end, 2);
- // var_string_to_int returns -1 if parse failed. That will
- // cause a bad_month exception to be thrown so we do nothing here
- break;
- }
- default:
- {} //ignore those we don't understand
-
- }//switch
-
- }
- else { // itr == '%', second consecutive
- sitr++;
- }
-
- itr++; //advance past format specifier
- }
- else { //skip past chars in format and in buffer
- itr++;
- if (use_current_char) {
- use_current_char = false;
- }
- else {
- sitr++;
- }
- }
- }
-
- return month_type(month); // throws bad_month exception when values are zero
- }
-
- //! Expects 1 or 2 digits 1-31. Throws bad_day_of_month if unable to parse
- day_type
- parse_var_day_of_month(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end) const
- {
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- return day_type(var_string_to_int<short, charT>(sitr, stream_end, 2));
- }
- //! Expects 2 digits 01-31. Throws bad_day_of_month if unable to parse
- day_type
- parse_day_of_month(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end) const
- {
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- //return day_type(var_string_to_int<short, charT>(sitr, stream_end, 2));
- match_results mr;
- return day_type(fixed_string_to_int<short, charT>(sitr, stream_end, mr, 2));
- }
-
- day_of_week_type
- parse_weekday(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end,
- string_type format_str) const
- {
- match_results mr;
- return parse_weekday(sitr, stream_end, format_str, mr);
- }
- day_of_week_type
- parse_weekday(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end,
- string_type format_str,
- match_results& mr) const
- {
- bool use_current_char = false;
-
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- short wkday(0);
-
- const_itr itr(format_str.begin());
- while (itr != format_str.end() && (sitr != stream_end)) {
- if (*itr == '%') {
- if ( ++itr == format_str.end())
- break;
- if (*itr != '%') {
- switch(*itr) {
- case 'a':
- {
- //this value is just throw away. It could be used for
- //error checking potentially, but it isn't helpful in
- //actually constructing the date - we just need to get it
- //out of the stream
- mr = m_weekday_short_names.match(sitr, stream_end);
- wkday = mr.current_match;
- if (mr.has_remaining()) {
- use_current_char = true;
- }
- break;
- }
- case 'A':
- {
- //this value is just throw away. It could be used for
- //error checking potentially, but it isn't helpful in
- //actually constructing the date - we just need to get it
- //out of the stream
- mr = m_weekday_long_names.match(sitr, stream_end);
- wkday = mr.current_match;
- if (mr.has_remaining()) {
- use_current_char = true;
- }
- break;
- }
- case 'w':
- {
- // weekday as number 0-6, Sunday == 0
- wkday = var_string_to_int<short, charT>(sitr, stream_end, 2);
- break;
- }
- default:
- {} //ignore those we don't understand
-
- }//switch
-
- }
- else { // itr == '%', second consecutive
- sitr++;
- }
-
- itr++; //advance past format specifier
- }
- else { //skip past chars in format and in buffer
- itr++;
- if (use_current_char) {
- use_current_char = false;
- }
- else {
- sitr++;
- }
- }
- }
-
- return day_of_week_type(wkday); // throws bad_day_of_month exception
- // when values are zero
- }
-
- //! throws bad_year if unable to parse
- year_type
- parse_year(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end,
- string_type format_str) const
- {
- match_results mr;
- return parse_year(sitr, stream_end, format_str, mr);
- }
-
- //! throws bad_year if unable to parse
- year_type
- parse_year(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end,
- string_type format_str,
- match_results& mr) const
- {
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- unsigned short year(0);
-
- const_itr itr(format_str.begin());
- while (itr != format_str.end() && (sitr != stream_end)) {
- if (*itr == '%') {
- if ( ++itr == format_str.end())
- break;
- if (*itr != '%') {
- //match_results mr;
- switch(*itr) {
- case 'Y':
- {
- // year from 4 digit string
- year = fixed_string_to_int<short, charT>(sitr, stream_end, mr, 4);
- break;
- }
- case 'y':
- {
- // year from 2 digit string (no century)
- year = fixed_string_to_int<short, charT>(sitr, stream_end, mr, 2);
- year += 2000; //make 2 digit years in this century
- break;
- }
- default:
- {} //ignore those we don't understand
-
- }//switch
-
- }
- else { // itr == '%', second consecutive
- sitr++;
- }
-
- itr++; //advance past format specifier
- }
- else { //skip past chars in format and in buffer
- itr++;
- sitr++;
- }
- }
-
- return year_type(year); // throws bad_year exception when values are zero
- }
-
-
- private:
- string_type m_format;
- parse_tree_type m_month_short_names;
- parse_tree_type m_month_long_names;
- parse_tree_type m_weekday_short_names;
- parse_tree_type m_weekday_long_names;
-
-};
-
-} } //namespace
-
-#endif
-
-
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters.hpp
deleted file mode 100644
index d486ef0f4c..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-#ifndef GREGORIAN_FORMATTERS_HPP___
-#define GREGORIAN_FORMATTERS_HPP___
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/compiler_config.hpp"
-#include "boost/date_time/gregorian/gregorian_types.hpp"
-#if defined(BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS)
-#include "boost/date_time/date_formatting_limited.hpp"
-#else
-#include "boost/date_time/date_formatting.hpp"
-#endif
-#include "boost/date_time/iso_format.hpp"
-#include "boost/date_time/date_format_simple.hpp"
-
-/* NOTE: "to_*_string" code for older compilers, ones that define
- * BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS, is located in
- * formatters_limited.hpp
- */
-
-namespace boost {
-namespace gregorian {
-
- // wrapper function for to_simple_(w)string(date)
- template<class charT>
- inline
- std::basic_string<charT> to_simple_string_type(const date& d) {
- return date_time::date_formatter<date,date_time::simple_format<charT>,charT>::date_to_string(d);
- }
- //! To YYYY-mmm-DD string where mmm 3 char month name. Example: 2002-Jan-01
- /*!\ingroup date_format
- */
- inline std::string to_simple_string(const date& d) {
- return to_simple_string_type<char>(d);
- }
-
-
- // wrapper function for to_simple_(w)string(date_period)
- template<class charT>
- inline std::basic_string<charT> to_simple_string_type(const date_period& d) {
- typedef std::basic_string<charT> string_type;
- charT b = '[', m = '/', e=']';
-
- string_type d1(date_time::date_formatter<date,date_time::simple_format<charT>,charT>::date_to_string(d.begin()));
- string_type d2(date_time::date_formatter<date,date_time::simple_format<charT>,charT>::date_to_string(d.last()));
- return string_type(b + d1 + m + d2 + e);
- }
- //! Convert date period to simple string. Example: [2002-Jan-01/2002-Jan-02]
- /*!\ingroup date_format
- */
- inline std::string to_simple_string(const date_period& d) {
- return to_simple_string_type<char>(d);
- }
-
- // wrapper function for to_iso_(w)string(date_period)
- template<class charT>
- inline std::basic_string<charT> to_iso_string_type(const date_period& d) {
- charT sep = '/';
- std::basic_string<charT> s(date_time::date_formatter<date,date_time::iso_format<charT>,charT>::date_to_string(d.begin()));
- return s + sep + date_time::date_formatter<date,date_time::iso_format<charT>,charT>::date_to_string(d.last());
- }
- //! Date period to iso standard format CCYYMMDD/CCYYMMDD. Example: 20021225/20021231
- /*!\ingroup date_format
- */
- inline std::string to_iso_string(const date_period& d) {
- return to_iso_string_type<char>(d);
- }
-
-
- // wrapper function for to_iso_extended_(w)string(date)
- template<class charT>
- inline std::basic_string<charT> to_iso_extended_string_type(const date& d) {
- return date_time::date_formatter<date,date_time::iso_extended_format<charT>,charT>::date_to_string(d);
- }
- //! Convert to iso extended format string CCYY-MM-DD. Example 2002-12-31
- /*!\ingroup date_format
- */
- inline std::string to_iso_extended_string(const date& d) {
- return to_iso_extended_string_type<char>(d);
- }
-
- // wrapper function for to_iso_(w)string(date)
- template<class charT>
- inline std::basic_string<charT> to_iso_string_type(const date& d) {
- return date_time::date_formatter<date,date_time::iso_format<charT>,charT>::date_to_string(d);
- }
- //! Convert to iso standard string YYYYMMDD. Example: 20021231
- /*!\ingroup date_format
- */
- inline std::string to_iso_string(const date& d) {
- return to_iso_string_type<char>(d);
- }
-
-
-
-
- // wrapper function for to_sql_(w)string(date)
- template<class charT>
- inline std::basic_string<charT> to_sql_string_type(const date& d)
- {
- date::ymd_type ymd = d.year_month_day();
- std::basic_ostringstream<charT> ss;
- ss << ymd.year << "-"
- << std::setw(2) << std::setfill(ss.widen('0'))
- << ymd.month.as_number() //solves problem with gcc 3.1 hanging
- << "-"
- << std::setw(2) << std::setfill(ss.widen('0'))
- << ymd.day;
- return ss.str();
- }
- inline std::string to_sql_string(const date& d) {
- return to_sql_string_type<char>(d);
- }
-
-
-#if !defined(BOOST_NO_STD_WSTRING)
- //! Convert date period to simple string. Example: [2002-Jan-01/2002-Jan-02]
- /*!\ingroup date_format
- */
- inline std::wstring to_simple_wstring(const date_period& d) {
- return to_simple_string_type<wchar_t>(d);
- }
- //! To YYYY-mmm-DD string where mmm 3 char month name. Example: 2002-Jan-01
- /*!\ingroup date_format
- */
- inline std::wstring to_simple_wstring(const date& d) {
- return to_simple_string_type<wchar_t>(d);
- }
- //! Date period to iso standard format CCYYMMDD/CCYYMMDD. Example: 20021225/20021231
- /*!\ingroup date_format
- */
- inline std::wstring to_iso_wstring(const date_period& d) {
- return to_iso_string_type<wchar_t>(d);
- }
- //! Convert to iso extended format string CCYY-MM-DD. Example 2002-12-31
- /*!\ingroup date_format
- */
- inline std::wstring to_iso_extended_wstring(const date& d) {
- return to_iso_extended_string_type<wchar_t>(d);
- }
- //! Convert to iso standard string YYYYMMDD. Example: 20021231
- /*!\ingroup date_format
- */
- inline std::wstring to_iso_wstring(const date& d) {
- return to_iso_string_type<wchar_t>(d);
- }
- inline std::wstring to_sql_wstring(const date& d) {
- return to_sql_string_type<wchar_t>(d);
- }
-#endif // BOOST_NO_STD_WSTRING
-
-} } //namespace gregorian
-
-
-#endif
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters_limited.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters_limited.hpp
deleted file mode 100644
index 755f5aa68b..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/formatters_limited.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef GREGORIAN_FORMATTERS_LIMITED_HPP___
-#define GREGORIAN_FORMATTERS_LIMITED_HPP___
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/gregorian/gregorian_types.hpp"
-#include "boost/date_time/date_formatting_limited.hpp"
-#include "boost/date_time/iso_format.hpp"
-#include "boost/date_time/date_format_simple.hpp"
-#include "boost/date_time/compiler_config.hpp"
-
-namespace boost {
-namespace gregorian {
-
- //! To YYYY-mmm-DD string where mmm 3 char month name. Example: 2002-Jan-01
- /*!\ingroup date_format
- */
- inline std::string to_simple_string(const date& d) {
- return date_time::date_formatter<date,date_time::simple_format<char> >::date_to_string(d);
- }
-
- //! Convert date period to simple string. Example: [2002-Jan-01/2002-Jan-02]
- /*!\ingroup date_format
- */
- inline std::string to_simple_string(const date_period& d) {
- std::string s("[");
- std::string d1(date_time::date_formatter<date,date_time::simple_format<char> >::date_to_string(d.begin()));
- std::string d2(date_time::date_formatter<date,date_time::simple_format<char> >::date_to_string(d.last()));
- return std::string("[" + d1 + "/" + d2 + "]");
- }
-
- //! Date period to iso standard format CCYYMMDD/CCYYMMDD. Example: 20021225/20021231
- /*!\ingroup date_format
- */
- inline std::string to_iso_string(const date_period& d) {
- std::string s(date_time::date_formatter<date,date_time::iso_format<char> >::date_to_string(d.begin()));
- return s + "/" + date_time::date_formatter<date,date_time::iso_format<char> >::date_to_string(d.last());
- }
-
-
- //! Convert to iso extended format string CCYY-MM-DD. Example 2002-12-31
- /*!\ingroup date_format
- */
- inline std::string to_iso_extended_string(const date& d) {
- return date_time::date_formatter<date,date_time::iso_extended_format<char> >::date_to_string(d);
- }
-
- //! Convert to iso standard string YYYYMMDD. Example: 20021231
- /*!\ingroup date_format
- */
- inline std::string to_iso_string(const date& d) {
- return date_time::date_formatter<date,date_time::iso_format<char> >::date_to_string(d);
- }
-
-
-
- inline std::string to_sql_string(const date& d)
- {
- date::ymd_type ymd = d.year_month_day();
- std::ostringstream ss;
- ss << ymd.year << "-"
- << std::setw(2) << std::setfill('0')
- << ymd.month.as_number() //solves problem with gcc 3.1 hanging
- << "-"
- << std::setw(2) << std::setfill('0')
- << ymd.day;
- return ss.str();
- }
-
-
-} } //namespace gregorian
-
-
-#endif
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_facet.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_facet.hpp
deleted file mode 100644
index 5352df1398..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/greg_facet.hpp
+++ /dev/null
@@ -1,374 +0,0 @@
-#ifndef GREGORIAN_FACET_HPP___
-#define GREGORIAN_FACET_HPP___
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/gregorian/gregorian_types.hpp>
-#include <boost/date_time/date_formatting_locales.hpp> // sets BOOST_DATE_TIME_NO_LOCALE
-#include <boost/date_time/gregorian/parsers.hpp>
-#include <boost/io/ios_state.hpp>
-
-//This file is basically commented out if locales are not supported
-#ifndef BOOST_DATE_TIME_NO_LOCALE
-
-#include <string>
-#include <memory>
-#include <locale>
-#include <iostream>
-#include <exception>
-
-namespace boost {
-namespace gregorian {
-
- //! Configuration of the output facet template
- struct BOOST_SYMBOL_VISIBLE greg_facet_config
- {
- typedef boost::gregorian::greg_month month_type;
- typedef boost::date_time::special_values special_value_enum;
- typedef boost::gregorian::months_of_year month_enum;
- typedef boost::date_time::weekdays weekday_enum;
- };
-
-#if defined(USE_DATE_TIME_PRE_1_33_FACET_IO)
- //! Create the base facet type for gregorian::date
- typedef boost::date_time::date_names_put<greg_facet_config> greg_base_facet;
-
- //! ostream operator for gregorian::date
- /*! Uses the date facet to determine various output parameters including:
- * - string values for the month (eg: Jan, Feb, Mar) (default: English)
- * - string values for special values (eg: not-a-date-time) (default: English)
- * - selection of long, short strings, or numerical month representation (default: short string)
- * - month day year order (default yyyy-mmm-dd)
- */
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os, const date& d)
- {
- typedef boost::date_time::date_names_put<greg_facet_config, charT> facet_def;
- typedef boost::date_time::ostream_date_formatter<date, facet_def, charT> greg_ostream_formatter;
- greg_ostream_formatter::date_put(d, os);
- return os;
- }
-
- //! operator<< for gregorian::greg_month typically streaming: Jan, Feb, Mar...
- /*! Uses the date facet to determine output string as well as selection of long or short strings.
- * Default if no facet is installed is to output a 2 wide numeric value for the month
- * eg: 01 == Jan, 02 == Feb, ... 12 == Dec.
- */
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os, const greg_month& m)
- {
- typedef boost::date_time::date_names_put<greg_facet_config, charT> facet_def;
- typedef boost::date_time::ostream_month_formatter<facet_def, charT> greg_month_formatter;
- std::locale locale = os.getloc();
- if (std::has_facet<facet_def>(locale)) {
- const facet_def& f = std::use_facet<facet_def>(locale);
- greg_month_formatter::format_month(m, os, f);
-
- }
- else { // default to numeric
- boost::io::basic_ios_fill_saver<charT> ifs(os);
- os << std::setw(2) << std::setfill(os.widen('0')) << m.as_number();
- }
-
- return os;
- }
-
- //! operator<< for gregorian::greg_weekday typically streaming: Sun, Mon, Tue, ...
- /*! Uses the date facet to determine output string as well as selection of long or short string.
- * Default if no facet is installed is to output a 3 char english string for the
- * day of the week.
- */
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os, const greg_weekday& wd)
- {
- typedef boost::date_time::date_names_put<greg_facet_config, charT> facet_def;
- typedef boost::date_time::ostream_weekday_formatter<greg_weekday, facet_def, charT> greg_weekday_formatter;
- std::locale locale = os.getloc();
- if (std::has_facet<facet_def>(locale)) {
- const facet_def& f = std::use_facet<facet_def>(locale);
- greg_weekday_formatter::format_weekday(wd, os, f, true);
- }
- else { //default to short English string eg: Sun, Mon, Tue, Wed...
- os << wd.as_short_string();
- }
-
- return os;
- }
-
- //! operator<< for gregorian::date_period typical output: [2002-Jan-01/2002-Jan-31]
- /*! Uses the date facet to determine output string as well as selection of long
- * or short string fr dates.
- * Default if no facet is installed is to output a 3 char english string for the
- * day of the week.
- */
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os, const date_period& dp)
- {
- os << '['; //TODO: facet or manipulator for periods?
- os << dp.begin();
- os << '/'; //TODO: facet or manipulator for periods?
- os << dp.last();
- os << ']';
- return os;
- }
-
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os, const date_duration& dd)
- {
- //os << dd.days();
- os << dd.get_rep();
- return os;
- }
-
- //! operator<< for gregorian::partial_date. Output: "Jan 1"
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os, const partial_date& pd)
- {
- boost::io::basic_ios_fill_saver<charT> ifs(os);
- os << std::setw(2) << std::setfill(os.widen('0')) << pd.day() << ' '
- << pd.month().as_short_string() ;
- return os;
- }
-
- //! operator<< for gregorian::nth_kday_of_month. Output: "first Mon of Jun"
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os,
- const nth_kday_of_month& nkd)
- {
- os << nkd.nth_week_as_str() << ' '
- << nkd.day_of_week() << " of "
- << nkd.month().as_short_string() ;
- return os;
- }
-
- //! operator<< for gregorian::first_kday_of_month. Output: "first Mon of Jun"
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os,
- const first_kday_of_month& fkd)
- {
- os << "first " << fkd.day_of_week() << " of "
- << fkd.month().as_short_string() ;
- return os;
- }
-
- //! operator<< for gregorian::last_kday_of_month. Output: "last Mon of Jun"
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os,
- const last_kday_of_month& lkd)
- {
- os << "last " << lkd.day_of_week() << " of "
- << lkd.month().as_short_string() ;
- return os;
- }
-
- //! operator<< for gregorian::first_kday_after. Output: "first Mon after"
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os,
- const first_kday_after& fka)
- {
- os << fka.day_of_week() << " after";
- return os;
- }
-
- //! operator<< for gregorian::first_kday_before. Output: "first Mon before"
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os,
- const first_kday_before& fkb)
- {
- os << fkb.day_of_week() << " before";
- return os;
- }
-#endif // USE_DATE_TIME_PRE_1_33_FACET_IO
- /**************** Input Streaming ******************/
-
-#if !defined(BOOST_NO_STD_ITERATOR_TRAITS)
- //! operator>> for gregorian::date
- template<class charT>
- inline
- std::basic_istream<charT>& operator>>(std::basic_istream<charT>& is, date& d)
- {
- std::istream_iterator<std::basic_string<charT>, charT> beg(is), eos;
- d = from_stream(beg, eos);
- return is;
- }
-#endif // BOOST_NO_STD_ITERATOR_TRAITS
-
- //! operator>> for gregorian::date_duration
- template<class charT>
- inline
- std::basic_istream<charT>& operator>>(std::basic_istream<charT>& is,
- date_duration& dd)
- {
- long v;
- is >> v;
- dd = date_duration(v);
- return is;
- }
-
- //! operator>> for gregorian::date_period
- template<class charT>
- inline
- std::basic_istream<charT>& operator>>(std::basic_istream<charT>& is,
- date_period& dp)
- {
- std::basic_string<charT> s;
- is >> s;
- dp = date_time::from_simple_string_type<date>(s);
- return is;
- }
-
- //! generates a locale with the set of gregorian name-strings of type char*
- BOOST_DATE_TIME_DECL std::locale generate_locale(std::locale& loc, char type);
-
- //! Returns a pointer to a facet with a default set of names (English)
- /* Necessary in the event an exception is thrown from op>> for
- * weekday or month. See comments in those functions for more info */
- BOOST_DATE_TIME_DECL boost::date_time::all_date_names_put<greg_facet_config, char>* create_facet_def(char type);
-
-#ifndef BOOST_NO_STD_WSTRING
- //! generates a locale with the set of gregorian name-strings of type wchar_t*
- BOOST_DATE_TIME_DECL std::locale generate_locale(std::locale& loc, wchar_t type);
- //! Returns a pointer to a facet with a default set of names (English)
- /* Necessary in the event an exception is thrown from op>> for
- * weekday or month. See comments in those functions for more info */
- BOOST_DATE_TIME_DECL boost::date_time::all_date_names_put<greg_facet_config, wchar_t>* create_facet_def(wchar_t type);
-#endif // BOOST_NO_STD_WSTRING
-
- //! operator>> for gregorian::greg_month - throws exception if invalid month given
- template<class charT>
- inline
- std::basic_istream<charT>& operator>>(std::basic_istream<charT>& is,greg_month& m)
- {
- typedef boost::date_time::all_date_names_put<greg_facet_config, charT> facet_def;
-
- std::basic_string<charT> s;
- is >> s;
-
- if(!std::has_facet<facet_def>(is.getloc())) {
- std::locale loc = is.getloc();
- charT a = '\0';
- is.imbue(generate_locale(loc, a));
- }
-
- short num = 0;
-
- try{
- const facet_def& f = std::use_facet<facet_def>(is.getloc());
- num = date_time::find_match(f.get_short_month_names(),
- f.get_long_month_names(),
- (greg_month::max)(), s); // greg_month spans 1..12, so max returns the array size,
- // which is needed by find_match
- }
- /* bad_cast will be thrown if the desired facet is not accessible
- * so we can generate the facet. This has the drawback of using english
- * names as a default. */
- catch(std::bad_cast&){
- charT a = '\0';
-
-#if defined(BOOST_NO_CXX11_SMART_PTR)
-
- std::auto_ptr< const facet_def > f(create_facet_def(a));
-
-#else
-
- std::unique_ptr< const facet_def > f(create_facet_def(a));
-
-#endif
-
- num = date_time::find_match(f->get_short_month_names(),
- f->get_long_month_names(),
- (greg_month::max)(), s); // greg_month spans 1..12, so max returns the array size,
- // which is needed by find_match
- }
-
- ++num; // months numbered 1-12
- m = greg_month(num);
-
- return is;
- }
-
- //! operator>> for gregorian::greg_weekday - throws exception if invalid weekday given
- template<class charT>
- inline
- std::basic_istream<charT>& operator>>(std::basic_istream<charT>& is,greg_weekday& wd)
- {
- typedef boost::date_time::all_date_names_put<greg_facet_config, charT> facet_def;
-
- std::basic_string<charT> s;
- is >> s;
-
- if(!std::has_facet<facet_def>(is.getloc())) {
- std::locale loc = is.getloc();
- charT a = '\0';
- is.imbue(generate_locale(loc, a));
- }
-
- short num = 0;
- try{
- const facet_def& f = std::use_facet<facet_def>(is.getloc());
- num = date_time::find_match(f.get_short_weekday_names(),
- f.get_long_weekday_names(),
- (greg_weekday::max)() + 1, s); // greg_weekday spans 0..6, so increment is needed
- // to form the array size which is needed by find_match
- }
- /* bad_cast will be thrown if the desired facet is not accessible
- * so we can generate the facet. This has the drawback of using english
- * names as a default. */
- catch(std::bad_cast&){
- charT a = '\0';
-
-#if defined(BOOST_NO_CXX11_SMART_PTR)
-
- std::auto_ptr< const facet_def > f(create_facet_def(a));
-
-#else
-
- std::unique_ptr< const facet_def > f(create_facet_def(a));
-
-#endif
-
- num = date_time::find_match(f->get_short_weekday_names(),
- f->get_long_weekday_names(),
- (greg_weekday::max)() + 1, s); // greg_weekday spans 0..6, so increment is needed
- // to form the array size which is needed by find_match
- }
-
- wd = greg_weekday(num); // weekdays numbered 0-6
- return is;
- }
-
-} } //namespace gregorian
-
-#endif
-
-#endif
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian.hpp
deleted file mode 100644
index 47d545eccd..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef GREGORIAN_HPP__
-#define GREGORIAN_HPP__
-
-/* Copyright (c) 2002-2004 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-/*! @file gregorian.hpp
- Single file header that provides overall include for all elements of
- the gregorian date-time system. This includes the various types
- defined, but also other functions for formatting and parsing.
-*/
-
-
-#include "boost/date_time/compiler_config.hpp"
-#include "boost/date_time/gregorian/gregorian_types.hpp"
-#include "boost/date_time/gregorian/conversion.hpp"
-#if defined(BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS)
-#include "boost/date_time/gregorian/formatters_limited.hpp"
-#else
-#include "boost/date_time/gregorian/formatters.hpp"
-#endif
-
-#if defined(USE_DATE_TIME_PRE_1_33_FACET_IO)
-#include "boost/date_time/gregorian/greg_facet.hpp"
-#else
-#include "boost/date_time/gregorian/gregorian_io.hpp"
-#endif // USE_DATE_TIME_PRE_1_33_FACET_IO
-
-#include "boost/date_time/gregorian/parsers.hpp"
-
-
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian_io.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian_io.hpp
deleted file mode 100644
index 49e5d41ed8..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/gregorian_io.hpp
+++ /dev/null
@@ -1,784 +0,0 @@
-#ifndef DATE_TIME_GREGORIAN_IO_HPP__
-#define DATE_TIME_GREGORIAN_IO_HPP__
-
-/* Copyright (c) 2004-2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <locale>
-#include <iostream>
-#include <iterator> // i/ostreambuf_iterator
-#include <boost/io/ios_state.hpp>
-#include <boost/date_time/date_facet.hpp>
-#include <boost/date_time/period_parser.hpp>
-#include <boost/date_time/period_formatter.hpp>
-#include <boost/date_time/special_values_parser.hpp>
-#include <boost/date_time/special_values_formatter.hpp>
-#include <boost/date_time/gregorian/gregorian_types.hpp>
-#include <boost/date_time/gregorian/conversion.hpp> // to_tm will be needed in the facets
-
-namespace boost {
-namespace gregorian {
-
-
- typedef boost::date_time::period_formatter<wchar_t> wperiod_formatter;
- typedef boost::date_time::period_formatter<char> period_formatter;
-
- typedef boost::date_time::date_facet<date,wchar_t> wdate_facet;
- typedef boost::date_time::date_facet<date,char> date_facet;
-
- typedef boost::date_time::period_parser<date,char> period_parser;
- typedef boost::date_time::period_parser<date,wchar_t> wperiod_parser;
-
- typedef boost::date_time::special_values_formatter<char> special_values_formatter;
- typedef boost::date_time::special_values_formatter<wchar_t> wspecial_values_formatter;
-
- typedef boost::date_time::special_values_parser<date,char> special_values_parser;
- typedef boost::date_time::special_values_parser<date,wchar_t> wspecial_values_parser;
-
- typedef boost::date_time::date_input_facet<date,char> date_input_facet;
- typedef boost::date_time::date_input_facet<date,wchar_t> wdate_input_facet;
-
- template <class CharT, class TraitsT>
- inline std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::date& d) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::date_facet<date, CharT> custom_date_facet;
- std::ostreambuf_iterator<CharT> output_itr(os);
- if (std::has_facet<custom_date_facet>(os.getloc()))
- std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), d);
- else {
- //instantiate a custom facet for dealing with dates since the user
- //has not put one in the stream so far. This is for efficiency
- //since we would always need to reconstruct for every date
- //if the locale did not already exist. Of course this will be overridden
- //if the user imbues at some later point. With the default settings
- //for the facet the resulting format will be the same as the
- //std::time_facet settings.
- custom_date_facet* f = new custom_date_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(output_itr, os, os.fill(), d);
- }
- return os;
- }
-
- //! input operator for date
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, date& d)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, d);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, d);
- }
- }
- catch(...) {
- // mask tells us what exceptions are turned on
- std::ios_base::iostate exception_mask = is.exceptions();
- // if the user wants exceptions on failbit, we'll rethrow our
- // date_time exception & set the failbit
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {} // ignore this one
- throw; // rethrow original exception
- }
- else {
- // if the user want's to fail quietly, we simply set the failbit
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
- template <class CharT, class TraitsT>
- inline std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::date_duration& dd) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::date_facet<date, CharT> custom_date_facet;
- std::ostreambuf_iterator<CharT> output_itr(os);
- if (std::has_facet<custom_date_facet>(os.getloc()))
- std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), dd);
- else {
- custom_date_facet* f = new custom_date_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(output_itr, os, os.fill(), dd);
-
- }
- return os;
- }
-
- //! input operator for date_duration
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, date_duration& dd)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, dd);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, dd);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
- template <class CharT, class TraitsT>
- inline std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::date_period& dp) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::date_facet<date, CharT> custom_date_facet;
- std::ostreambuf_iterator<CharT> output_itr(os);
- if (std::has_facet<custom_date_facet>(os.getloc()))
- std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), dp);
- else {
- //instantiate a custom facet for dealing with date periods since the user
- //has not put one in the stream so far. This is for efficiency
- //since we would always need to reconstruct for every time period
- //if the local did not already exist. Of course this will be overridden
- //if the user imbues at some later point. With the default settings
- //for the facet the resulting format will be the same as the
- //std::time_facet settings.
- custom_date_facet* f = new custom_date_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(output_itr, os, os.fill(), dp);
-
- }
- return os;
- }
-
- //! input operator for date_period
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, date_period& dp)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, dp);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, dp);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
- /********** small gregorian types **********/
-
- template <class CharT, class TraitsT>
- inline std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::greg_month& gm) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::date_facet<date, CharT> custom_date_facet;
- std::ostreambuf_iterator<CharT> output_itr(os);
- if (std::has_facet<custom_date_facet>(os.getloc()))
- std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), gm);
- else {
- custom_date_facet* f = new custom_date_facet();//-> 10/1074199752/32 because year & day not initialized in put(...)
- //custom_date_facet* f = new custom_date_facet("%B");
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(output_itr, os, os.fill(), gm);
- }
- return os;
- }
-
- //! input operator for greg_month
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, greg_month& m)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, m);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, m);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
-
- template <class CharT, class TraitsT>
- inline std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::greg_weekday& gw) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::date_facet<date, CharT> custom_date_facet;
- std::ostreambuf_iterator<CharT> output_itr(os);
- if (std::has_facet<custom_date_facet>(os.getloc()))
- std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), gw);
- else {
- custom_date_facet* f = new custom_date_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(output_itr, os, os.fill(), gw);
- }
- return os;
- }
-
- //! input operator for greg_weekday
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, greg_weekday& wd)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, wd);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, wd);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
- //NOTE: output operator for greg_day was not necessary
-
- //! input operator for greg_day
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, greg_day& gd)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, gd);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, gd);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
- //NOTE: output operator for greg_year was not necessary
-
- //! input operator for greg_year
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, greg_year& gy)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, gy);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, gy);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
- /********** date generator types **********/
-
- template <class CharT, class TraitsT>
- inline std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::partial_date& pd) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::date_facet<date, CharT> custom_date_facet;
- std::ostreambuf_iterator<CharT> output_itr(os);
- if (std::has_facet<custom_date_facet>(os.getloc()))
- std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), pd);
- else {
- custom_date_facet* f = new custom_date_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(output_itr, os, os.fill(), pd);
- }
- return os;
- }
-
- //! input operator for partial_date
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, partial_date& pd)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, pd);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, pd);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
- template <class CharT, class TraitsT>
- inline std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::nth_day_of_the_week_in_month& nkd) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::date_facet<date, CharT> custom_date_facet;
- std::ostreambuf_iterator<CharT> output_itr(os);
- if (std::has_facet<custom_date_facet>(os.getloc()))
- std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), nkd);
- else {
- custom_date_facet* f = new custom_date_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(output_itr, os, os.fill(), nkd);
- }
- return os;
- }
-
- //! input operator for nth_day_of_the_week_in_month
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is,
- nth_day_of_the_week_in_month& nday)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, nday);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, nday);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
-
- template <class CharT, class TraitsT>
- inline std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::first_day_of_the_week_in_month& fkd) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::date_facet<date, CharT> custom_date_facet;
- std::ostreambuf_iterator<CharT> output_itr(os);
- if (std::has_facet<custom_date_facet>(os.getloc()))
- std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), fkd);
- else {
- custom_date_facet* f = new custom_date_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(output_itr, os, os.fill(), fkd);
- }
- return os;
- }
-
- //! input operator for first_day_of_the_week_in_month
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is,
- first_day_of_the_week_in_month& fkd)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, fkd);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, fkd);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
-
- template <class CharT, class TraitsT>
- inline std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::last_day_of_the_week_in_month& lkd) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::date_facet<date, CharT> custom_date_facet;
- std::ostreambuf_iterator<CharT> output_itr(os);
- if (std::has_facet<custom_date_facet>(os.getloc()))
- std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), lkd);
- else {
- custom_date_facet* f = new custom_date_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(output_itr, os, os.fill(), lkd);
- }
- return os;
- }
-
- //! input operator for last_day_of_the_week_in_month
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is,
- last_day_of_the_week_in_month& lkd)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, lkd);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, lkd);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
-
- template <class CharT, class TraitsT>
- inline std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::first_day_of_the_week_after& fda) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::date_facet<date, CharT> custom_date_facet;
- std::ostreambuf_iterator<CharT> output_itr(os);
- if (std::has_facet<custom_date_facet>(os.getloc())) {
- std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), fda);
- }
- else {
- custom_date_facet* f = new custom_date_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(output_itr, os, os.fill(), fda);
- }
- return os;
- }
-
- //! input operator for first_day_of_the_week_after
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is,
- first_day_of_the_week_after& fka)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, fka);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, fka);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
-
- template <class CharT, class TraitsT>
- inline std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os, const boost::gregorian::first_day_of_the_week_before& fdb) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::date_facet<date, CharT> custom_date_facet;
- std::ostreambuf_iterator<CharT> output_itr(os);
- if (std::has_facet<custom_date_facet>(os.getloc())) {
- std::use_facet<custom_date_facet>(os.getloc()).put(output_itr, os, os.fill(), fdb);
- }
- else {
- custom_date_facet* f = new custom_date_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(output_itr, os, os.fill(), fdb);
- }
- return os;
- }
-
- //! input operator for first_day_of_the_week_before
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is,
- first_day_of_the_week_before& fkb)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::date_input_facet<date, CharT> date_input_facet_local;
-
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<date_input_facet_local>(is.getloc())) {
- std::use_facet<date_input_facet_local>(is.getloc()).get(sit, str_end, is, fkb);
- }
- else {
- date_input_facet_local* f = new date_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, fkb);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
-
- }
- }
- return is;
- }
-
-
-} } // namespaces
-
-#endif // DATE_TIME_GREGORIAN_IO_HPP__
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/parsers.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/parsers.hpp
deleted file mode 100644
index 48274f6498..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/gregorian/parsers.hpp
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef GREGORIAN_PARSERS_HPP___
-#define GREGORIAN_PARSERS_HPP___
-
-/* Copyright (c) 2002,2003,2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <boost/date_time/gregorian/gregorian_types.hpp>
-#include <boost/date_time/date_parsing.hpp>
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/parse_format_base.hpp>
-#include <boost/date_time/special_defs.hpp>
-#include <boost/date_time/find_match.hpp>
-#include <string>
-#include <iterator>
-
-namespace boost {
-namespace gregorian {
-
- //! Return special_value from string argument
- /*! Return special_value from string argument. If argument is
- * not one of the special value names (defined in names.hpp),
- * return 'not_special' */
- inline
- date_time::special_values
- special_value_from_string(const std::string& s) {
- static const char* const special_value_names[date_time::NumSpecialValues]
- = {"not-a-date-time","-infinity","+infinity","min_date_time",
- "max_date_time","not_special"};
-
- short i = date_time::find_match(special_value_names,
- special_value_names,
- date_time::NumSpecialValues,
- s);
- if(i >= date_time::NumSpecialValues) { // match not found
- return date_time::not_special;
- }
- else {
- return static_cast<date_time::special_values>(i);
- }
- }
-
- //! Deprecated: Use from_simple_string
- inline date from_string(const std::string& s) {
- return date_time::parse_date<date>(s);
- }
-
- //! From delimited date string where with order year-month-day eg: 2002-1-25 or 2003-Jan-25 (full month name is also accepted)
- inline date from_simple_string(const std::string& s) {
- return date_time::parse_date<date>(s, date_time::ymd_order_iso);
- }
-
- //! From delimited date string where with order year-month-day eg: 1-25-2003 or Jan-25-2003 (full month name is also accepted)
- inline date from_us_string(const std::string& s) {
- return date_time::parse_date<date>(s, date_time::ymd_order_us);
- }
-
- //! From delimited date string where with order day-month-year eg: 25-1-2002 or 25-Jan-2003 (full month name is also accepted)
- inline date from_uk_string(const std::string& s) {
- return date_time::parse_date<date>(s, date_time::ymd_order_dmy);
- }
-
- //! From iso type date string where with order year-month-day eg: 20020125
- inline date from_undelimited_string(const std::string& s) {
- return date_time::parse_undelimited_date<date>(s);
- }
-
- //! From iso type date string where with order year-month-day eg: 20020125
- inline date date_from_iso_string(const std::string& s) {
- return date_time::parse_undelimited_date<date>(s);
- }
-
-#if !(defined(BOOST_NO_STD_ITERATOR_TRAITS))
- //! Stream should hold a date in the form of: 2002-1-25. Month number, abbrev, or name are accepted
- /* Arguments passed in by-value for convertability of char[]
- * to iterator_type. Calls to from_stream_type are by-reference
- * since conversion is already done */
- template<class iterator_type>
- inline date from_stream(iterator_type beg, iterator_type end) {
- if(beg == end)
- {
- return date(not_a_date_time);
- }
- typedef typename std::iterator_traits<iterator_type>::value_type value_type;
- return date_time::from_stream_type<date>(beg, end, value_type());
- }
-#endif //BOOST_NO_STD_ITERATOR_TRAITS
-
-#if (defined(_MSC_VER) && (_MSC_VER < 1300))
- // This function cannot be compiled with MSVC 6.0 due to internal compiler shorcomings
-#else
- //! Function to parse a date_period from a string (eg: [2003-Oct-31/2003-Dec-25])
- inline date_period date_period_from_string(const std::string& s){
- return date_time::from_simple_string_type<date,char>(s);
- }
-# if !defined(BOOST_NO_STD_WSTRING)
- //! Function to parse a date_period from a wstring (eg: [2003-Oct-31/2003-Dec-25])
- inline date_period date_period_from_wstring(const std::wstring& s){
- return date_time::from_simple_string_type<date,wchar_t>(s);
- }
-# endif // BOOST_NO_STD_WSTRING
-#endif
-
-} } //namespace gregorian
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/iso_format.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/iso_format.hpp
deleted file mode 100644
index 2e7942d8ba..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/iso_format.hpp
+++ /dev/null
@@ -1,303 +0,0 @@
-#ifndef ISO_FORMAT_HPP___
-#define ISO_FORMAT_HPP___
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/parse_format_base.hpp"
-
-namespace boost {
-namespace date_time {
-
-//! Class to provide common iso formatting spec
-template<class charT>
-class iso_format_base {
-public:
- //! Describe month format -- its an integer in iso format
- static month_format_spec month_format()
- {
- return month_as_integer;
- }
-
- //! String used printed is date is invalid
- static const charT* not_a_date()
- {
- return "not-a-date-time";
- }
- //! String used to for positive infinity value
- static const charT* pos_infinity()
- {
- return "+infinity";
- }
- //! String used to for positive infinity value
- static const charT* neg_infinity()
- {
- return "-infinity";
- }
-
- //! ISO char for a year -- used in durations
- static charT year_sep_char()
- {
- return 'Y';
- }
- //! ISO char for a month
- static charT month_sep_char()
- {
- return '-';
- }
- //! ISO char for a day
- static charT day_sep_char()
- {
- return '-';
- }
- //! char for minute
- static charT hour_sep_char()
- {
- return ':';
- }
- //! char for minute
- static charT minute_sep_char()
- {
- return ':';
- }
- //! char for second
- static charT second_sep_char()
- {
- return ':';
- }
- //! ISO char for a period
- static charT period_start_char()
- {
- return 'P';
- }
- //! Used in time in mixed strings to set start of time
- static charT time_start_char()
- {
- return 'T';
- }
-
- //! Used in mixed strings to identify start of a week number
- static charT week_start_char()
- {
- return 'W';
- }
-
- //! Separators for periods
- static charT period_sep_char()
- {
- return '/';
- }
- //! Separator for hh:mm:ss
- static charT time_sep_char()
- {
- return ':';
- }
- //! Preferred Separator for hh:mm:ss,decimal_fraction
- static charT fractional_time_sep_char()
- {
- return ',';
- }
-
- static bool is_component_sep(charT sep)
- {
- switch(sep) {
- case 'H':
- case 'M':
- case 'S':
- case 'W':
- case 'T':
- case 'Y':
- case 'D':return true;
- default:
- return false;
- }
- }
-
- static bool is_fractional_time_sep(charT sep)
- {
- switch(sep) {
- case ',':
- case '.': return true;
- default: return false;
- }
- }
- static bool is_timezone_sep(charT sep)
- {
- switch(sep) {
- case '+':
- case '-': return true;
- default: return false;
- }
- }
- static charT element_sep_char()
- {
- return '-';
- }
-
-};
-
-#ifndef BOOST_NO_STD_WSTRING
-
-//! Class to provide common iso formatting spec
-template<>
-class iso_format_base<wchar_t> {
-public:
- //! Describe month format -- its an integer in iso format
- static month_format_spec month_format()
- {
- return month_as_integer;
- }
-
- //! String used printed is date is invalid
- static const wchar_t* not_a_date()
- {
- return L"not-a-date-time";
- }
- //! String used to for positive infinity value
- static const wchar_t* pos_infinity()
- {
- return L"+infinity";
- }
- //! String used to for positive infinity value
- static const wchar_t* neg_infinity()
- {
- return L"-infinity";
- }
-
- //! ISO char for a year -- used in durations
- static wchar_t year_sep_char()
- {
- return 'Y';
- }
- //! ISO char for a month
- static wchar_t month_sep_char()
- {
- return '-';
- }
- //! ISO char for a day
- static wchar_t day_sep_char()
- {
- return '-';
- }
- //! char for minute
- static wchar_t hour_sep_char()
- {
- return ':';
- }
- //! char for minute
- static wchar_t minute_sep_char()
- {
- return ':';
- }
- //! char for second
- static wchar_t second_sep_char()
- {
- return ':';
- }
- //! ISO char for a period
- static wchar_t period_start_char()
- {
- return 'P';
- }
- //! Used in time in mixed strings to set start of time
- static wchar_t time_start_char()
- {
- return 'T';
- }
-
- //! Used in mixed strings to identify start of a week number
- static wchar_t week_start_char()
- {
- return 'W';
- }
-
- //! Separators for periods
- static wchar_t period_sep_char()
- {
- return '/';
- }
- //! Separator for hh:mm:ss
- static wchar_t time_sep_char()
- {
- return ':';
- }
- //! Preferred Separator for hh:mm:ss,decimal_fraction
- static wchar_t fractional_time_sep_char()
- {
- return ',';
- }
-
- static bool is_component_sep(wchar_t sep)
- {
- switch(sep) {
- case 'H':
- case 'M':
- case 'S':
- case 'W':
- case 'T':
- case 'Y':
- case 'D':return true;
- default:
- return false;
- }
- }
-
- static bool is_fractional_time_sep(wchar_t sep)
- {
- switch(sep) {
- case ',':
- case '.': return true;
- default: return false;
- }
- }
- static bool is_timezone_sep(wchar_t sep)
- {
- switch(sep) {
- case '+':
- case '-': return true;
- default: return false;
- }
- }
- static wchar_t element_sep_char()
- {
- return '-';
- }
-
-};
-
-#endif // BOOST_NO_STD_WSTRING
-
-//! Format description for iso normal YYYYMMDD
-template<class charT>
-class iso_format : public iso_format_base<charT> {
-public:
- //! The ios standard format doesn't use char separators
- static bool has_date_sep_chars()
- {
- return false;
- }
-};
-
-//! Extended format uses seperators YYYY-MM-DD
-template<class charT>
-class iso_extended_format : public iso_format_base<charT> {
-public:
- //! Extended format needs char separators
- static bool has_date_sep_chars()
- {
- return true;
- }
-
-};
-
-} } //namespace date_time
-
-
-
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/local_time/custom_time_zone.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/custom_time_zone.hpp
deleted file mode 100644
index f82d87a7d7..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/local_time/custom_time_zone.hpp
+++ /dev/null
@@ -1,168 +0,0 @@
-#ifndef LOCAL_TIME_CUSTOM_TIME_ZONE_HPP__
-#define LOCAL_TIME_CUSTOM_TIME_ZONE_HPP__
-
-/* Copyright (c) 2003-2005 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/time_zone_base.hpp"
-#include "boost/date_time/time_zone_names.hpp"
-#include "boost/date_time/posix_time/posix_time.hpp"
-#include "boost/date_time/local_time/dst_transition_day_rules.hpp"
-#include "boost/date_time/string_convert.hpp"
-//#include "boost/date_time/special_defs.hpp"
-#include "boost/shared_ptr.hpp"
-
-namespace boost {
-namespace local_time {
-
- //typedef boost::date_time::time_zone_names time_zone_names;
- typedef boost::date_time::dst_adjustment_offsets<boost::posix_time::time_duration> dst_adjustment_offsets;
- //typedef boost::date_time::time_zone_base<boost::posix_time::ptime> time_zone;
- typedef boost::shared_ptr<dst_calc_rule> dst_calc_rule_ptr;
-
- //! A real time zone
- template<class CharT>
- class custom_time_zone_base : public date_time::time_zone_base<posix_time::ptime,CharT> {
- public:
- typedef boost::posix_time::time_duration time_duration_type;
- typedef date_time::time_zone_base<posix_time::ptime,CharT> base_type;
- typedef typename base_type::string_type string_type;
- typedef typename base_type::stringstream_type stringstream_type;
- typedef date_time::time_zone_names_base<CharT> time_zone_names;
- typedef CharT char_type;
-
- custom_time_zone_base(const time_zone_names& zone_names,
- const time_duration_type& utc_offset,
- const dst_adjustment_offsets& dst_shift,
- boost::shared_ptr<dst_calc_rule> calc_rule) :
- zone_names_(zone_names),
- base_utc_offset_(utc_offset),
- dst_offsets_(dst_shift),
- dst_calc_rules_(calc_rule)
- {}
- virtual ~custom_time_zone_base() {}
- virtual string_type dst_zone_abbrev() const
- {
- return zone_names_.dst_zone_abbrev();
- }
- virtual string_type std_zone_abbrev() const
- {
- return zone_names_.std_zone_abbrev();
- }
- virtual string_type dst_zone_name() const
- {
- return zone_names_.dst_zone_name();
- }
- virtual string_type std_zone_name() const
- {
- return zone_names_.std_zone_name();
- }
- //! True if zone uses daylight savings adjustments
- virtual bool has_dst() const
- {
- return (bool) dst_calc_rules_; //if calc_rule is set the tz has dst
- }
- //! Local time that DST starts -- NADT if has_dst is false
- virtual posix_time::ptime dst_local_start_time(gregorian::greg_year y) const
- {
- gregorian::date d(gregorian::not_a_date_time);
- if (dst_calc_rules_) {
- d = dst_calc_rules_->start_day(y);
- }
- return posix_time::ptime(d, dst_offsets_.dst_start_offset_);
- }
- //! Local time that DST ends -- NADT if has_dst is false
- virtual posix_time::ptime dst_local_end_time(gregorian::greg_year y) const
- {
- gregorian::date d(gregorian::not_a_date_time);
- if (dst_calc_rules_) {
- d = dst_calc_rules_->end_day(y);
- }
- return posix_time::ptime(d, dst_offsets_.dst_end_offset_);
- }
- //! Base offset from UTC for zone (eg: -07:30:00)
- virtual time_duration_type base_utc_offset() const
- {
- return base_utc_offset_;
- }
- //! Adjustment forward or back made while DST is in effect
- virtual time_duration_type dst_offset() const
- {
- return dst_offsets_.dst_adjust_;
- }
- //! Returns a POSIX time_zone string for this object
- virtual string_type to_posix_string() const
- {
- // std offset dst [offset],start[/time],end[/time] - w/o spaces
- stringstream_type ss;
- ss.fill('0');
- boost::shared_ptr<dst_calc_rule> no_rules;
- // std
- ss << std_zone_abbrev();
- // offset
- if(base_utc_offset().is_negative()) {
- // inverting the sign guarantees we get two digits
- ss << '-' << std::setw(2) << base_utc_offset().invert_sign().hours();
- }
- else {
- ss << '+' << std::setw(2) << base_utc_offset().hours();
- }
- if(base_utc_offset().minutes() != 0 || base_utc_offset().seconds() != 0) {
- ss << ':' << std::setw(2) << base_utc_offset().minutes();
- if(base_utc_offset().seconds() != 0) {
- ss << ':' << std::setw(2) << base_utc_offset().seconds();
- }
- }
- if(dst_calc_rules_ != no_rules) {
- // dst
- ss << dst_zone_abbrev();
- // dst offset
- if(dst_offset().is_negative()) {
- // inverting the sign guarantees we get two digits
- ss << '-' << std::setw(2) << dst_offset().invert_sign().hours();
- }
- else {
- ss << '+' << std::setw(2) << dst_offset().hours();
- }
- if(dst_offset().minutes() != 0 || dst_offset().seconds() != 0) {
- ss << ':' << std::setw(2) << dst_offset().minutes();
- if(dst_offset().seconds() != 0) {
- ss << ':' << std::setw(2) << dst_offset().seconds();
- }
- }
- // start/time
- ss << ',' << date_time::convert_string_type<char, char_type>(dst_calc_rules_->start_rule_as_string()) << '/'
- << std::setw(2) << dst_offsets_.dst_start_offset_.hours() << ':'
- << std::setw(2) << dst_offsets_.dst_start_offset_.minutes();
- if(dst_offsets_.dst_start_offset_.seconds() != 0) {
- ss << ':' << std::setw(2) << dst_offsets_.dst_start_offset_.seconds();
- }
- // end/time
- ss << ',' << date_time::convert_string_type<char, char_type>(dst_calc_rules_->end_rule_as_string()) << '/'
- << std::setw(2) << dst_offsets_.dst_end_offset_.hours() << ':'
- << std::setw(2) << dst_offsets_.dst_end_offset_.minutes();
- if(dst_offsets_.dst_end_offset_.seconds() != 0) {
- ss << ':' << std::setw(2) << dst_offsets_.dst_end_offset_.seconds();
- }
- }
-
- return ss.str();
- }
- private:
- time_zone_names zone_names_;
- time_duration_type base_utc_offset_;
- dst_adjustment_offsets dst_offsets_;
- boost::shared_ptr<dst_calc_rule> dst_calc_rules_;
- };
-
- typedef custom_time_zone_base<char> custom_time_zone;
-
-} }//namespace
-
-
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/local_time/date_duration_operators.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/date_duration_operators.hpp
deleted file mode 100644
index e0f170fd7c..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/local_time/date_duration_operators.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef LOCAL_TIME_DATE_DURATION_OPERATORS_HPP___
-#define LOCAL_TIME_DATE_DURATION_OPERATORS_HPP___
-
-/* Copyright (c) 2004 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or
- * http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/gregorian/greg_duration_types.hpp"
-#include "boost/date_time/local_time/local_date_time.hpp"
-
-namespace boost {
-namespace local_time {
-
- /*!@file date_duration_operators.hpp Operators for local_date_time and
- * optional gregorian types. Operators use snap-to-end-of-month behavior.
- * Further details on this behavior can be found in reference for
- * date_time/date_duration_types.hpp and documentation for
- * month and year iterators.
- */
-
-
- /*! Adds a months object and a local_date_time. Result will be same
- * day-of-month as local_date_time unless original day was the last day of month.
- * see date_time::months_duration for more details */
- inline
- local_date_time
- operator+(const local_date_time& t, const boost::gregorian::months& m)
- {
- return t + m.get_offset(t.utc_time().date());
- }
-
- /*! Adds a months object to a local_date_time. Result will be same
- * day-of-month as local_date_time unless original day was the last day of month.
- * see date_time::months_duration for more details */
- inline
- local_date_time
- operator+=(local_date_time& t, const boost::gregorian::months& m)
- {
- return t += m.get_offset(t.utc_time().date());
- }
-
- /*! Subtracts a months object and a local_date_time. Result will be same
- * day-of-month as local_date_time unless original day was the last day of month.
- * see date_time::months_duration for more details */
- inline
- local_date_time
- operator-(const local_date_time& t, const boost::gregorian::months& m)
- {
- // get_neg_offset returns a negative duration, so we add
- return t + m.get_neg_offset(t.utc_time().date());
- }
-
- /*! Subtracts a months object from a local_date_time. Result will be same
- * day-of-month as local_date_time unless original day was the last day of month.
- * see date_time::months_duration for more details */
- inline
- local_date_time
- operator-=(local_date_time& t, const boost::gregorian::months& m)
- {
- // get_neg_offset returns a negative duration, so we add
- return t += m.get_neg_offset(t.utc_time().date());
- }
-
- // local_date_time & years
-
- /*! Adds a years object and a local_date_time. Result will be same
- * month and day-of-month as local_date_time unless original day was the
- * last day of month. see date_time::years_duration for more details */
- inline
- local_date_time
- operator+(const local_date_time& t, const boost::gregorian::years& y)
- {
- return t + y.get_offset(t.utc_time().date());
- }
-
- /*! Adds a years object to a local_date_time. Result will be same
- * month and day-of-month as local_date_time unless original day was the
- * last day of month. see date_time::years_duration for more details */
- inline
- local_date_time
- operator+=(local_date_time& t, const boost::gregorian::years& y)
- {
- return t += y.get_offset(t.utc_time().date());
- }
-
- /*! Subtracts a years object and a local_date_time. Result will be same
- * month and day-of-month as local_date_time unless original day was the
- * last day of month. see date_time::years_duration for more details */
- inline
- local_date_time
- operator-(const local_date_time& t, const boost::gregorian::years& y)
- {
- // get_neg_offset returns a negative duration, so we add
- return t + y.get_neg_offset(t.utc_time().date());
- }
-
- /*! Subtracts a years object from a local_date_time. Result will be same
- * month and day-of-month as local_date_time unless original day was the
- * last day of month. see date_time::years_duration for more details */
- inline
- local_date_time
- operator-=(local_date_time& t, const boost::gregorian::years& y)
- {
- // get_neg_offset returns a negative duration, so we add
- return t += y.get_neg_offset(t.utc_time().date());
- }
-
-
-}} // namespaces
-
-#endif // LOCAL_TIME_DATE_DURATION_OPERATORS_HPP___
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/local_time/dst_transition_day_rules.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/dst_transition_day_rules.hpp
deleted file mode 100644
index f372e44a45..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/local_time/dst_transition_day_rules.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef LOCAL_TIME_DST_TRANSITION_DAY_RULES_HPP__
-#define LOCAL_TIME_DST_TRANSITION_DAY_RULES_HPP__
-
-/* Copyright (c) 2003-2004 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-
-#include "boost/date_time/gregorian/gregorian_types.hpp"
-#include "boost/date_time/dst_transition_generators.hpp"
-
-namespace boost {
-namespace local_time {
-
- //! Provides rule of the form starting Apr 30 ending Oct 21
- typedef date_time::dst_day_calc_rule<gregorian::date> dst_calc_rule;
-
- struct partial_date_rule_spec
- {
- typedef gregorian::date date_type;
- typedef gregorian::partial_date start_rule;
- typedef gregorian::partial_date end_rule;
- };
-
- //! Provides rule of the form first Sunday in April, last Saturday in Oct
- typedef date_time::day_calc_dst_rule<partial_date_rule_spec> partial_date_dst_rule;
-
- struct first_last_rule_spec
- {
- typedef gregorian::date date_type;
- typedef gregorian::first_kday_of_month start_rule;
- typedef gregorian::last_kday_of_month end_rule;
- };
-
- //! Provides rule of the form first Sunday in April, last Saturday in Oct
- typedef date_time::day_calc_dst_rule<first_last_rule_spec> first_last_dst_rule;
-
- struct last_last_rule_spec
- {
- typedef gregorian::date date_type;
- typedef gregorian::last_kday_of_month start_rule;
- typedef gregorian::last_kday_of_month end_rule;
- };
-
- //! Provides rule of the form last Sunday in April, last Saturday in Oct
- typedef date_time::day_calc_dst_rule<last_last_rule_spec> last_last_dst_rule;
-
- struct nth_last_rule_spec
- {
- typedef gregorian::date date_type;
- typedef gregorian::nth_kday_of_month start_rule;
- typedef gregorian::last_kday_of_month end_rule;
- };
-
- //! Provides rule in form of [1st|2nd|3rd|4th] Sunday in April, last Sunday in Oct
- typedef date_time::day_calc_dst_rule<nth_last_rule_spec> nth_last_dst_rule;
-
- struct nth_kday_rule_spec
- {
- typedef gregorian::date date_type;
- typedef gregorian::nth_kday_of_month start_rule;
- typedef gregorian::nth_kday_of_month end_rule;
- };
-
- //! Provides rule in form of [1st|2nd|3rd|4th] Sunday in April/October
- typedef date_time::day_calc_dst_rule<nth_kday_rule_spec> nth_kday_dst_rule;
- //! Provides rule in form of [1st|2nd|3rd|4th] Sunday in April/October
- typedef date_time::day_calc_dst_rule<nth_kday_rule_spec> nth_day_of_the_week_in_month_dst_rule;
-
-
-} }//namespace
-
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_date_time.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_date_time.hpp
deleted file mode 100644
index e88a231b54..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_date_time.hpp
+++ /dev/null
@@ -1,529 +0,0 @@
-#ifndef LOCAL_TIME_LOCAL_DATE_TIME_HPP__
-#define LOCAL_TIME_LOCAL_DATE_TIME_HPP__
-
-/* Copyright (c) 2003-2005 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <string>
-#include <iomanip>
-#include <sstream>
-#include <stdexcept>
-#include <boost/shared_ptr.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/date_time/time.hpp>
-#include <boost/date_time/posix_time/posix_time.hpp> //todo remove?
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/dst_rules.hpp>
-#include <boost/date_time/time_zone_base.hpp>
-#include <boost/date_time/special_defs.hpp>
-#include <boost/date_time/time_resolution_traits.hpp> // absolute_value
-
-namespace boost {
-namespace local_time {
-
- //! simple exception for reporting when STD or DST cannot be determined
- struct BOOST_SYMBOL_VISIBLE ambiguous_result : public std::logic_error
- {
- ambiguous_result (std::string const& msg = std::string()) :
- std::logic_error(std::string("Daylight Savings Results are ambiguous: " + msg)) {}
- };
- //! simple exception for when time label given cannot exist
- struct BOOST_SYMBOL_VISIBLE time_label_invalid : public std::logic_error
- {
- time_label_invalid (std::string const& msg = std::string()) :
- std::logic_error(std::string("Time label given is invalid: " + msg)) {}
- };
- struct BOOST_SYMBOL_VISIBLE dst_not_valid: public std::logic_error
- {
- dst_not_valid(std::string const& msg = std::string()) :
- std::logic_error(std::string("is_dst flag does not match resulting dst for time label given: " + msg)) {}
- };
-
- //TODO: I think these should be in local_date_time_base and not
- // necessarily brought into the namespace
- using date_time::time_is_dst_result;
- using date_time::is_in_dst;
- using date_time::is_not_in_dst;
- using date_time::ambiguous;
- using date_time::invalid_time_label;
-
- //! Representation of "wall-clock" time in a particular time zone
- /*! Representation of "wall-clock" time in a particular time zone
- * Local_date_time_base holds a time value (date and time offset from 00:00)
- * along with a time zone. The time value is stored as UTC and conversions
- * to wall clock time are made as needed. This approach allows for
- * operations between wall-clock times in different time zones, and
- * daylight savings time considerations, to be made. Time zones are
- * required to be in the form of a boost::shared_ptr<time_zone_base>.
- */
- template<class utc_time_=posix_time::ptime,
- class tz_type=date_time::time_zone_base<utc_time_,char> >
- class BOOST_SYMBOL_VISIBLE local_date_time_base : public date_time::base_time<utc_time_,
- boost::posix_time::posix_time_system> {
- public:
- typedef utc_time_ utc_time_type;
- typedef typename utc_time_type::time_duration_type time_duration_type;
- typedef typename utc_time_type::date_type date_type;
- typedef typename date_type::duration_type date_duration_type;
- typedef typename utc_time_type::time_system_type time_system_type;
- /*! This constructor interprets the passed time as a UTC time.
- * So, for example, if the passed timezone is UTC-5 then the
- * time will be adjusted back 5 hours. The time zone allows for
- * automatic calculation of whether the particular time is adjusted for
- * daylight savings, etc.
- * If the time zone shared pointer is null then time stays unadjusted.
- *@param t A UTC time
- *@param tz Timezone for to adjust the UTC time to.
- */
- local_date_time_base(utc_time_type t,
- boost::shared_ptr<tz_type> tz) :
- date_time::base_time<utc_time_type, time_system_type>(t),
- zone_(tz)
- {
- // param was already utc so nothing more to do
- }
-
- /*! This constructs a local time -- the passed time information
- * understood to be in the passed tz. The DST flag must be passed
- * to indicate whether the time is in daylight savings or not.
- * @throws -- time_label_invalid if the time passed does not exist in
- * the given locale. The non-existent case occurs typically
- * during the shift-back from daylight savings time. When
- * the clock is shifted forward a range of times
- * (2 am to 3 am in the US) is skipped and hence is invalid.
- * @throws -- dst_not_valid if the DST flag is passed for a period
- * where DST is not active.
- */
- local_date_time_base(date_type d,
- time_duration_type td,
- boost::shared_ptr<tz_type> tz,
- bool dst_flag) : //necessary for constr_adj()
- date_time::base_time<utc_time_type,time_system_type>(construction_adjustment(utc_time_type(d, td), tz, dst_flag)),
- zone_(tz)
- {
- if(tz != boost::shared_ptr<tz_type>() && tz->has_dst()){
-
- // d & td are already local so we use them
- time_is_dst_result result = check_dst(d, td, tz);
- bool in_dst = (result == is_in_dst); // less processing than is_dst()
-
- // ambig occurs at end, invalid at start
- if(result == invalid_time_label){
- // Ex: 2:15am local on trans-in day in nyc, dst_flag irrelevant
- std::ostringstream ss;
- ss << "time given: " << d << ' ' << td;
- boost::throw_exception(time_label_invalid(ss.str()));
- }
- else if(result != ambiguous && in_dst != dst_flag){
- // is dst_flag accurate?
- // Ex: false flag in NYC in June
- std::ostringstream ss;
- ss.setf(std::ios_base::boolalpha);
- ss << "flag given: dst=" << dst_flag << ", dst calculated: dst=" << in_dst;
- boost::throw_exception(dst_not_valid(ss.str()));
- }
-
- // everything checks out and conversion to utc already done
- }
- }
-
- //TODO maybe not the right set...Ignore the last 2 for now...
- enum DST_CALC_OPTIONS { EXCEPTION_ON_ERROR, NOT_DATE_TIME_ON_ERROR };
- //ASSUME_DST_ON_ERROR, ASSUME_NOT_DST_ON_ERROR };
-
- /*! This constructs a local time -- the passed time information
- * understood to be in the passed tz. The DST flag is calculated
- * according to the specified rule.
- */
- local_date_time_base(date_type d,
- time_duration_type td,
- boost::shared_ptr<tz_type> tz,
- DST_CALC_OPTIONS calc_option) :
- // dummy value - time_ is set in constructor code
- date_time::base_time<utc_time_type,time_system_type>(utc_time_type(d,td)),
- zone_(tz)
- {
- time_is_dst_result result = check_dst(d, td, tz);
- if(result == ambiguous) {
- if(calc_option == EXCEPTION_ON_ERROR){
- std::ostringstream ss;
- ss << "time given: " << d << ' ' << td;
- boost::throw_exception(ambiguous_result(ss.str()));
- }
- else{ // NADT on error
- this->time_ = posix_time::posix_time_system::get_time_rep(date_type(date_time::not_a_date_time), time_duration_type(date_time::not_a_date_time));
- }
- }
- else if(result == invalid_time_label){
- if(calc_option == EXCEPTION_ON_ERROR){
- std::ostringstream ss;
- ss << "time given: " << d << ' ' << td;
- boost::throw_exception(time_label_invalid(ss.str()));
- }
- else{ // NADT on error
- this->time_ = posix_time::posix_time_system::get_time_rep(date_type(date_time::not_a_date_time), time_duration_type(date_time::not_a_date_time));
- }
- }
- else if(result == is_in_dst){
- utc_time_type t =
- construction_adjustment(utc_time_type(d, td), tz, true);
- this->time_ = posix_time::posix_time_system::get_time_rep(t.date(),
- t.time_of_day());
- }
- else{
- utc_time_type t =
- construction_adjustment(utc_time_type(d, td), tz, false);
- this->time_ = posix_time::posix_time_system::get_time_rep(t.date(),
- t.time_of_day());
- }
- }
-
-
- //! Determines if given time label is in daylight savings for given zone
- /*! Determines if given time label is in daylight savings for given zone.
- * Takes a date and time_duration representing a local time, along
- * with time zone, and returns a time_is_dst_result object as result.
- */
- static time_is_dst_result check_dst(date_type d,
- time_duration_type td,
- boost::shared_ptr<tz_type> tz)
- {
- if(tz != boost::shared_ptr<tz_type>() && tz->has_dst()) {
- typedef typename date_time::dst_calculator<date_type, time_duration_type> dst_calculator;
- return dst_calculator::local_is_dst(
- d, td,
- tz->dst_local_start_time(d.year()).date(),
- tz->dst_local_start_time(d.year()).time_of_day(),
- tz->dst_local_end_time(d.year()).date(),
- tz->dst_local_end_time(d.year()).time_of_day(),
- tz->dst_offset()
- );
- }
- else{
- return is_not_in_dst;
- }
- }
-
- //! Simple destructor, releases time zone if last referrer
- ~local_date_time_base() {}
-
- //! Copy constructor
- local_date_time_base(const local_date_time_base& rhs) :
- date_time::base_time<utc_time_type, time_system_type>(rhs),
- zone_(rhs.zone_)
- {}
-
- //! Special values constructor
- explicit local_date_time_base(const boost::date_time::special_values sv,
- boost::shared_ptr<tz_type> tz = boost::shared_ptr<tz_type>()) :
- date_time::base_time<utc_time_type, time_system_type>(utc_time_type(sv)),
- zone_(tz)
- {}
-
- //! returns time zone associated with calling instance
- boost::shared_ptr<tz_type> zone() const
- {
- return zone_;
- }
- //! returns false is time_zone is NULL and if time value is a special_value
- bool is_dst() const
- {
- if(zone_ != boost::shared_ptr<tz_type>() && zone_->has_dst() && !this->is_special()) {
- // check_dst takes a local time, *this is utc
- utc_time_type lt(this->time_);
- lt += zone_->base_utc_offset();
- // dst_offset only needs to be considered with ambiguous time labels
- // make that adjustment there
-
- switch(check_dst(lt.date(), lt.time_of_day(), zone_)){
- case is_not_in_dst:
- return false;
- case is_in_dst:
- return true;
- case ambiguous:
- if(lt + zone_->dst_offset() < zone_->dst_local_end_time(lt.date().year())) {
- return true;
- }
- break;
- case invalid_time_label:
- if(lt >= zone_->dst_local_start_time(lt.date().year())) {
- return true;
- }
- break;
- }
- }
- return false;
- }
- //! Returns object's time value as a utc representation
- utc_time_type utc_time() const
- {
- return utc_time_type(this->time_);
- }
- //! Returns object's time value as a local representation
- utc_time_type local_time() const
- {
- if(zone_ != boost::shared_ptr<tz_type>()){
- utc_time_type lt = this->utc_time() + zone_->base_utc_offset();
- if (is_dst()) {
- lt += zone_->dst_offset();
- }
- return lt;
- }
- return utc_time_type(this->time_);
- }
- //! Returns string in the form "2003-Aug-20 05:00:00 EDT"
- /*! Returns string in the form "2003-Aug-20 05:00:00 EDT". If
- * time_zone is NULL the time zone abbreviation will be "UTC". The time
- * zone abbrev will not be included if calling object is a special_value*/
- std::string to_string() const
- {
- //TODO is this a temporary function ???
- std::ostringstream ss;
- if(this->is_special()){
- ss << utc_time();
- return ss.str();
- }
- if(zone_ == boost::shared_ptr<tz_type>()) {
- ss << utc_time() << " UTC";
- return ss.str();
- }
- bool is_dst_ = is_dst();
- utc_time_type lt = this->utc_time() + zone_->base_utc_offset();
- if (is_dst_) {
- lt += zone_->dst_offset();
- }
- ss << local_time() << " ";
- if (is_dst()) {
- ss << zone_->dst_zone_abbrev();
- }
- else {
- ss << zone_->std_zone_abbrev();
- }
- return ss.str();
- }
- /*! returns a local_date_time_base in the given time zone with the
- * optional time_duration added. */
- local_date_time_base local_time_in(boost::shared_ptr<tz_type> new_tz,
- time_duration_type td=time_duration_type(0,0,0)) const
- {
- return local_date_time_base(utc_time_type(this->time_) + td, new_tz);
- }
-
- //! Returns name of associated time zone or "Coordinated Universal Time".
- /*! Optional bool parameter will return time zone as an offset
- * (ie "+07:00" extended iso format). Empty string is returned for
- * classes that do not use a time_zone */
- std::string zone_name(bool as_offset=false) const
- {
- if(zone_ == boost::shared_ptr<tz_type>()) {
- if(as_offset) {
- return std::string("Z");
- }
- else {
- return std::string("Coordinated Universal Time");
- }
- }
- if (is_dst()) {
- if(as_offset) {
- time_duration_type td = zone_->base_utc_offset();
- td += zone_->dst_offset();
- return zone_as_offset(td, ":");
- }
- else {
- return zone_->dst_zone_name();
- }
- }
- else {
- if(as_offset) {
- time_duration_type td = zone_->base_utc_offset();
- return zone_as_offset(td, ":");
- }
- else {
- return zone_->std_zone_name();
- }
- }
- }
- //! Returns abbreviation of associated time zone or "UTC".
- /*! Optional bool parameter will return time zone as an offset
- * (ie "+0700" iso format). Empty string is returned for classes
- * that do not use a time_zone */
- std::string zone_abbrev(bool as_offset=false) const
- {
- if(zone_ == boost::shared_ptr<tz_type>()) {
- if(as_offset) {
- return std::string("Z");
- }
- else {
- return std::string("UTC");
- }
- }
- if (is_dst()) {
- if(as_offset) {
- time_duration_type td = zone_->base_utc_offset();
- td += zone_->dst_offset();
- return zone_as_offset(td, "");
- }
- else {
- return zone_->dst_zone_abbrev();
- }
- }
- else {
- if(as_offset) {
- time_duration_type td = zone_->base_utc_offset();
- return zone_as_offset(td, "");
- }
- else {
- return zone_->std_zone_abbrev();
- }
- }
- }
-
- //! returns a posix_time_zone string for the associated time_zone. If no time_zone, "UTC+00" is returned.
- std::string zone_as_posix_string() const
- {
- if(zone_ == shared_ptr<tz_type>()) {
- return std::string("UTC+00");
- }
- return zone_->to_posix_string();
- }
-
- //! Equality comparison operator
- /*bool operator==(const date_time::base_time<boost::posix_time::ptime,boost::posix_time::posix_time_system>& rhs) const
- { // fails due to rhs.time_ being protected
- return date_time::base_time<boost::posix_time::ptime,boost::posix_time::posix_time_system>::operator==(rhs);
- //return this->time_ == rhs.time_;
- }*/
- //! Equality comparison operator
- bool operator==(const local_date_time_base& rhs) const
- {
- return time_system_type::is_equal(this->time_, rhs.time_);
- }
- //! Non-Equality comparison operator
- bool operator!=(const local_date_time_base& rhs) const
- {
- return !(*this == rhs);
- }
- //! Less than comparison operator
- bool operator<(const local_date_time_base& rhs) const
- {
- return time_system_type::is_less(this->time_, rhs.time_);
- }
- //! Less than or equal to comparison operator
- bool operator<=(const local_date_time_base& rhs) const
- {
- return (*this < rhs || *this == rhs);
- }
- //! Greater than comparison operator
- bool operator>(const local_date_time_base& rhs) const
- {
- return !(*this <= rhs);
- }
- //! Greater than or equal to comparison operator
- bool operator>=(const local_date_time_base& rhs) const
- {
- return (*this > rhs || *this == rhs);
- }
-
- //! Local_date_time + date_duration
- local_date_time_base operator+(const date_duration_type& dd) const
- {
- return local_date_time_base(time_system_type::add_days(this->time_,dd), zone_);
- }
- //! Local_date_time += date_duration
- local_date_time_base operator+=(const date_duration_type& dd)
- {
- this->time_ = time_system_type::add_days(this->time_,dd);
- return *this;
- }
- //! Local_date_time - date_duration
- local_date_time_base operator-(const date_duration_type& dd) const
- {
- return local_date_time_base(time_system_type::subtract_days(this->time_,dd), zone_);
- }
- //! Local_date_time -= date_duration
- local_date_time_base operator-=(const date_duration_type& dd)
- {
- this->time_ = time_system_type::subtract_days(this->time_,dd);
- return *this;
- }
- //! Local_date_time + time_duration
- local_date_time_base operator+(const time_duration_type& td) const
- {
- return local_date_time_base(time_system_type::add_time_duration(this->time_,td), zone_);
- }
- //! Local_date_time += time_duration
- local_date_time_base operator+=(const time_duration_type& td)
- {
- this->time_ = time_system_type::add_time_duration(this->time_,td);
- return *this;
- }
- //! Local_date_time - time_duration
- local_date_time_base operator-(const time_duration_type& td) const
- {
- return local_date_time_base(time_system_type::subtract_time_duration(this->time_,td), zone_);
- }
- //! Local_date_time -= time_duration
- local_date_time_base operator-=(const time_duration_type& td)
- {
- this->time_ = time_system_type::subtract_time_duration(this->time_,td);
- return *this;
- }
- //! local_date_time -= local_date_time --> time_duration_type
- time_duration_type operator-(const local_date_time_base& rhs) const
- {
- return utc_time_type(this->time_) - utc_time_type(rhs.time_);
- }
- private:
- boost::shared_ptr<tz_type> zone_;
- //bool is_dst_;
-
- /*! Adjust the passed in time to UTC?
- */
- utc_time_type construction_adjustment(utc_time_type t,
- boost::shared_ptr<tz_type> z,
- bool dst_flag)
- {
- if(z != boost::shared_ptr<tz_type>()) {
- if(dst_flag && z->has_dst()) {
- t -= z->dst_offset();
- } // else no adjust
- t -= z->base_utc_offset();
- }
- return t;
- }
-
- /*! Simple formatting code -- todo remove this?
- */
- std::string zone_as_offset(const time_duration_type& td,
- const std::string& separator) const
- {
- std::ostringstream ss;
- if(td.is_negative()) {
- // a negative duration is represented as "-[h]h:mm"
- // we require two digits for the hour. A positive duration
- // with the %H flag will always give two digits
- ss << "-";
- }
- else {
- ss << "+";
- }
- ss << std::setw(2) << std::setfill('0')
- << date_time::absolute_value(td.hours())
- << separator
- << std::setw(2) << std::setfill('0')
- << date_time::absolute_value(td.minutes());
- return ss.str();
- }
- };
-
- //!Use the default parameters to define local_date_time
- typedef local_date_time_base<> local_date_time;
-
-} }
-
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_time_types.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_time_types.hpp
deleted file mode 100644
index df2d08cb49..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/local_time/local_time_types.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef LOCAL_TIME_LOCAL_TIME_TYPES_HPP__
-#define LOCAL_TIME_LOCAL_TIME_TYPES_HPP__
-
-/* Copyright (c) 2003-2004 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/local_time/local_date_time.hpp"
-#include "boost/date_time/period.hpp"
-#include "boost/date_time/time_iterator.hpp"
-#include "boost/date_time/compiler_config.hpp"
-#if defined(BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES)
-#include "boost/date_time/local_time/date_duration_operators.hpp"
-#endif //BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES
-#include "boost/date_time/local_time/custom_time_zone.hpp"
-
-namespace boost {
-namespace local_time {
-
- typedef boost::date_time::period<local_date_time,
- boost::posix_time::time_duration> local_time_period;
-
- typedef date_time::time_itr<local_date_time> local_time_iterator;
-
- typedef date_time::second_clock<local_date_time> local_sec_clock;
- typedef date_time::microsec_clock<local_date_time> local_microsec_clock;
-
- typedef date_time::time_zone_base<posix_time::ptime, char> time_zone;
- typedef date_time::time_zone_base<posix_time::ptime, wchar_t> wtime_zone;
-
- //! Shared Pointer for custom_time_zone and posix_time_zone objects
- typedef boost::shared_ptr<time_zone> time_zone_ptr;
- typedef boost::shared_ptr<wtime_zone> wtime_zone_ptr;
-
- typedef date_time::time_zone_names_base<char> time_zone_names;
- typedef date_time::time_zone_names_base<wchar_t> wtime_zone_names;
-
- //bring special enum values into the namespace
- using date_time::special_values;
- using date_time::not_special;
- using date_time::neg_infin;
- using date_time::pos_infin;
- using date_time::not_a_date_time;
- using date_time::max_date_time;
- using date_time::min_date_time;
-
-}} // namespaces
-
-#endif // LOCAL_TIME_LOCAL_TIME_TYPES_HPP__
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/parse_format_base.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/parse_format_base.hpp
deleted file mode 100644
index d4b2f5975b..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/parse_format_base.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef DATE_TIME_PARSE_FORMAT_BASE__
-#define DATE_TIME_PARSE_FORMAT_BASE__
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland
- * $Date$
- */
-
-namespace boost {
-namespace date_time {
-
- //! Enum for distinguishing parsing and formatting options
- enum month_format_spec {month_as_integer, month_as_short_string,
- month_as_long_string};
-
- //! Enum for distinguishing the order of Month, Day, & Year.
- /*! Enum for distinguishing the order in which Month, Day, & Year
- * will appear in a date string */
- enum ymd_order_spec {ymd_order_iso, //order is year-month-day
- ymd_order_dmy, //day-month-year
- ymd_order_us}; //order is month-day-year
-
-
-} }//namespace date_time
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/period_formatter.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/period_formatter.hpp
deleted file mode 100644
index 2b46c3a01b..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/period_formatter.hpp
+++ /dev/null
@@ -1,200 +0,0 @@
-
-#ifndef DATETIME_PERIOD_FORMATTER_HPP___
-#define DATETIME_PERIOD_FORMATTER_HPP___
-
-/* Copyright (c) 2002-2004 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <iosfwd>
-#include <string>
-#include <vector>
-#include <iterator>
-
-namespace boost { namespace date_time {
-
-
- //! Not a facet, but a class used to specify and control period formats
- /*! Provides settings for the following:
- * - period_separator -- default '/'
- * - period_open_start_delimeter -- default '['
- * - period_open_range_end_delimeter -- default ')'
- * - period_closed_range_end_delimeter -- default ']'
- * - display_as_open_range, display_as_closed_range -- default closed_range
- *
- * Thus the default formatting for a period is as follows:
- *@code
- * [period.start()/period.last()]
- *@endcode
- * So for a typical date_period this would be
- *@code
- * [2004-Jan-04/2004-Feb-01]
- *@endcode
- * where the date formatting is controlled by the date facet
- */
- template <class CharT, class OutItrT = std::ostreambuf_iterator<CharT, std::char_traits<CharT> > >
- class period_formatter {
- public:
- typedef std::basic_string<CharT> string_type;
- typedef CharT char_type;
- typedef typename std::basic_string<char_type>::const_iterator const_itr_type;
- typedef std::vector<std::basic_string<CharT> > collection_type;
-
- static const char_type default_period_separator[2];
- static const char_type default_period_start_delimeter[2];
- static const char_type default_period_open_range_end_delimeter[2];
- static const char_type default_period_closed_range_end_delimeter[2];
-
- enum range_display_options { AS_OPEN_RANGE, AS_CLOSED_RANGE };
-
- //! Constructor that sets up period formatter options -- default should suffice most cases.
- period_formatter(range_display_options range_option_in = AS_CLOSED_RANGE,
- const char_type* const period_separator = default_period_separator,
- const char_type* const period_start_delimeter = default_period_start_delimeter,
- const char_type* const period_open_range_end_delimeter = default_period_open_range_end_delimeter,
- const char_type* const period_closed_range_end_delimeter = default_period_closed_range_end_delimeter) :
- m_range_option(range_option_in),
- m_period_separator(period_separator),
- m_period_start_delimeter(period_start_delimeter),
- m_open_range_end_delimeter(period_open_range_end_delimeter),
- m_closed_range_end_delimeter(period_closed_range_end_delimeter)
- {}
-
- //! Puts the characters between period elements into stream -- default is /
- OutItrT put_period_separator(OutItrT& oitr) const
- {
- const_itr_type ci = m_period_separator.begin();
- while (ci != m_period_separator.end()) {
- *oitr = *ci;
- ci++;
- }
- return oitr;
- }
-
- //! Puts the period start characters into stream -- default is [
- OutItrT put_period_start_delimeter(OutItrT& oitr) const
- {
- const_itr_type ci = m_period_start_delimeter.begin();
- while (ci != m_period_start_delimeter.end()) {
- *oitr = *ci;
- ci++;
- }
- return oitr;
- }
-
- //! Puts the period end characters into stream as controled by open/closed range setting.
- OutItrT put_period_end_delimeter(OutItrT& oitr) const
- {
-
- const_itr_type ci, end;
- if (m_range_option == AS_OPEN_RANGE) {
- ci = m_open_range_end_delimeter.begin();
- end = m_open_range_end_delimeter.end();
- }
- else {
- ci = m_closed_range_end_delimeter.begin();
- end = m_closed_range_end_delimeter.end();
- }
- while (ci != end) {
- *oitr = *ci;
- ci++;
- }
- return oitr;
- }
-
- range_display_options range_option() const
- {
- return m_range_option;
- }
-
- //! Reset the range_option control
- void
- range_option(range_display_options option) const
- {
- m_range_option = option;
- }
-
- //! Change the delimiter strings
- void delimiter_strings(const string_type& separator,
- const string_type& start_delim,
- const string_type& open_end_delim,
- const string_type& closed_end_delim)
- {
- m_period_separator = separator;
- m_period_start_delimeter = start_delim;
- m_open_range_end_delimeter = open_end_delim;
- m_closed_range_end_delimeter = closed_end_delim;
- }
-
- //! Generic code to output a period -- no matter the period type.
- /*! This generic code will output any period using a facet to
- * to output the 'elements'. For example, in the case of a date_period
- * the elements will be instances of a date which will be formatted
- * according the to setup in the passed facet parameter.
- *
- * The steps for formatting a period are always the same:
- * - put the start delimiter
- * - put start element
- * - put the separator
- * - put either last or end element depending on range settings
- * - put end delimeter depending on range settings
- *
- * Thus for a typical date period the result might look like this:
- *@code
- *
- * [March 01, 2004/June 07, 2004] <-- closed range
- * [March 01, 2004/June 08, 2004) <-- open range
- *
- *@endcode
- */
- template<class period_type, class facet_type>
- OutItrT put_period(OutItrT next,
- std::ios_base& a_ios,
- char_type a_fill,
- const period_type& p,
- const facet_type& facet) const {
- put_period_start_delimeter(next);
- next = facet.put(next, a_ios, a_fill, p.begin());
- put_period_separator(next);
- if (m_range_option == AS_CLOSED_RANGE) {
- facet.put(next, a_ios, a_fill, p.last());
- }
- else {
- facet.put(next, a_ios, a_fill, p.end());
- }
- put_period_end_delimeter(next);
- return next;
- }
-
-
- private:
- range_display_options m_range_option;
- string_type m_period_separator;
- string_type m_period_start_delimeter;
- string_type m_open_range_end_delimeter;
- string_type m_closed_range_end_delimeter;
- };
-
- template <class CharT, class OutItrT>
- const typename period_formatter<CharT, OutItrT>::char_type
- period_formatter<CharT, OutItrT>::default_period_separator[2] = {'/'};
-
- template <class CharT, class OutItrT>
- const typename period_formatter<CharT, OutItrT>::char_type
- period_formatter<CharT, OutItrT>::default_period_start_delimeter[2] = {'['};
-
- template <class CharT, class OutItrT>
- const typename period_formatter<CharT, OutItrT>::char_type
- period_formatter<CharT, OutItrT>::default_period_open_range_end_delimeter[2] = {')'};
-
- template <class CharT, class OutItrT>
- const typename period_formatter<CharT, OutItrT>::char_type
- period_formatter<CharT, OutItrT>::default_period_closed_range_end_delimeter[2] = {']'};
-
- } } //namespace boost::date_time
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/period_parser.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/period_parser.hpp
deleted file mode 100644
index 7e4cdc7d7c..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/period_parser.hpp
+++ /dev/null
@@ -1,197 +0,0 @@
-
-#ifndef DATETIME_PERIOD_PARSER_HPP___
-#define DATETIME_PERIOD_PARSER_HPP___
-
-/* Copyright (c) 2002-2004 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <ios>
-#include <string>
-#include <vector>
-#include <iterator>
-#include <boost/throw_exception.hpp>
-#include <boost/date_time/special_defs.hpp>
-#include <boost/date_time/string_parse_tree.hpp>
-#include <boost/date_time/string_convert.hpp>
-
-
-namespace boost { namespace date_time {
-
-
- //! Not a facet, but a class used to specify and control period parsing
- /*! Provides settings for the following:
- * - period_separator -- default '/'
- * - period_open_start_delimeter -- default '['
- * - period_open_range_end_delimeter -- default ')'
- * - period_closed_range_end_delimeter -- default ']'
- * - display_as_open_range, display_as_closed_range -- default closed_range
- *
- * For a typical date_period, the contents of the input stream would be
- *@code
- * [2004-Jan-04/2004-Feb-01]
- *@endcode
- * where the date format is controlled by the date facet
- */
- template<class date_type, typename CharT>
- class period_parser {
- public:
- typedef std::basic_string<CharT> string_type;
- typedef CharT char_type;
- //typedef typename std::basic_string<char_type>::const_iterator const_itr_type;
- typedef std::istreambuf_iterator<CharT> stream_itr_type;
- typedef string_parse_tree<CharT> parse_tree_type;
- typedef typename parse_tree_type::parse_match_result_type match_results;
- typedef std::vector<std::basic_string<CharT> > collection_type;
-
- static const char_type default_period_separator[2];
- static const char_type default_period_start_delimeter[2];
- static const char_type default_period_open_range_end_delimeter[2];
- static const char_type default_period_closed_range_end_delimeter[2];
-
- enum period_range_option { AS_OPEN_RANGE, AS_CLOSED_RANGE };
-
- //! Constructor that sets up period parser options
- period_parser(period_range_option range_opt = AS_CLOSED_RANGE,
- const char_type* const period_separator = default_period_separator,
- const char_type* const period_start_delimeter = default_period_start_delimeter,
- const char_type* const period_open_range_end_delimeter = default_period_open_range_end_delimeter,
- const char_type* const period_closed_range_end_delimeter = default_period_closed_range_end_delimeter)
- : m_range_option(range_opt)
- {
- delimiters.push_back(string_type(period_separator));
- delimiters.push_back(string_type(period_start_delimeter));
- delimiters.push_back(string_type(period_open_range_end_delimeter));
- delimiters.push_back(string_type(period_closed_range_end_delimeter));
- }
-
- period_range_option range_option() const
- {
- return m_range_option;
- }
- void range_option(period_range_option option)
- {
- m_range_option = option;
- }
- collection_type delimiter_strings() const
- {
- return delimiters;
- }
- void delimiter_strings(const string_type& separator,
- const string_type& start_delim,
- const string_type& open_end_delim,
- const string_type& closed_end_delim)
- {
- delimiters.clear();
- delimiters.push_back(separator);
- delimiters.push_back(start_delim);
- delimiters.push_back(open_end_delim);
- delimiters.push_back(closed_end_delim);
- }
-
- //! Generic code to parse a period -- no matter the period type.
- /*! This generic code will parse any period using a facet to
- * to get the 'elements'. For example, in the case of a date_period
- * the elements will be instances of a date which will be parsed
- * according the to setup in the passed facet parameter.
- *
- * The steps for parsing a period are always the same:
- * - consume the start delimiter
- * - get start element
- * - consume the separator
- * - get either last or end element depending on range settings
- * - consume the end delimeter depending on range settings
- *
- * Thus for a typical date period the contents of the input stream
- * might look like this:
- *@code
- *
- * [March 01, 2004/June 07, 2004] <-- closed range
- * [March 01, 2004/June 08, 2004) <-- open range
- *
- *@endcode
- */
- template<class period_type, class duration_type, class facet_type>
- period_type get_period(stream_itr_type& sitr,
- stream_itr_type& stream_end,
- std::ios_base& a_ios,
- const period_type& /* p */,
- const duration_type& dur_unit,
- const facet_type& facet) const
- {
- // skip leading whitespace
- while(std::isspace(*sitr) && sitr != stream_end) { ++sitr; }
-
- typedef typename period_type::point_type point_type;
- point_type p1(not_a_date_time), p2(not_a_date_time);
-
-
- consume_delim(sitr, stream_end, delimiters[START]); // start delim
- facet.get(sitr, stream_end, a_ios, p1); // first point
- consume_delim(sitr, stream_end, delimiters[SEPARATOR]); // separator
- facet.get(sitr, stream_end, a_ios, p2); // second point
-
- // period construction parameters are always open range [begin, end)
- if (m_range_option == AS_CLOSED_RANGE) {
- consume_delim(sitr, stream_end, delimiters[CLOSED_END]);// end delim
- // add 1 duration unit to p2 to make range open
- p2 += dur_unit;
- }
- else {
- consume_delim(sitr, stream_end, delimiters[OPEN_END]); // end delim
- }
-
- return period_type(p1, p2);
- }
-
- private:
- collection_type delimiters;
- period_range_option m_range_option;
-
- enum delim_ids { SEPARATOR, START, OPEN_END, CLOSED_END };
-
- //! throws ios_base::failure if delimiter and parsed data do not match
- void consume_delim(stream_itr_type& sitr,
- stream_itr_type& stream_end,
- const string_type& delim) const
- {
- /* string_parse_tree will not parse a string of punctuation characters
- * without knowing exactly how many characters to process
- * Ex [2000. Will not parse out the '[' string without knowing
- * to process only one character. By using length of the delimiter
- * string we can safely iterate past it. */
- string_type s;
- for(unsigned int i = 0; i < delim.length() && sitr != stream_end; ++i) {
- s += *sitr;
- ++sitr;
- }
- if(s != delim) {
- boost::throw_exception(std::ios_base::failure("Parse failed. Expected '"
- + convert_string_type<char_type,char>(delim) + "' but found '" + convert_string_type<char_type,char>(s) + "'"));
- }
- }
- };
-
- template <class date_type, class char_type>
- const typename period_parser<date_type, char_type>::char_type
- period_parser<date_type, char_type>::default_period_separator[2] = {'/'};
-
- template <class date_type, class char_type>
- const typename period_parser<date_type, char_type>::char_type
- period_parser<date_type, char_type>::default_period_start_delimeter[2] = {'['};
-
- template <class date_type, class char_type>
- const typename period_parser<date_type, char_type>::char_type
- period_parser<date_type, char_type>::default_period_open_range_end_delimeter[2] = {')'};
-
- template <class date_type, class char_type>
- const typename period_parser<date_type, char_type>::char_type
- period_parser<date_type, char_type>::default_period_closed_range_end_delimeter[2] = {']'};
-
- } } //namespace boost::date_time
-
-#endif // DATETIME_PERIOD_PARSER_HPP___
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time.hpp
deleted file mode 100644
index aecf8a818d..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef POSIX_TIME_HPP___
-#define POSIX_TIME_HPP___
-
-/* Copyright (c) 2002-2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-/*!@file posix_time.hpp Global header file to get all of posix time types
- */
-
-#include "boost/date_time/compiler_config.hpp"
-#include "boost/date_time/posix_time/ptime.hpp"
-#if defined(BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES)
-#include "boost/date_time/posix_time/date_duration_operators.hpp"
-#endif
-
-// output functions
-#if defined(BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS)
-#include "boost/date_time/posix_time/time_formatters_limited.hpp"
-#else
-#include "boost/date_time/posix_time/time_formatters.hpp"
-#endif // BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS
-
-// streaming operators
-#if defined(USE_DATE_TIME_PRE_1_33_FACET_IO)
-#include "boost/date_time/posix_time/posix_time_legacy_io.hpp"
-#else
-#include "boost/date_time/posix_time/posix_time_io.hpp"
-#endif // USE_DATE_TIME_PRE_1_33_FACET_IO
-
-#include "boost/date_time/posix_time/time_parsers.hpp"
-#include "boost/date_time/posix_time/conversion.hpp"
-
-
-#endif
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_io.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_io.hpp
deleted file mode 100644
index 6a72e32785..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_io.hpp
+++ /dev/null
@@ -1,236 +0,0 @@
-#ifndef DATE_TIME_POSIX_TIME_IO_HPP__
-#define DATE_TIME_POSIX_TIME_IO_HPP__
-
-/* Copyright (c) 2004-2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <locale>
-#include <iostream>
-#include <iterator> // i/ostreambuf_iterator
-#include <boost/io/ios_state.hpp>
-#include <boost/date_time/time_facet.hpp>
-#include <boost/date_time/period_formatter.hpp>
-#include <boost/date_time/posix_time/ptime.hpp>
-#include <boost/date_time/posix_time/time_period.hpp>
-#include <boost/date_time/posix_time/posix_time_duration.hpp>
-#include <boost/date_time/posix_time/conversion.hpp> // to_tm will be needed in the facets
-
-namespace boost {
-namespace posix_time {
-
-
- //! wptime_facet is depricated and will be phased out. use wtime_facet instead
- //typedef boost::date_time::time_facet<ptime, wchar_t> wptime_facet;
- //! ptime_facet is depricated and will be phased out. use time_facet instead
- //typedef boost::date_time::time_facet<ptime, char> ptime_facet;
-
- //! wptime_input_facet is depricated and will be phased out. use wtime_input_facet instead
- //typedef boost::date_time::time_input_facet<ptime,wchar_t> wptime_input_facet;
- //! ptime_input_facet is depricated and will be phased out. use time_input_facet instead
- //typedef boost::date_time::time_input_facet<ptime,char> ptime_input_facet;
-
- typedef boost::date_time::time_facet<ptime, wchar_t> wtime_facet;
- typedef boost::date_time::time_facet<ptime, char> time_facet;
-
- typedef boost::date_time::time_input_facet<ptime, wchar_t> wtime_input_facet;
- typedef boost::date_time::time_input_facet<ptime, char> time_input_facet;
-
- template <class CharT, class TraitsT>
- inline
- std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os,
- const ptime& p) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::time_facet<ptime, CharT> custom_ptime_facet;
- std::ostreambuf_iterator<CharT> oitr(os);
- if (std::has_facet<custom_ptime_facet>(os.getloc()))
- std::use_facet<custom_ptime_facet>(os.getloc()).put(oitr, os, os.fill(), p);
- else {
- //instantiate a custom facet for dealing with times since the user
- //has not put one in the stream so far. This is for efficiency
- //since we would always need to reconstruct for every time period
- //if the locale did not already exist. Of course this will be overridden
- //if the user imbues as some later point.
- custom_ptime_facet* f = new custom_ptime_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(oitr, os, os.fill(), p);
- }
- return os;
- }
-
- //! input operator for ptime
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, ptime& pt)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::time_input_facet<ptime, CharT> time_input_facet_local;
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<time_input_facet_local>(is.getloc())) {
- std::use_facet<time_input_facet_local>(is.getloc()).get(sit, str_end, is, pt);
- }
- else {
- time_input_facet_local* f = new time_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, pt);
- }
- }
- catch(...) {
- // mask tells us what exceptions are turned on
- std::ios_base::iostate exception_mask = is.exceptions();
- // if the user wants exceptions on failbit, we'll rethrow our
- // date_time exception & set the failbit
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {} // ignore this one
- throw; // rethrow original exception
- }
- else {
- // if the user wants to fail quietly, we simply set the failbit
- is.setstate(std::ios_base::failbit);
- }
- }
- }
- return is;
- }
-
-
- template <class CharT, class TraitsT>
- inline
- std::basic_ostream<CharT, TraitsT>&
- operator<<(std::basic_ostream<CharT, TraitsT>& os,
- const boost::posix_time::time_period& p) {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::time_facet<ptime, CharT> custom_ptime_facet;
- std::ostreambuf_iterator<CharT> oitr(os);
- if (std::has_facet<custom_ptime_facet>(os.getloc())) {
- std::use_facet<custom_ptime_facet>(os.getloc()).put(oitr, os, os.fill(), p);
- }
- else {
- //instantiate a custom facet for dealing with periods since the user
- //has not put one in the stream so far. This is for efficiency
- //since we would always need to reconstruct for every time period
- //if the local did not already exist. Of course this will be overridden
- //if the user imbues as some later point.
- custom_ptime_facet* f = new custom_ptime_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(oitr, os, os.fill(), p);
- }
- return os;
- }
-
- //! input operator for time_period
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, time_period& tp)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::time_input_facet<ptime, CharT> time_input_facet_local;
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<time_input_facet_local>(is.getloc())) {
- std::use_facet<time_input_facet_local>(is.getloc()).get(sit, str_end, is, tp);
- }
- else {
- time_input_facet_local* f = new time_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, tp);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
- }
- }
- return is;
- }
-
-
- //! ostream operator for posix_time::time_duration
- // todo fix to use facet -- place holder for now...
- template <class CharT, class Traits>
- inline
- std::basic_ostream<CharT, Traits>&
- operator<<(std::basic_ostream<CharT, Traits>& os, const time_duration& td)
- {
- boost::io::ios_flags_saver iflags(os);
- typedef boost::date_time::time_facet<ptime, CharT> custom_ptime_facet;
- std::ostreambuf_iterator<CharT> oitr(os);
- if (std::has_facet<custom_ptime_facet>(os.getloc()))
- std::use_facet<custom_ptime_facet>(os.getloc()).put(oitr, os, os.fill(), td);
- else {
- //instantiate a custom facet for dealing with times since the user
- //has not put one in the stream so far. This is for efficiency
- //since we would always need to reconstruct for every time period
- //if the locale did not already exist. Of course this will be overridden
- //if the user imbues as some later point.
- custom_ptime_facet* f = new custom_ptime_facet();
- std::locale l = std::locale(os.getloc(), f);
- os.imbue(l);
- f->put(oitr, os, os.fill(), td);
- }
- return os;
- }
-
- //! input operator for time_duration
- template <class CharT, class Traits>
- inline
- std::basic_istream<CharT, Traits>&
- operator>>(std::basic_istream<CharT, Traits>& is, time_duration& td)
- {
- boost::io::ios_flags_saver iflags(is);
- typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
- if (strm_sentry) {
- try {
- typedef typename date_time::time_input_facet<ptime, CharT> time_input_facet_local;
- std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
- if(std::has_facet<time_input_facet_local>(is.getloc())) {
- std::use_facet<time_input_facet_local>(is.getloc()).get(sit, str_end, is, td);
- }
- else {
- time_input_facet_local* f = new time_input_facet_local();
- std::locale l = std::locale(is.getloc(), f);
- is.imbue(l);
- f->get(sit, str_end, is, td);
- }
- }
- catch(...) {
- std::ios_base::iostate exception_mask = is.exceptions();
- if(std::ios_base::failbit & exception_mask) {
- try { is.setstate(std::ios_base::failbit); }
- catch(std::ios_base::failure&) {}
- throw; // rethrow original exception
- }
- else {
- is.setstate(std::ios_base::failbit);
- }
- }
- }
- return is;
- }
-
-} } // namespaces
-#endif // DATE_TIME_POSIX_TIME_IO_HPP__
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_legacy_io.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_legacy_io.hpp
deleted file mode 100644
index b31fb98723..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/posix_time_legacy_io.hpp
+++ /dev/null
@@ -1,153 +0,0 @@
-#ifndef POSIX_TIME_PRE133_OPERATORS_HPP___
-#define POSIX_TIME_PRE133_OPERATORS_HPP___
-
-/* Copyright (c) 2002-2004 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-/*! @file posix_time_pre133_operators.hpp
- * These input and output operators are for use with the
- * pre 1.33 version of the date_time libraries io facet code.
- * The operators used in version 1.33 and later can be found
- * in posix_time_io.hpp */
-
-#include <iostream>
-#include <string>
-#include <sstream>
-#include "boost/date_time/compiler_config.hpp"
-#include "boost/date_time/gregorian/gregorian.hpp"
-#include "boost/date_time/posix_time/posix_time_duration.hpp"
-#include "boost/date_time/posix_time/ptime.hpp"
-#include "boost/date_time/posix_time/time_period.hpp"
-#include "boost/date_time/time_parsing.hpp"
-
-namespace boost {
-namespace posix_time {
-
-
-//The following code is removed for configurations with poor std::locale support (eg: MSVC6, gcc 2.9x)
-#ifndef BOOST_DATE_TIME_NO_LOCALE
-#if defined(USE_DATE_TIME_PRE_1_33_FACET_IO)
- //! ostream operator for posix_time::time_duration
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os, const time_duration& td)
- {
- typedef boost::date_time::ostream_time_duration_formatter<time_duration, charT> duration_formatter;
- duration_formatter::duration_put(td, os);
- return os;
- }
-
- //! ostream operator for posix_time::ptime
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os, const ptime& t)
- {
- typedef boost::date_time::ostream_time_formatter<ptime, charT> time_formatter;
- time_formatter::time_put(t, os);
- return os;
- }
-
- //! ostream operator for posix_time::time_period
- template <class charT, class traits>
- inline
- std::basic_ostream<charT, traits>&
- operator<<(std::basic_ostream<charT, traits>& os, const time_period& tp)
- {
- typedef boost::date_time::ostream_time_period_formatter<time_period, charT> period_formatter;
- period_formatter::period_put(tp, os);
- return os;
- }
-#endif // USE_DATE_TIME_PRE_1_33_FACET_IO
-/******** input streaming ********/
- template<class charT>
- inline
- std::basic_istream<charT>& operator>>(std::basic_istream<charT>& is, time_duration& td)
- {
- // need to create a std::string and parse it
- std::basic_string<charT> inp_s;
- std::stringstream out_ss;
- is >> inp_s;
- typename std::basic_string<charT>::iterator b = inp_s.begin();
- // need to use both iterators because there is no requirement
- // for the data held by a std::basic_string<> be terminated with
- // any marker (such as '\0').
- typename std::basic_string<charT>::iterator e = inp_s.end();
- while(b != e){
- out_ss << is.narrow(*b, 0);
- ++b;
- }
-
- td = date_time::parse_delimited_time_duration<time_duration>(out_ss.str());
- return is;
- }
-
- template<class charT>
- inline
- std::basic_istream<charT>& operator>>(std::basic_istream<charT>& is, ptime& pt)
- {
- gregorian::date d(not_a_date_time);
- time_duration td(0,0,0);
- is >> d >> td;
- pt = ptime(d, td);
-
- return is;
- }
-
- /** operator>> for time_period. time_period must be in
- * "[date time_duration/date time_duration]" format. */
- template<class charT>
- inline
- std::basic_istream<charT>& operator>>(std::basic_istream<charT>& is, time_period& tp)
- {
- gregorian::date d(not_a_date_time);
- time_duration td(0,0,0);
- ptime beg(d, td);
- ptime end(beg);
- std::basic_string<charT> s;
- // get first date string and remove leading '['
- is >> s;
- {
- std::basic_stringstream<charT> ss;
- ss << s.substr(s.find('[')+1);
- ss >> d;
- }
- // get first time_duration & second date string, remove the '/'
- // and split into 2 strings
- is >> s;
- {
- std::basic_stringstream<charT> ss;
- ss << s.substr(0, s.find('/'));
- ss >> td;
- }
- beg = ptime(d, td);
- {
- std::basic_stringstream<charT> ss;
- ss << s.substr(s.find('/')+1);
- ss >> d;
- }
- // get last time_duration and remove the trailing ']'
- is >> s;
- {
- std::basic_stringstream<charT> ss;
- ss << s.substr(0, s.find(']'));
- ss >> td;
- }
- end = ptime(d, td);
-
- tp = time_period(beg,end);
- return is;
- }
-
-
-#endif //BOOST_DATE_TIME_NO_LOCALE
-
-} } // namespaces
-
-#endif // POSIX_TIME_PRE133_OPERATORS_HPP___
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters.hpp
deleted file mode 100644
index ce19568228..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters.hpp
+++ /dev/null
@@ -1,289 +0,0 @@
-#ifndef POSIXTIME_FORMATTERS_HPP___
-#define POSIXTIME_FORMATTERS_HPP___
-
-/* Copyright (c) 2002-2004 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <boost/date_time/gregorian/gregorian.hpp>
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/iso_format.hpp>
-#include <boost/date_time/date_format_simple.hpp>
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-#include <boost/date_time/time_formatting_streams.hpp>
-#include <boost/date_time/time_resolution_traits.hpp> // absolute_value
-#include <boost/date_time/time_parsing.hpp>
-
-/* NOTE: The "to_*_string" code for older compilers, ones that define
- * BOOST_DATE_TIME_INCLUDE_LIMITED_HEADERS, is located in
- * formatters_limited.hpp
- */
-
-namespace boost {
-
-namespace posix_time {
-
- // template function called by wrapper functions:
- // to_*_string(time_duration) & to_*_wstring(time_duration)
- template<class charT>
- inline std::basic_string<charT> to_simple_string_type(time_duration td) {
- std::basic_ostringstream<charT> ss;
- if(td.is_special()) {
- /* simply using 'ss << td.get_rep()' won't work on compilers
- * that don't support locales. This way does. */
- // switch copied from date_names_put.hpp
- switch(td.get_rep().as_special())
- {
- case not_a_date_time:
- //ss << "not-a-number";
- ss << "not-a-date-time";
- break;
- case pos_infin:
- ss << "+infinity";
- break;
- case neg_infin:
- ss << "-infinity";
- break;
- default:
- ss << "";
- }
- }
- else {
- charT fill_char = '0';
- if(td.is_negative()) {
- ss << '-';
- }
- ss << std::setw(2) << std::setfill(fill_char)
- << date_time::absolute_value(td.hours()) << ":";
- ss << std::setw(2) << std::setfill(fill_char)
- << date_time::absolute_value(td.minutes()) << ":";
- ss << std::setw(2) << std::setfill(fill_char)
- << date_time::absolute_value(td.seconds());
- //TODO the following is totally non-generic, yelling FIXME
-#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
- boost::int64_t frac_sec =
- date_time::absolute_value(td.fractional_seconds());
- // JDG [7/6/02 VC++ compatibility]
- charT buff[32];
- _i64toa(frac_sec, buff, 10);
-#else
- time_duration::fractional_seconds_type frac_sec =
- date_time::absolute_value(td.fractional_seconds());
-#endif
- if (frac_sec != 0) {
- ss << "." << std::setw(time_duration::num_fractional_digits())
- << std::setfill(fill_char)
-
- // JDG [7/6/02 VC++ compatibility]
-#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
- << buff;
-#else
- << frac_sec;
-#endif
- }
- }// else
- return ss.str();
- }
- //! Time duration to string -hh::mm::ss.fffffff. Example: 10:09:03.0123456
- /*!\ingroup time_format
- */
- inline std::string to_simple_string(time_duration td) {
- return to_simple_string_type<char>(td);
- }
-
-
- // template function called by wrapper functions:
- // to_*_string(time_duration) & to_*_wstring(time_duration)
- template<class charT>
- inline std::basic_string<charT> to_iso_string_type(time_duration td)
- {
- std::basic_ostringstream<charT> ss;
- if(td.is_special()) {
- /* simply using 'ss << td.get_rep()' won't work on compilers
- * that don't support locales. This way does. */
- // switch copied from date_names_put.hpp
- switch(td.get_rep().as_special()) {
- case not_a_date_time:
- //ss << "not-a-number";
- ss << "not-a-date-time";
- break;
- case pos_infin:
- ss << "+infinity";
- break;
- case neg_infin:
- ss << "-infinity";
- break;
- default:
- ss << "";
- }
- }
- else {
- charT fill_char = '0';
- if(td.is_negative()) {
- ss << '-';
- }
- ss << std::setw(2) << std::setfill(fill_char)
- << date_time::absolute_value(td.hours());
- ss << std::setw(2) << std::setfill(fill_char)
- << date_time::absolute_value(td.minutes());
- ss << std::setw(2) << std::setfill(fill_char)
- << date_time::absolute_value(td.seconds());
- //TODO the following is totally non-generic, yelling FIXME
-#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
- boost::int64_t frac_sec =
- date_time::absolute_value(td.fractional_seconds());
- // JDG [7/6/02 VC++ compatibility]
- charT buff[32];
- _i64toa(frac_sec, buff, 10);
-#else
- time_duration::fractional_seconds_type frac_sec =
- date_time::absolute_value(td.fractional_seconds());
-#endif
- if (frac_sec != 0) {
- ss << "." << std::setw(time_duration::num_fractional_digits())
- << std::setfill(fill_char)
-
- // JDG [7/6/02 VC++ compatibility]
-#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
- << buff;
-#else
- << frac_sec;
-#endif
- }
- }// else
- return ss.str();
- }
- //! Time duration in iso format -hhmmss,fffffff Example: 10:09:03,0123456
- /*!\ingroup time_format
- */
- inline std::string to_iso_string(time_duration td){
- return to_iso_string_type<char>(td);
- }
-
- //! Time to simple format CCYY-mmm-dd hh:mm:ss.fffffff
- /*!\ingroup time_format
- */
- template<class charT>
- inline std::basic_string<charT> to_simple_string_type(ptime t)
- {
- // can't use this w/gcc295, no to_simple_string_type<>(td) available
- std::basic_string<charT> ts = gregorian::to_simple_string_type<charT>(t.date());// + " ";
- if(!t.time_of_day().is_special()) {
- charT space = ' ';
- return ts + space + to_simple_string_type<charT>(t.time_of_day());
- }
- else {
- return ts;
- }
- }
- inline std::string to_simple_string(ptime t){
- return to_simple_string_type<char>(t);
- }
-
- // function called by wrapper functions to_*_string(time_period)
- // & to_*_wstring(time_period)
- template<class charT>
- inline std::basic_string<charT> to_simple_string_type(time_period tp)
- {
- charT beg = '[', mid = '/', end = ']';
- std::basic_string<charT> d1(to_simple_string_type<charT>(tp.begin()));
- std::basic_string<charT> d2(to_simple_string_type<charT>(tp.last()));
- return std::basic_string<charT>(beg + d1 + mid + d2 + end);
- }
- //! Convert to string of form [YYYY-mmm-DD HH:MM::SS.ffffff/YYYY-mmm-DD HH:MM::SS.fffffff]
- /*!\ingroup time_format
- */
- inline std::string to_simple_string(time_period tp){
- return to_simple_string_type<char>(tp);
- }
-
- // function called by wrapper functions to_*_string(time_period)
- // & to_*_wstring(time_period)
- template<class charT>
- inline std::basic_string<charT> to_iso_string_type(ptime t)
- {
- std::basic_string<charT> ts = gregorian::to_iso_string_type<charT>(t.date());// + "T";
- if(!t.time_of_day().is_special()) {
- charT sep = 'T';
- return ts + sep + to_iso_string_type<charT>(t.time_of_day());
- }
- else {
- return ts;
- }
- }
- //! Convert iso short form YYYYMMDDTHHMMSS where T is the date-time separator
- /*!\ingroup time_format
- */
- inline std::string to_iso_string(ptime t){
- return to_iso_string_type<char>(t);
- }
-
-
- // function called by wrapper functions to_*_string(time_period)
- // & to_*_wstring(time_period)
- template<class charT>
- inline std::basic_string<charT> to_iso_extended_string_type(ptime t)
- {
- std::basic_string<charT> ts = gregorian::to_iso_extended_string_type<charT>(t.date());// + "T";
- if(!t.time_of_day().is_special()) {
- charT sep = 'T';
- return ts + sep + to_simple_string_type<charT>(t.time_of_day());
- }
- else {
- return ts;
- }
- }
- //! Convert to form YYYY-MM-DDTHH:MM:SS where T is the date-time separator
- /*!\ingroup time_format
- */
- inline std::string to_iso_extended_string(ptime t){
- return to_iso_extended_string_type<char>(t);
- }
-
-#if !defined(BOOST_NO_STD_WSTRING)
- //! Time duration to wstring -hh::mm::ss.fffffff. Example: 10:09:03.0123456
- /*!\ingroup time_format
- */
- inline std::wstring to_simple_wstring(time_duration td) {
- return to_simple_string_type<wchar_t>(td);
- }
- //! Time duration in iso format -hhmmss,fffffff Example: 10:09:03,0123456
- /*!\ingroup time_format
- */
- inline std::wstring to_iso_wstring(time_duration td){
- return to_iso_string_type<wchar_t>(td);
- }
- inline std::wstring to_simple_wstring(ptime t){
- return to_simple_string_type<wchar_t>(t);
- }
- //! Convert to wstring of form [YYYY-mmm-DD HH:MM::SS.ffffff/YYYY-mmm-DD HH:MM::SS.fffffff]
- /*!\ingroup time_format
- */
- inline std::wstring to_simple_wstring(time_period tp){
- return to_simple_string_type<wchar_t>(tp);
- }
- //! Convert iso short form YYYYMMDDTHHMMSS where T is the date-time separator
- /*!\ingroup time_format
- */
- inline std::wstring to_iso_wstring(ptime t){
- return to_iso_string_type<wchar_t>(t);
- }
- //! Convert to form YYYY-MM-DDTHH:MM:SS where T is the date-time separator
- /*!\ingroup time_format
- */
- inline std::wstring to_iso_extended_wstring(ptime t){
- return to_iso_extended_string_type<wchar_t>(t);
- }
-
-#endif // BOOST_NO_STD_WSTRING
-
-
-} } //namespace posix_time
-
-
-#endif
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters_limited.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters_limited.hpp
deleted file mode 100644
index c74fcfa0b0..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_formatters_limited.hpp
+++ /dev/null
@@ -1,212 +0,0 @@
-#ifndef POSIXTIME_FORMATTERS_LIMITED_HPP___
-#define POSIXTIME_FORMATTERS_LIMITED_HPP___
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <boost/date_time/gregorian/gregorian.hpp>
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/iso_format.hpp>
-#include <boost/date_time/date_format_simple.hpp>
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-#include <boost/date_time/time_formatting_streams.hpp>
-#include <boost/date_time/time_resolution_traits.hpp> // absolute_value
-
-namespace boost {
-
-namespace posix_time {
-
- //! Time duration to string -hh::mm::ss.fffffff. Example: 10:09:03.0123456
- /*!\ingroup time_format
- */
- inline std::string to_simple_string(time_duration td) {
- std::ostringstream ss;
- if(td.is_special()) {
- /* simply using 'ss << td.get_rep()' won't work on compilers
- * that don't support locales. This way does. */
- // switch copied from date_names_put.hpp
- switch(td.get_rep().as_special())
- {
- case not_a_date_time:
- //ss << "not-a-number";
- ss << "not-a-date-time";
- break;
- case pos_infin:
- ss << "+infinity";
- break;
- case neg_infin:
- ss << "-infinity";
- break;
- default:
- ss << "";
- }
- }
- else {
- if(td.is_negative()) {
- ss << '-';
- }
- ss << std::setw(2) << std::setfill('0')
- << date_time::absolute_value(td.hours()) << ":";
- ss << std::setw(2) << std::setfill('0')
- << date_time::absolute_value(td.minutes()) << ":";
- ss << std::setw(2) << std::setfill('0')
- << date_time::absolute_value(td.seconds());
- //TODO the following is totally non-generic, yelling FIXME
-#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
- boost::int64_t frac_sec =
- date_time::absolute_value(td.fractional_seconds());
- // JDG [7/6/02 VC++ compatibility]
- char buff[32];
- _i64toa(frac_sec, buff, 10);
-#else
- time_duration::fractional_seconds_type frac_sec =
- date_time::absolute_value(td.fractional_seconds());
-#endif
- if (frac_sec != 0) {
- ss << "." << std::setw(time_duration::num_fractional_digits())
- << std::setfill('0')
-
- // JDG [7/6/02 VC++ compatibility]
-#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
- << buff;
-#else
- << frac_sec;
-#endif
- }
- }// else
- return ss.str();
- }
-
- //! Time duration in iso format -hhmmss,fffffff Example: 10:09:03,0123456
- /*!\ingroup time_format
- */
- inline
- std::string
- to_iso_string(time_duration td)
- {
- std::ostringstream ss;
- if(td.is_special()) {
- /* simply using 'ss << td.get_rep()' won't work on compilers
- * that don't support locales. This way does. */
- // switch copied from date_names_put.hpp
- switch(td.get_rep().as_special()) {
- case not_a_date_time:
- //ss << "not-a-number";
- ss << "not-a-date-time";
- break;
- case pos_infin:
- ss << "+infinity";
- break;
- case neg_infin:
- ss << "-infinity";
- break;
- default:
- ss << "";
- }
- }
- else {
- if(td.is_negative()) {
- ss << '-';
- }
- ss << std::setw(2) << std::setfill('0')
- << date_time::absolute_value(td.hours());
- ss << std::setw(2) << std::setfill('0')
- << date_time::absolute_value(td.minutes());
- ss << std::setw(2) << std::setfill('0')
- << date_time::absolute_value(td.seconds());
- //TODO the following is totally non-generic, yelling FIXME
-#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
- boost::int64_t frac_sec =
- date_time::absolute_value(td.fractional_seconds());
- // JDG [7/6/02 VC++ compatibility]
- char buff[32];
- _i64toa(frac_sec, buff, 10);
-#else
- time_duration::fractional_seconds_type frac_sec =
- date_time::absolute_value(td.fractional_seconds());
-#endif
- if (frac_sec != 0) {
- ss << "." << std::setw(time_duration::num_fractional_digits())
- << std::setfill('0')
-
- // JDG [7/6/02 VC++ compatibility]
-#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
- << buff;
-#else
- << frac_sec;
-#endif
- }
- }// else
- return ss.str();
- }
-
- //! Time to simple format CCYY-mmm-dd hh:mm:ss.fffffff
- /*!\ingroup time_format
- */
- inline
- std::string
- to_simple_string(ptime t)
- {
- std::string ts = gregorian::to_simple_string(t.date());// + " ";
- if(!t.time_of_day().is_special()) {
- return ts + " " + to_simple_string(t.time_of_day());
- }
- else {
- return ts;
- }
- }
-
- //! Convert to string of form [YYYY-mmm-DD HH:MM::SS.ffffff/YYYY-mmm-DD HH:MM::SS.fffffff]
- /*!\ingroup time_format
- */
- inline
- std::string
- to_simple_string(time_period tp)
- {
- std::string d1(to_simple_string(tp.begin()));
- std::string d2(to_simple_string(tp.last()));
- return std::string("[" + d1 + "/" + d2 +"]");
- }
-
- //! Convert iso short form YYYYMMDDTHHMMSS where T is the date-time separator
- /*!\ingroup time_format
- */
- inline
- std::string to_iso_string(ptime t)
- {
- std::string ts = gregorian::to_iso_string(t.date());// + "T";
- if(!t.time_of_day().is_special()) {
- return ts + "T" + to_iso_string(t.time_of_day());
- }
- else {
- return ts;
- }
- }
-
- //! Convert to form YYYY-MM-DDTHH:MM:SS where T is the date-time separator
- /*!\ingroup time_format
- */
- inline
- std::string
- to_iso_extended_string(ptime t)
- {
- std::string ts = gregorian::to_iso_extended_string(t.date());// + "T";
- if(!t.time_of_day().is_special()) {
- return ts + "T" + to_simple_string(t.time_of_day());
- }
- else {
- return ts;
- }
- }
-
-
-} } //namespace posix_time
-
-
-#endif
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_parsers.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_parsers.hpp
deleted file mode 100644
index 738de6f903..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/posix_time/time_parsers.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef POSIXTIME_PARSERS_HPP___
-#define POSIXTIME_PARSERS_HPP___
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland
- * $Date$
- */
-
-#include "boost/date_time/gregorian/gregorian.hpp"
-#include "boost/date_time/time_parsing.hpp"
-#include "boost/date_time/posix_time/posix_time_types.hpp"
-
-
-namespace boost {
-
-namespace posix_time {
-
- //! Creates a time_duration object from a delimited string
- /*! Expected format for string is "[-]h[h][:mm][:ss][.fff]".
- * A negative duration will be created if the first character in
- * string is a '-', all other '-' will be treated as delimiters.
- * Accepted delimiters are "-:,.". */
- inline time_duration duration_from_string(const std::string& s) {
- return date_time::parse_delimited_time_duration<time_duration>(s);
- }
-
- inline ptime time_from_string(const std::string& s) {
- return date_time::parse_delimited_time<ptime>(s, ' ');
- }
-
- inline ptime from_iso_string(const std::string& s) {
- return date_time::parse_iso_time<ptime>(s, 'T');
- }
-
- inline ptime from_iso_extended_string(const std::string& s) {
- if (s.size() == 10) { //assume we just have a date which is 10 chars
- gregorian::date d = gregorian::from_simple_string(s);
- return ptime( d );
- }
- return date_time::parse_delimited_time<ptime>(s, 'T');
- }
-
-
-
-} } //namespace posix_time
-
-
-#endif
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/special_values_formatter.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/special_values_formatter.hpp
deleted file mode 100644
index 0eb3cae8e7..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/special_values_formatter.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-#ifndef DATETIME_SPECIAL_VALUE_FORMATTER_HPP___
-#define DATETIME_SPECIAL_VALUE_FORMATTER_HPP___
-
-/* Copyright (c) 2004 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland
- * $Date$
- */
-
-#include <vector>
-#include <string>
-#include <iterator>
-#include "boost/date_time/special_defs.hpp"
-
-namespace boost { namespace date_time {
-
-
- //! Class that provides generic formmatting ostream formatting for special values
- /*! This class provides for the formmating of special values to an output stream.
- * In particular, it produces strings for the values of negative and positive
- * infinity as well as not_a_date_time.
- *
- * While not a facet, this class is used by the date and time facets for formatting
- * special value types.
- *
- */
- template <class CharT, class OutItrT = std::ostreambuf_iterator<CharT, std::char_traits<CharT> > >
- class special_values_formatter
- {
- public:
- typedef std::basic_string<CharT> string_type;
- typedef CharT char_type;
- typedef std::vector<string_type> collection_type;
- static const char_type default_special_value_names[3][17];
-
- //! Construct special values formatter using default strings.
- /*! Default strings are not-a-date-time -infinity +infinity
- */
- special_values_formatter()
- {
- std::copy(&default_special_value_names[0],
- &default_special_value_names[3],
- std::back_inserter(m_special_value_names));
- }
-
- //! Construct special values formatter from array of strings
- /*! This constructor will take pair of iterators from an array of strings
- * that represent the special values and copy them for use in formatting
- * special values.
- *@code
- * const char* const special_value_names[]={"nadt","-inf","+inf" };
- *
- * special_value_formatter svf(&special_value_names[0], &special_value_names[3]);
- *@endcode
- */
- special_values_formatter(const char_type* const* begin, const char_type* const* end)
- {
- std::copy(begin, end, std::back_inserter(m_special_value_names));
- }
- special_values_formatter(typename collection_type::iterator beg, typename collection_type::iterator end)
- {
- std::copy(beg, end, std::back_inserter(m_special_value_names));
- }
-
- OutItrT put_special(OutItrT next,
- const boost::date_time::special_values& value) const
- {
-
- unsigned int index = value;
- if (index < m_special_value_names.size()) {
- std::copy(m_special_value_names[index].begin(),
- m_special_value_names[index].end(),
- next);
- }
- return next;
- }
- protected:
- collection_type m_special_value_names;
- };
-
- //! Storage for the strings used to indicate special values
- /* using c_strings to initialize these worked fine in testing, however,
- * a project that compiled its objects separately, then linked in a separate
- * step wound up with redefinition errors for the values in this array.
- * Initializing individual characters eliminated this problem */
- template <class CharT, class OutItrT>
- const typename special_values_formatter<CharT, OutItrT>::char_type special_values_formatter<CharT, OutItrT>::default_special_value_names[3][17] = {
- {'n','o','t','-','a','-','d','a','t','e','-','t','i','m','e'},
- {'-','i','n','f','i','n','i','t','y'},
- {'+','i','n','f','i','n','i','t','y'} };
-
- } } //namespace boost::date_time
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/special_values_parser.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/special_values_parser.hpp
deleted file mode 100644
index 7b493c8945..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/special_values_parser.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-
-#ifndef DATE_TIME_SPECIAL_VALUES_PARSER_HPP__
-#define DATE_TIME_SPECIAL_VALUES_PARSER_HPP__
-
-/* Copyright (c) 2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date:
- */
-
-
-#include "boost/date_time/string_parse_tree.hpp"
-#include "boost/date_time/special_defs.hpp"
-#include <string>
-#include <vector>
-
-namespace boost { namespace date_time {
-
- //! Class for special_value parsing
- /*!
- * TODO: add doc-comments for which elements can be changed
- * Parses input stream for strings representing special_values.
- * Special values parsed are:
- * - not_a_date_time
- * - neg_infin
- * - pod_infin
- * - min_date_time
- * - max_date_time
- */
- template<class date_type, typename charT>
- class special_values_parser
- {
- public:
- typedef std::basic_string<charT> string_type;
- typedef std::basic_stringstream<charT> stringstream_type;
- typedef std::istreambuf_iterator<charT> stream_itr_type;
- typedef typename date_type::duration_type duration_type;
- typedef string_parse_tree<charT> parse_tree_type;
- typedef typename parse_tree_type::parse_match_result_type match_results;
- typedef std::vector<std::basic_string<charT> > collection_type;
-
- typedef charT char_type;
- static const char_type nadt_string[16];
- static const char_type neg_inf_string[10];
- static const char_type pos_inf_string[10];
- static const char_type min_date_time_string[18];
- static const char_type max_date_time_string[18];
-
- //! Creates a special_values_parser with the default set of "sv_strings"
- special_values_parser()
- {
- sv_strings(string_type(nadt_string),
- string_type(neg_inf_string),
- string_type(pos_inf_string),
- string_type(min_date_time_string),
- string_type(max_date_time_string));
- }
-
- //! Creates a special_values_parser using a user defined set of element strings
- special_values_parser(const string_type& nadt_str,
- const string_type& neg_inf_str,
- const string_type& pos_inf_str,
- const string_type& min_dt_str,
- const string_type& max_dt_str)
- {
- sv_strings(nadt_str, neg_inf_str, pos_inf_str, min_dt_str, max_dt_str);
- }
-
- special_values_parser(typename collection_type::iterator beg, typename collection_type::iterator end)
- {
- collection_type phrases;
- std::copy(beg, end, std::back_inserter(phrases));
- m_sv_strings = parse_tree_type(phrases, static_cast<int>(not_a_date_time));
- }
-
- //! Replace special value strings
- void sv_strings(const string_type& nadt_str,
- const string_type& neg_inf_str,
- const string_type& pos_inf_str,
- const string_type& min_dt_str,
- const string_type& max_dt_str)
- {
- collection_type phrases;
- phrases.push_back(nadt_str);
- phrases.push_back(neg_inf_str);
- phrases.push_back(pos_inf_str);
- phrases.push_back(min_dt_str);
- phrases.push_back(max_dt_str);
- m_sv_strings = parse_tree_type(phrases, static_cast<int>(not_a_date_time));
- }
-
- //! The parser is expensive to create, and not thread-safe so it cannot be static
- //! therefore given a string, determine if it is likely to be a special value.
- //! A negative response is a definite no, whereas a positive is only likely and
- //! match() should be called and return value checked.
- //! \param[in] str the string to check
- //! \returns false if it is definitely not a special value
- static bool should_call_match(const string_type& str)
- {
- if (!str.empty()) {
- switch (str[0]) {
- // See string definitions at the end of this class..
- case '+':
- case '-':
- case 'n':
- case 'm':
- return true;
-
- default:
- break;
- }
- }
-
- return false;
- }
-
- //! Given an input iterator, attempt to match it to a known special value
- //! \param[in] sitr the start iterator
- //! \param[in] str_end the end iterator
- //! \param[out] mr the match result:
- //! mr.current_match is set to the corresponding special_value or -1
- //! \returns whether something matched
- bool match(stream_itr_type& sitr,
- stream_itr_type& str_end,
- match_results& mr) const
- {
- unsigned int level = 0;
- m_sv_strings.match(sitr, str_end, mr, level);
- return (mr.current_match != match_results::PARSE_ERROR);
- }
-
- private:
- parse_tree_type m_sv_strings;
-
- };
-
- template<class date_type, class CharT>
- const typename special_values_parser<date_type, CharT>::char_type
- special_values_parser<date_type, CharT>::nadt_string[16] =
- {'n','o','t','-','a','-','d','a','t','e','-','t','i','m','e'};
- template<class date_type, class CharT>
- const typename special_values_parser<date_type, CharT>::char_type
- special_values_parser<date_type, CharT>::neg_inf_string[10] =
- {'-','i','n','f','i','n','i','t','y'};
- template<class date_type, class CharT>
- const typename special_values_parser<date_type, CharT>::char_type
- special_values_parser<date_type, CharT>::pos_inf_string[10] =
- {'+','i','n','f','i','n','i','t','y'};
- template<class date_type, class CharT>
- const typename special_values_parser<date_type, CharT>::char_type
- special_values_parser<date_type, CharT>::min_date_time_string[18] =
- {'m','i','n','i','m','u','m','-','d','a','t','e','-','t','i','m','e'};
- template<class date_type, class CharT>
- const typename special_values_parser<date_type, CharT>::char_type
- special_values_parser<date_type, CharT>::max_date_time_string[18] =
- {'m','a','x','i','m','u','m','-','d','a','t','e','-','t','i','m','e'};
-
-} } //namespace
-
-#endif // DATE_TIME_SPECIAL_VALUES_PARSER_HPP__
-
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/string_convert.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/string_convert.hpp
deleted file mode 100644
index 30be3567a5..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/string_convert.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _STRING_CONVERT_HPP___
-#define _STRING_CONVERT_HPP___
-
-/* Copyright (c) 2005 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/date_time/compiler_config.hpp"
-#include <string>
-
-namespace boost {
-namespace date_time {
-
- //! Converts a string from one value_type to another
- /*! Converts a wstring to a string (or a string to wstring). If both template parameters
- * are of same type, a copy of the input string is returned. */
- template<class InputT, class OutputT>
- inline
- std::basic_string<OutputT> convert_string_type(const std::basic_string<InputT>& inp_str)
- {
- typedef std::basic_string<OutputT> output_type;
- output_type result;
- result.insert(result.begin(), inp_str.begin(), inp_str.end());
- return result;
- }
-
-}} // namespace boost::date_time
-
-#endif // _STRING_CONVERT_HPP___
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/string_parse_tree.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/string_parse_tree.hpp
deleted file mode 100644
index ecac863127..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/string_parse_tree.hpp
+++ /dev/null
@@ -1,281 +0,0 @@
-#ifndef BOOST_DATE_TIME_STRING_PARSE_TREE___HPP__
-#define BOOST_DATE_TIME_STRING_PARSE_TREE___HPP__
-
-/* Copyright (c) 2004-2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-
-#include <boost/algorithm/string/case_conv.hpp>
-#include <cctype>
-#include <map>
-#include <string>
-#include <vector>
-#include <ostream>
-#include <iterator>
-#include <algorithm>
-
-namespace boost { namespace date_time {
-
-
-template<typename charT>
-struct parse_match_result
-{
- parse_match_result() :
- match_depth(0),
- current_match(PARSE_ERROR)
- {}
- typedef std::basic_string<charT> string_type;
- string_type remaining() const
- {
- if (match_depth == cache.size()) {
- return string_type();
- }
- if (current_match == PARSE_ERROR) {
- return cache;
- }
- //some of the cache was used return the rest
- return string_type(cache, match_depth);
- }
- charT last_char() const
- {
- return cache[cache.size()-1];
- }
- //! Returns true if more characters were parsed than was necessary
- /*! Should be used in conjunction with last_char()
- * to get the remaining character.
- */
- bool has_remaining() const
- {
- return (cache.size() > match_depth);
- }
-
- // cache will hold characters that have been read from the stream
- string_type cache;
- unsigned short match_depth;
- short current_match;
- enum PARSE_STATE { PARSE_ERROR = -1 };
-};
-
- //for debug -- really only char streams...
-template<typename charT>
-std::basic_ostream<charT>&
-operator<<(std::basic_ostream<charT>& os, parse_match_result<charT>& mr)
-{
- os << "cm: " << mr.current_match
- << " C: '" << mr.cache
- << "' md: " << mr.match_depth
- << " R: " << mr.remaining();
- return os;
-}
-
-
-
-//! Recursive data structure to allow efficient parsing of various strings
-/*! This class provides a quick lookup by building what amounts to a
- * tree data structure. It also features a match function which can
- * can handle nasty input interators by caching values as it recurses
- * the tree so that it can backtrack as needed.
- */
-template<typename charT>
-struct string_parse_tree
-{
-#if BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x581) )
- typedef std::multimap<charT, string_parse_tree< charT> > ptree_coll;
-#else
- typedef std::multimap<charT, string_parse_tree > ptree_coll;
-#endif
- typedef typename ptree_coll::value_type value_type;
- typedef typename ptree_coll::iterator iterator;
- typedef typename ptree_coll::const_iterator const_iterator;
- typedef std::basic_string<charT> string_type;
- typedef std::vector<std::basic_string<charT> > collection_type;
- typedef parse_match_result<charT> parse_match_result_type;
-
- /*! Parameter "starting_point" designates where the numbering begins.
- * A starting_point of zero will start the numbering at zero
- * (Sun=0, Mon=1, ...) were a starting_point of one starts the
- * numbering at one (Jan=1, Feb=2, ...). The default is zero,
- * negative vaules are not allowed */
- string_parse_tree(collection_type names, unsigned int starting_point=0) :
- m_value(parse_match_result_type::PARSE_ERROR)
- {
- // iterate thru all the elements and build the tree
- unsigned short index = 0;
- while (index != names.size() ) {
- string_type s = boost::algorithm::to_lower_copy(names[index]);
- insert(s, static_cast<unsigned short>(index + starting_point));
- index++;
- }
- //set the last tree node = index+1 indicating a value
- index++;
- }
-
-
- string_parse_tree(short value = parse_match_result_type::PARSE_ERROR) :
- m_value(value)
- {}
- ptree_coll m_next_chars;
- short m_value;
-
- void insert(const string_type& s, unsigned short value)
- {
- unsigned int i = 0;
- iterator ti;
- while(i < s.size()) {
- if (i==0) {
- if (i == (s.size()-1)) {
- ti = m_next_chars.insert(value_type(s[i],
- string_parse_tree<charT>(value)));
- }
- else {
- ti = m_next_chars.insert(value_type(s[i],
- string_parse_tree<charT>()));
- }
- }
- else {
- if (i == (s.size()-1)) {
- ti = ti->second.m_next_chars.insert(value_type(s[i],
- string_parse_tree<charT>(value)));
- }
-
- else {
- ti = ti->second.m_next_chars.insert(value_type(s[i],
- string_parse_tree<charT>()));
- }
-
- }
- i++;
- }
- }
-
-
- //! Recursive function that finds a matching string in the tree.
- /*! Must check match_results::has_remaining() after match() is
- * called. This is required so the user can determine if
- * stream iterator is already pointing to the expected
- * character or not (match() might advance sitr to next char in stream).
- *
- * A parse_match_result that has been returned from a failed match
- * attempt can be sent in to the match function of a different
- * string_parse_tree to attempt a match there. Use the iterators
- * for the partially consumed stream, the parse_match_result object,
- * and '0' for the level parameter. */
- short
- match(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end,
- parse_match_result_type& result,
- unsigned int& level) const
- {
-
- level++;
- charT c;
- // if we conditionally advance sitr, we won't have
- // to consume the next character past the input
- bool adv_itr = true;
- if (level > result.cache.size()) {
- if (sitr == stream_end) return 0; //bail - input exhausted
- c = static_cast<charT>(std::tolower(*sitr));
- //result.cache += c;
- //sitr++;
- }
- else {
- // if we're looking for characters from the cache,
- // we don't want to increment sitr
- adv_itr = false;
- c = static_cast<charT>(std::tolower(result.cache[level-1]));
- }
- const_iterator litr = m_next_chars.lower_bound(c);
- const_iterator uitr = m_next_chars.upper_bound(c);
- while (litr != uitr) { // equal if not found
- if(adv_itr) {
- sitr++;
- result.cache += c;
- }
- if (litr->second.m_value != -1) { // -1 is default value
- if (result.match_depth < level) {
- result.current_match = litr->second.m_value;
- result.match_depth = static_cast<unsigned short>(level);
- }
- litr->second.match(sitr, stream_end,
- result, level);
- level--;
- }
- else {
- litr->second.match(sitr, stream_end,
- result, level);
- level--;
- }
-
- if(level <= result.cache.size()) {
- adv_itr = false;
- }
-
- litr++;
- }
- return result.current_match;
-
- }
-
- /*! Must check match_results::has_remaining() after match() is
- * called. This is required so the user can determine if
- * stream iterator is already pointing to the expected
- * character or not (match() might advance sitr to next char in stream).
- */
- parse_match_result_type
- match(std::istreambuf_iterator<charT>& sitr,
- std::istreambuf_iterator<charT>& stream_end) const
- {
- // lookup to_lower of char in tree.
- unsigned int level = 0;
- // string_type cache;
- parse_match_result_type result;
- match(sitr, stream_end, result, level);
- return result;
- }
-
- void printme(std::ostream& os, int& level)
- {
- level++;
- iterator itr = m_next_chars.begin();
- iterator end = m_next_chars.end();
- // os << "starting level: " << level << std::endl;
- while (itr != end) {
- os << "level: " << level
- << " node: " << itr->first
- << " value: " << itr->second.m_value
- << std::endl;
- itr->second.printme(os, level);
- itr++;
- }
- level--;
- }
-
- void print(std::ostream& os)
- {
- int level = 0;
- printme(os, level);
- }
-
- void printmatch(std::ostream& os, charT c)
- {
- iterator litr = m_next_chars.lower_bound(c);
- iterator uitr = m_next_chars.upper_bound(c);
- os << "matches for: " << c << std::endl;
- while (litr != uitr) {
- os << " node: " << litr->first
- << " value: " << litr->second.m_value
- << std::endl;
- litr++;
- }
- }
-
-};
-
-
-} } //namespace
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/strings_from_facet.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/strings_from_facet.hpp
deleted file mode 100644
index cecd32faae..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/strings_from_facet.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-#ifndef DATE_TIME_STRINGS_FROM_FACET__HPP___
-#define DATE_TIME_STRINGS_FROM_FACET__HPP___
-
-/* Copyright (c) 2004 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland
- * $Date$
- */
-
-#include <cstring>
-#include <sstream>
-#include <string>
-#include <vector>
-#include <locale>
-#include <iterator>
-
-namespace boost { namespace date_time {
-
-//! This function gathers up all the month strings from a std::locale
-/*! Using the time_put facet, this function creates a collection of
- * all the month strings from a locale. This is handy when building
- * custom date parsers or formatters that need to be localized.
- *
- *@param charT The type of char to use when gathering typically char
- * or wchar_t.
- *@param locale The locale to use when gathering the strings
- *@param short_strings True(default) to gather short strings,
- * false for long strings.
- *@return A vector of strings containing the strings in order. eg:
- * Jan, Feb, Mar, etc.
- */
-template<typename charT>
-std::vector<std::basic_string<charT> >
-gather_month_strings(const std::locale& locale, bool short_strings=true)
-{
- typedef std::basic_string<charT> string_type;
- typedef std::vector<string_type> collection_type;
- typedef std::ostreambuf_iterator<charT> ostream_iter_type;
- typedef std::basic_ostringstream<charT> stringstream_type;
- typedef std::time_put<charT> time_put_facet_type;
- charT short_fmt[3] = { '%', 'b' };
- charT long_fmt[3] = { '%', 'B' };
- collection_type months;
- string_type outfmt(short_fmt);
- if (!short_strings) {
- outfmt = long_fmt;
- }
- {
- //grab the needed strings by using the locale to
- //output each month
- const charT* p_outfmt = outfmt.c_str(), *p_outfmt_end = p_outfmt + outfmt.size();
- tm tm_value;
- std::memset(&tm_value, 0, sizeof(tm_value));
- for (int m=0; m < 12; m++) {
- tm_value.tm_mon = m;
- stringstream_type ss;
- ostream_iter_type oitr(ss);
- std::use_facet<time_put_facet_type>(locale).put(oitr, ss, ss.fill(),
- &tm_value,
- p_outfmt,
- p_outfmt_end);
- months.push_back(ss.str());
- }
- }
- return months;
-}
-
-//! This function gathers up all the weekday strings from a std::locale
-/*! Using the time_put facet, this function creates a collection of
- * all the weekday strings from a locale starting with the string for
- * 'Sunday'. This is handy when building custom date parsers or
- * formatters that need to be localized.
- *
- *@param charT The type of char to use when gathering typically char
- * or wchar_t.
- *@param locale The locale to use when gathering the strings
- *@param short_strings True(default) to gather short strings,
- * false for long strings.
- *@return A vector of strings containing the weekdays in order. eg:
- * Sun, Mon, Tue, Wed, Thu, Fri, Sat
- */
-template<typename charT>
-std::vector<std::basic_string<charT> >
-gather_weekday_strings(const std::locale& locale, bool short_strings=true)
-{
- typedef std::basic_string<charT> string_type;
- typedef std::vector<string_type> collection_type;
- typedef std::ostreambuf_iterator<charT> ostream_iter_type;
- typedef std::basic_ostringstream<charT> stringstream_type;
- typedef std::time_put<charT> time_put_facet_type;
- charT short_fmt[3] = { '%', 'a' };
- charT long_fmt[3] = { '%', 'A' };
-
- collection_type weekdays;
-
-
- string_type outfmt(short_fmt);
- if (!short_strings) {
- outfmt = long_fmt;
- }
- {
- //grab the needed strings by using the locale to
- //output each month / weekday
- const charT* p_outfmt = outfmt.c_str(), *p_outfmt_end = p_outfmt + outfmt.size();
- tm tm_value;
- std::memset(&tm_value, 0, sizeof(tm_value));
- for (int i=0; i < 7; i++) {
- tm_value.tm_wday = i;
- stringstream_type ss;
- ostream_iter_type oitr(ss);
- std::use_facet<time_put_facet_type>(locale).put(oitr, ss, ss.fill(),
- &tm_value,
- p_outfmt,
- p_outfmt_end);
-
- weekdays.push_back(ss.str());
- }
- }
- return weekdays;
-}
-
-} } //namespace
-
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/time_facet.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_facet.hpp
deleted file mode 100644
index eaa365913a..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/time_facet.hpp
+++ /dev/null
@@ -1,1370 +0,0 @@
-
-#ifndef _DATE_TIME_FACET__HPP__
-#define _DATE_TIME_FACET__HPP__
-
-/* Copyright (c) 2004-2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Martin Andrian, Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <cctype>
-#include <exception>
-#include <iomanip>
-#include <iterator> // i/ostreambuf_iterator
-#include <locale>
-#include <limits>
-#include <sstream>
-#include <string>
-#include <boost/assert.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/range/as_literal.hpp>
-#include <boost/algorithm/string/erase.hpp>
-#include <boost/algorithm/string/replace.hpp>
-#include <boost/date_time/compiler_config.hpp>
-#include <boost/date_time/date_facet.hpp>
-#include <boost/date_time/string_convert.hpp>
-#include <boost/date_time/special_defs.hpp>
-#include <boost/date_time/time_resolution_traits.hpp> // absolute_value
-
-namespace boost {
-namespace date_time {
-
- template <class CharT>
- struct time_formats {
- public:
- typedef CharT char_type;
- static const char_type fractional_seconds_format[3]; // f
- static const char_type fractional_seconds_or_none_format[3]; // F
- static const char_type seconds_with_fractional_seconds_format[3]; // s
- static const char_type seconds_format[3]; // S
- static const char_type hours_format[3]; // H
- static const char_type unrestricted_hours_format[3]; // O
- static const char_type full_24_hour_time_format[3]; // T
- static const char_type full_24_hour_time_expanded_format[9]; // HH:MM:SS
- static const char_type short_24_hour_time_format[3]; // R
- static const char_type short_24_hour_time_expanded_format[6]; // HH:MM
- static const char_type standard_format[9]; // x X
- static const char_type zone_abbrev_format[3]; // z
- static const char_type zone_name_format[3]; // Z
- static const char_type zone_iso_format[3]; // q
- static const char_type zone_iso_extended_format[3]; // Q
- static const char_type posix_zone_string_format[4]; // ZP
- static const char_type duration_sign_negative_only[3]; // -
- static const char_type duration_sign_always[3]; // +
- static const char_type duration_seperator[2];
- static const char_type negative_sign[2]; //-
- static const char_type positive_sign[2]; //+
- static const char_type iso_time_format_specifier[18];
- static const char_type iso_time_format_extended_specifier[22];
- //default ptime format is YYYY-Mon-DD HH:MM:SS[.fff...][ zzz]
- static const char_type default_time_format[23];
- // default_time_input_format uses a posix_time_zone_string instead of a time zone abbrev
- static const char_type default_time_input_format[24];
- //default time_duration format is HH:MM:SS[.fff...]
- static const char_type default_time_duration_format[11];
- };
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::fractional_seconds_format[3] = {'%','f'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::fractional_seconds_or_none_format[3] = {'%','F'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::seconds_with_fractional_seconds_format[3] = {'%','s'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::seconds_format[3] = {'%','S'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::hours_format[3] = {'%','H'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::unrestricted_hours_format[3] = {'%','O'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::full_24_hour_time_format[3] = {'%','T'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::full_24_hour_time_expanded_format[9] =
- {'%','H',':','%','M',':','%','S'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::short_24_hour_time_format[3] = {'%','R'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::short_24_hour_time_expanded_format[6] =
- {'%','H',':','%','M'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- //time_formats<CharT>::standard_format[5] = {'%','c',' ','%','z'};
- time_formats<CharT>::standard_format[9] = {'%','x',' ','%','X',' ','%','z'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::zone_abbrev_format[3] = {'%','z'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::zone_name_format[3] = {'%','Z'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::zone_iso_format[3] = {'%','q'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::zone_iso_extended_format[3] ={'%','Q'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::posix_zone_string_format[4] ={'%','Z','P'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::duration_seperator[2] = {':'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::negative_sign[2] = {'-'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::positive_sign[2] = {'+'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::duration_sign_negative_only[3] ={'%','-'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::duration_sign_always[3] ={'%','+'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::iso_time_format_specifier[18] =
- {'%', 'Y', '%', 'm', '%', 'd', 'T',
- '%', 'H', '%', 'M', '%', 'S', '%', 'F', '%','q' };
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::iso_time_format_extended_specifier[22] =
- {'%', 'Y', '-', '%', 'm', '-', '%', 'd', ' ',
- '%', 'H', ':', '%', 'M', ':', '%', 'S', '%', 'F','%','Q'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::default_time_format[23] =
- {'%','Y','-','%','b','-','%','d',' ',
- '%','H',':','%','M',':','%','S','%','F',' ','%','z'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::default_time_input_format[24] =
- {'%','Y','-','%','b','-','%','d',' ',
- '%','H',':','%','M',':','%','S','%','F',' ','%','Z','P'};
-
- template <class CharT>
- const typename time_formats<CharT>::char_type
- time_formats<CharT>::default_time_duration_format[11] =
- {'%','O',':','%','M',':','%','S','%','F'};
-
-
-
- /*! Facet used for format-based output of time types
- * This class provides for the use of format strings to output times. In addition
- * to the flags for formatting date elements, the following are the allowed format flags:
- * - %x %X => default format - enables addition of more flags to default (ie. "%x %X %z")
- * - %f => fractional seconds ".123456"
- * - %F => fractional seconds or none: like frac sec but empty if frac sec == 0
- * - %s => seconds w/ fractional sec "02.123" (this is the same as "%S%f)
- * - %S => seconds "02"
- * - %z => abbreviated time zone "EDT"
- * - %Z => full time zone name "Eastern Daylight Time"
- */
- template <class time_type,
- class CharT,
- class OutItrT = std::ostreambuf_iterator<CharT, std::char_traits<CharT> > >
- class BOOST_SYMBOL_VISIBLE time_facet :
- public boost::date_time::date_facet<typename time_type::date_type , CharT, OutItrT> {
- typedef time_formats< CharT > formats_type;
- public:
- typedef typename time_type::date_type date_type;
- typedef typename time_type::time_duration_type time_duration_type;
- typedef boost::date_time::period<time_type,time_duration_type> period_type;
- typedef boost::date_time::date_facet<typename time_type::date_type, CharT, OutItrT> base_type;
- typedef typename base_type::string_type string_type;
- typedef typename base_type::char_type char_type;
- typedef typename base_type::period_formatter_type period_formatter_type;
- typedef typename base_type::special_values_formatter_type special_values_formatter_type;
- typedef typename base_type::date_gen_formatter_type date_gen_formatter_type;
- static const char_type* fractional_seconds_format; // %f
- static const char_type* fractional_seconds_or_none_format; // %F
- static const char_type* seconds_with_fractional_seconds_format; // %s
- static const char_type* seconds_format; // %S
- static const char_type* hours_format; // %H
- static const char_type* unrestricted_hours_format; // %O
- static const char_type* standard_format; // %x X
- static const char_type* zone_abbrev_format; // %z
- static const char_type* zone_name_format; // %Z
- static const char_type* zone_iso_format; // %q
- static const char_type* zone_iso_extended_format; // %Q
- static const char_type* posix_zone_string_format; // %ZP
- static const char_type* duration_seperator;
- static const char_type* duration_sign_always; // %+
- static const char_type* duration_sign_negative_only; // %-
- static const char_type* negative_sign; //-
- static const char_type* positive_sign; //+
- static const char_type* iso_time_format_specifier;
- static const char_type* iso_time_format_extended_specifier;
-
- //default ptime format is YYYY-Mon-DD HH:MM:SS[.fff...][ zzz]
- static const char_type* default_time_format;
- //default time_duration format is HH:MM:SS[.fff...]
- static const char_type* default_time_duration_format;
- static std::locale::id id;
-
-#if defined (__SUNPRO_CC) && defined (_RWSTD_VER)
- std::locale::id& __get_id (void) const { return id; }
-#endif
-
- //! sets default formats for ptime, local_date_time, and time_duration
- explicit time_facet(::size_t ref_arg = 0)
- : base_type(default_time_format, period_formatter_type(), special_values_formatter_type(), date_gen_formatter_type(), ref_arg),
- m_time_duration_format(string_type(duration_sign_negative_only) + default_time_duration_format)
- {}
-
- //! Construct the facet with an explicitly specified format
- explicit time_facet(const char_type* format_arg,
- period_formatter_type period_formatter_arg = period_formatter_type(),
- const special_values_formatter_type& special_value_formatter = special_values_formatter_type(),
- date_gen_formatter_type dg_formatter = date_gen_formatter_type(),
- ::size_t ref_arg = 0)
- : base_type(format_arg,
- period_formatter_arg,
- special_value_formatter,
- dg_formatter,
- ref_arg),
- m_time_duration_format(string_type(duration_sign_negative_only) + default_time_duration_format)
- {}
-
- //! Changes format for time_duration
- void time_duration_format(const char_type* const format)
- {
- m_time_duration_format = format;
- }
-
- void set_iso_format() BOOST_OVERRIDE
- {
- this->m_format = iso_time_format_specifier;
- }
- void set_iso_extended_format() BOOST_OVERRIDE
- {
- this->m_format = iso_time_format_extended_specifier;
- }
-
- OutItrT put(OutItrT next_arg,
- std::ios_base& ios_arg,
- char_type fill_arg,
- const time_type& time_arg) const
- {
- if (time_arg.is_special()) {
- return this->do_put_special(next_arg, ios_arg, fill_arg,
- time_arg.date().as_special());
- }
- string_type local_format(this->m_format);
-
- // %T and %R have to be replaced here since they are not standard
- boost::algorithm::replace_all(local_format,
- boost::as_literal(formats_type::full_24_hour_time_format),
- boost::as_literal(formats_type::full_24_hour_time_expanded_format));
- boost::algorithm::replace_all(local_format,
- boost::as_literal(formats_type::short_24_hour_time_format),
- boost::as_literal(formats_type::short_24_hour_time_expanded_format));
-
- string_type frac_str;
- if (local_format.find(seconds_with_fractional_seconds_format) != string_type::npos) {
- // replace %s with %S.nnn
- frac_str =
- fractional_seconds_as_string(time_arg.time_of_day(), false);
- char_type sep = std::use_facet<std::numpunct<char_type> >(ios_arg.getloc()).decimal_point();
-
- string_type replace_string(seconds_format);
- replace_string += sep;
- replace_string += frac_str;
- boost::algorithm::replace_all(local_format,
- seconds_with_fractional_seconds_format,
- replace_string);
- }
- /* NOTE: replacing posix_zone_string_format must be done BEFORE
- * zone_name_format: "%ZP" & "%Z", if Z is checked first it will
- * incorrectly replace a zone_name where a posix_string should go */
- if (local_format.find(posix_zone_string_format) != string_type::npos) {
- if(time_arg.zone_abbrev().empty()) {
- // if zone_abbrev() returns an empty string, we want to
- // erase posix_zone_string_format from format
- boost::algorithm::erase_all(local_format, posix_zone_string_format);
- }
- else{
- boost::algorithm::replace_all(local_format,
- posix_zone_string_format,
- time_arg.zone_as_posix_string());
- }
- }
- if (local_format.find(zone_name_format) != string_type::npos) {
- if(time_arg.zone_name().empty()) {
- /* TODO: this'll probably create problems if a user places
- * the zone_*_format flag in the format with a ptime. This
- * code removes the flag from the default formats */
-
- // if zone_name() returns an empty string, we want to
- // erase zone_name_format & one preceeding space
- std::basic_ostringstream<char_type> ss;
- ss << ' ' << zone_name_format;
- boost::algorithm::erase_all(local_format, ss.str());
- }
- else{
- boost::algorithm::replace_all(local_format,
- zone_name_format,
- time_arg.zone_name());
- }
- }
- if (local_format.find(zone_abbrev_format) != string_type::npos) {
- if(time_arg.zone_abbrev(false).empty()) {
- /* TODO: this'll probably create problems if a user places
- * the zone_*_format flag in the format with a ptime. This
- * code removes the flag from the default formats */
-
- // if zone_abbrev() returns an empty string, we want to
- // erase zone_abbrev_format & one preceeding space
- std::basic_ostringstream<char_type> ss;
- ss << ' ' << zone_abbrev_format;
- boost::algorithm::erase_all(local_format, ss.str());
- }
- else{
- boost::algorithm::replace_all(local_format,
- zone_abbrev_format,
- time_arg.zone_abbrev(false));
- }
- }
- if (local_format.find(zone_iso_extended_format) != string_type::npos) {
- if(time_arg.zone_name(true).empty()) {
- /* TODO: this'll probably create problems if a user places
- * the zone_*_format flag in the format with a ptime. This
- * code removes the flag from the default formats */
-
- // if zone_name() returns an empty string, we want to
- // erase zone_iso_extended_format from format
- boost::algorithm::erase_all(local_format, zone_iso_extended_format);
- }
- else{
- boost::algorithm::replace_all(local_format,
- zone_iso_extended_format,
- time_arg.zone_name(true));
- }
- }
-
- if (local_format.find(zone_iso_format) != string_type::npos) {
- if(time_arg.zone_abbrev(true).empty()) {
- /* TODO: this'll probably create problems if a user places
- * the zone_*_format flag in the format with a ptime. This
- * code removes the flag from the default formats */
-
- // if zone_abbrev() returns an empty string, we want to
- // erase zone_iso_format from format
- boost::algorithm::erase_all(local_format, zone_iso_format);
- }
- else{
- boost::algorithm::replace_all(local_format,
- zone_iso_format,
- time_arg.zone_abbrev(true));
- }
- }
- if (local_format.find(fractional_seconds_format) != string_type::npos) {
- // replace %f with nnnnnnn
- if (frac_str.empty()) {
- frac_str = fractional_seconds_as_string(time_arg.time_of_day(), false);
- }
- boost::algorithm::replace_all(local_format,
- fractional_seconds_format,
- frac_str);
- }
-
- if (local_format.find(fractional_seconds_or_none_format) != string_type::npos) {
- // replace %F with nnnnnnn or nothing if fs == 0
- frac_str =
- fractional_seconds_as_string(time_arg.time_of_day(), true);
- if (!frac_str.empty()) {
- char_type sep = std::use_facet<std::numpunct<char_type> >(ios_arg.getloc()).decimal_point();
- string_type replace_string;
- replace_string += sep;
- replace_string += frac_str;
- boost::algorithm::replace_all(local_format,
- fractional_seconds_or_none_format,
- replace_string);
- }
- else {
- boost::algorithm::erase_all(local_format,
- fractional_seconds_or_none_format);
- }
- }
-
- return this->do_put_tm(next_arg, ios_arg, fill_arg,
- to_tm(time_arg), local_format);
- }
-
- //! put function for time_duration
- OutItrT put(OutItrT next_arg,
- std::ios_base& ios_arg,
- char_type fill_arg,
- const time_duration_type& time_dur_arg) const
- {
- if (time_dur_arg.is_special()) {
- return this->do_put_special(next_arg, ios_arg, fill_arg,
- time_dur_arg.get_rep().as_special());
- }
-
- string_type format(m_time_duration_format);
- if (time_dur_arg.is_negative()) {
- // replace %- with minus sign. Should we use the numpunct facet?
- boost::algorithm::replace_all(format,
- duration_sign_negative_only,
- negative_sign);
- // remove all the %+ in the string with '-'
- boost::algorithm::replace_all(format,
- duration_sign_always,
- negative_sign);
- }
- else { //duration is positive
- // remove all the %- combos from the string
- boost::algorithm::erase_all(format, duration_sign_negative_only);
- // remove all the %+ in the string with '+'
- boost::algorithm::replace_all(format,
- duration_sign_always,
- positive_sign);
- }
-
- // %T and %R have to be replaced here since they are not standard
- boost::algorithm::replace_all(format,
- boost::as_literal(formats_type::full_24_hour_time_format),
- boost::as_literal(formats_type::full_24_hour_time_expanded_format));
- boost::algorithm::replace_all(format,
- boost::as_literal(formats_type::short_24_hour_time_format),
- boost::as_literal(formats_type::short_24_hour_time_expanded_format));
-
- /*
- * It is possible for a time duration to span more then 24 hours.
- * Standard time_put::put is obliged to behave the same as strftime
- * (See ISO 14882-2003 22.2.5.3.1 par. 1) and strftime's behavior is
- * unspecified for the case when tm_hour field is outside 0-23 range
- * (See ISO 9899-1999 7.23.3.5 par. 3). So we must output %H and %O
- * here ourself.
- */
- string_type hours_str;
- if (format.find(unrestricted_hours_format) != string_type::npos) {
- hours_str = hours_as_string(time_dur_arg);
- boost::algorithm::replace_all(format, unrestricted_hours_format, hours_str);
- }
- // We still have to process restricted hours format specifier. In order to
- // support parseability of durations in ISO format (%H%M%S), we'll have to
- // restrict the stringified hours length to 2 characters.
- if (format.find(hours_format) != string_type::npos) {
- if (hours_str.empty())
- hours_str = hours_as_string(time_dur_arg);
- BOOST_ASSERT(hours_str.length() <= 2);
- boost::algorithm::replace_all(format, hours_format, hours_str);
- }
-
- string_type frac_str;
- if (format.find(seconds_with_fractional_seconds_format) != string_type::npos) {
- // replace %s with %S.nnn
- frac_str =
- fractional_seconds_as_string(time_dur_arg, false);
- char_type sep = std::use_facet<std::numpunct<char_type> >(ios_arg.getloc()).decimal_point();
-
- string_type replace_string(seconds_format);
- replace_string += sep;
- replace_string += frac_str;
- boost::algorithm::replace_all(format,
- seconds_with_fractional_seconds_format,
- replace_string);
- }
- if (format.find(fractional_seconds_format) != string_type::npos) {
- // replace %f with nnnnnnn
- if (!frac_str.size()) {
- frac_str = fractional_seconds_as_string(time_dur_arg, false);
- }
- boost::algorithm::replace_all(format,
- fractional_seconds_format,
- frac_str);
- }
-
- if (format.find(fractional_seconds_or_none_format) != string_type::npos) {
- // replace %F with nnnnnnn or nothing if fs == 0
- frac_str =
- fractional_seconds_as_string(time_dur_arg, true);
- if (frac_str.size()) {
- char_type sep = std::use_facet<std::numpunct<char_type> >(ios_arg.getloc()).decimal_point();
- string_type replace_string;
- replace_string += sep;
- replace_string += frac_str;
- boost::algorithm::replace_all(format,
- fractional_seconds_or_none_format,
- replace_string);
- }
- else {
- boost::algorithm::erase_all(format,
- fractional_seconds_or_none_format);
- }
- }
-
- return this->do_put_tm(next_arg, ios_arg, fill_arg,
- to_tm(time_dur_arg), format);
- }
-
- OutItrT put(OutItrT next, std::ios_base& ios_arg,
- char_type fill, const period_type& p) const
- {
- return this->m_period_formatter.put_period(next, ios_arg, fill,p,*this);
- }
-
-
- protected:
-
- static
- string_type
- fractional_seconds_as_string(const time_duration_type& time_arg,
- bool null_when_zero)
- {
- typename time_duration_type::fractional_seconds_type frac_sec =
- time_arg.fractional_seconds();
-
- if (null_when_zero && (frac_sec == 0)) {
- return string_type();
- }
-
- //make sure there is no sign
- return integral_as_string(
- date_time::absolute_value(frac_sec),
- time_duration_type::num_fractional_digits());
- }
-
- static
- string_type
- hours_as_string(const time_duration_type& time_arg, int width = 2)
- {
- return integral_as_string(date_time::absolute_value(time_arg.hours()), width);
- }
-
- template< typename IntT >
- static
- string_type
- integral_as_string(IntT val, int width = 2)
- {
- std::basic_ostringstream<char_type> ss;
- ss.imbue(std::locale::classic()); // don't want any formatting
- ss << std::setw(width)
- << std::setfill(static_cast<char_type>('0'));
-#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
- // JDG [7/6/02 VC++ compatibility]
- char_type buff[34];
- ss << _i64toa(static_cast<boost::int64_t>(val), buff, 10);
-#else
- ss << val;
-#endif
- return ss.str();
- }
-
- private:
- string_type m_time_duration_format;
-
- };
-
- template <class time_type, class CharT, class OutItrT>
- std::locale::id time_facet<time_type, CharT, OutItrT>::id;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::fractional_seconds_format = time_formats<CharT>::fractional_seconds_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::fractional_seconds_or_none_format = time_formats<CharT>::fractional_seconds_or_none_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::seconds_with_fractional_seconds_format =
- time_formats<CharT>::seconds_with_fractional_seconds_format;
-
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::zone_name_format = time_formats<CharT>::zone_name_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::zone_abbrev_format = time_formats<CharT>::zone_abbrev_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::zone_iso_extended_format =time_formats<CharT>::zone_iso_extended_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::posix_zone_string_format =time_formats<CharT>::posix_zone_string_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::zone_iso_format = time_formats<CharT>::zone_iso_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::seconds_format = time_formats<CharT>::seconds_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::hours_format = time_formats<CharT>::hours_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::unrestricted_hours_format = time_formats<CharT>::unrestricted_hours_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::standard_format = time_formats<CharT>::standard_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::duration_seperator = time_formats<CharT>::duration_seperator;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::negative_sign = time_formats<CharT>::negative_sign;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::positive_sign = time_formats<CharT>::positive_sign;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::duration_sign_negative_only = time_formats<CharT>::duration_sign_negative_only;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::duration_sign_always = time_formats<CharT>::duration_sign_always;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type,CharT, OutItrT>::char_type*
- time_facet<time_type,CharT, OutItrT>::iso_time_format_specifier = time_formats<CharT>::iso_time_format_specifier;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::iso_time_format_extended_specifier = time_formats<CharT>::iso_time_format_extended_specifier;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::default_time_format =
- time_formats<CharT>::default_time_format;
-
- template <class time_type, class CharT, class OutItrT>
- const typename time_facet<time_type, CharT, OutItrT>::char_type*
- time_facet<time_type, CharT, OutItrT>::default_time_duration_format =
- time_formats<CharT>::default_time_duration_format;
-
-
- //! Facet for format-based input.
- /*!
- */
- template <class time_type,
- class CharT,
- class InItrT = std::istreambuf_iterator<CharT, std::char_traits<CharT> > >
- class BOOST_SYMBOL_VISIBLE time_input_facet :
- public boost::date_time::date_input_facet<typename time_type::date_type , CharT, InItrT> {
- public:
- typedef typename time_type::date_type date_type;
- typedef typename time_type::time_duration_type time_duration_type;
- typedef typename time_duration_type::fractional_seconds_type fracional_seconds_type;
- typedef boost::date_time::period<time_type,time_duration_type> period_type;
- typedef boost::date_time::date_input_facet<typename time_type::date_type, CharT, InItrT> base_type;
- typedef typename base_type::duration_type date_duration_type;
- typedef typename base_type::year_type year_type;
- typedef typename base_type::month_type month_type;
- typedef typename base_type::day_type day_type;
- typedef typename base_type::string_type string_type;
- typedef typename string_type::const_iterator const_itr;
- typedef typename base_type::char_type char_type;
- typedef typename base_type::format_date_parser_type format_date_parser_type;
- typedef typename base_type::period_parser_type period_parser_type;
- typedef typename base_type::special_values_parser_type special_values_parser_type;
- typedef typename base_type::date_gen_parser_type date_gen_parser_type;
- typedef typename base_type::special_values_parser_type::match_results match_results;
-
- static const char_type* fractional_seconds_format; // f
- static const char_type* fractional_seconds_or_none_format; // F
- static const char_type* seconds_with_fractional_seconds_format; // s
- static const char_type* seconds_format; // S
- static const char_type* standard_format; // x X
- static const char_type* zone_abbrev_format; // z
- static const char_type* zone_name_format; // Z
- static const char_type* zone_iso_format; // q
- static const char_type* zone_iso_extended_format; // Q
- static const char_type* duration_seperator;
- static const char_type* iso_time_format_specifier;
- static const char_type* iso_time_format_extended_specifier;
- static const char_type* default_time_input_format;
- static const char_type* default_time_duration_format;
- static std::locale::id id;
-
- //! Constructor that takes a format string for a ptime
- explicit time_input_facet(const string_type& format, ::size_t ref_arg = 0)
- : base_type(format, ref_arg),
- m_time_duration_format(default_time_duration_format)
- { }
-
- explicit time_input_facet(const string_type& format,
- const format_date_parser_type& date_parser,
- const special_values_parser_type& sv_parser,
- const period_parser_type& per_parser,
- const date_gen_parser_type& date_gen_parser,
- ::size_t ref_arg = 0)
- : base_type(format,
- date_parser,
- sv_parser,
- per_parser,
- date_gen_parser,
- ref_arg),
- m_time_duration_format(default_time_duration_format)
- {}
-
- //! sets default formats for ptime, local_date_time, and time_duration
- explicit time_input_facet(::size_t ref_arg = 0)
- : base_type(default_time_input_format, ref_arg),
- m_time_duration_format(default_time_duration_format)
- { }
-
- //! Set the format for time_duration
- void time_duration_format(const char_type* const format) {
- m_time_duration_format = format;
- }
- virtual void set_iso_format()
- {
- this->m_format = iso_time_format_specifier;
- }
- virtual void set_iso_extended_format()
- {
- this->m_format = iso_time_format_extended_specifier;
- }
-
- InItrT get(InItrT& sitr,
- InItrT& stream_end,
- std::ios_base& ios_arg,
- period_type& p) const
- {
- p = this->m_period_parser.get_period(sitr,
- stream_end,
- ios_arg,
- p,
- time_duration_type::unit(),
- *this);
- return sitr;
- }
-
- //default ptime format is YYYY-Mon-DD HH:MM:SS[.fff...][ zzz]
- //default time_duration format is %H:%M:%S%F HH:MM:SS[.fff...]
-
- InItrT get(InItrT& sitr,
- InItrT& stream_end,
- std::ios_base& ios_arg,
- time_duration_type& td) const
- {
- // skip leading whitespace
- while((sitr != stream_end) && std::isspace(*sitr)) { ++sitr; }
-
- bool use_current_char = false;
-
- // num_get will consume the +/-, we may need a copy if special_value
- char_type c = '\0';
- if((sitr != stream_end) && (*sitr == '-' || *sitr == '+')) {
- c = *sitr;
- }
-
- typedef typename time_duration_type::hour_type hour_type;
- typedef typename time_duration_type::min_type min_type;
- typedef typename time_duration_type::sec_type sec_type;
-
- hour_type hour = 0;
- min_type min = 0;
- sec_type sec = 0;
- typename time_duration_type::fractional_seconds_type frac(0);
-
- typedef std::num_get<CharT, InItrT> num_get;
- if(!std::has_facet<num_get>(ios_arg.getloc())) {
- num_get* ng = new num_get();
- std::locale loc = std::locale(ios_arg.getloc(), ng);
- ios_arg.imbue(loc);
- }
-
- const_itr itr(m_time_duration_format.begin());
- while (itr != m_time_duration_format.end() && (sitr != stream_end)) {
- if (*itr == '%') {
- if (++itr == m_time_duration_format.end()) break;
- if (*itr != '%') {
- switch(*itr) {
- case 'O':
- {
- // A period may span more than 24 hours. In that case the format
- // string should be composed with the unrestricted hours specifier.
- hour = var_string_to_int<hour_type, CharT>(sitr, stream_end,
- std::numeric_limits<hour_type>::digits10 + 1);
- if(hour == -1){
- return check_special_value(sitr, stream_end, td, c);
- }
- break;
- }
- case 'H':
- {
- match_results mr;
- hour = fixed_string_to_int<hour_type, CharT>(sitr, stream_end, mr, 2);
- if(hour == -1){
- return check_special_value(sitr, stream_end, td, c);
- }
- break;
- }
- case 'M':
- {
- match_results mr;
- min = fixed_string_to_int<min_type, CharT>(sitr, stream_end, mr, 2);
- if(min == -1){
- return check_special_value(sitr, stream_end, td, c);
- }
- break;
- }
- case 's':
- case 'S':
- {
- match_results mr;
- sec = fixed_string_to_int<sec_type, CharT>(sitr, stream_end, mr, 2);
- if(sec == -1){
- return check_special_value(sitr, stream_end, td, c);
- }
- if (*itr == 'S')
- break;
- // %s is the same as %S%f so we drop through into %f
- }
- /* Falls through. */
- case 'f':
- {
- // check for decimal, check special_values if missing
- if(*sitr == '.') {
- ++sitr;
- parse_frac_type(sitr, stream_end, frac);
- // sitr will point to next expected char after this parsing
- // is complete so no need to advance it
- use_current_char = true;
- }
- else {
- return check_special_value(sitr, stream_end, td, c);
- }
- break;
- }
- case 'F':
- {
- // check for decimal, skip if missing
- if(*sitr == '.') {
- ++sitr;
- parse_frac_type(sitr, stream_end, frac);
- // sitr will point to next expected char after this parsing
- // is complete so no need to advance it
- use_current_char = true;
- }
- else {
- // nothing was parsed so we don't want to advance sitr
- use_current_char = true;
- }
- break;
- }
- default:
- {} // ignore what we don't understand?
- }// switch
- }
- else { // itr == '%', second consecutive
- ++sitr;
- }
-
- ++itr; //advance past format specifier
- }
- else { //skip past chars in format and in buffer
- ++itr;
- // set use_current_char when sitr is already
- // pointing at the next character to process
- if (use_current_char) {
- use_current_char = false;
- }
- else {
- ++sitr;
- }
- }
- }
-
- td = time_duration_type(hour, min, sec, frac);
- return sitr;
- }
-
-
- //! Parses a time object from the input stream
- InItrT get(InItrT& sitr,
- InItrT& stream_end,
- std::ios_base& ios_arg,
- time_type& t) const
- {
- string_type tz_str;
- return get(sitr, stream_end, ios_arg, t, tz_str, false);
- }
- //! Expects a time_zone in the input stream
- InItrT get_local_time(InItrT& sitr,
- InItrT& stream_end,
- std::ios_base& ios_arg,
- time_type& t,
- string_type& tz_str) const
- {
- return get(sitr, stream_end, ios_arg, t, tz_str, true);
- }
-
- protected:
-
- InItrT get(InItrT& sitr,
- InItrT& stream_end,
- std::ios_base& ios_arg,
- time_type& t,
- string_type& tz_str,
- bool time_is_local) const
- {
- // skip leading whitespace
- while((sitr != stream_end) && std::isspace(*sitr)) { ++sitr; }
-
- bool use_current_char = false;
- bool use_current_format_char = false; // used with two character flags
-
- // num_get will consume the +/-, we may need a copy if special_value
- char_type c = '\0';
- if((sitr != stream_end) && (*sitr == '-' || *sitr == '+')) {
- c = *sitr;
- }
-
- typedef typename time_duration_type::hour_type hour_type;
- typedef typename time_duration_type::min_type min_type;
- typedef typename time_duration_type::sec_type sec_type;
-
- // time elements
- hour_type hour = 0;
- min_type min = 0;
- sec_type sec = 0;
- typename time_duration_type::fractional_seconds_type frac(0);
- // date elements
- short day_of_year(0);
- /* Initialized the following to their minimum values. These intermediate
- * objects are used so we get specific exceptions when part of the input
- * is unparsable.
- * Ex: "205-Jan-15" will throw a bad_year, "2005-Jsn-15"- bad_month, etc.*/
- year_type t_year(1400);
- month_type t_month(1);
- day_type t_day(1);
-
- typedef std::num_get<CharT, InItrT> num_get;
- if(!std::has_facet<num_get>(ios_arg.getloc())) {
- num_get* ng = new num_get();
- std::locale loc = std::locale(ios_arg.getloc(), ng);
- ios_arg.imbue(loc);
- }
-
- const_itr itr(this->m_format.begin());
- while (itr != this->m_format.end() && (sitr != stream_end)) {
- if (*itr == '%') {
- if (++itr == this->m_format.end()) break;
- if (*itr != '%') {
- // the cases are grouped by date & time flags - not alphabetical order
- switch(*itr) {
- // date flags
- case 'Y':
- case 'y':
- {
- char_type cs[3] = { '%', *itr };
- string_type s(cs);
- match_results mr;
- try {
- t_year = this->m_parser.parse_year(sitr, stream_end, s, mr);
- }
- catch(std::out_of_range&) { // base class for bad_year exception
- if(this->m_sv_parser.match(sitr, stream_end, mr)) {
- t = time_type(static_cast<special_values>(mr.current_match));
- return sitr;
- }
- else {
- throw; // rethrow bad_year
- }
- }
- break;
- }
- case 'B':
- case 'b':
- case 'm':
- {
- char_type cs[3] = { '%', *itr };
- string_type s(cs);
- match_results mr;
- try {
- t_month = this->m_parser.parse_month(sitr, stream_end, s, mr);
- }
- catch(std::out_of_range&) { // base class for bad_month exception
- if(this->m_sv_parser.match(sitr, stream_end, mr)) {
- t = time_type(static_cast<special_values>(mr.current_match));
- return sitr;
- }
- else {
- throw; // rethrow bad_month
- }
- }
- // did m_parser already advance sitr to next char?
- if(mr.has_remaining()) {
- use_current_char = true;
- }
- break;
- }
- case 'a':
- case 'A':
- case 'w':
- {
- // weekday is not used in construction but we need to get it out of the stream
- char_type cs[3] = { '%', *itr };
- string_type s(cs);
- match_results mr;
- typename date_type::day_of_week_type wd(0);
- try {
- wd = this->m_parser.parse_weekday(sitr, stream_end, s, mr);
- }
- catch(std::out_of_range&) { // base class for bad_weekday exception
- if(this->m_sv_parser.match(sitr, stream_end, mr)) {
- t = time_type(static_cast<special_values>(mr.current_match));
- return sitr;
- }
- else {
- throw; // rethrow bad_weekday
- }
- }
- // did m_parser already advance sitr to next char?
- if(mr.has_remaining()) {
- use_current_char = true;
- }
- break;
- }
- case 'j':
- {
- // code that gets julian day (from format_date_parser)
- match_results mr;
- day_of_year = fixed_string_to_int<unsigned short, CharT>(sitr, stream_end, mr, 3);
- if(day_of_year == -1) {
- if(this->m_sv_parser.match(sitr, stream_end, mr)) {
- t = time_type(static_cast<special_values>(mr.current_match));
- return sitr;
- }
- }
- // these next two lines are so we get an exception with bad input
- typedef typename time_type::date_type::day_of_year_type day_of_year_type;
- day_of_year_type t_day_of_year(day_of_year);
- break;
- }
- case 'd':
- case 'e':
- {
- try {
- t_day = (*itr == 'd') ?
- this->m_parser.parse_day_of_month(sitr, stream_end) :
- this->m_parser.parse_var_day_of_month(sitr, stream_end);
- }
- catch(std::out_of_range&) { // base class for exception bad_day_of_month
- match_results mr;
- if(this->m_sv_parser.match(sitr, stream_end, mr)) {
- t = time_type(static_cast<special_values>(mr.current_match));
- return sitr;
- }
- else {
- throw; // rethrow bad_day_of_month
- }
- }
- break;
- }
- // time flags
- case 'H':
- {
- match_results mr;
- hour = fixed_string_to_int<hour_type, CharT>(sitr, stream_end, mr, 2);
- if(hour == -1){
- return check_special_value(sitr, stream_end, t, c);
- }
- break;
- }
- case 'M':
- {
- match_results mr;
- min = fixed_string_to_int<min_type, CharT>(sitr, stream_end, mr, 2);
- if(min == -1){
- return check_special_value(sitr, stream_end, t, c);
- }
- break;
- }
- case 's':
- case 'S':
- {
- match_results mr;
- sec = fixed_string_to_int<sec_type, CharT>(sitr, stream_end, mr, 2);
- if(sec == -1){
- return check_special_value(sitr, stream_end, t, c);
- }
- if (*itr == 'S' || sitr == stream_end)
- break;
- // %s is the same as %S%f so we drop through into %f if we are
- // not at the end of the stream
- }
- /* Falls through. */
- case 'f':
- {
- // check for decimal, check SV if missing
- if(*sitr == '.') {
- ++sitr;
- parse_frac_type(sitr, stream_end, frac);
- // sitr will point to next expected char after this parsing
- // is complete so no need to advance it
- use_current_char = true;
- }
- else {
- return check_special_value(sitr, stream_end, t, c);
- }
- break;
- }
- case 'F':
- {
- // check for decimal, skip if missing
- if(*sitr == '.') {
- ++sitr;
- parse_frac_type(sitr, stream_end, frac);
- // sitr will point to next expected char after this parsing
- // is complete so no need to advance it
- use_current_char = true;
- }
- else {
- // nothing was parsed so we don't want to advance sitr
- use_current_char = true;
- }
- break;
- }
- // time_zone flags
- //case 'q':
- //case 'Q':
- //case 'z':
- case 'Z':
- {
- if(time_is_local) { // skip if 't' is a ptime
- ++itr;
- if(*itr == 'P') {
- // skip leading whitespace
- while((sitr != stream_end) && std::isspace(*sitr)) { ++sitr; }
- // parse zone
- while((sitr != stream_end) && (!std::isspace(*sitr))) {
- tz_str += *sitr;
- ++sitr;
- }
- }
- else {
- use_current_format_char = true;
- }
-
- }
- else {
- // nothing was parsed so we don't want to advance sitr
- use_current_char = true;
- }
-
- break;
- }
- default:
- {} // ignore what we don't understand?
- }// switch
- }
- else { // itr == '%', second consecutive
- ++sitr;
- }
-
- if(use_current_format_char) {
- use_current_format_char = false;
- }
- else {
- ++itr; //advance past format specifier
- }
-
- }
- else { //skip past chars in format and in buffer
- ++itr;
- // set use_current_char when sitr is already
- // pointing at the next character to process
- if (use_current_char) {
- use_current_char = false;
- }
- else {
- ++sitr;
- }
- }
- }
-
- date_type d(not_a_date_time);
- if (day_of_year > 0) {
- d = date_type(static_cast<unsigned short>(t_year),1,1) + date_duration_type(day_of_year-1);
- }
- else {
- d = date_type(t_year, t_month, t_day);
- }
-
- time_duration_type td(hour, min, sec, frac);
- t = time_type(d, td);
- return sitr;
- }
-
- //! Helper function to check for special_value
- /*! First character may have been consumed during original parse
- * attempt. Parameter 'c' should be a copy of that character.
- * Throws ios_base::failure if parse fails. */
- template<class temporal_type>
- inline
- InItrT check_special_value(InItrT& sitr,InItrT& stream_end, temporal_type& tt, char_type c='\0') const
- {
- match_results mr;
- if((c == '-' || c == '+') && (*sitr != c)) { // was the first character consumed?
- mr.cache += c;
- }
- (void)this->m_sv_parser.match(sitr, stream_end, mr);
- if(mr.current_match == match_results::PARSE_ERROR) {
- std::string tmp = convert_string_type<char_type, char>(mr.cache);
- boost::throw_exception(std::ios_base::failure("Parse failed. No match found for '" + tmp + "'"));
- BOOST_DATE_TIME_UNREACHABLE_EXPRESSION(return sitr); // should never reach
- }
- tt = temporal_type(static_cast<special_values>(mr.current_match));
- return sitr;
- }
-
- //! Helper function for parsing a fractional second type from the stream
- void parse_frac_type(InItrT& sitr,
- InItrT& stream_end,
- fracional_seconds_type& frac) const
- {
- string_type cache;
- while((sitr != stream_end) && std::isdigit(*sitr)) {
- cache += *sitr;
- ++sitr;
- }
- if(cache.size() > 0) {
- unsigned short precision = time_duration_type::num_fractional_digits();
- // input may be only the first few decimal places
- if(cache.size() < precision) {
- frac = lexical_cast<fracional_seconds_type>(cache);
- frac = decimal_adjust(frac, static_cast<unsigned short>(precision - cache.size()));
- }
- else {
- // if input has too many decimal places, drop excess digits
- frac = lexical_cast<fracional_seconds_type>(cache.substr(0, precision));
- }
- }
- }
-
- private:
- string_type m_time_duration_format;
-
- //! Helper function to adjust trailing zeros when parsing fractional digits
- template<class int_type>
- inline
- int_type decimal_adjust(int_type val, const unsigned short places) const
- {
- unsigned long factor = 1;
- for(int i = 0; i < places; ++i){
- factor *= 10; // shift decimal to the right
- }
- return val * factor;
- }
-
- };
-
-template <class time_type, class CharT, class InItrT>
- std::locale::id time_input_facet<time_type, CharT, InItrT>::id;
-
-template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::fractional_seconds_format = time_formats<CharT>::fractional_seconds_format;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::fractional_seconds_or_none_format = time_formats<CharT>::fractional_seconds_or_none_format;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::seconds_with_fractional_seconds_format = time_formats<CharT>::seconds_with_fractional_seconds_format;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::seconds_format = time_formats<CharT>::seconds_format;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::standard_format = time_formats<CharT>::standard_format;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::zone_abbrev_format = time_formats<CharT>::zone_abbrev_format;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::zone_name_format = time_formats<CharT>::zone_name_format;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::zone_iso_format = time_formats<CharT>::zone_iso_format;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::zone_iso_extended_format = time_formats<CharT>::zone_iso_extended_format;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::duration_seperator = time_formats<CharT>::duration_seperator;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::iso_time_format_specifier = time_formats<CharT>::iso_time_format_specifier;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::iso_time_format_extended_specifier = time_formats<CharT>::iso_time_format_extended_specifier;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::default_time_input_format = time_formats<CharT>::default_time_input_format;
-
- template <class time_type, class CharT, class InItrT>
- const typename time_input_facet<time_type, CharT, InItrT>::char_type*
- time_input_facet<time_type, CharT, InItrT>::default_time_duration_format = time_formats<CharT>::default_time_duration_format;
-
-} } // namespaces
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/time_formatting_streams.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_formatting_streams.hpp
deleted file mode 100644
index f69f87a348..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/time_formatting_streams.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-#ifndef DATE_TIME_TIME_FORMATTING_STREAMS_HPP___
-#define DATE_TIME_TIME_FORMATTING_STREAMS_HPP___
-
-/* Copyright (c) 2002,2003 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include <boost/date_time/compiler_config.hpp>
-
-#ifndef BOOST_DATE_TIME_NO_LOCALE
-
-#include <locale>
-#include <iomanip>
-#include <iostream>
-#include <boost/date_time/date_formatting_locales.hpp>
-#include <boost/date_time/time_resolution_traits.hpp>
-
-namespace boost {
-namespace date_time {
-
-
- //! Put a time type into a stream using appropriate facets
- template<class time_duration_type,
- class charT = char>
- class ostream_time_duration_formatter
- {
- public:
- typedef std::basic_ostream<charT> ostream_type;
- typedef typename time_duration_type::fractional_seconds_type fractional_seconds_type;
-
- //! Put time into an ostream
- static void duration_put(const time_duration_type& td,
- ostream_type& os)
- {
- if(td.is_special()) {
- os << td.get_rep();
- }
- else {
- charT fill_char = '0';
- if(td.is_negative()) {
- os << '-';
- }
- os << std::setw(2) << std::setfill(fill_char)
- << absolute_value(td.hours()) << ":";
- os << std::setw(2) << std::setfill(fill_char)
- << absolute_value(td.minutes()) << ":";
- os << std::setw(2) << std::setfill(fill_char)
- << absolute_value(td.seconds());
- fractional_seconds_type frac_sec =
- absolute_value(td.fractional_seconds());
- if (frac_sec != 0) {
- os << "."
- << std::setw(time_duration_type::num_fractional_digits())
- << std::setfill(fill_char)
- << frac_sec;
- }
- } // else
- } // duration_put
- }; //class ostream_time_duration_formatter
-
- //! Put a time type into a stream using appropriate facets
- template<class time_type,
- class charT = char>
- class ostream_time_formatter
- {
- public:
- typedef std::basic_ostream<charT> ostream_type;
- typedef typename time_type::date_type date_type;
- typedef typename time_type::time_duration_type time_duration_type;
- typedef ostream_time_duration_formatter<time_duration_type, charT> duration_formatter;
-
- //! Put time into an ostream
- static void time_put(const time_type& t,
- ostream_type& os)
- {
- date_type d = t.date();
- os << d;
- if(!d.is_infinity() && !d.is_not_a_date())
- {
- os << " "; //TODO: fix the separator here.
- duration_formatter::duration_put(t.time_of_day(), os);
- }
-
- } // time_to_ostream
- }; //class ostream_time_formatter
-
-
- //! Put a time period into a stream using appropriate facets
- template<class time_period_type,
- class charT = char>
- class ostream_time_period_formatter
- {
- public:
- typedef std::basic_ostream<charT> ostream_type;
- typedef typename time_period_type::point_type time_type;
- typedef ostream_time_formatter<time_type, charT> time_formatter;
-
- //! Put time into an ostream
- static void period_put(const time_period_type& tp,
- ostream_type& os)
- {
- os << '['; //TODO: facet or manipulator for periods?
- time_formatter::time_put(tp.begin(), os);
- os << '/'; //TODO: facet or manipulator for periods?
- time_formatter::time_put(tp.last(), os);
- os << ']';
-
- } // period_put
-
- }; //class ostream_time_period_formatter
-
-
-
-} } //namespace date_time
-
-#endif //BOOST_DATE_TIME_NO_LOCALE
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/time_parsing.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_parsing.hpp
deleted file mode 100644
index 9e7a3fb5f9..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/time_parsing.hpp
+++ /dev/null
@@ -1,339 +0,0 @@
-#ifndef _DATE_TIME_TIME_PARSING_HPP___
-#define _DATE_TIME_TIME_PARSING_HPP___
-
-/* Copyright (c) 2002,2003,2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-#include "boost/tokenizer.hpp"
-#include "boost/lexical_cast.hpp"
-#include "boost/date_time/date_parsing.hpp"
-#include "boost/date_time/special_values_parser.hpp"
-#include "boost/cstdint.hpp"
-#include <iostream>
-
-namespace boost {
-namespace date_time {
-
- //! computes exponential math like 2^8 => 256, only works with positive integers
- //Not general purpose, but needed b/c std::pow is not available
- //everywhere. Hasn't been tested with negatives and zeros
- template<class int_type>
- inline
- int_type power(int_type base, int_type exponent)
- {
- int_type result = 1;
- for(int i = 0; i < exponent; ++i){
- result *= base;
- }
- return result;
- }
-
- //! Creates a time_duration object from a delimited string
- /*! Expected format for string is "[-]h[h][:mm][:ss][.fff]".
- * If the number of fractional digits provided is greater than the
- * precision of the time duration type then the extra digits are
- * truncated.
- *
- * A negative duration will be created if the first character in
- * string is a '-', all other '-' will be treated as delimiters.
- * Accepted delimiters are "-:,.".
- */
- template<class time_duration, class char_type>
- inline
- time_duration
- str_from_delimited_time_duration(const std::basic_string<char_type>& s)
- {
- unsigned short min=0, sec =0;
- int hour =0;
- bool is_neg = (s.at(0) == '-');
- boost::int64_t fs=0;
- int pos = 0;
-
- typedef typename std::basic_string<char_type>::traits_type traits_type;
- typedef boost::char_separator<char_type, traits_type> char_separator_type;
- typedef boost::tokenizer<char_separator_type,
- typename std::basic_string<char_type>::const_iterator,
- std::basic_string<char_type> > tokenizer;
- typedef typename boost::tokenizer<char_separator_type,
- typename std::basic_string<char_type>::const_iterator,
- typename std::basic_string<char_type> >::iterator tokenizer_iterator;
-
- char_type sep_chars[5] = {'-',':',',','.'};
- char_separator_type sep(sep_chars);
- tokenizer tok(s,sep);
- for(tokenizer_iterator beg=tok.begin(); beg!=tok.end();++beg){
- switch(pos) {
- case 0: {
- hour = boost::lexical_cast<int>(*beg);
- break;
- }
- case 1: {
- min = boost::lexical_cast<unsigned short>(*beg);
- break;
- }
- case 2: {
- sec = boost::lexical_cast<unsigned short>(*beg);
- break;
- }
- case 3: {
- int digits = static_cast<int>(beg->length());
- //Works around a bug in MSVC 6 library that does not support
- //operator>> thus meaning lexical_cast will fail to compile.
-#if (defined(BOOST_MSVC) && (_MSC_VER < 1300))
- // msvc wouldn't compile 'time_duration::num_fractional_digits()'
- // (required template argument list) as a workaround a temp
- // time_duration object was used
- time_duration td(hour,min,sec,fs);
- int precision = td.num_fractional_digits();
- // _atoi64 is an MS specific function
- if(digits >= precision) {
- // drop excess digits
- fs = _atoi64(beg->substr(0, precision).c_str());
- }
- else {
- fs = _atoi64(beg->c_str());
- }
-#else
- int precision = time_duration::num_fractional_digits();
- if(digits >= precision) {
- // drop excess digits
- fs = boost::lexical_cast<boost::int64_t>(beg->substr(0, precision));
- }
- else {
- fs = boost::lexical_cast<boost::int64_t>(*beg);
- }
-#endif
- if(digits < precision){
- // trailing zeros get dropped from the string,
- // "1:01:01.1" would yield .000001 instead of .100000
- // the power() compensates for the missing decimal places
- fs *= power(10, precision - digits);
- }
-
- break;
- }
- default: break;
- }//switch
- pos++;
- }
- if(is_neg) {
- return -time_duration(hour, min, sec, fs);
- }
- else {
- return time_duration(hour, min, sec, fs);
- }
- }
-
- //! Creates a time_duration object from a delimited string
- /*! Expected format for string is "[-]h[h][:mm][:ss][.fff]".
- * If the number of fractional digits provided is greater than the
- * precision of the time duration type then the extra digits are
- * truncated.
- *
- * A negative duration will be created if the first character in
- * string is a '-', all other '-' will be treated as delimiters.
- * Accepted delimiters are "-:,.".
- */
- template<class time_duration>
- inline
- time_duration
- parse_delimited_time_duration(const std::string& s)
- {
- return str_from_delimited_time_duration<time_duration,char>(s);
- }
-
- //! Utility function to split appart string
- inline
- bool
- split(const std::string& s,
- char sep,
- std::string& first,
- std::string& second)
- {
- std::string::size_type sep_pos = s.find(sep);
- first = s.substr(0,sep_pos);
- if (sep_pos!=std::string::npos)
- second = s.substr(sep_pos+1);
- return true;
- }
-
-
- template<class time_type>
- inline
- time_type
- parse_delimited_time(const std::string& s, char sep)
- {
- typedef typename time_type::time_duration_type time_duration;
- typedef typename time_type::date_type date_type;
-
- //split date/time on a unique delimiter char such as ' ' or 'T'
- std::string date_string, tod_string;
- split(s, sep, date_string, tod_string);
- //call parse_date with first string
- date_type d = parse_date<date_type>(date_string);
- //call parse_time_duration with remaining string
- time_duration td = parse_delimited_time_duration<time_duration>(tod_string);
- //construct a time
- return time_type(d, td);
-
- }
-
- //! Parse time duration part of an iso time of form: [-]hhmmss[.fff...] (eg: 120259.123 is 12 hours, 2 min, 59 seconds, 123000 microseconds)
- template<class time_duration>
- inline
- time_duration
- parse_undelimited_time_duration(const std::string& s)
- {
- int precision = 0;
- {
- // msvc wouldn't compile 'time_duration::num_fractional_digits()'
- // (required template argument list) as a workaround, a temp
- // time_duration object was used
- time_duration tmp(0,0,0,1);
- precision = tmp.num_fractional_digits();
- }
- // 'precision+1' is so we grab all digits, plus the decimal
- int offsets[] = {2,2,2, precision+1};
- int pos = 0, sign = 0;
- int hours = 0;
- short min=0, sec=0;
- boost::int64_t fs=0;
- // increment one position if the string was "signed"
- if(s.at(sign) == '-')
- {
- ++sign;
- }
- // stlport choked when passing s.substr() to tokenizer
- // using a new string fixed the error
- std::string remain = s.substr(sign);
- /* We do not want the offset_separator to wrap the offsets, we
- * will never want to process more than:
- * 2 char, 2 char, 2 char, frac_sec length.
- * We *do* want the offset_separator to give us a partial for the
- * last characters if there were not enough provided in the input string. */
- bool wrap_off = false;
- bool ret_part = true;
- boost::offset_separator osf(offsets, offsets+4, wrap_off, ret_part);
- typedef boost::tokenizer<boost::offset_separator,
- std::basic_string<char>::const_iterator,
- std::basic_string<char> > tokenizer;
- typedef boost::tokenizer<boost::offset_separator,
- std::basic_string<char>::const_iterator,
- std::basic_string<char> >::iterator tokenizer_iterator;
- tokenizer tok(remain, osf);
- for(tokenizer_iterator ti=tok.begin(); ti!=tok.end();++ti){
- switch(pos) {
- case 0:
- {
- hours = boost::lexical_cast<int>(*ti);
- break;
- }
- case 1:
- {
- min = boost::lexical_cast<short>(*ti);
- break;
- }
- case 2:
- {
- sec = boost::lexical_cast<short>(*ti);
- break;
- }
- case 3:
- {
- std::string char_digits(ti->substr(1)); // digits w/no decimal
- int digits = static_cast<int>(char_digits.length());
-
- //Works around a bug in MSVC 6 library that does not support
- //operator>> thus meaning lexical_cast will fail to compile.
-#if (defined(BOOST_MSVC) && (_MSC_VER <= 1200)) // 1200 == VC++ 6.0
- // _atoi64 is an MS specific function
- if(digits >= precision) {
- // drop excess digits
- fs = _atoi64(char_digits.substr(0, precision).c_str());
- }
- else if(digits == 0) {
- fs = 0; // just in case _atoi64 doesn't like an empty string
- }
- else {
- fs = _atoi64(char_digits.c_str());
- }
-#else
- if(digits >= precision) {
- // drop excess digits
- fs = boost::lexical_cast<boost::int64_t>(char_digits.substr(0, precision));
- }
- else if(digits == 0) {
- fs = 0; // lexical_cast doesn't like empty strings
- }
- else {
- fs = boost::lexical_cast<boost::int64_t>(char_digits);
- }
-#endif
- if(digits < precision){
- // trailing zeros get dropped from the string,
- // "1:01:01.1" would yield .000001 instead of .100000
- // the power() compensates for the missing decimal places
- fs *= power(10, precision - digits);
- }
-
- break;
- }
- default: break;
- }
- pos++;
- }
- if(sign) {
- return -time_duration(hours, min, sec, fs);
- }
- else {
- return time_duration(hours, min, sec, fs);
- }
- }
-
- //! Parse time string of form YYYYMMDDThhmmss where T is delimeter between date and time
- template<class time_type>
- inline
- time_type
- parse_iso_time(const std::string& s, char sep)
- {
- typedef typename time_type::time_duration_type time_duration;
- typedef typename time_type::date_type date_type;
- typedef special_values_parser<date_type, std::string::value_type> svp_type;
-
- // given to_iso_string can produce a special value string
- // then from_iso_string should be able to read a special value string
- // the special_values_parser is expensive to set up and not thread-safe
- // so it cannot be static, so we need to be careful about when we use it
- if (svp_type::should_call_match(s)) {
- typedef typename svp_type::stringstream_type ss_type;
- typedef typename svp_type::stream_itr_type itr_type;
- typedef typename svp_type::match_results mr_type;
- svp_type p; // expensive
- mr_type mr;
- ss_type ss(s);
- itr_type itr(ss);
- itr_type end;
- if (p.match(itr, end, mr)) {
- return time_type(static_cast<special_values>(mr.current_match));
- }
- }
-
- //split date/time on a unique delimiter char such as ' ' or 'T'
- std::string date_string, tod_string;
- split(s, sep, date_string, tod_string);
- //call parse_date with first string
- date_type d = parse_undelimited_date<date_type>(date_string);
- //call parse_time_duration with remaining string
- time_duration td = parse_undelimited_time_duration<time_duration>(tod_string);
- //construct a time
- return time_type(d, td);
- }
-
-} }//namespace date_time
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/time_zone_base.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_zone_base.hpp
deleted file mode 100644
index c1b08376a4..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/time_zone_base.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef _DATE_TIME_TIME_ZONE_BASE__
-#define _DATE_TIME_TIME_ZONE_BASE__
-
-/* Copyright (c) 2003-2005 CrystalClear Software, Inc.
- * Subject to the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland, Bart Garst
- * $Date$
- */
-
-
-#include <string>
-#include <sstream>
-#include <boost/date_time/compiler_config.hpp>
-
-namespace boost {
-namespace date_time {
-
-
-
- //! Interface class for dynamic time zones.
- /*! This class represents the base interface for all timezone
- * representations. Subclasses may provide different systems
- * for identifying a particular zone. For example some may
- * provide a geographical based zone construction while others
- * may specify the offset from GMT. Another possible implementation
- * would be to convert from POSIX timezone strings. Regardless of
- * the construction technique, this is the interface that these
- * time zone types must provide.
- *
- * Note that this class is intended to be used as a shared
- * resource (hence the derivation from boost::counted_base.
- */
- template<typename time_type, typename CharT>
- class BOOST_SYMBOL_VISIBLE time_zone_base {
- public:
- typedef CharT char_type;
- typedef std::basic_string<CharT> string_type;
- typedef std::basic_ostringstream<CharT> stringstream_type;
- typedef typename time_type::date_type::year_type year_type;
- typedef typename time_type::time_duration_type time_duration_type;
-
- time_zone_base() {}
- virtual ~time_zone_base() {}
- //!String for the timezone when in daylight savings (eg: EDT)
- virtual string_type dst_zone_abbrev() const=0;
- //!String for the zone when not in daylight savings (eg: EST)
- virtual string_type std_zone_abbrev() const=0;
- //!String for the timezone when in daylight savings (eg: Eastern Daylight Time)
- virtual string_type dst_zone_name() const=0;
- //!String for the zone when not in daylight savings (eg: Eastern Standard Time)
- virtual string_type std_zone_name() const=0;
- //! True if zone uses daylight savings adjustments otherwise false
- virtual bool has_dst() const=0;
- //! Local time that DST starts -- undefined if has_dst is false
- virtual time_type dst_local_start_time(year_type y) const=0;
- //! Local time that DST ends -- undefined if has_dst is false
- virtual time_type dst_local_end_time(year_type y) const=0;
- //! Base offset from UTC for zone (eg: -07:30:00)
- virtual time_duration_type base_utc_offset() const=0;
- //! Adjustment forward or back made while DST is in effect
- virtual time_duration_type dst_offset() const=0;
- //! Returns a POSIX time_zone string for this object
- virtual string_type to_posix_string() const =0;
-
- private:
-
- };
-
-
- //! Structure which holds the time offsets associated with daylight savings time
- /*!
- *@tparam time_duration_type A type used to represent the offset
- */
- template<class time_duration_type>
- class dst_adjustment_offsets
- {
- public:
- dst_adjustment_offsets(const time_duration_type& dst_adjust,
- const time_duration_type& dst_start_offset,
- const time_duration_type& dst_end_offset) :
- dst_adjust_(dst_adjust),
- dst_start_offset_(dst_start_offset),
- dst_end_offset_(dst_end_offset)
- {}
-
- //! Amount DST adjusts the clock eg: plus one hour
- time_duration_type dst_adjust_;
- //! Time past midnight on start transition day that dst starts
- time_duration_type dst_start_offset_;
- //! Time past midnight on end transition day that dst ends
- time_duration_type dst_end_offset_;
- };
-
-
-} } //namespace date_time
-
-
-
-#endif
diff --git a/contrib/restricted/boost/date_time/include/boost/date_time/time_zone_names.hpp b/contrib/restricted/boost/date_time/include/boost/date_time/time_zone_names.hpp
deleted file mode 100644
index 80719735f4..0000000000
--- a/contrib/restricted/boost/date_time/include/boost/date_time/time_zone_names.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-#ifndef DATE_TIME_TIME_ZONE_NAMES_HPP__
-#define DATE_TIME_TIME_ZONE_NAMES_HPP__
-
-/* Copyright (c) 2002-2003,2005 CrystalClear Software, Inc.
- * Use, modification and distribution is subject to the
- * Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
- * Author: Jeff Garland
- * $Date$
- */
-
-#include <string>
-
-namespace boost {
-namespace date_time {
-
- template<class CharT>
- struct default_zone_names {
- public:
- typedef CharT char_type;
- static const char_type standard_name[9];
- static const char_type standard_abbrev[11];
- static const char_type non_dst_identifier[7];
- };
- template <class CharT>
- const typename default_zone_names<CharT>::char_type
- default_zone_names<CharT>::standard_name[9] =
- {'s','t','d','_','n','a','m','e'};
-
- template <class CharT>
- const typename default_zone_names<CharT>::char_type
- default_zone_names<CharT>::standard_abbrev[11] =
- {'s','t','d','_','a','b','b','r','e','v'};
-
- template <class CharT>
- const typename default_zone_names<CharT>::char_type
- default_zone_names<CharT>::non_dst_identifier[7] =
- {'n','o','-','d','s','t'};
-
- //! Base type that holds various string names for timezone output.
- /*! Class that holds various types of strings used for timezones.
- * For example, for the western United States there is the full
- * name: Pacific Standard Time and the abbreviated name: PST.
- * During daylight savings there are additional names:
- * Pacific Daylight Time and PDT.
- *@tparam CharT Allows class to support different character types
- */
- template<class CharT>
- class time_zone_names_base
- {
- public:
- typedef std::basic_string<CharT> string_type;
- time_zone_names_base() :
- std_zone_name_(default_zone_names<CharT>::standard_name),
- std_zone_abbrev_(default_zone_names<CharT>::standard_abbrev),
- dst_zone_name_(default_zone_names<CharT>::non_dst_identifier),
- dst_zone_abbrev_(default_zone_names<CharT>::non_dst_identifier)
- {}
- time_zone_names_base(const string_type& std_zone_name_str,
- const string_type& std_zone_abbrev_str,
- const string_type& dst_zone_name_str,
- const string_type& dst_zone_abbrev_str) :
- std_zone_name_(std_zone_name_str),
- std_zone_abbrev_(std_zone_abbrev_str),
- dst_zone_name_(dst_zone_name_str),
- dst_zone_abbrev_(dst_zone_abbrev_str)
- {}
- string_type dst_zone_abbrev() const
- {
- return dst_zone_abbrev_;
- }
- string_type std_zone_abbrev() const
- {
- return std_zone_abbrev_;
- }
- string_type dst_zone_name() const
- {
- return dst_zone_name_;
- }
- string_type std_zone_name() const
- {
- return std_zone_name_;
- }
- private:
- string_type std_zone_name_;
- string_type std_zone_abbrev_;
- string_type dst_zone_name_;
- string_type dst_zone_abbrev_;
-
- };
-
- //! Specialization of timezone names for standard char.
- //typedef time_zone_names_base<char> time_zone_names;
-
-} } //namespace
-
-
-#endif
diff --git a/contrib/restricted/boost/exception/include/boost/exception/enable_error_info.hpp b/contrib/restricted/boost/exception/include/boost/exception/enable_error_info.hpp
deleted file mode 100644
index 202217af66..0000000000
--- a/contrib/restricted/boost/exception/include/boost/exception/enable_error_info.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
-//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the 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 UUID_A0F7404AF7CF11E6908227DD14915323
-#define UUID_A0F7404AF7CF11E6908227DD14915323
-
-#include <boost/exception/exception.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/exception/include/boost/exception/errinfo_at_line.hpp b/contrib/restricted/boost/exception/include/boost/exception/errinfo_at_line.hpp
deleted file mode 100644
index cbd5ccefba..0000000000
--- a/contrib/restricted/boost/exception/include/boost/exception/errinfo_at_line.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
-
-//Distributed under the 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 UUID_E7255CE26C1211DE85800C9155D89593
-#define UUID_E7255CE26C1211DE85800C9155D89593
-
-namespace
-boost
- {
- template <class Tag,class T> class error_info;
-
- //Use with parsing errors exceptions, for example in a XML file parser.
- typedef error_info<struct errinfo_at_line_,int> errinfo_at_line;
- }
-
-#endif
diff --git a/contrib/restricted/boost/filesystem/include/boost/filesystem/convenience.hpp b/contrib/restricted/boost/filesystem/include/boost/filesystem/convenience.hpp
deleted file mode 100644
index 02d8f374a8..0000000000
--- a/contrib/restricted/boost/filesystem/include/boost/filesystem/convenience.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// boost/filesystem/convenience.hpp ----------------------------------------//
-
-// Copyright Beman Dawes, 2002-2005
-// Copyright Vladimir Prus, 2002
-
-// 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/filesystem
-
-//----------------------------------------------------------------------------//
-
-#ifndef BOOST_FILESYSTEM_CONVENIENCE_HPP
-#define BOOST_FILESYSTEM_CONVENIENCE_HPP
-
-#include <boost/filesystem/config.hpp>
-#include <boost/filesystem/operations.hpp>
-#include <boost/system/error_code.hpp>
-
-#include <boost/filesystem/detail/header.hpp> // must be the last #include
-
-namespace boost {
-namespace filesystem {
-
-#ifndef BOOST_FILESYSTEM_NO_DEPRECATED
-
-inline std::string extension(const path& p)
-{
- return p.extension().string();
-}
-
-inline std::string basename(const path& p)
-{
- return p.stem().string();
-}
-
-inline path change_extension(const path& p, const path& new_extension)
-{
- path new_p(p);
- new_p.replace_extension(new_extension);
- return new_p;
-}
-
-#endif
-
-} // namespace filesystem
-} // namespace boost
-
-#include <boost/filesystem/detail/footer.hpp>
-
-#endif // BOOST_FILESYSTEM_CONVENIENCE_HPP
diff --git a/contrib/restricted/boost/filesystem/include/boost/filesystem/fstream.hpp b/contrib/restricted/boost/filesystem/include/boost/filesystem/fstream.hpp
deleted file mode 100644
index 124ab39841..0000000000
--- a/contrib/restricted/boost/filesystem/include/boost/filesystem/fstream.hpp
+++ /dev/null
@@ -1,207 +0,0 @@
-// boost/filesystem/fstream.hpp ------------------------------------------------------//
-
-// Copyright Beman Dawes 2002
-// Copyright Andrey Semashev 2021
-
-// Distributed under the Boost Software License, Version 1.0.
-// See http://www.boost.org/LICENSE_1_0.txt
-
-// Library home page: http://www.boost.org/libs/filesystem
-
-//--------------------------------------------------------------------------------------//
-
-#ifndef BOOST_FILESYSTEM_FSTREAM_HPP
-#define BOOST_FILESYSTEM_FSTREAM_HPP
-
-#include <boost/filesystem/config.hpp>
-#include <boost/filesystem/path.hpp>
-#include <cstddef>
-#include <iosfwd>
-#include <fstream>
-
-#include <boost/filesystem/detail/header.hpp> // must be the last #include
-
-#if defined(BOOST_WINDOWS_API)
-// On Windows, except for standard libaries known to have wchar_t overloads for
-// file stream I/O, use path::string() to get a narrow character c_str()
-#if (defined(_CPPLIB_VER) && _CPPLIB_VER >= 405 && !defined(_STLPORT_VERSION)) || \
- (defined(_LIBCPP_VERSION) && _LIBCPP_VERSION >= 7000 && defined(_LIBCPP_HAS_OPEN_WITH_WCHAR))
-// Use wide characters directly
-// Note: We don't use C++17 std::filesystem::path as a means to pass wide paths
-// to file streams because of various problems:
-// - std::filesystem is available in gcc 8 but it is broken there (fails to compile path definition
-// on Windows). Compilation errors seem to be fixed since gcc 9.
-// - In gcc 10.2 and clang 8.0.1 on Cygwin64, the path attempts to convert the wide string to narrow
-// and fails in runtime. This may be system locale dependent, and performing character code conversion
-// is against the purpose of using std::filesystem::path anyway.
-// - Other std::filesystem implementations were not tested, so it is not known if they actually work
-// with wide paths.
-#define BOOST_FILESYSTEM_C_STR(p) p.c_str()
-#else
-// Use narrow characters, since wide not available
-#define BOOST_FILESYSTEM_C_STR(p) p.string().c_str()
-#endif
-#endif // defined(BOOST_WINDOWS_API)
-
-#if !defined(BOOST_FILESYSTEM_C_STR)
-#define BOOST_FILESYSTEM_C_STR(p) p.c_str()
-#endif
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-// 'boost::filesystem::basic_fstream<charT>' : inherits 'std::basic_istream<_Elem,_Traits>::std::basic_istream<_Elem,_Traits>::_Add_vtordisp1' via dominance
-#pragma warning(disable : 4250)
-#endif
-
-namespace boost {
-namespace filesystem {
-
-//--------------------------------------------------------------------------------------//
-// basic_filebuf //
-//--------------------------------------------------------------------------------------//
-
-template< class charT, class traits = std::char_traits< charT > >
-class basic_filebuf :
- public std::basic_filebuf< charT, traits >
-{
-public:
- BOOST_DEFAULTED_FUNCTION(basic_filebuf(), {})
- BOOST_DELETED_FUNCTION(basic_filebuf(basic_filebuf const&))
- BOOST_DELETED_FUNCTION(basic_filebuf const& operator=(basic_filebuf const&))
-
-public:
- basic_filebuf< charT, traits >* open(path const& p, std::ios_base::openmode mode)
- {
- return std::basic_filebuf< charT, traits >::open(BOOST_FILESYSTEM_C_STR(p), mode) ? this : NULL;
- }
-};
-
-//--------------------------------------------------------------------------------------//
-// basic_ifstream //
-//--------------------------------------------------------------------------------------//
-
-template< class charT, class traits = std::char_traits< charT > >
-class basic_ifstream :
- public std::basic_ifstream< charT, traits >
-{
-public:
- BOOST_DEFAULTED_FUNCTION(basic_ifstream(), {})
-
- // use two signatures, rather than one signature with default second
- // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
-
- explicit basic_ifstream(path const& p) :
- std::basic_ifstream< charT, traits >(BOOST_FILESYSTEM_C_STR(p), std::ios_base::in) {}
-
- basic_ifstream(path const& p, std::ios_base::openmode mode) :
- std::basic_ifstream< charT, traits >(BOOST_FILESYSTEM_C_STR(p), mode) {}
-
- BOOST_DELETED_FUNCTION(basic_ifstream(basic_ifstream const&))
- BOOST_DELETED_FUNCTION(basic_ifstream const& operator=(basic_ifstream const&))
-
-public:
- void open(path const& p)
- {
- std::basic_ifstream< charT, traits >::open(BOOST_FILESYSTEM_C_STR(p), std::ios_base::in);
- }
-
- void open(path const& p, std::ios_base::openmode mode)
- {
- std::basic_ifstream< charT, traits >::open(BOOST_FILESYSTEM_C_STR(p), mode);
- }
-};
-
-//--------------------------------------------------------------------------------------//
-// basic_ofstream //
-//--------------------------------------------------------------------------------------//
-
-template< class charT, class traits = std::char_traits< charT > >
-class basic_ofstream :
- public std::basic_ofstream< charT, traits >
-{
-public:
- BOOST_DEFAULTED_FUNCTION(basic_ofstream(), {})
-
- // use two signatures, rather than one signature with default second
- // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
-
- explicit basic_ofstream(path const& p) :
- std::basic_ofstream< charT, traits >(BOOST_FILESYSTEM_C_STR(p), std::ios_base::out) {}
-
- basic_ofstream(path const& p, std::ios_base::openmode mode) :
- std::basic_ofstream< charT, traits >(BOOST_FILESYSTEM_C_STR(p), mode) {}
-
- BOOST_DELETED_FUNCTION(basic_ofstream(basic_ofstream const&))
- BOOST_DELETED_FUNCTION(basic_ofstream const& operator=(basic_ofstream const&))
-
-public:
- void open(path const& p)
- {
- std::basic_ofstream< charT, traits >::open(BOOST_FILESYSTEM_C_STR(p), std::ios_base::out);
- }
-
- void open(path const& p, std::ios_base::openmode mode)
- {
- std::basic_ofstream< charT, traits >::open(BOOST_FILESYSTEM_C_STR(p), mode);
- }
-};
-
-//--------------------------------------------------------------------------------------//
-// basic_fstream //
-//--------------------------------------------------------------------------------------//
-
-template< class charT, class traits = std::char_traits< charT > >
-class basic_fstream :
- public std::basic_fstream< charT, traits >
-{
-public:
- BOOST_DEFAULTED_FUNCTION(basic_fstream(), {})
-
- // use two signatures, rather than one signature with default second
- // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416)
-
- explicit basic_fstream(path const& p) :
- std::basic_fstream< charT, traits >(BOOST_FILESYSTEM_C_STR(p), std::ios_base::in | std::ios_base::out) {}
-
- basic_fstream(path const& p, std::ios_base::openmode mode) :
- std::basic_fstream< charT, traits >(BOOST_FILESYSTEM_C_STR(p), mode) {}
-
- BOOST_DELETED_FUNCTION(basic_fstream(basic_fstream const&))
- BOOST_DELETED_FUNCTION(basic_fstream const& operator=(basic_fstream const&))
-
-public:
- void open(path const& p)
- {
- std::basic_fstream< charT, traits >::open(BOOST_FILESYSTEM_C_STR(p), std::ios_base::in | std::ios_base::out);
- }
-
- void open(path const& p, std::ios_base::openmode mode)
- {
- std::basic_fstream< charT, traits >::open(BOOST_FILESYSTEM_C_STR(p), mode);
- }
-};
-
-//--------------------------------------------------------------------------------------//
-// typedefs //
-//--------------------------------------------------------------------------------------//
-
-typedef basic_filebuf< char > filebuf;
-typedef basic_ifstream< char > ifstream;
-typedef basic_ofstream< char > ofstream;
-typedef basic_fstream< char > fstream;
-
-typedef basic_filebuf< wchar_t > wfilebuf;
-typedef basic_ifstream< wchar_t > wifstream;
-typedef basic_ofstream< wchar_t > wofstream;
-typedef basic_fstream< wchar_t > wfstream;
-
-} // namespace filesystem
-} // namespace boost
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
-#include <boost/filesystem/detail/footer.hpp>
-
-#endif // BOOST_FILESYSTEM_FSTREAM_HPP
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/adapt_struct.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/adapt_struct.hpp
deleted file mode 100644
index 66710b47ff..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/adapt_struct.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/*=============================================================================
- 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)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/preprocessor/config/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/empty.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/comparison/less.hpp>
-#include <boost/preprocessor/seq/seq.hpp>
-#include <boost/preprocessor/variadic/to_seq.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
-#include <boost/fusion/adapted/struct/detail/extension.hpp>
-#include <boost/fusion/adapted/struct/detail/adapt_base.hpp>
-#include <boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp>
-#include <boost/fusion/adapted/struct/detail/at_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/is_view_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/is_sequence_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/value_at_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/category_of_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/size_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/begin_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/end_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/value_of_impl.hpp>
-#include <boost/fusion/adapted/struct/detail/deref_impl.hpp>
-
-#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_IIF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \
- BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE), \
- BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \
- BOOST_PP_LESS( \
- BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), 2))
-
-
-
-#if BOOST_PP_VARIADICS
-
-# 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/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_auto.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_auto.hpp
deleted file mode 100644
index 71a542c7a4..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_auto.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-/*=============================================================================
- 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_AUTO_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_AUTO_HPP
-
-#define BOOST_FUSION_ADAPT_AUTO auto
-#define BOOST_MPL_PP_TOKEN_EQUAL_auto(x) x
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_base.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_base.hpp
deleted file mode 100644
index 84b9302c44..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_base.hpp
+++ /dev/null
@@ -1,309 +0,0 @@
-/*=============================================================================
- 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)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/config.hpp>
-#include <boost/fusion/support/tag_of_fwd.hpp>
-#include <boost/fusion/adapted/struct/detail/adapt_auto.hpp>
-#include <boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp>
-
-#include <boost/preprocessor/empty.hpp>
-#include <boost/preprocessor/stringize.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/seq/for_each.hpp>
-#include <boost/preprocessor/seq/for_each_i.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/preprocessor/seq/seq.hpp>
-#include <boost/preprocessor/tuple/eat.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/comparison/less.hpp>
-#include <boost/preprocessor/logical/not.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/tag.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/add_const.hpp>
-
-#include <boost/typeof/typeof.hpp>
-
-
-#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS(SEQ) \
- BOOST_PP_SEQ_HEAD(SEQ)<BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_TAIL(SEQ))> \
- BOOST_PP_EMPTY()
-
-#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(SEQ) \
- BOOST_PP_IF( \
- BOOST_PP_SEQ_HEAD(SEQ), \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS, \
- BOOST_PP_SEQ_HEAD)(BOOST_PP_SEQ_TAIL(SEQ))
-
-#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C(R, _, ELEM) \
- (typename ELEM)
-#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL(SEQ) \
- BOOST_PP_SEQ_ENUM( \
- BOOST_PP_SEQ_FOR_EACH( \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C, \
- _, \
- BOOST_PP_SEQ_TAIL(SEQ)))
-#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(SEQ) \
- BOOST_PP_IF( \
- BOOST_PP_SEQ_HEAD(SEQ), \
- 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_TUPLE_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_TUPLE_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_TUPLE_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_TUPLE_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_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \
- typedef \
- BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_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) \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \
- > \
- struct tag_of< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) MODIFIER \
- , void \
- > \
- { \
- typedef TAG type; \
- };
-#else
-# define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \
- MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \
- > \
- struct tag_of<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) MODIFIER> \
- { \
- typedef TAG type; \
- };
-#endif
-
-#define BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL(R,DATA,I,ATTRIBUTE) \
- 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)
-
-#ifdef BOOST_MSVC
-# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAM(R,_,ELEM) \
- typedef ELEM ELEM;
-# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS_IMPL(SEQ) \
- BOOST_PP_SEQ_FOR_EACH( \
- BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAM, \
- _, \
- BOOST_PP_SEQ_TAIL(SEQ))
-# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS(SEQ) \
- BOOST_PP_IF( \
- BOOST_PP_SEQ_HEAD(SEQ), \
- BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS_IMPL, \
- BOOST_PP_TUPLE_EAT(1))(SEQ)
-#else
-# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS(SEQ)
-#endif
-
-#define BOOST_FUSION_ADAPT_STRUCT_C_BASE( \
- TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW, \
- I,PREFIX,ATTRIBUTE,ATTRIBUTE_TUPLE_SIZE, \
- DEDUCE_TYPE) \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \
- > \
- struct access::struct_member< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \
- , I \
- > \
- { \
- BOOST_PP_IF(DEDUCE_TYPE, \
- BOOST_FUSION_ATTRIBUTE_TYPEOF, BOOST_FUSION_ATTRIBUTE_GIVENTYPE)( \
- NAME_SEQ, \
- ATTRIBUTE, \
- ATTRIBUTE_TUPLE_SIZE, \
- PREFIX, \
- TEMPLATE_PARAMS_SEQ) \
- \
- BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \
- TEMPLATE_PARAMS_SEQ) \
- \
- typedef attribute_type type; \
- \
- template<typename Seq> \
- struct apply \
- { \
- typedef typename \
- add_reference< \
- typename mpl::eval_if< \
- is_const<Seq> \
- , add_const<attribute_type> \
- , mpl::identity<attribute_type> \
- >::type \
- >::type \
- type; \
- \
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
- static type \
- call(Seq& seq) \
- { \
- return seq.PREFIX() \
- BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \
- BOOST_PP_NOT(DEDUCE_TYPE), ATTRIBUTE); \
- } \
- }; \
- }; \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \
- > \
- struct struct_member_name< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \
- , I \
- > \
- { \
- typedef char const* type; \
- \
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \
- static type \
- call() \
- { \
- return BOOST_PP_STRINGIZE( \
- BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \
- BOOST_PP_NOT(DEDUCE_TYPE), ATTRIBUTE)); \
- } \
- };
-
-#define BOOST_FUSION_ADAPT_STRUCT_BASE( \
- TEMPLATE_PARAMS_SEQ, \
- NAME_SEQ, \
- TAG, \
- IS_VIEW, \
- ATTRIBUTES_SEQ, \
- ATTRIBUTES_CALLBACK) \
- \
-namespace boost \
-{ \
- namespace fusion \
- { \
- namespace traits \
- { \
- BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \
- BOOST_PP_EMPTY(), TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \
- BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \
- const, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \
- } \
- \
- namespace extension \
- { \
- BOOST_PP_IF( \
- BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \
- BOOST_PP_SEQ_FOR_EACH_I_R, \
- BOOST_PP_TUPLE_EAT(4))( \
- 1, \
- BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL, \
- (ATTRIBUTES_CALLBACK,TEMPLATE_PARAMS_SEQ,NAME_SEQ, IS_VIEW),\
- BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ)) \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
- TEMPLATE_PARAMS_SEQ) \
- > \
- struct struct_size<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)> \
- : mpl::int_<BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ))> \
- {}; \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
- TEMPLATE_PARAMS_SEQ) \
- > \
- struct struct_is_view< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \
- > \
- : mpl::BOOST_PP_IIF(IS_VIEW,true_,false_) \
- {}; \
- } \
- } \
- \
- namespace mpl \
- { \
- template<typename> \
- struct sequence_tag; \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
- TEMPLATE_PARAMS_SEQ) \
- > \
- struct sequence_tag<BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)> \
- { \
- typedef fusion::fusion_sequence_tag type; \
- }; \
- \
- template< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \
- TEMPLATE_PARAMS_SEQ) \
- > \
- struct sequence_tag< \
- BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const \
- > \
- { \
- typedef fusion::fusion_sequence_tag type; \
- }; \
- } \
-}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp
deleted file mode 100644
index 3755bc3679..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/*=============================================================================
- 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 <boost/config.hpp>
-
-#include <boost/fusion/adapted/struct/detail/adapt_auto.hpp>
-#include <boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp>
-
-#include <boost/mpl/aux_/preprocessor/token_equal.hpp>
-
-#include <boost/preprocessor/config/config.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/control/expr_iif.hpp>
-#include <boost/preprocessor/logical/compl.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/preprocessor/seq/for_each.hpp>
-#include <boost/preprocessor/seq/push_front.hpp>
-#include <boost/preprocessor/facilities/expand.hpp>
-#include <boost/preprocessor/facilities/is_empty.hpp>
-
-
-#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_IIF(BOOST_MPL_PP_TOKEN_EQUAL(auto, BOOST_PP_EXPAND(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_IIF(BOOST_FUSION_PP_IS_SEQ(elem), \
- BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 elem ,_END), \
- BOOST_PP_EXPR_IIF(BOOST_PP_COMPL(BOOST_PP_IS_EMPTY(elem)), \
- BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(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/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp
deleted file mode 100644
index 8430262f8c..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-/*=============================================================================
- 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_IS_TPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_IS_TPL_HPP
-
-#include <boost/preprocessor/seq/seq.hpp>
-
-#define BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ) \
- BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ)
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/at_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/at_impl.hpp
deleted file mode 100644
index 52ed847d6e..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/at_impl.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the 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_AT_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/mpl/int.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct at_impl;
-
- template <>
- struct at_impl<struct_tag>
- {
- template <typename Seq, typename N>
- struct apply
- : access::struct_member<
- typename remove_const<Seq>::type
- , N::value
- >::template apply<Seq>
- {};
- };
-
- template <>
- struct at_impl<assoc_struct_tag>
- : at_impl<struct_tag>
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/begin_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/begin_impl.hpp
deleted file mode 100644
index f67df3a724..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/begin_impl.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the 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_BEGIN_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/iterator/basic_iterator.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct begin_impl;
-
- template <>
- struct begin_impl<struct_tag>
- {
- template <typename Seq>
- struct apply
- {
- typedef
- basic_iterator<
- struct_iterator_tag
- , random_access_traversal_tag
- , Seq
- , 0
- >
- type;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- call(Seq& seq)
- {
- return type(seq,0);
- }
- };
- };
-
- template <>
- struct begin_impl<assoc_struct_tag>
- {
- template <typename Seq>
- struct apply
- {
- typedef
- basic_iterator<
- struct_iterator_tag
- , assoc_struct_category
- , Seq
- , 0
- >
- type;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- call(Seq& seq)
- {
- return type(seq,0);
- }
- };
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp
deleted file mode 100644
index b98e824202..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the 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_CATEGORY_OF_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP
-
-namespace boost { namespace fusion
-{
- namespace extension
- {
- template<typename>
- struct category_of_impl;
-
- template<>
- struct category_of_impl<struct_tag>
- {
- template<typename Seq>
- struct apply
- {
- typedef random_access_traversal_tag type;
- };
- };
-
- template<>
- struct category_of_impl<assoc_struct_tag>
- {
- template<typename Seq>
- struct apply
- {
- typedef assoc_struct_category type;
- };
- };
- }
-}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/deref_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/deref_impl.hpp
deleted file mode 100644
index c53b51a320..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/deref_impl.hpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the 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_DEREF_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_IMPL_HPP
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct deref_impl;
-
- template <>
- struct deref_impl<struct_iterator_tag>
- {
- template <typename It>
- struct apply
- {
- typedef typename
- access::struct_member<
- typename remove_const<typename It::seq_type>::type
- , It::index::value
- >::template apply<typename It::seq_type>
- impl;
-
- typedef typename impl::type type;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- call(It const& it)
- {
- return impl::call(*it.seq);
- }
- };
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/end_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/end_impl.hpp
deleted file mode 100644
index 855be7a4ee..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/end_impl.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the 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_END_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/iterator/basic_iterator.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct end_impl;
-
- template <>
- struct end_impl<struct_tag>
- {
- template <typename Seq>
- struct apply
- {
- typedef
- basic_iterator<
- struct_iterator_tag
- , random_access_traversal_tag
- , Seq
- , struct_size<typename remove_const<Seq>::type>::value
- >
- type;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- call(Seq& seq)
- {
- return type(seq,0);
- }
- };
- };
-
- template <>
- struct end_impl<assoc_struct_tag>
- {
- template <typename Seq>
- struct apply
- {
- typedef
- basic_iterator<
- struct_iterator_tag
- , assoc_struct_category
- , Seq
- , struct_size<typename remove_const<Seq>::type>::value
- >
- type;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- call(Seq& seq)
- {
- return type(seq,0);
- }
- };
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/extension.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/extension.hpp
deleted file mode 100644
index e63a0a4535..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/extension.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the 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_EXTENSION_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/support/category_of.hpp>
-
-namespace boost { namespace fusion
-{
- struct struct_tag;
- struct struct_iterator_tag;
- struct assoc_struct_tag;
- struct fusion_sequence_tag;
-
- struct assoc_struct_category
- : random_access_traversal_tag, associative_tag
- {};
-
- namespace extension
- {
- struct no_such_member;
-
- struct access
- {
- template<typename Seq, int N>
- struct struct_member;
-
- template<typename Seq, int N>
- struct adt_attribute_access;
- };
-
- template <typename T, int N, bool Const>
- struct adt_attribute_proxy;
-
- template<typename Seq, int N>
- struct struct_member_name;
-
- template<typename Seq>
- struct struct_size;
-
- template<typename Seq>
- struct struct_is_view;
-
- template<typename Seq, int N>
- struct struct_assoc_key;
-
- }
-}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp
deleted file mode 100644
index afcbe5ba44..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the 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_IS_SEQUENCE_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct is_sequence_impl;
-
- template<>
- struct is_sequence_impl<struct_tag>
- {
- template<typename Seq>
- struct apply
- : mpl::true_
- {};
- };
-
- template <>
- struct is_sequence_impl<assoc_struct_tag>
- : is_sequence_impl<struct_tag>
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/is_view_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/is_view_impl.hpp
deleted file mode 100644
index 71d284077c..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/is_view_impl.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the 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_IS_VIEW_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct is_view_impl;
-
- template<>
- struct is_view_impl<struct_tag>
- {
- template<typename Seq>
- struct apply
- : struct_is_view<typename remove_const<Seq>::type>
- {};
- };
-
- template <>
- struct is_view_impl<assoc_struct_tag>
- : is_view_impl<struct_tag>
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp
deleted file mode 100644
index 00371ca5b8..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*=============================================================================
- 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 <boost/preprocessor/punctuation/paren.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/config/config.hpp>
-
-#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/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/size_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/size_impl.hpp
deleted file mode 100644
index baf411bd00..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/size_impl.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the 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_SIZE_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_SIZE_IMPL_HPP
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct size_impl;
-
- template <>
- struct size_impl<struct_tag>
- {
- template <typename Seq>
- struct apply
- : struct_size<typename remove_const<Seq>::type>
- {};
- };
-
- template <>
- struct size_impl<assoc_struct_tag>
- : size_impl<struct_tag>
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/value_at_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/value_at_impl.hpp
deleted file mode 100644
index f820475324..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/value_at_impl.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the 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_VALUE_AT_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_AT_IMPL_HPP
-
-namespace boost { namespace fusion { namespace extension
-{
- template<typename>
- struct value_at_impl;
-
- template <>
- struct value_at_impl<struct_tag>
- {
- template <typename Seq, typename N>
- struct apply
- : access::struct_member<typename remove_const<Seq>::type, N::value>
- {};
- };
-
- template <>
- struct value_at_impl<assoc_struct_tag>
- : value_at_impl<struct_tag>
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/value_of_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/value_of_impl.hpp
deleted file mode 100644
index 63dcbe52ff..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/adapted/struct/detail/value_of_impl.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009-2010 Christopher Schmidt
-
- Distributed under the 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_VALUE_OF_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_IMPL_HPP
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct value_of_impl;
-
- template <>
- struct value_of_impl<struct_iterator_tag>
- {
- template <typename It>
- struct apply
- : access::struct_member<
- typename remove_const<typename It::seq_type>::type
- , It::index::value
- >
- {};
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/algorithm/auxiliary/copy.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/algorithm/auxiliary/copy.hpp
deleted file mode 100644
index ec240bae65..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/algorithm/auxiliary/copy.hpp
+++ /dev/null
@@ -1,91 +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)
-==============================================================================*/
-#if !defined(FUSION_COPY_02162011_2308)
-#define FUSION_COPY_02162011_2308
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/comparison/detail/equal_to.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/config.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/and.hpp>
-
-#if defined (BOOST_MSVC)
-# pragma warning(push)
-# pragma warning (disable: 4100) // unreferenced formal parameter
-#endif
-
-namespace boost { namespace fusion
-{
- namespace detail
- {
- template <typename Seq1, typename Seq2>
- struct sequence_copy
- {
- typedef typename result_of::end<Seq1>::type end1_type;
- typedef typename result_of::end<Seq2>::type end2_type;
-
- template <typename I1, typename I2>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static void
- call(I1 const&, I2 const&, mpl::true_)
- {
- }
-
- template <typename I1, typename I2>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static void
- call(I1 const& src, I2 const& dest, mpl::false_)
- {
- *dest = *src;
- call(fusion::next(src), fusion::next(dest));
- }
-
- template <typename I1, typename I2>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static void
- call(I1 const& src, I2 const& dest)
- {
- typename result_of::equal_to<I1, end1_type>::type eq;
- return call(src, dest, eq);
- }
- };
- }
-
- namespace result_of
- {
- template <typename Seq1, typename Seq2>
- struct copy
- : enable_if<mpl::and_<
- traits::is_sequence<Seq1>,
- traits::is_sequence<Seq2>
- > > {};
- }
-
- template <typename Seq1, typename Seq2>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline typename result_of::copy<Seq1 const, Seq2>::type
- copy(Seq1 const& src, Seq2& dest)
- {
- BOOST_STATIC_ASSERT(
- result_of::size<Seq1>::value <= result_of::size<Seq2>::value);
-
- detail::sequence_copy<
- Seq1 const, Seq2>::
- call(fusion::begin(src), fusion::begin(dest));
- }
-}}
-
-#if defined (BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/algorithm/transformation/filter_if.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/algorithm/transformation/filter_if.hpp
deleted file mode 100644
index ca28e0e8aa..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/algorithm/transformation/filter_if.hpp
+++ /dev/null
@@ -1,34 +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)
-==============================================================================*/
-#if !defined(FUSION_FILTER_IF_07172005_0818)
-#define FUSION_FILTER_IF_07172005_0818
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/view/filter_view/filter_view.hpp>
-
-namespace boost { namespace fusion
-{
- namespace result_of
- {
- template <typename Sequence, typename Pred>
- struct filter_if
- {
- typedef filter_view<Sequence, Pred> type;
- };
- }
-
- template <typename Pred, typename Sequence>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline typename result_of::filter_if<Sequence const, Pred>::type
- filter_if(Sequence const& seq)
- {
- return filter_view<Sequence const, Pred>(seq);
- }
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/pp_make_vector.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/pp_make_vector.hpp
deleted file mode 100644
index b19cf35457..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/pp_make_vector.hpp
+++ /dev/null
@@ -1,115 +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)
-==============================================================================*/
-#ifndef BOOST_PP_IS_ITERATING
-#if !defined(FUSION_MAKE_VECTOR_07162005_0243)
-#define FUSION_MAKE_VECTOR_07162005_0243
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/fusion/container/vector/vector.hpp>
-#include <boost/fusion/support/detail/as_fusion_element.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/generation/detail/preprocessed/make_vector.hpp>
-#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<BOOST_PP_CAT(T, n)>::type
-
-#define BOOST_PP_FILENAME_1 <boost/fusion/container/generation/detail/pp_make_vector.hpp>
-#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 <BOOST_PP_ENUM_PARAMS(N, typename T)>
- #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)<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)> type;
- };
- }
-
- template <BOOST_PP_ENUM_PARAMS(N, typename T)>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>
- make_vector(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg))
- {
- return BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>(
- BOOST_PP_ENUM_PARAMS(N, arg));
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
-
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp
deleted file mode 100644
index 43e3db4d93..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp
+++ /dev/null
@@ -1,22 +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!
-==============================================================================*/
-
-#if FUSION_MAX_VECTOR_SIZE <= 10
-#include <boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 20
-#include <boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 30
-#include <boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 40
-#include <boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp>
-#elif FUSION_MAX_VECTOR_SIZE <= 50
-#include <boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp>
-#else
-#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers"
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp
deleted file mode 100644
index c38c78f03c..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp
+++ /dev/null
@@ -1,191 +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_;
- namespace result_of
- {
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = 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<>();
- }
- namespace result_of
- {
- template <typename T0>
- struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector1<typename detail::as_fusion_element<T0>::type> type;
- };
- }
- template <typename T0>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector1<typename detail::as_fusion_element<T0>::type>
- make_vector(T0 const& arg0)
- {
- return vector1<typename detail::as_fusion_element<T0>::type>(
- arg0);
- }
- namespace result_of
- {
- template <typename T0 , typename T1>
- struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type> type;
- };
- }
- template <typename T0 , typename T1>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>
- make_vector(T0 const& arg0 , T1 const& arg1)
- {
- return vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>(
- arg0 , arg1);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2>
- struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2)
- {
- return vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>(
- arg0 , arg1 , arg2);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3)
- {
- return vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>(
- arg0 , arg1 , arg2 , arg3);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4)
- {
- return vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5)
- {
- return vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ >
- {
- typedef vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ >
- {
- typedef vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ >
- {
- typedef vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ >
- {
- typedef vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9);
- }
-}}
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp
deleted file mode 100644
index 37e304877d..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp
+++ /dev/null
@@ -1,351 +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_;
- namespace result_of
- {
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = 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<>();
- }
- namespace result_of
- {
- template <typename T0>
- struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector1<typename detail::as_fusion_element<T0>::type> type;
- };
- }
- template <typename T0>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector1<typename detail::as_fusion_element<T0>::type>
- make_vector(T0 const& arg0)
- {
- return vector1<typename detail::as_fusion_element<T0>::type>(
- arg0);
- }
- namespace result_of
- {
- template <typename T0 , typename T1>
- struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type> type;
- };
- }
- template <typename T0 , typename T1>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>
- make_vector(T0 const& arg0 , T1 const& arg1)
- {
- return vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>(
- arg0 , arg1);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2>
- struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2)
- {
- return vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>(
- arg0 , arg1 , arg2);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3)
- {
- return vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>(
- arg0 , arg1 , arg2 , arg3);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4)
- {
- return vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5)
- {
- return vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector11<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector11<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector12<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector12<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector13<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector13<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector14<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector14<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector15<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector15<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector16<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector16<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ >
- {
- typedef vector17<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector17<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ >
- {
- typedef vector18<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector18<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ >
- {
- typedef vector19<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector19<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ >
- {
- typedef vector20<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector20<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19);
- }
-}}
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp
deleted file mode 100644
index d63fd0908e..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp
+++ /dev/null
@@ -1,511 +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_;
- namespace result_of
- {
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = 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<>();
- }
- namespace result_of
- {
- template <typename T0>
- struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector1<typename detail::as_fusion_element<T0>::type> type;
- };
- }
- template <typename T0>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector1<typename detail::as_fusion_element<T0>::type>
- make_vector(T0 const& arg0)
- {
- return vector1<typename detail::as_fusion_element<T0>::type>(
- arg0);
- }
- namespace result_of
- {
- template <typename T0 , typename T1>
- struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type> type;
- };
- }
- template <typename T0 , typename T1>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>
- make_vector(T0 const& arg0 , T1 const& arg1)
- {
- return vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>(
- arg0 , arg1);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2>
- struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2)
- {
- return vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>(
- arg0 , arg1 , arg2);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3)
- {
- return vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>(
- arg0 , arg1 , arg2 , arg3);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4)
- {
- return vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5)
- {
- return vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector11<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector11<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector12<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector12<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector13<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector13<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector14<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector14<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector15<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector15<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector16<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector16<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector17<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector17<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector18<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector18<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector19<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector19<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector20<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector20<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector21<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector21<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector22<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector22<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type>(
- 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
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector23<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector23<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type>(
- 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
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector24<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector24<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector25<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector25<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- struct make_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 , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector26<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector26<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- struct make_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 , void_ , void_ , void_ , void_ >
- {
- typedef vector27<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector27<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- struct make_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 , void_ , void_ , void_ >
- {
- typedef vector28<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector28<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- struct make_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 , void_ , void_ >
- {
- typedef vector29<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector29<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct make_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 , void_ >
- {
- typedef vector30<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector30<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::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);
- }
-}}
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp
deleted file mode 100644
index 491de951f1..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp
+++ /dev/null
@@ -1,671 +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_;
- namespace result_of
- {
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = 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<>();
- }
- namespace result_of
- {
- template <typename T0>
- struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector1<typename detail::as_fusion_element<T0>::type> type;
- };
- }
- template <typename T0>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector1<typename detail::as_fusion_element<T0>::type>
- make_vector(T0 const& arg0)
- {
- return vector1<typename detail::as_fusion_element<T0>::type>(
- arg0);
- }
- namespace result_of
- {
- template <typename T0 , typename T1>
- struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type> type;
- };
- }
- template <typename T0 , typename T1>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>
- make_vector(T0 const& arg0 , T1 const& arg1)
- {
- return vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>(
- arg0 , arg1);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2>
- struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2)
- {
- return vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>(
- arg0 , arg1 , arg2);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3)
- {
- return vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>(
- arg0 , arg1 , arg2 , arg3);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4)
- {
- return vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5)
- {
- return vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector11<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector11<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector12<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector12<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector13<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector13<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector14<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector14<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector15<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector15<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector16<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector16<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector17<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector17<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector18<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector18<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector19<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector19<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector20<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector20<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector21<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector21<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector22<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector22<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type>(
- 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
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector23<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector23<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type>(
- 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
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector24<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector24<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector25<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector25<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector26<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector26<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector27<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector27<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector28<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector28<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector29<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector29<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector30<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector30<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector31<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector31<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector32<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector32<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector33<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector33<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector34<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector34<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector35<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector35<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35>
- struct make_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 , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector36<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector36<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36>
- struct make_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 , void_ , void_ , void_ , void_ >
- {
- typedef vector37<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector37<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37>
- struct make_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 , void_ , void_ , void_ >
- {
- typedef vector38<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector38<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38>
- struct make_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 , void_ , void_ >
- {
- typedef vector39<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector39<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39>
- struct make_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 , void_ >
- {
- typedef vector40<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector40<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::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);
- }
-}}
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp
deleted file mode 100644
index d9074df316..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp
+++ /dev/null
@@ -1,831 +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_;
- namespace result_of
- {
- template <
- typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = 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<>();
- }
- namespace result_of
- {
- template <typename T0>
- struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector1<typename detail::as_fusion_element<T0>::type> type;
- };
- }
- template <typename T0>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector1<typename detail::as_fusion_element<T0>::type>
- make_vector(T0 const& arg0)
- {
- return vector1<typename detail::as_fusion_element<T0>::type>(
- arg0);
- }
- namespace result_of
- {
- template <typename T0 , typename T1>
- struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type> type;
- };
- }
- template <typename T0 , typename T1>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>
- make_vector(T0 const& arg0 , T1 const& arg1)
- {
- return vector2<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type>(
- arg0 , arg1);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2>
- struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2)
- {
- return vector3<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type>(
- arg0 , arg1 , arg2);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3>
- struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3)
- {
- return vector4<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type>(
- arg0 , arg1 , arg2 , arg3);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4)
- {
- return vector5<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>
- make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5)
- {
- return vector6<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector7<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector8<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector9<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector10<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector11<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector11<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector12<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector12<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector13<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector13<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector14<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector14<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector15<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector15<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector16<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector16<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector17<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector17<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector18<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector18<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector19<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector19<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector20<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector20<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector21<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector21<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type>(
- arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector22<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector22<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type>(
- 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
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector23<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector23<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type>(
- 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
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector24<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector24<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector25<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector25<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector26<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector26<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector27<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector27<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector28<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector28<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector29<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector29<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector30<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector30<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector31<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector31<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector32<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector32<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector33<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector33<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector34<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector34<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector35<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector35<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector36<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector36<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector37<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector37<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector38<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector38<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector39<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector39<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector40<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector40<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector41<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector41<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector42<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector42<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector43<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector43<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector44<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector44<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44>
- struct make_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 , void_ , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector45<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector45<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45>
- struct make_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 , void_ , void_ , void_ , void_ , void_ >
- {
- typedef vector46<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector46<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46>
- struct make_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 , void_ , void_ , void_ , void_ >
- {
- typedef vector47<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector47<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47>
- struct make_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 , void_ , void_ , void_ >
- {
- typedef vector48<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::type , typename detail::as_fusion_element<T47>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector48<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::type , typename detail::as_fusion_element<T47>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::type , typename detail::as_fusion_element<T47>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48>
- struct make_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 , void_ , void_ >
- {
- typedef vector49<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::type , typename detail::as_fusion_element<T47>::type , typename detail::as_fusion_element<T48>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector49<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::type , typename detail::as_fusion_element<T47>::type , typename detail::as_fusion_element<T48>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::type , typename detail::as_fusion_element<T47>::type , typename detail::as_fusion_element<T48>::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);
- }
- namespace result_of
- {
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49>
- struct make_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 , void_ >
- {
- typedef vector50<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::type , typename detail::as_fusion_element<T47>::type , typename detail::as_fusion_element<T48>::type , typename detail::as_fusion_element<T49>::type> type;
- };
- }
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline vector50<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::type , typename detail::as_fusion_element<T47>::type , typename detail::as_fusion_element<T48>::type , typename detail::as_fusion_element<T49>::type>
- 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<typename detail::as_fusion_element<T0>::type , typename detail::as_fusion_element<T1>::type , typename detail::as_fusion_element<T2>::type , typename detail::as_fusion_element<T3>::type , typename detail::as_fusion_element<T4>::type , typename detail::as_fusion_element<T5>::type , typename detail::as_fusion_element<T6>::type , typename detail::as_fusion_element<T7>::type , typename detail::as_fusion_element<T8>::type , typename detail::as_fusion_element<T9>::type , typename detail::as_fusion_element<T10>::type , typename detail::as_fusion_element<T11>::type , typename detail::as_fusion_element<T12>::type , typename detail::as_fusion_element<T13>::type , typename detail::as_fusion_element<T14>::type , typename detail::as_fusion_element<T15>::type , typename detail::as_fusion_element<T16>::type , typename detail::as_fusion_element<T17>::type , typename detail::as_fusion_element<T18>::type , typename detail::as_fusion_element<T19>::type , typename detail::as_fusion_element<T20>::type , typename detail::as_fusion_element<T21>::type , typename detail::as_fusion_element<T22>::type , typename detail::as_fusion_element<T23>::type , typename detail::as_fusion_element<T24>::type , typename detail::as_fusion_element<T25>::type , typename detail::as_fusion_element<T26>::type , typename detail::as_fusion_element<T27>::type , typename detail::as_fusion_element<T28>::type , typename detail::as_fusion_element<T29>::type , typename detail::as_fusion_element<T30>::type , typename detail::as_fusion_element<T31>::type , typename detail::as_fusion_element<T32>::type , typename detail::as_fusion_element<T33>::type , typename detail::as_fusion_element<T34>::type , typename detail::as_fusion_element<T35>::type , typename detail::as_fusion_element<T36>::type , typename detail::as_fusion_element<T37>::type , typename detail::as_fusion_element<T38>::type , typename detail::as_fusion_element<T39>::type , typename detail::as_fusion_element<T40>::type , typename detail::as_fusion_element<T41>::type , typename detail::as_fusion_element<T42>::type , typename detail::as_fusion_element<T43>::type , typename detail::as_fusion_element<T44>::type , typename detail::as_fusion_element<T45>::type , typename detail::as_fusion_element<T46>::type , typename detail::as_fusion_element<T47>::type , typename detail::as_fusion_element<T48>::type , typename detail::as_fusion_element<T49>::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);
- }
-}}
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/make_vector.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/make_vector.hpp
deleted file mode 100644
index 4e4bcb2dec..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/generation/make_vector.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*=============================================================================
- 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)
-==============================================================================*/
-#ifndef FUSION_MAKE_VECTOR_11112014_2252
-#define FUSION_MAKE_VECTOR_11112014_2252
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/container/vector/vector.hpp>
-
-#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR)
-# include <boost/fusion/container/generation/detail/pp_make_vector.hpp>
-#else
-
-///////////////////////////////////////////////////////////////////////////////
-// C++11 variadic interface
-///////////////////////////////////////////////////////////////////////////////
-
-#include <boost/fusion/support/detail/as_fusion_element.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <utility>
-
-namespace boost { namespace fusion
-{
- namespace result_of
- {
- template <typename ...T>
- struct make_vector
- {
- typedef vector<
- typename detail::as_fusion_element<
- typename remove_const<
- typename remove_reference<T>::type
- >::type
- >::type...
- > type;
- };
- }
-
- template <typename ...T>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline typename result_of::make_vector<T...>::type
- make_vector(T&&... arg)
- {
- return typename result_of::make_vector<T...>::type(std::forward<T>(arg)...);
- }
- }}
-
-
-#endif
-#endif
-
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set.hpp
deleted file mode 100644
index c9aa6241c2..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set.hpp
+++ /dev/null
@@ -1,15 +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)
-==============================================================================*/
-#if !defined(FUSION_SEQUENCE_CLASS_SET_10022005_0607)
-#define FUSION_SEQUENCE_CLASS_SET_10022005_0607
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/container/set/set.hpp>
-#include <boost/fusion/container/set/set_fwd.hpp>
-#include <boost/fusion/container/set/convert.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/convert.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/convert.hpp
deleted file mode 100644
index 81e064cdaa..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/convert.hpp
+++ /dev/null
@@ -1,50 +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)
-==============================================================================*/
-#if !defined(FUSION_CONVERT_09232005_1341)
-#define FUSION_CONVERT_09232005_1341
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/container/set/detail/as_set.hpp>
-#include <boost/fusion/container/set/detail/convert_impl.hpp>
-#include <boost/fusion/container/set/set.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-
-namespace boost { namespace fusion
-{
- namespace result_of
- {
- template <typename Sequence>
- struct as_set
- {
- typedef typename detail::as_set<result_of::size<Sequence>::value> gen;
- typedef typename gen::
- template apply<typename result_of::begin<Sequence>::type>::type
- type;
- };
- }
-
- template <typename Sequence>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline typename result_of::as_set<Sequence>::type
- as_set(Sequence& seq)
- {
- typedef typename result_of::as_set<Sequence>::gen gen;
- return gen::call(fusion::begin(seq));
- }
-
- template <typename Sequence>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline typename result_of::as_set<Sequence const>::type
- as_set(Sequence const& seq)
- {
- typedef typename result_of::as_set<Sequence const>::gen gen;
- return gen::call(fusion::begin(seq));
- }
-}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/as_set.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/as_set.hpp
deleted file mode 100644
index 9d33325818..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/as_set.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*=============================================================================
- 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)
-==============================================================================*/
-#ifndef FUSION_AS_SET_11062014_2121
-#define FUSION_AS_SET_11062014_2121
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/container/set/set_fwd.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-// Without variadics, we will use the PP version
-///////////////////////////////////////////////////////////////////////////////
-#if !defined(BOOST_FUSION_HAS_VARIADIC_SET)
-# include <boost/fusion/container/set/detail/cpp03/as_set.hpp>
-#else
-
-///////////////////////////////////////////////////////////////////////////////
-// C++11 interface
-///////////////////////////////////////////////////////////////////////////////
-#include <boost/fusion/support/detail/index_sequence.hpp>
-#include <boost/fusion/container/set/set.hpp>
-#include <boost/fusion/iterator/value_of.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/advance.hpp>
-#include <cstddef>
-
-namespace boost { namespace fusion { namespace detail
-{
-BOOST_FUSION_BARRIER_BEGIN
-
- template <int size
- , typename = typename detail::make_index_sequence<size>::type>
- struct as_set;
-
- template <int size, std::size_t ...Indices>
- struct as_set<size, detail::index_sequence<Indices...> >
- {
- template <typename I>
- struct apply
- {
- typedef set<
- typename result_of::value_of<
- typename result_of::advance_c<I, Indices>::type
- >::type...
- > type;
- };
-
- template <typename Iterator>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- return result(*advance_c<Indices>(i)...);
- }
- };
-
-BOOST_FUSION_BARRIER_END
-}}}
-
-#endif
-#endif
-
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/begin_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/begin_impl.hpp
deleted file mode 100644
index 1ebd4e465e..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/begin_impl.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2009 Christopher Schmidt
-
- Distributed under the 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_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/iterator/basic_iterator.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct begin_impl;
-
- template <>
- struct begin_impl<set_tag>
- {
- template <typename Seq>
- struct apply
- {
- typedef
- basic_iterator<
- set_iterator_tag
- , typename Seq::category
- , Seq
- , 0
- >
- type;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- call(Seq& seq)
- {
- return type(seq,0);
- }
- };
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/convert_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/convert_impl.hpp
deleted file mode 100644
index 0b4cb22f32..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/convert_impl.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
-
- Distributed under the 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_CONVERT_IMPL_09232005_1341)
-#define FUSION_CONVERT_IMPL_09232005_1341
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/container/set/detail/as_set.hpp>
-#include <boost/fusion/container/set/set.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-
-namespace boost { namespace fusion
-{
- struct set_tag;
-
- namespace extension
- {
- template <typename T>
- struct convert_impl;
-
- template <>
- struct convert_impl<set_tag>
- {
- template <typename Sequence>
- struct apply
- {
- typedef detail::as_set<result_of::size<Sequence>::value> gen;
- typedef typename gen::
- template apply<typename result_of::begin<Sequence>::type>::type
- type;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type call(Sequence& seq)
- {
- return gen::call(fusion::begin(seq));
- }
- };
- };
- }
-}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/as_set.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/as_set.hpp
deleted file mode 100644
index ec73a15800..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/as_set.hpp
+++ /dev/null
@@ -1,145 +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)
-==============================================================================*/
-#ifndef BOOST_PP_IS_ITERATING
-#if !defined(FUSION_AS_SET_0932005_1341)
-#define FUSION_AS_SET_0932005_1341
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/inc.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/fusion/container/set/set.hpp>
-#include <boost/fusion/iterator/value_of.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/next.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
-BOOST_FUSION_BARRIER_BEGIN
-
- template <int size>
- struct as_set
- {
- BOOST_STATIC_ASSERT_MSG(
- size <= FUSION_MAX_SET_SIZE
- , "FUSION_MAX_SET_SIZE limit is too low"
- );
- };
-
- template <>
- struct as_set<0>
- {
- template <typename Iterator>
- struct apply
- {
- typedef set<> type;
- };
-
- template <typename Iterator>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator)
- {
- return set<>();
- }
- };
-
-BOOST_FUSION_BARRIER_END
-}}}
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp>
-#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<BOOST_PP_CAT(I, n)>::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<BOOST_PP_CAT(I, n)>::type \
- BOOST_PP_CAT(T, n);
-
-#define BOOST_PP_FILENAME_1 <boost/fusion/container/set/detail/cpp03/as_set.hpp>
-#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<N>
- {
- template <typename I0>
- struct apply
- {
- BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _)
- BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _)
- typedef set<BOOST_PP_ENUM_PARAMS(N, T)> type;
- };
-
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> 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/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp
deleted file mode 100644
index da257ad900..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp
+++ /dev/null
@@ -1,22 +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!
-==============================================================================*/
-
-#if FUSION_MAX_SET_SIZE <= 10
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp>
-#elif FUSION_MAX_SET_SIZE <= 20
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp>
-#elif FUSION_MAX_SET_SIZE <= 30
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp>
-#elif FUSION_MAX_SET_SIZE <= 40
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp>
-#elif FUSION_MAX_SET_SIZE <= 50
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp>
-#else
-#error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers"
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp
deleted file mode 100644
index 019b0b7970..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp
+++ /dev/null
@@ -1,223 +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
-{
-BOOST_FUSION_BARRIER_BEGIN
- template <>
- struct as_set<1>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1;
- typedef typename fusion::result_of::value_of<I0>::type T0;
- typedef set<T0> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
-
- return result(*i0);
- }
- };
- template <>
- struct as_set<2>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1;
- typedef set<T0 , T1> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0);
- return result(*i0 , *i1);
- }
- };
- template <>
- struct as_set<3>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2;
- typedef set<T0 , T1 , T2> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1);
- return result(*i0 , *i1 , *i2);
- }
- };
- template <>
- struct as_set<4>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3;
- typedef set<T0 , T1 , T2 , T3> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2);
- return result(*i0 , *i1 , *i2 , *i3);
- }
- };
- template <>
- struct as_set<5>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4;
- typedef set<T0 , T1 , T2 , T3 , T4> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3);
- return result(*i0 , *i1 , *i2 , *i3 , *i4);
- }
- };
- template <>
- struct as_set<6>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5);
- }
- };
- template <>
- struct as_set<7>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6);
- }
- };
- template <>
- struct as_set<8>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7);
- }
- };
- template <>
- struct as_set<9>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8);
- }
- };
- template <>
- struct as_set<10>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9);
- }
- };
-BOOST_FUSION_BARRIER_END
-}}}
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp
deleted file mode 100644
index 8299b60794..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp
+++ /dev/null
@@ -1,433 +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
-{
-BOOST_FUSION_BARRIER_BEGIN
- template <>
- struct as_set<1>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1;
- typedef typename fusion::result_of::value_of<I0>::type T0;
- typedef set<T0> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
-
- return result(*i0);
- }
- };
- template <>
- struct as_set<2>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1;
- typedef set<T0 , T1> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0);
- return result(*i0 , *i1);
- }
- };
- template <>
- struct as_set<3>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2;
- typedef set<T0 , T1 , T2> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1);
- return result(*i0 , *i1 , *i2);
- }
- };
- template <>
- struct as_set<4>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3;
- typedef set<T0 , T1 , T2 , T3> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2);
- return result(*i0 , *i1 , *i2 , *i3);
- }
- };
- template <>
- struct as_set<5>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4;
- typedef set<T0 , T1 , T2 , T3 , T4> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3);
- return result(*i0 , *i1 , *i2 , *i3 , *i4);
- }
- };
- template <>
- struct as_set<6>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5);
- }
- };
- template <>
- struct as_set<7>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6);
- }
- };
- template <>
- struct as_set<8>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7);
- }
- };
- template <>
- struct as_set<9>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8);
- }
- };
- template <>
- struct as_set<10>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9);
- }
- };
- template <>
- struct as_set<11>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10);
- }
- };
- template <>
- struct as_set<12>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11);
- }
- };
- template <>
- struct as_set<13>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12);
- }
- };
- template <>
- struct as_set<14>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13);
- }
- };
- template <>
- struct as_set<15>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14);
- }
- };
- template <>
- struct as_set<16>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15);
- }
- };
- template <>
- struct as_set<17>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16);
- }
- };
- template <>
- struct as_set<18>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17);
- }
- };
- template <>
- struct as_set<19>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18);
- }
- };
- template <>
- struct as_set<20>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18);
- 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/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp
deleted file mode 100644
index b8f8adb7a2..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp
+++ /dev/null
@@ -1,643 +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
-{
-BOOST_FUSION_BARRIER_BEGIN
- template <>
- struct as_set<1>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1;
- typedef typename fusion::result_of::value_of<I0>::type T0;
- typedef set<T0> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
-
- return result(*i0);
- }
- };
- template <>
- struct as_set<2>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1;
- typedef set<T0 , T1> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0);
- return result(*i0 , *i1);
- }
- };
- template <>
- struct as_set<3>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2;
- typedef set<T0 , T1 , T2> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1);
- return result(*i0 , *i1 , *i2);
- }
- };
- template <>
- struct as_set<4>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3;
- typedef set<T0 , T1 , T2 , T3> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2);
- return result(*i0 , *i1 , *i2 , *i3);
- }
- };
- template <>
- struct as_set<5>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4;
- typedef set<T0 , T1 , T2 , T3 , T4> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3);
- return result(*i0 , *i1 , *i2 , *i3 , *i4);
- }
- };
- template <>
- struct as_set<6>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5);
- }
- };
- template <>
- struct as_set<7>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6);
- }
- };
- template <>
- struct as_set<8>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7);
- }
- };
- template <>
- struct as_set<9>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8);
- }
- };
- template <>
- struct as_set<10>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9);
- }
- };
- template <>
- struct as_set<11>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10);
- }
- };
- template <>
- struct as_set<12>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11);
- }
- };
- template <>
- struct as_set<13>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12);
- }
- };
- template <>
- struct as_set<14>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13);
- }
- };
- template <>
- struct as_set<15>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14);
- }
- };
- template <>
- struct as_set<16>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15);
- }
- };
- template <>
- struct as_set<17>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16);
- }
- };
- template <>
- struct as_set<18>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17);
- }
- };
- template <>
- struct as_set<19>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18);
- }
- };
- template <>
- struct as_set<20>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19);
- }
- };
- template <>
- struct as_set<21>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20);
- }
- };
- template <>
- struct as_set<22>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21);
- }
- };
- template <>
- struct as_set<23>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21);
- 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);
- }
- };
- template <>
- struct as_set<24>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22);
- 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);
- }
- };
- template <>
- struct as_set<25>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23);
- 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);
- }
- };
- template <>
- struct as_set<26>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24);
- 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);
- }
- };
- template <>
- struct as_set<27>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25);
- 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);
- }
- };
- template <>
- struct as_set<28>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26);
- 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);
- }
- };
- template <>
- struct as_set<29>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27);
- 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);
- }
- };
- template <>
- struct as_set<30>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29;
- typedef set<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;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28);
- 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/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp
deleted file mode 100644
index de5091f8c3..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp
+++ /dev/null
@@ -1,853 +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
-{
-BOOST_FUSION_BARRIER_BEGIN
- template <>
- struct as_set<1>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1;
- typedef typename fusion::result_of::value_of<I0>::type T0;
- typedef set<T0> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
-
- return result(*i0);
- }
- };
- template <>
- struct as_set<2>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1;
- typedef set<T0 , T1> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0);
- return result(*i0 , *i1);
- }
- };
- template <>
- struct as_set<3>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2;
- typedef set<T0 , T1 , T2> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1);
- return result(*i0 , *i1 , *i2);
- }
- };
- template <>
- struct as_set<4>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3;
- typedef set<T0 , T1 , T2 , T3> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2);
- return result(*i0 , *i1 , *i2 , *i3);
- }
- };
- template <>
- struct as_set<5>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4;
- typedef set<T0 , T1 , T2 , T3 , T4> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3);
- return result(*i0 , *i1 , *i2 , *i3 , *i4);
- }
- };
- template <>
- struct as_set<6>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5);
- }
- };
- template <>
- struct as_set<7>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6);
- }
- };
- template <>
- struct as_set<8>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7);
- }
- };
- template <>
- struct as_set<9>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8);
- }
- };
- template <>
- struct as_set<10>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9);
- }
- };
- template <>
- struct as_set<11>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10);
- }
- };
- template <>
- struct as_set<12>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11);
- }
- };
- template <>
- struct as_set<13>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12);
- }
- };
- template <>
- struct as_set<14>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13);
- }
- };
- template <>
- struct as_set<15>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14);
- }
- };
- template <>
- struct as_set<16>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15);
- }
- };
- template <>
- struct as_set<17>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16);
- }
- };
- template <>
- struct as_set<18>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17);
- }
- };
- template <>
- struct as_set<19>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18);
- }
- };
- template <>
- struct as_set<20>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19);
- }
- };
- template <>
- struct as_set<21>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20);
- }
- };
- template <>
- struct as_set<22>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21);
- }
- };
- template <>
- struct as_set<23>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21);
- 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);
- }
- };
- template <>
- struct as_set<24>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22);
- 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);
- }
- };
- template <>
- struct as_set<25>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23);
- 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);
- }
- };
- template <>
- struct as_set<26>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24);
- 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);
- }
- };
- template <>
- struct as_set<27>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25);
- 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);
- }
- };
- template <>
- struct as_set<28>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26);
- 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);
- }
- };
- template <>
- struct as_set<29>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27);
- 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);
- }
- };
- template <>
- struct as_set<30>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29;
- typedef set<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;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28);
- 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);
- }
- };
- template <>
- struct as_set<31>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29);
- 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);
- }
- };
- template <>
- struct as_set<32>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30);
- 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);
- }
- };
- template <>
- struct as_set<33>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31);
- 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);
- }
- };
- template <>
- struct as_set<34>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32);
- 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);
- }
- };
- template <>
- struct as_set<35>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33);
- 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);
- }
- };
- template <>
- struct as_set<36>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34);
- 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);
- }
- };
- template <>
- struct as_set<37>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35);
- 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);
- }
- };
- template <>
- struct as_set<38>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36);
- 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);
- }
- };
- template <>
- struct as_set<39>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37);
- 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);
- }
- };
- template <>
- struct as_set<40>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39;
- typedef set<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;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38);
- 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/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp
deleted file mode 100644
index d169b04faf..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp
+++ /dev/null
@@ -1,1063 +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
-{
-BOOST_FUSION_BARRIER_BEGIN
- template <>
- struct as_set<1>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1;
- typedef typename fusion::result_of::value_of<I0>::type T0;
- typedef set<T0> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
-
- return result(*i0);
- }
- };
- template <>
- struct as_set<2>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1;
- typedef set<T0 , T1> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0);
- return result(*i0 , *i1);
- }
- };
- template <>
- struct as_set<3>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2;
- typedef set<T0 , T1 , T2> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1);
- return result(*i0 , *i1 , *i2);
- }
- };
- template <>
- struct as_set<4>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3;
- typedef set<T0 , T1 , T2 , T3> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2);
- return result(*i0 , *i1 , *i2 , *i3);
- }
- };
- template <>
- struct as_set<5>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4;
- typedef set<T0 , T1 , T2 , T3 , T4> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3);
- return result(*i0 , *i1 , *i2 , *i3 , *i4);
- }
- };
- template <>
- struct as_set<6>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5);
- }
- };
- template <>
- struct as_set<7>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6);
- }
- };
- template <>
- struct as_set<8>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7);
- }
- };
- template <>
- struct as_set<9>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8);
- }
- };
- template <>
- struct as_set<10>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9);
- }
- };
- template <>
- struct as_set<11>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10);
- }
- };
- template <>
- struct as_set<12>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11);
- }
- };
- template <>
- struct as_set<13>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12);
- }
- };
- template <>
- struct as_set<14>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13);
- }
- };
- template <>
- struct as_set<15>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14);
- }
- };
- template <>
- struct as_set<16>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15);
- }
- };
- template <>
- struct as_set<17>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16);
- }
- };
- template <>
- struct as_set<18>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17);
- }
- };
- template <>
- struct as_set<19>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18);
- }
- };
- template <>
- struct as_set<20>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19);
- }
- };
- template <>
- struct as_set<21>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20);
- }
- };
- template <>
- struct as_set<22>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20);
- return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21);
- }
- };
- template <>
- struct as_set<23>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21);
- 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);
- }
- };
- template <>
- struct as_set<24>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23;
- typedef set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22);
- 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);
- }
- };
- template <>
- struct as_set<25>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23);
- 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);
- }
- };
- template <>
- struct as_set<26>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24);
- 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);
- }
- };
- template <>
- struct as_set<27>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25);
- 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);
- }
- };
- template <>
- struct as_set<28>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26);
- 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);
- }
- };
- template <>
- struct as_set<29>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27);
- 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);
- }
- };
- template <>
- struct as_set<30>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29;
- typedef set<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;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28);
- 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);
- }
- };
- template <>
- struct as_set<31>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29);
- 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);
- }
- };
- template <>
- struct as_set<32>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30);
- 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);
- }
- };
- template <>
- struct as_set<33>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31);
- 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);
- }
- };
- template <>
- struct as_set<34>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32);
- 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);
- }
- };
- template <>
- struct as_set<35>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33);
- 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);
- }
- };
- template <>
- struct as_set<36>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34);
- 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);
- }
- };
- template <>
- struct as_set<37>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35);
- 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);
- }
- };
- template <>
- struct as_set<38>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36);
- 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);
- }
- };
- template <>
- struct as_set<39>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37);
- 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);
- }
- };
- template <>
- struct as_set<40>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39;
- typedef set<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;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38);
- 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);
- }
- };
- template <>
- struct as_set<41>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40; typedef typename fusion::result_of::next<I40>::type I41;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39; typedef typename fusion::result_of::value_of<I40>::type T40;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39);
- 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);
- }
- };
- template <>
- struct as_set<42>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40; typedef typename fusion::result_of::next<I40>::type I41; typedef typename fusion::result_of::next<I41>::type I42;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39; typedef typename fusion::result_of::value_of<I40>::type T40; typedef typename fusion::result_of::value_of<I41>::type T41;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40);
- 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);
- }
- };
- template <>
- struct as_set<43>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40; typedef typename fusion::result_of::next<I40>::type I41; typedef typename fusion::result_of::next<I41>::type I42; typedef typename fusion::result_of::next<I42>::type I43;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39; typedef typename fusion::result_of::value_of<I40>::type T40; typedef typename fusion::result_of::value_of<I41>::type T41; typedef typename fusion::result_of::value_of<I42>::type T42;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41);
- 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);
- }
- };
- template <>
- struct as_set<44>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40; typedef typename fusion::result_of::next<I40>::type I41; typedef typename fusion::result_of::next<I41>::type I42; typedef typename fusion::result_of::next<I42>::type I43; typedef typename fusion::result_of::next<I43>::type I44;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39; typedef typename fusion::result_of::value_of<I40>::type T40; typedef typename fusion::result_of::value_of<I41>::type T41; typedef typename fusion::result_of::value_of<I42>::type T42; typedef typename fusion::result_of::value_of<I43>::type T43;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42);
- 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);
- }
- };
- template <>
- struct as_set<45>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40; typedef typename fusion::result_of::next<I40>::type I41; typedef typename fusion::result_of::next<I41>::type I42; typedef typename fusion::result_of::next<I42>::type I43; typedef typename fusion::result_of::next<I43>::type I44; typedef typename fusion::result_of::next<I44>::type I45;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39; typedef typename fusion::result_of::value_of<I40>::type T40; typedef typename fusion::result_of::value_of<I41>::type T41; typedef typename fusion::result_of::value_of<I42>::type T42; typedef typename fusion::result_of::value_of<I43>::type T43; typedef typename fusion::result_of::value_of<I44>::type T44;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43);
- 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);
- }
- };
- template <>
- struct as_set<46>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40; typedef typename fusion::result_of::next<I40>::type I41; typedef typename fusion::result_of::next<I41>::type I42; typedef typename fusion::result_of::next<I42>::type I43; typedef typename fusion::result_of::next<I43>::type I44; typedef typename fusion::result_of::next<I44>::type I45; typedef typename fusion::result_of::next<I45>::type I46;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39; typedef typename fusion::result_of::value_of<I40>::type T40; typedef typename fusion::result_of::value_of<I41>::type T41; typedef typename fusion::result_of::value_of<I42>::type T42; typedef typename fusion::result_of::value_of<I43>::type T43; typedef typename fusion::result_of::value_of<I44>::type T44; typedef typename fusion::result_of::value_of<I45>::type T45;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44);
- 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);
- }
- };
- template <>
- struct as_set<47>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40; typedef typename fusion::result_of::next<I40>::type I41; typedef typename fusion::result_of::next<I41>::type I42; typedef typename fusion::result_of::next<I42>::type I43; typedef typename fusion::result_of::next<I43>::type I44; typedef typename fusion::result_of::next<I44>::type I45; typedef typename fusion::result_of::next<I45>::type I46; typedef typename fusion::result_of::next<I46>::type I47;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39; typedef typename fusion::result_of::value_of<I40>::type T40; typedef typename fusion::result_of::value_of<I41>::type T41; typedef typename fusion::result_of::value_of<I42>::type T42; typedef typename fusion::result_of::value_of<I43>::type T43; typedef typename fusion::result_of::value_of<I44>::type T44; typedef typename fusion::result_of::value_of<I45>::type T45; typedef typename fusion::result_of::value_of<I46>::type T46;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45);
- 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);
- }
- };
- template <>
- struct as_set<48>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40; typedef typename fusion::result_of::next<I40>::type I41; typedef typename fusion::result_of::next<I41>::type I42; typedef typename fusion::result_of::next<I42>::type I43; typedef typename fusion::result_of::next<I43>::type I44; typedef typename fusion::result_of::next<I44>::type I45; typedef typename fusion::result_of::next<I45>::type I46; typedef typename fusion::result_of::next<I46>::type I47; typedef typename fusion::result_of::next<I47>::type I48;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39; typedef typename fusion::result_of::value_of<I40>::type T40; typedef typename fusion::result_of::value_of<I41>::type T41; typedef typename fusion::result_of::value_of<I42>::type T42; typedef typename fusion::result_of::value_of<I43>::type T43; typedef typename fusion::result_of::value_of<I44>::type T44; typedef typename fusion::result_of::value_of<I45>::type T45; typedef typename fusion::result_of::value_of<I46>::type T46; typedef typename fusion::result_of::value_of<I47>::type T47;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46);
- 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);
- }
- };
- template <>
- struct as_set<49>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40; typedef typename fusion::result_of::next<I40>::type I41; typedef typename fusion::result_of::next<I41>::type I42; typedef typename fusion::result_of::next<I42>::type I43; typedef typename fusion::result_of::next<I43>::type I44; typedef typename fusion::result_of::next<I44>::type I45; typedef typename fusion::result_of::next<I45>::type I46; typedef typename fusion::result_of::next<I46>::type I47; typedef typename fusion::result_of::next<I47>::type I48; typedef typename fusion::result_of::next<I48>::type I49;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39; typedef typename fusion::result_of::value_of<I40>::type T40; typedef typename fusion::result_of::value_of<I41>::type T41; typedef typename fusion::result_of::value_of<I42>::type T42; typedef typename fusion::result_of::value_of<I43>::type T43; typedef typename fusion::result_of::value_of<I44>::type T44; typedef typename fusion::result_of::value_of<I45>::type T45; typedef typename fusion::result_of::value_of<I46>::type T46; typedef typename fusion::result_of::value_of<I47>::type T47; typedef typename fusion::result_of::value_of<I48>::type T48;
- typedef set<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> type;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47);
- 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);
- }
- };
- template <>
- struct as_set<50>
- {
- template <typename I0>
- struct apply
- {
- typedef typename fusion::result_of::next<I0>::type I1; typedef typename fusion::result_of::next<I1>::type I2; typedef typename fusion::result_of::next<I2>::type I3; typedef typename fusion::result_of::next<I3>::type I4; typedef typename fusion::result_of::next<I4>::type I5; typedef typename fusion::result_of::next<I5>::type I6; typedef typename fusion::result_of::next<I6>::type I7; typedef typename fusion::result_of::next<I7>::type I8; typedef typename fusion::result_of::next<I8>::type I9; typedef typename fusion::result_of::next<I9>::type I10; typedef typename fusion::result_of::next<I10>::type I11; typedef typename fusion::result_of::next<I11>::type I12; typedef typename fusion::result_of::next<I12>::type I13; typedef typename fusion::result_of::next<I13>::type I14; typedef typename fusion::result_of::next<I14>::type I15; typedef typename fusion::result_of::next<I15>::type I16; typedef typename fusion::result_of::next<I16>::type I17; typedef typename fusion::result_of::next<I17>::type I18; typedef typename fusion::result_of::next<I18>::type I19; typedef typename fusion::result_of::next<I19>::type I20; typedef typename fusion::result_of::next<I20>::type I21; typedef typename fusion::result_of::next<I21>::type I22; typedef typename fusion::result_of::next<I22>::type I23; typedef typename fusion::result_of::next<I23>::type I24; typedef typename fusion::result_of::next<I24>::type I25; typedef typename fusion::result_of::next<I25>::type I26; typedef typename fusion::result_of::next<I26>::type I27; typedef typename fusion::result_of::next<I27>::type I28; typedef typename fusion::result_of::next<I28>::type I29; typedef typename fusion::result_of::next<I29>::type I30; typedef typename fusion::result_of::next<I30>::type I31; typedef typename fusion::result_of::next<I31>::type I32; typedef typename fusion::result_of::next<I32>::type I33; typedef typename fusion::result_of::next<I33>::type I34; typedef typename fusion::result_of::next<I34>::type I35; typedef typename fusion::result_of::next<I35>::type I36; typedef typename fusion::result_of::next<I36>::type I37; typedef typename fusion::result_of::next<I37>::type I38; typedef typename fusion::result_of::next<I38>::type I39; typedef typename fusion::result_of::next<I39>::type I40; typedef typename fusion::result_of::next<I40>::type I41; typedef typename fusion::result_of::next<I41>::type I42; typedef typename fusion::result_of::next<I42>::type I43; typedef typename fusion::result_of::next<I43>::type I44; typedef typename fusion::result_of::next<I44>::type I45; typedef typename fusion::result_of::next<I45>::type I46; typedef typename fusion::result_of::next<I46>::type I47; typedef typename fusion::result_of::next<I47>::type I48; typedef typename fusion::result_of::next<I48>::type I49; typedef typename fusion::result_of::next<I49>::type I50;
- typedef typename fusion::result_of::value_of<I0>::type T0; typedef typename fusion::result_of::value_of<I1>::type T1; typedef typename fusion::result_of::value_of<I2>::type T2; typedef typename fusion::result_of::value_of<I3>::type T3; typedef typename fusion::result_of::value_of<I4>::type T4; typedef typename fusion::result_of::value_of<I5>::type T5; typedef typename fusion::result_of::value_of<I6>::type T6; typedef typename fusion::result_of::value_of<I7>::type T7; typedef typename fusion::result_of::value_of<I8>::type T8; typedef typename fusion::result_of::value_of<I9>::type T9; typedef typename fusion::result_of::value_of<I10>::type T10; typedef typename fusion::result_of::value_of<I11>::type T11; typedef typename fusion::result_of::value_of<I12>::type T12; typedef typename fusion::result_of::value_of<I13>::type T13; typedef typename fusion::result_of::value_of<I14>::type T14; typedef typename fusion::result_of::value_of<I15>::type T15; typedef typename fusion::result_of::value_of<I16>::type T16; typedef typename fusion::result_of::value_of<I17>::type T17; typedef typename fusion::result_of::value_of<I18>::type T18; typedef typename fusion::result_of::value_of<I19>::type T19; typedef typename fusion::result_of::value_of<I20>::type T20; typedef typename fusion::result_of::value_of<I21>::type T21; typedef typename fusion::result_of::value_of<I22>::type T22; typedef typename fusion::result_of::value_of<I23>::type T23; typedef typename fusion::result_of::value_of<I24>::type T24; typedef typename fusion::result_of::value_of<I25>::type T25; typedef typename fusion::result_of::value_of<I26>::type T26; typedef typename fusion::result_of::value_of<I27>::type T27; typedef typename fusion::result_of::value_of<I28>::type T28; typedef typename fusion::result_of::value_of<I29>::type T29; typedef typename fusion::result_of::value_of<I30>::type T30; typedef typename fusion::result_of::value_of<I31>::type T31; typedef typename fusion::result_of::value_of<I32>::type T32; typedef typename fusion::result_of::value_of<I33>::type T33; typedef typename fusion::result_of::value_of<I34>::type T34; typedef typename fusion::result_of::value_of<I35>::type T35; typedef typename fusion::result_of::value_of<I36>::type T36; typedef typename fusion::result_of::value_of<I37>::type T37; typedef typename fusion::result_of::value_of<I38>::type T38; typedef typename fusion::result_of::value_of<I39>::type T39; typedef typename fusion::result_of::value_of<I40>::type T40; typedef typename fusion::result_of::value_of<I41>::type T41; typedef typename fusion::result_of::value_of<I42>::type T42; typedef typename fusion::result_of::value_of<I43>::type T43; typedef typename fusion::result_of::value_of<I44>::type T44; typedef typename fusion::result_of::value_of<I45>::type T45; typedef typename fusion::result_of::value_of<I46>::type T46; typedef typename fusion::result_of::value_of<I47>::type T47; typedef typename fusion::result_of::value_of<I48>::type T48; typedef typename fusion::result_of::value_of<I49>::type T49;
- typedef set<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;
- };
- template <typename Iterator>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static typename apply<Iterator>::type
- call(Iterator const& i0)
- {
- typedef apply<Iterator> gen;
- typedef typename gen::type result;
- typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48);
- 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/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp
deleted file mode 100644
index 715d5744f9..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp
+++ /dev/null
@@ -1,22 +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!
-==============================================================================*/
-
-#if FUSION_MAX_SET_SIZE <= 10
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp>
-#elif FUSION_MAX_SET_SIZE <= 20
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp>
-#elif FUSION_MAX_SET_SIZE <= 30
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp>
-#elif FUSION_MAX_SET_SIZE <= 40
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp>
-#elif FUSION_MAX_SET_SIZE <= 50
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp>
-#else
-#error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers"
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp
deleted file mode 100644
index 74e847176e..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/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 fusion_sequence_tag;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9>
- struct set : sequence_base<set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> >
- {
- 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 <typename Sequence>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(Sequence const& rhs
- , typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
- : data(rhs) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- explicit
- set(typename detail::call_param<T0 >::type arg0)
- : data(arg0) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
- : data(arg0 , arg1) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
- : data(arg0 , arg1 , arg2) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3)
- : data(arg0 , arg1 , arg2 , arg3) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4)
- : data(arg0 , arg1 , arg2 , arg3 , arg4) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
- template <typename T>
- 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/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp
deleted file mode 100644
index cab210484a..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/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 fusion_sequence_tag;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19>
- struct set : sequence_base<set<T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> >
- {
- 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 <typename Sequence>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(Sequence const& rhs
- , typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
- : data(rhs) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- explicit
- set(typename detail::call_param<T0 >::type arg0)
- : data(arg0) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
- : data(arg0 , arg1) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
- : data(arg0 , arg1 , arg2) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3)
- : data(arg0 , arg1 , arg2 , arg3) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4)
- : data(arg0 , arg1 , arg2 , arg3 , arg4) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {}
- template <typename T>
- 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/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp
deleted file mode 100644
index 2ac448be68..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/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 fusion_sequence_tag;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29>
- struct set : sequence_base<set<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> >
- {
- 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 <typename Sequence>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(Sequence const& rhs
- , typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
- : data(rhs) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- explicit
- set(typename detail::call_param<T0 >::type arg0)
- : data(arg0) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
- : data(arg0 , arg1) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
- : data(arg0 , arg1 , arg2) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3)
- : data(arg0 , arg1 , arg2 , arg3) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4)
- : data(arg0 , arg1 , arg2 , arg3 , arg4) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::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 <typename T>
- 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/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp
deleted file mode 100644
index 76112505ea..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/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 fusion_sequence_tag;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39>
- struct set : sequence_base<set<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> >
- {
- 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 <typename Sequence>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(Sequence const& rhs
- , typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
- : data(rhs) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- explicit
- set(typename detail::call_param<T0 >::type arg0)
- : data(arg0) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
- : data(arg0 , arg1) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
- : data(arg0 , arg1 , arg2) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3)
- : data(arg0 , arg1 , arg2 , arg3) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4)
- : data(arg0 , arg1 , arg2 , arg3 , arg4) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::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 <typename T>
- 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/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp
deleted file mode 100644
index 32954f42ee..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/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 fusion_sequence_tag;
- template <typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49>
- struct set : sequence_base<set<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> >
- {
- 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 <typename Sequence>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(Sequence const& rhs
- , typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
- : data(rhs) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- explicit
- set(typename detail::call_param<T0 >::type arg0)
- : data(arg0) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1)
- : data(arg0 , arg1) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2)
- : data(arg0 , arg1 , arg2) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3)
- : data(arg0 , arg1 , arg2 , arg3) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4)
- : data(arg0 , arg1 , arg2 , arg3 , arg4) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9)
- : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {}
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(typename detail::call_param<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::type arg39 , typename detail::call_param<T40 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::type arg39 , typename detail::call_param<T40 >::type arg40 , typename detail::call_param<T41 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::type arg39 , typename detail::call_param<T40 >::type arg40 , typename detail::call_param<T41 >::type arg41 , typename detail::call_param<T42 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::type arg39 , typename detail::call_param<T40 >::type arg40 , typename detail::call_param<T41 >::type arg41 , typename detail::call_param<T42 >::type arg42 , typename detail::call_param<T43 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::type arg39 , typename detail::call_param<T40 >::type arg40 , typename detail::call_param<T41 >::type arg41 , typename detail::call_param<T42 >::type arg42 , typename detail::call_param<T43 >::type arg43 , typename detail::call_param<T44 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::type arg39 , typename detail::call_param<T40 >::type arg40 , typename detail::call_param<T41 >::type arg41 , typename detail::call_param<T42 >::type arg42 , typename detail::call_param<T43 >::type arg43 , typename detail::call_param<T44 >::type arg44 , typename detail::call_param<T45 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::type arg39 , typename detail::call_param<T40 >::type arg40 , typename detail::call_param<T41 >::type arg41 , typename detail::call_param<T42 >::type arg42 , typename detail::call_param<T43 >::type arg43 , typename detail::call_param<T44 >::type arg44 , typename detail::call_param<T45 >::type arg45 , typename detail::call_param<T46 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::type arg39 , typename detail::call_param<T40 >::type arg40 , typename detail::call_param<T41 >::type arg41 , typename detail::call_param<T42 >::type arg42 , typename detail::call_param<T43 >::type arg43 , typename detail::call_param<T44 >::type arg44 , typename detail::call_param<T45 >::type arg45 , typename detail::call_param<T46 >::type arg46 , typename detail::call_param<T47 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::type arg39 , typename detail::call_param<T40 >::type arg40 , typename detail::call_param<T41 >::type arg41 , typename detail::call_param<T42 >::type arg42 , typename detail::call_param<T43 >::type arg43 , typename detail::call_param<T44 >::type arg44 , typename detail::call_param<T45 >::type arg45 , typename detail::call_param<T46 >::type arg46 , typename detail::call_param<T47 >::type arg47 , typename detail::call_param<T48 >::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<T0 >::type arg0 , typename detail::call_param<T1 >::type arg1 , typename detail::call_param<T2 >::type arg2 , typename detail::call_param<T3 >::type arg3 , typename detail::call_param<T4 >::type arg4 , typename detail::call_param<T5 >::type arg5 , typename detail::call_param<T6 >::type arg6 , typename detail::call_param<T7 >::type arg7 , typename detail::call_param<T8 >::type arg8 , typename detail::call_param<T9 >::type arg9 , typename detail::call_param<T10 >::type arg10 , typename detail::call_param<T11 >::type arg11 , typename detail::call_param<T12 >::type arg12 , typename detail::call_param<T13 >::type arg13 , typename detail::call_param<T14 >::type arg14 , typename detail::call_param<T15 >::type arg15 , typename detail::call_param<T16 >::type arg16 , typename detail::call_param<T17 >::type arg17 , typename detail::call_param<T18 >::type arg18 , typename detail::call_param<T19 >::type arg19 , typename detail::call_param<T20 >::type arg20 , typename detail::call_param<T21 >::type arg21 , typename detail::call_param<T22 >::type arg22 , typename detail::call_param<T23 >::type arg23 , typename detail::call_param<T24 >::type arg24 , typename detail::call_param<T25 >::type arg25 , typename detail::call_param<T26 >::type arg26 , typename detail::call_param<T27 >::type arg27 , typename detail::call_param<T28 >::type arg28 , typename detail::call_param<T29 >::type arg29 , typename detail::call_param<T30 >::type arg30 , typename detail::call_param<T31 >::type arg31 , typename detail::call_param<T32 >::type arg32 , typename detail::call_param<T33 >::type arg33 , typename detail::call_param<T34 >::type arg34 , typename detail::call_param<T35 >::type arg35 , typename detail::call_param<T36 >::type arg36 , typename detail::call_param<T37 >::type arg37 , typename detail::call_param<T38 >::type arg38 , typename detail::call_param<T39 >::type arg39 , typename detail::call_param<T40 >::type arg40 , typename detail::call_param<T41 >::type arg41 , typename detail::call_param<T42 >::type arg42 , typename detail::call_param<T43 >::type arg43 , typename detail::call_param<T44 >::type arg44 , typename detail::call_param<T45 >::type arg45 , typename detail::call_param<T46 >::type arg46 , typename detail::call_param<T47 >::type arg47 , typename detail::call_param<T48 >::type arg48 , typename detail::call_param<T49 >::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 <typename T>
- 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/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/set.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/set.hpp
deleted file mode 100644
index 274a36eb42..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/set.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)
-==============================================================================*/
-#if !defined(FUSION_SET_09162005_1104)
-#define FUSION_SET_09162005_1104
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/support/void.hpp>
-#include <boost/fusion/support/detail/enabler.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/fusion/support/category_of.hpp>
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/container/set/set_fwd.hpp>
-#include <boost/fusion/container/set/detail/begin_impl.hpp>
-#include <boost/fusion/container/set/detail/end_impl.hpp>
-#include <boost/fusion/container/set/detail/value_of_impl.hpp>
-#include <boost/fusion/container/set/detail/deref_data_impl.hpp>
-#include <boost/fusion/container/set/detail/deref_impl.hpp>
-#include <boost/fusion/container/set/detail/key_of_impl.hpp>
-#include <boost/fusion/container/set/detail/value_of_data_impl.hpp>
-#include <boost/fusion/container/vector/vector.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/core/enable_if.hpp>
-
-#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES)
-#include <boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp>
-#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 fusion_sequence_tag;
-
- template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, typename T)>
- struct set : sequence_base<set<BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, T)> >
- {
- 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 <typename Sequence>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set(Sequence const& rhs
- , typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler)
- : data(rhs) {}
-
- #include <boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp>
-
- template <typename T>
- 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/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp
deleted file mode 100644
index aa90b60111..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp
+++ /dev/null
@@ -1,40 +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)
-==============================================================================*/
-#ifndef BOOST_PP_IS_ITERATING
-#if !defined(FUSION_SET_FORWARD_CTOR_09162005_1115)
-#define FUSION_SET_FORWARD_CTOR_09162005_1115
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-
-#define BOOST_PP_FILENAME_1 \
- <boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE)
-#include BOOST_PP_ITERATE()
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
-#if N == 1
- explicit
-#endif
- set(BOOST_PP_ENUM_BINARY_PARAMS(
- N, typename detail::call_param<T, >::type arg))
- : data(BOOST_PP_ENUM_PARAMS(N, arg)) {}
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
-
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/deref_data_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/deref_data_impl.hpp
deleted file mode 100644
index 05e44a9226..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/deref_data_impl.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
-
- Distributed under the 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_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/container/set/detail/deref_impl.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct deref_data_impl;
-
- template <>
- struct deref_data_impl<set_iterator_tag>
- : deref_impl<set_iterator_tag>
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/deref_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/deref_impl.hpp
deleted file mode 100644
index e5da52197b..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/deref_impl.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
-
- Distributed under the 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_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/type_traits/is_const.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct deref_impl;
-
- template <>
- struct deref_impl<set_iterator_tag>
- {
- template <typename It>
- struct apply
- {
- typedef typename
- result_of::at<
- typename mpl::if_<
- is_const<typename It::seq_type>
- , typename It::seq_type::storage_type const
- , typename It::seq_type::storage_type
- >::type
- , typename It::index
- >::type
- type;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- call(It const& it)
- {
- return ::boost::fusion::at<typename It::index>(it.seq->get_data());
- }
- };
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/end_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/end_impl.hpp
deleted file mode 100644
index fbae9b75b5..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/end_impl.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2009 Christopher Schmidt
-
- Distributed under the 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_CONTAINER_SET_DETAIL_END_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/iterator/basic_iterator.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct end_impl;
-
- template <>
- struct end_impl<set_tag>
- {
- template <typename Seq>
- struct apply
- {
- typedef
- basic_iterator<
- set_iterator_tag
- , typename Seq::category
- , Seq
- , Seq::size::value
- >
- type;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- call(Seq& seq)
- {
- return type(seq,0);
- }
- };
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/key_of_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/key_of_impl.hpp
deleted file mode 100644
index 0e453ee23c..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/key_of_impl.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
-
- Distributed under the 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_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/container/set/detail/value_of_data_impl.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct key_of_impl;
-
- template <>
- struct key_of_impl<set_iterator_tag>
- : value_of_impl<set_iterator_tag>
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/value_of_data_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/value_of_data_impl.hpp
deleted file mode 100644
index 546751cb82..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/value_of_data_impl.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
-
- Distributed under the 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_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP
-
-#include <boost/fusion/support/config.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct value_of_data_impl;
-
- template <>
- struct value_of_data_impl<set_iterator_tag>
- : value_of_impl<set_iterator_tag>
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/value_of_impl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/value_of_impl.hpp
deleted file mode 100644
index e12ab162c0..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/detail/value_of_impl.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
-
- Distributed under the 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_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP
-#define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/sequence/intrinsic/value_at.hpp>
-
-namespace boost { namespace fusion { namespace extension
-{
- template <typename>
- struct value_of_impl;
-
- template <>
- struct value_of_impl<set_iterator_tag>
- {
- template <typename It>
- struct apply
- {
- typedef typename
- result_of::value_at<
- typename It::seq_type::storage_type
- , typename It::index
- >::type
- type;
- };
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/set.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/container/set/set.hpp
deleted file mode 100644
index f03488b183..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/container/set/set.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/*=============================================================================
- 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)
-==============================================================================*/
-#ifndef FUSION_SET_11062014_1726
-#define FUSION_SET_11062014_1726
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/container/set/set_fwd.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-// Without variadics, we will use the PP version
-///////////////////////////////////////////////////////////////////////////////
-#if !defined(BOOST_FUSION_HAS_VARIADIC_SET)
-# include <boost/fusion/container/set/detail/cpp03/set.hpp>
-#else
-
-///////////////////////////////////////////////////////////////////////////////
-// C++11 interface
-///////////////////////////////////////////////////////////////////////////////
-#include <boost/fusion/support/detail/access.hpp>
-#include <boost/fusion/support/void.hpp>
-#include <boost/fusion/support/detail/enabler.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/fusion/support/category_of.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/fusion/support/detail/is_same_size.hpp>
-#include <boost/fusion/container/vector/vector.hpp>
-#include <boost/fusion/container/set/detail/begin_impl.hpp>
-#include <boost/fusion/container/set/detail/end_impl.hpp>
-#include <boost/fusion/container/set/detail/value_of_impl.hpp>
-#include <boost/fusion/container/set/detail/deref_data_impl.hpp>
-#include <boost/fusion/container/set/detail/deref_impl.hpp>
-#include <boost/fusion/container/set/detail/key_of_impl.hpp>
-#include <boost/fusion/container/set/detail/value_of_data_impl.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/core/enable_if.hpp>
-
-namespace boost { namespace fusion
-{
- struct fusion_sequence_tag;
-
- template <>
- struct set<> : sequence_base<set<> >
- {
- 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<> storage_type;
-
- typedef storage_type::size size;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set()
- : data() {}
-
- template <typename Sequence>
- BOOST_FUSION_GPU_ENABLED
- set(Sequence const& rhs,
- typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler,
- typename enable_if<detail::is_same_size<Sequence, storage_type>, detail::enabler_>::type = detail::enabler)
- : data(rhs) {}
-
- template <typename T>
- 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;
- };
-
- template <typename ...T>
- struct set : sequence_base<set<T...> >
- {
- 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<T...> storage_type;
-
- typedef typename storage_type::size size;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set()
- : data() {}
-
- template <typename Sequence>
- BOOST_FUSION_GPU_ENABLED
- set(Sequence&& rhs,
- typename enable_if<traits::is_sequence<Sequence>, detail::enabler_>::type = detail::enabler,
- typename enable_if<detail::is_same_size<Sequence, storage_type>, detail::enabler_>::type = detail::enabler)
- : data(std::forward<Sequence>(rhs)) {}
-
- template <typename ...U>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- explicit
- set(U&& ...args)
- : data(std::forward<U>(args)...) {}
-
- template <typename U>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- set&
- operator=(U&& rhs)
- {
- data = std::forward<U>(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;
- };
-
-}}
-
-#endif
-#endif
-
-
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/as_vector.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/as_vector.hpp
deleted file mode 100644
index 35aecd8f37..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/as_vector.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_AS_VECTOR)
-#define FUSION_INCLUDE_AS_VECTOR
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/container/vector/convert.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/at.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/at.hpp
deleted file mode 100644
index 99b70d6d94..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/at.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_AT)
-#define FUSION_INCLUDE_AT
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/copy.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/copy.hpp
deleted file mode 100644
index e44f58bf3b..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/copy.hpp
+++ /dev/null
@@ -1,13 +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)
-==============================================================================*/
-#if !defined(FUSION_INCLUDE_COPY)
-#define FUSION_INCLUDE_COPY
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/algorithm/auxiliary/copy.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/deref.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/deref.hpp
deleted file mode 100644
index 64dbe6972c..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/deref.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_DEREF)
-#define FUSION_INCLUDE_DEREF
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/end.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/end.hpp
deleted file mode 100644
index 255d05f0d5..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/end.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_END)
-#define FUSION_INCLUDE_END
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/equal_to.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/equal_to.hpp
deleted file mode 100644
index 24499a9069..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/equal_to.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_EQUAL_TO)
-#define FUSION_INCLUDE_EQUAL_TO
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/sequence/comparison/equal_to.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/filter_if.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/filter_if.hpp
deleted file mode 100644
index 081541b0f2..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/filter_if.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_FILTER_IF)
-#define FUSION_INCLUDE_FILTER_IF
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/algorithm/transformation/filter_if.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/is_sequence.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/is_sequence.hpp
deleted file mode 100644
index d3d820fcd7..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/is_sequence.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_IS_SEQUENCE)
-#define FUSION_INCLUDE_IS_SEQUENCE
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/make_vector.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/make_vector.hpp
deleted file mode 100644
index 9d9a70a329..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/make_vector.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_MAKE_VECTOR)
-#define FUSION_INCLUDE_MAKE_VECTOR
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/container/generation/make_vector.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/mpl.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/mpl.hpp
deleted file mode 100644
index cf7fff2f59..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/mpl.hpp
+++ /dev/null
@@ -1,14 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_MPL)
-#define FUSION_INCLUDE_MPL
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/adapted/mpl.hpp>
-#include <boost/fusion/mpl.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/out.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/out.hpp
deleted file mode 100644
index 85d26dda10..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/out.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-#if !defined(FUSION_INCLUDE_OUT)
-#define FUSION_INCLUDE_OUT
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/sequence/io/out.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/pop_front.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/pop_front.hpp
deleted file mode 100644
index d52d61226e..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/pop_front.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_POP_FRONT)
-#define FUSION_INCLUDE_POP_FRONT
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/algorithm/transformation/pop_front.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/push_front.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/push_front.hpp
deleted file mode 100644
index 8c4b0357ef..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/push_front.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_PUSH_FRONT)
-#define FUSION_INCLUDE_PUSH_FRONT
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/algorithm/transformation/push_front.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/value_at.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/value_at.hpp
deleted file mode 100644
index d40a9f08b0..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/value_at.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-#if !defined(FUSION_INCLUDE_VALUE_AT)
-#define FUSION_INCLUDE_VALUE_AT
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/sequence/intrinsic/value_at.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/include/vector.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/include/vector.hpp
deleted file mode 100644
index 83aa74446c..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/include/vector.hpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_INCLUDE_VECTOR)
-#define FUSION_INCLUDE_VECTOR
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/container/vector.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/iterator/basic_iterator.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/iterator/basic_iterator.hpp
deleted file mode 100644
index eae46e6355..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/iterator/basic_iterator.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-/*=============================================================================
- Copyright (c) 2009 Christopher Schmidt
-
- Distributed under the 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_ITERATOR_BASIC_ITERATOR_HPP
-#define BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/iterator/iterator_facade.hpp>
-
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/minus.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/remove_const.hpp>
-
-namespace boost { namespace fusion
-{
- namespace extension
- {
- template <typename>
- struct value_of_impl;
-
- template <typename>
- struct deref_impl;
-
- template <typename>
- struct value_of_data_impl;
-
- template <typename>
- struct key_of_impl;
-
- template <typename>
- struct deref_data_impl;
- }
-
- template<typename Tag, typename Category, typename Seq, int Index>
- struct basic_iterator
- : iterator_facade<basic_iterator<Tag, Category, Seq, Index>, Category>
- {
- typedef mpl::int_<Index> index;
- typedef Seq seq_type;
-
- template <typename It>
- struct value_of
- : extension::value_of_impl<Tag>::template apply<It>
- {};
-
- template <typename It>
- struct deref
- : extension::deref_impl<Tag>::template apply<It>
- {};
-
- template <typename It>
- struct value_of_data
- : extension::value_of_data_impl<Tag>::template apply<It>
- {};
-
- template <typename It>
- struct key_of
- : extension::key_of_impl<Tag>::template apply<It>
- {};
-
- template <typename It>
- struct deref_data
- : extension::deref_data_impl<Tag>::template apply<It>
- {};
-
- template <typename It, typename N>
- struct advance
- {
- typedef
- basic_iterator<Tag, Category, Seq, Index + N::value>
- type;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static type
- call(It const& it)
- {
- return type(*it.seq,0);
- }
- };
-
- template <typename It>
- struct next
- : advance<It, mpl::int_<1> >
- {};
-
- template <typename It>
- struct prior
- : advance<It, mpl::int_<-1> >
- {};
-
- template <typename It1, typename It2>
- struct distance
- {
- typedef mpl::minus<typename It2::index, typename It1::index> type;
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- static
- type
- call(It1 const&, It2 const&)
- {
- return type();
- }
- };
-
- template <typename It1, typename It2>
- struct equal_to
- : mpl::and_<
- is_same<
- typename remove_const<typename It1::seq_type>::type
- , typename remove_const<typename It2::seq_type>::type
- >
- , mpl::equal_to<typename It1::index,typename It2::index>
- >
- {};
-
- template<typename OtherSeq>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- basic_iterator(basic_iterator<Tag,Category,OtherSeq,Index> const& it)
- : seq(it.seq)
- {}
-
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- basic_iterator(Seq& in_seq, int)
- : seq(&in_seq)
- {}
-
- template<typename OtherSeq>
- BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- basic_iterator&
- operator=(basic_iterator<Tag,Category,OtherSeq,Index> const& it)
- {
- seq=it.seq;
- return *this;
- }
-
- Seq* seq;
- };
-}}
-
-#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408
-namespace std
-{
- template <typename Tag, typename Category, typename Seq, int Index>
- struct iterator_traits< ::boost::fusion::basic_iterator<Tag, Category, Seq, Index> >
- { };
-}
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/detail/manip.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/detail/manip.hpp
deleted file mode 100644
index fc0d7d8204..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/detail/manip.hpp
+++ /dev/null
@@ -1,268 +0,0 @@
-/*=============================================================================
- Copyright (c) 1999-2003 Jeremiah Willcock
- 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_MANIP_05052005_1200)
-#define FUSION_MANIP_05052005_1200
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/config.hpp>
-#include <string>
-#include <vector>
-#include <cctype>
-
-// Tuple I/O manipulators
-
-#define FUSION_GET_CHAR_TYPE(T) typename T::char_type
-#define FUSION_GET_TRAITS_TYPE(T) typename T::traits_type
-
-#define FUSION_STRING_OF_STREAM(Stream) \
- std::basic_string< \
- FUSION_GET_CHAR_TYPE(Stream) \
- , FUSION_GET_TRAITS_TYPE(Stream) \
- >
-
-//$$$ these should be part of the public API$$$
-//$$$ rename tuple_open, tuple_close and tuple_delimiter to
-// open, close and delimeter and add these synonyms to the
-// TR1 tuple module.
-
-namespace boost { namespace fusion
-{
- namespace detail
- {
- template <typename Tag>
- int get_xalloc_index(Tag* = 0)
- {
- // each Tag will have a unique index
- static int index = std::ios::xalloc();
- return index;
- }
-
- template <typename Stream, typename Tag, typename T>
- struct stream_data
- {
- struct arena
- {
- ~arena()
- {
- for (
- typename std::vector<T*>::iterator i = data.begin()
- ; i != data.end()
- ; ++i)
- {
- delete *i;
- }
- }
-
- std::vector<T*> data;
- };
-
- static void attach(Stream& stream, T const& data)
- {
- static arena ar; // our arena
- ar.data.push_back(new T(data));
- stream.pword(get_xalloc_index<Tag>()) = ar.data.back();
- }
-
- static T const* get(Stream& stream)
- {
- return (T const*)stream.pword(get_xalloc_index<Tag>());
- }
- };
-
- template <typename Tag, typename Stream>
- class string_ios_manip
- {
- public:
-
- typedef FUSION_STRING_OF_STREAM(Stream) string_type;
-
- typedef stream_data<Stream, Tag, string_type> stream_data_t;
-
- string_ios_manip(Stream& str_)
- : stream(str_)
- {}
-
- void
- set(string_type const& s)
- {
- stream_data_t::attach(stream, s);
- }
-
- void
- print(char const* default_) const
- {
- // print a delimiter
- string_type const* p = stream_data_t::get(stream);
- if (p)
- stream << *p;
- else
- stream << default_;
- }
-
- void
- read(char const* default_) const
- {
- // read a delimiter
- string_type const* p = stream_data_t::get(stream);
- std::ws(stream);
-
- if (p)
- {
- typedef typename string_type::const_iterator iterator;
- for (iterator i = p->begin(); i != p->end(); ++i)
- check_delim(*i);
- }
- else
- {
- while (*default_)
- check_delim(*default_++);
- }
- }
-
- private:
-
- template <typename Char>
- void
- check_delim(Char c) const
- {
- using namespace std;
- if (!isspace(c))
- {
- if (stream.get() != c)
- {
- stream.unget();
- stream.setstate(std::ios::failbit);
- }
- }
- }
-
- Stream& stream;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(string_ios_manip& operator= (string_ios_manip const&))
- };
-
- } // detail
-
-
-#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-
-#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
- template <typename Char, typename Traits> \
- inline detail::name##_type<Char, Traits> \
- name(const std::basic_string<Char, Traits>& s) \
- { \
- return detail::name##_type<Char, Traits>(s); \
- } \
- \
- inline detail::name##_type<char> \
- name(char const* s) \
- { \
- return detail::name##_type<char>(std::basic_string<char>(s)); \
- } \
- \
- inline detail::name##_type<wchar_t> \
- name(wchar_t const* s) \
- { \
- return detail::name##_type<wchar_t>(std::basic_string<wchar_t>(s)); \
- } \
- \
- inline detail::name##_type<char> \
- name(char c) \
- { \
- return detail::name##_type<char>(std::basic_string<char>(1, c)); \
- } \
- \
- inline detail::name##_type<wchar_t> \
- name(wchar_t c) \
- { \
- return detail::name##_type<wchar_t>(std::basic_string<wchar_t>(1, c)); \
- }
-
-#else // defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
-
-#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
- template <typename Char, typename Traits> \
- inline detail::name##_type<Char, Traits> \
- name(const std::basic_string<Char, Traits>& s) \
- { \
- return detail::name##_type<Char, Traits>(s); \
- } \
- \
- template <typename Char> \
- inline detail::name##_type<Char> \
- name(Char s[]) \
- { \
- return detail::name##_type<Char>(std::basic_string<Char>(s)); \
- } \
- \
- template <typename Char> \
- inline detail::name##_type<Char> \
- name(Char const s[]) \
- { \
- return detail::name##_type<Char>(std::basic_string<Char>(s)); \
- } \
- \
- template <typename Char> \
- inline detail::name##_type<Char> \
- name(Char c) \
- { \
- return detail::name##_type<Char>(std::basic_string<Char>(1, c)); \
- }
-
-#endif
-
-#define STD_TUPLE_DEFINE_MANIPULATOR(name) \
- namespace detail \
- { \
- struct name##_tag; \
- \
- template <typename Char, typename Traits = std::char_traits<Char> > \
- struct name##_type \
- { \
- typedef std::basic_string<Char, Traits> string_type; \
- string_type data; \
- name##_type(const string_type& d): data(d) {} \
- }; \
- \
- template <typename Stream, typename Char, typename Traits> \
- Stream& operator>>(Stream& s, const name##_type<Char,Traits>& m) \
- { \
- string_ios_manip<name##_tag, Stream> manip(s); \
- manip.set(m.data); \
- return s; \
- } \
- \
- template <typename Stream, typename Char, typename Traits> \
- Stream& operator<<(Stream& s, const name##_type<Char,Traits>& m) \
- { \
- string_ios_manip<name##_tag, Stream> manip(s); \
- manip.set(m.data); \
- return s; \
- } \
- } \
-
-
- STD_TUPLE_DEFINE_MANIPULATOR(tuple_open)
- STD_TUPLE_DEFINE_MANIPULATOR(tuple_close)
- STD_TUPLE_DEFINE_MANIPULATOR(tuple_delimiter)
-
- STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_open)
- STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_close)
- STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_delimiter)
-
-#undef STD_TUPLE_DEFINE_MANIPULATOR
-#undef STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS
-#undef FUSION_STRING_OF_STREAM
-#undef FUSION_GET_CHAR_TYPE
-#undef FUSION_GET_TRAITS_TYPE
-
-}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/detail/out.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/detail/out.hpp
deleted file mode 100644
index 7da87a53a4..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/detail/out.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*=============================================================================
- Copyright (c) 1999-2003 Jaakko Jarvi
- Copyright (c) 1999-2003 Jeremiah Willcock
- 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_OUT_05052005_0121)
-#define FUSION_OUT_05052005_0121
-
-#include <boost/fusion/support/config.hpp>
-#include <ostream>
-#include <boost/fusion/sequence/io/detail/manip.hpp>
-
-#include <boost/mpl/bool.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/iterator/next.hpp>
-#include <boost/fusion/iterator/equal_to.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename Tag>
- struct delimiter_out
- {
- // print a delimiter
- template <typename OS>
- static void
- print(OS& os, char const* delim, mpl::false_ = mpl::false_())
- {
- detail::string_ios_manip<Tag, OS> manip(os);
- manip.print(delim);
- }
-
- template <typename OS>
- static void
- print(OS&, char const*, mpl::true_)
- {
- }
- };
-
- struct print_sequence_loop
- {
- template <typename OS, typename First, typename Last>
- static void
- call(OS&, First const&, Last const&, mpl::true_)
- {
- }
-
- template <typename OS, typename First, typename Last>
- static void
- call(OS& os, First const& first, Last const& last, mpl::false_)
- {
- result_of::equal_to<
- typename result_of::next<First>::type
- , Last
- >
- is_last;
-
- os << *first;
- delimiter_out<tuple_delimiter_tag>::print(os, " ", is_last);
- call(os, fusion::next(first), last, is_last);
- }
-
- template <typename OS, typename First, typename Last>
- static void
- call(OS& os, First const& first, Last const& last)
- {
- result_of::equal_to<First, Last> eq;
- call(os, first, last, eq);
- }
- };
-
- template <typename OS, typename Sequence>
- inline void
- print_sequence(OS& os, Sequence const& seq)
- {
- delimiter_out<tuple_open_tag>::print(os, "(");
- print_sequence_loop::call(os, fusion::begin(seq), fusion::end(seq));
- delimiter_out<tuple_close_tag>::print(os, ")");
- }
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/out.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/out.hpp
deleted file mode 100644
index 5c4637d57b..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/sequence/io/out.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/*=============================================================================
- Copyright (c) 1999-2003 Jaakko Jarvi
- Copyright (c) 1999-2003 Jeremiah Willcock
- 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(BOOST_OUT_05042005_0120)
-#define BOOST_OUT_05042005_0120
-
-#include <boost/fusion/support/config.hpp>
-#include <ostream>
-#include <boost/fusion/sequence/io/detail/out.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/or.hpp>
-
-namespace boost { namespace fusion
-{
- template <typename Sequence>
- inline std::ostream&
- out(std::ostream& os, Sequence& seq)
- {
- detail::print_sequence(os, seq);
- return os;
- }
-
- namespace operators
- {
- template <typename Sequence>
- inline typename
- boost::enable_if<
- fusion::traits::is_sequence<Sequence>
- , std::ostream&
- >::type
- operator<<(std::ostream& os, Sequence const& seq)
- {
- return fusion::out(os, seq);
- }
- }
- using operators::operator<<;
-}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/sequence/sequence_facade.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/sequence/sequence_facade.hpp
deleted file mode 100644
index ff578a00c5..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/sequence/sequence_facade.hpp
+++ /dev/null
@@ -1,30 +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)
-==============================================================================*/
-#if !defined(FUSION_SEQUENCE_FACADE_09252006_1044)
-#define FUSION_SEQUENCE_FACADE_09252006_1044
-
-#include <boost/fusion/support/config.hpp>
-#include <boost/fusion/support/sequence_base.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace fusion
-{
- struct sequence_facade_tag;
-
- template <typename Derived, typename Category, typename IsView = mpl::false_>
- struct sequence_facade : sequence_base<Derived>
- {
- typedef fusion_sequence_tag tag;
- typedef sequence_facade_tag fusion_tag;
- typedef Derived derived_type;
- typedef Category category;
- typedef IsView is_view;
- typedef mpl::false_ is_segmented;
- };
-}}
-
-#endif
diff --git a/contrib/restricted/boost/fusion/include/boost/fusion/support/detail/is_same_size.hpp b/contrib/restricted/boost/fusion/include/boost/fusion/support/detail/is_same_size.hpp
deleted file mode 100644
index b1bf7cde41..0000000000
--- a/contrib/restricted/boost/fusion/include/boost/fusion/support/detail/is_same_size.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*=============================================================================
- 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)
-==============================================================================*/
-#ifndef FUSION_IS_SAME_SIZE_10082015_1156
-#define FUSION_IS_SAME_SIZE_10082015_1156
-
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/equal_to.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename Sequence1, typename Sequence2, typename = void, typename = void>
- struct is_same_size : mpl::false_ {};
-
- template <typename Sequence1, typename Sequence2>
- struct is_same_size<Sequence1, Sequence2,
- typename enable_if<traits::is_sequence<Sequence1> >::type,
- typename enable_if<traits::is_sequence<Sequence2> >::type>
- : mpl::equal_to<result_of::size<Sequence1>, result_of::size<Sequence2> >
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/creation_tags.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/creation_tags.hpp
deleted file mode 100644
index faf4e6f2d6..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/creation_tags.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_CREATION_TAGS_HPP
-#define BOOST_INTERPROCESS_CREATION_TAGS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-namespace boost {
-namespace interprocess {
-
-//!Tag to indicate that the resource must
-//!be only created
-struct create_only_t {};
-
-//!Tag to indicate that the resource must
-//!be only opened
-struct open_only_t {};
-
-//!Tag to indicate that the resource must
-//!be only opened for reading
-struct open_read_only_t {};
-
-//!Tag to indicate that the resource must
-//!be only opened privately for reading
-struct open_read_private_t {};
-
-//!Tag to indicate that the resource must
-//!be only opened for reading
-struct open_copy_on_write_t {};
-
-//!Tag to indicate that the resource must
-//!be created. If already created, it must be opened.
-struct open_or_create_t {};
-
-//!Value to indicate that the resource must
-//!be only created
-static const create_only_t create_only = create_only_t();
-
-//!Value to indicate that the resource must
-//!be only opened
-static const open_only_t open_only = open_only_t();
-
-//!Value to indicate that the resource must
-//!be only opened for reading
-static const open_read_only_t open_read_only = open_read_only_t();
-
-//!Value to indicate that the resource must
-//!be created. If already created, it must be opened.
-static const open_or_create_t open_or_create = open_or_create_t();
-
-//!Value to indicate that the resource must
-//!be only opened for reading
-static const open_copy_on_write_t open_copy_on_write = open_copy_on_write_t();
-
-namespace ipcdetail {
-
-enum create_enum_t
-{ DoCreate, DoOpen, DoOpenOrCreate };
-
-} //namespace ipcdetail {
-
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_INTERPROCESS_CREATION_TAGS_HPP
-
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/char_wchar_holder.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/char_wchar_holder.hpp
deleted file mode 100644
index 8831aa202d..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/char_wchar_holder.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2020-2021. Distributed under the 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/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_CHAR_WCHAR_HOLDER_HPP
-#define BOOST_INTERPROCESS_DETAIL_CHAR_WCHAR_HOLDER_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <cwchar>
-#include <cstring>
-
-namespace boost {
-namespace interprocess {
-
-class char_wchar_holder
-{
- public:
- char_wchar_holder()
- : m_str(), m_is_wide()
- {
- m_str.n = 0;
- }
-
- char_wchar_holder(const char *nstr)
- : m_str(), m_is_wide()
- {
- m_str.n = new char [std::strlen(nstr)+1];
- std::strcpy(m_str.n, nstr);
- }
-
- char_wchar_holder(const wchar_t *wstr)
- : m_str(), m_is_wide(true)
- {
- m_str.w = new wchar_t [std::wcslen(wstr)+1];
- std::wcscpy(m_str.w, wstr);
- }
-
- char_wchar_holder& operator=(const char *nstr)
- {
- char *tmp = new char [std::strlen(nstr)+1];
- this->delete_mem();
- m_str.n = tmp;
- std::strcpy(m_str.n, nstr);
- return *this;
- }
-
- char_wchar_holder& operator=(const wchar_t *wstr)
- {
- wchar_t *tmp = new wchar_t [std::wcslen(wstr)+1];
- this->delete_mem();
- m_str.w = tmp;
- std::wcscpy(m_str.w, wstr);
- return *this;
- }
-
- char_wchar_holder& operator=(const char_wchar_holder &other)
- {
- if (other.m_is_wide)
- *this = other.getn();
- else
- *this = other.getw();
- return *this;
- }
-
- ~char_wchar_holder()
- {
- this->delete_mem();
- }
-
- wchar_t *getw() const
- { return m_is_wide ? m_str.w : 0; }
-
- char *getn() const
- { return !m_is_wide ? m_str.n : 0; }
-
- void swap(char_wchar_holder& other)
- {
- char_wchar tmp;
- std::memcpy(&tmp, &m_str, sizeof(char_wchar));
- std::memcpy(&m_str, &other.m_str, sizeof(char_wchar));
- std::memcpy(&other.m_str, &tmp, sizeof(char_wchar));
- //
- bool b_tmp(m_is_wide);
- m_is_wide = other.m_is_wide;
- other.m_is_wide = b_tmp;
- }
-
- private:
-
- void delete_mem()
- {
- if(m_is_wide)
- delete [] m_str.w;
- else
- delete [] m_str.n;
- }
-
- union char_wchar
- {
- char *n;
- wchar_t *w;
- } m_str;
- bool m_is_wide;
-};
-
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_CHAR_WCHAR_HOLDER_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/config_external_begin.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/config_external_begin.hpp
deleted file mode 100644
index 67c0556807..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/config_external_begin.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_INTERPROCESS_EXTERNAL_CONFIG_INCLUDED
-#define BOOST_INTERPROCESS_EXTERNAL_CONFIG_INCLUDED
-#include <boost/config.hpp>
-#endif
-
-#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 406)
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wshadow"
-# pragma GCC diagnostic ignored "-Wsign-conversion"
-# pragma GCC diagnostic ignored "-Wconversion"
-# if (BOOST_GCC >= 100000)
-# pragma GCC diagnostic ignored "-Warith-conversion"
-# endif
-#endif
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/config_external_end.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/config_external_end.hpp
deleted file mode 100644
index 214558f58c..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/config_external_end.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 406)
-# pragma GCC diagnostic pop
-#endif
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/intermodule_singleton_common.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/intermodule_singleton_common.hpp
deleted file mode 100644
index 2218cd9b9f..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/intermodule_singleton_common.hpp
+++ /dev/null
@@ -1,505 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2009-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_INTERMODULE_SINGLETON_COMMON_HPP
-#define BOOST_INTERPROCESS_INTERMODULE_SINGLETON_COMMON_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/detail/atomic.hpp>
-#include <boost/interprocess/detail/os_thread_functions.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/container/detail/type_traits.hpp> //alignment_of, aligned_storage
-#include <boost/interprocess/detail/mpl.hpp>
-#include <boost/interprocess/sync/spin/wait.hpp>
-#include <boost/assert.hpp>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <string>
-#include <typeinfo>
-#include <sstream>
-
-namespace boost{
-namespace interprocess{
-namespace ipcdetail{
-
-namespace intermodule_singleton_helpers {
-
-inline void get_pid_creation_time_str(std::string &s)
-{
- std::stringstream stream;
- stream << get_current_process_id() << '_';
- stream.precision(6);
- stream << std::fixed << get_current_process_creation_time();
- s = stream.str();
-}
-
-inline const char *get_map_base_name()
-{ return "bip.gmem.map."; }
-
-inline void get_map_name(std::string &map_name)
-{
- get_pid_creation_time_str(map_name);
- map_name.insert(0, get_map_base_name());
-}
-
-inline std::size_t get_map_size()
-{ return 65536; }
-
-template<class ThreadSafeGlobalMap>
-struct thread_safe_global_map_dependant;
-
-} //namespace intermodule_singleton_helpers {
-
-//This class contains common code for all singleton types, so that we instantiate this
-//code just once per module. This class also holds a thread soafe global map
-//to be used by all instances protected with a reference count
-template<class ThreadSafeGlobalMap>
-class intermodule_singleton_common
-{
- public:
- typedef void*(singleton_constructor_t)(ThreadSafeGlobalMap &);
- typedef void (singleton_destructor_t)(void *, ThreadSafeGlobalMap &);
-
- static const ::boost::uint32_t Uninitialized = 0u;
- static const ::boost::uint32_t Initializing = 1u;
- static const ::boost::uint32_t Initialized = 2u;
- static const ::boost::uint32_t Broken = 3u;
- static const ::boost::uint32_t Destroyed = 4u;
-
- //Initialize this_module_singleton_ptr, creates the global map if needed and also creates an unique
- //opaque type in global map through a singleton_constructor_t function call,
- //initializing the passed pointer to that unique instance.
- //
- //We have two concurrency types here. a)the global map/singleton creation must
- //be safe between threads of this process but in different modules/dlls. b)
- //the pointer to the singleton is per-module, so we have to protect this
- //initization between threads of the same module.
- //
- //All static variables declared here are shared between inside a module
- //so atomic operations will synchronize only threads of the same module.
- static void initialize_singleton_logic
- (void *&ptr, volatile boost::uint32_t &this_module_singleton_initialized, singleton_constructor_t constructor, bool phoenix)
- {
- //If current module is not initialized enter to lock free logic
- if(atomic_read32(&this_module_singleton_initialized) != Initialized){
- //Now a single thread of the module will succeed in this CAS.
- //trying to pass from Uninitialized to Initializing
- ::boost::uint32_t previous_module_singleton_initialized = atomic_cas32
- (&this_module_singleton_initialized, Initializing, Uninitialized);
- //If the thread succeeded the CAS (winner) it will compete with other
- //winner threads from other modules to create the global map
- if(previous_module_singleton_initialized == Destroyed){
- //Trying to resurrect a dead Phoenix singleton. Just try to
- //mark it as uninitialized and start again
- if(phoenix){
- atomic_cas32(&this_module_singleton_initialized, Uninitialized, Destroyed);
- previous_module_singleton_initialized = atomic_cas32
- (&this_module_singleton_initialized, Initializing, Uninitialized);
- }
- //Trying to resurrect a non-Phoenix dead singleton is an error
- else{
- throw interprocess_exception("Boost.Interprocess: Dead reference on non-Phoenix singleton of type");
- }
- }
- if(previous_module_singleton_initialized == Uninitialized){
- BOOST_TRY{
- //Now initialize the global map, this function must solve concurrency
- //issues between threads of several modules
- initialize_global_map_handle();
- //Now try to create the singleton in global map.
- //This function solves concurrency issues
- //between threads of several modules
- ThreadSafeGlobalMap *const pmap = get_map_ptr();
- void *tmp = constructor(*pmap);
- //Increment the module reference count that reflects how many
- //singletons this module holds, so that we can safely destroy
- //module global map object when no singleton is left
- atomic_inc32(&this_module_singleton_count);
- //Insert a barrier before assigning the pointer to
- //make sure this assignment comes after the initialization
- atomic_write32(&this_module_singleton_initialized, Initializing);
- //Assign the singleton address to the module-local pointer
- ptr = tmp;
- //Memory barrier inserted, all previous operations should complete
- //before this one. Now marked as initialized
- atomic_write32(&this_module_singleton_initialized, Initialized);
- }
- BOOST_CATCH(...){
- //Mark singleton failed to initialize
- atomic_write32(&this_module_singleton_initialized, Broken);
- BOOST_RETHROW
- } BOOST_CATCH_END
- }
- //If previous state was initializing, this means that another winner thread is
- //trying to initialize the singleton. Just wait until completes its work.
- else if(previous_module_singleton_initialized == Initializing){
- spin_wait swait;
- while(1){
- previous_module_singleton_initialized = atomic_read32(&this_module_singleton_initialized);
- if(previous_module_singleton_initialized >= Initialized){
- //Already initialized, or exception thrown by initializer thread
- break;
- }
- else if(previous_module_singleton_initialized == Initializing){
- swait.yield();
- }
- else{
- //This can't be happening!
- BOOST_ASSERT(0);
- }
- }
- }
- else if(previous_module_singleton_initialized == Initialized){
- //Nothing to do here, the singleton is ready
- }
- //If previous state was greater than initialized, then memory is broken
- //trying to initialize the singleton.
- else{//(previous_module_singleton_initialized > Initialized)
- throw interprocess_exception("boost::interprocess::intermodule_singleton initialization failed");
- }
- }
- BOOST_ASSERT(ptr != 0);
- }
-
- static void finalize_singleton_logic(void *&ptr, volatile boost::uint32_t &this_module_singleton_initialized, singleton_destructor_t destructor)
- {
- //Protect destruction against lazy singletons not initialized in this execution
- if(ptr){
- //Note: this destructor might provoke a Phoenix singleton
- //resurrection. This means that this_module_singleton_count
- //might change after this call.
- ThreadSafeGlobalMap * const pmap = get_map_ptr();
- destructor(ptr, *pmap);
- ptr = 0;
-
- //Memory barrier to make sure pointer is nulled.
- //Mark this singleton as destroyed.
- atomic_write32(&this_module_singleton_initialized, Destroyed);
-
- //If this is the last singleton of this module
- //apply map destruction.
- //Note: singletons are destroyed when the module is unloaded
- //so no threads should be executing or holding references
- //to this module
- if(1 == atomic_dec32(&this_module_singleton_count)){
- destroy_global_map_handle();
- }
- }
- }
-
- private:
- static ThreadSafeGlobalMap *get_map_ptr()
- {
- return static_cast<ThreadSafeGlobalMap *>(static_cast<void*>(mem_holder.map_mem));
- }
-
- static void initialize_global_map_handle()
- {
- //Obtain unique map name and size
- spin_wait swait;
- while(1){
- //Try to pass map state to initializing
- ::boost::uint32_t tmp = atomic_cas32(&this_module_map_initialized, Initializing, Uninitialized);
- if(tmp == Initialized || tmp == Broken){
- break;
- }
- else if(tmp == Destroyed){
- tmp = atomic_cas32(&this_module_map_initialized, Uninitialized, Destroyed);
- continue;
- }
- //If some other thread is doing the work wait
- else if(tmp == Initializing){
- swait.yield();
- }
- else{ //(tmp == Uninitialized)
- //If not initialized try it again?
- BOOST_TRY{
- //Remove old global map from the system
- intermodule_singleton_helpers::thread_safe_global_map_dependant<ThreadSafeGlobalMap>::remove_old_gmem();
- //in-place construction of the global map class
- ThreadSafeGlobalMap * const pmap = get_map_ptr();
- intermodule_singleton_helpers::thread_safe_global_map_dependant
- <ThreadSafeGlobalMap>::construct_map(static_cast<void*>(pmap));
- //Use global map's internal lock to initialize the lock file
- //that will mark this gmem as "in use".
- typename intermodule_singleton_helpers::thread_safe_global_map_dependant<ThreadSafeGlobalMap>::
- lock_file_logic f(*pmap);
- //If function failed (maybe a competing process has erased the shared
- //memory between creation and file locking), retry with a new instance.
- if(f.retry()){
- pmap->~ThreadSafeGlobalMap();
- atomic_write32(&this_module_map_initialized, Destroyed);
- }
- else{
- //Locking succeeded, so this global map module-instance is ready
- atomic_write32(&this_module_map_initialized, Initialized);
- break;
- }
- }
- BOOST_CATCH(...){
- //
- BOOST_RETHROW
- } BOOST_CATCH_END
- }
- }
- }
-
- static void destroy_global_map_handle()
- {
- if(!atomic_read32(&this_module_singleton_count)){
- //This module is being unloaded, so destroy
- //the global map object of this module
- //and unlink the global map if it's the last
- ThreadSafeGlobalMap * const pmap = get_map_ptr();
- typename intermodule_singleton_helpers::thread_safe_global_map_dependant<ThreadSafeGlobalMap>::
- unlink_map_logic f(*pmap);
- pmap->~ThreadSafeGlobalMap();
- atomic_write32(&this_module_map_initialized, Destroyed);
- //Do some cleanup for other processes old gmem instances
- intermodule_singleton_helpers::thread_safe_global_map_dependant<ThreadSafeGlobalMap>::remove_old_gmem();
- }
- }
-
- //Static data, zero-initalized without any dependencies
- //this_module_singleton_count is the number of singletons used by this module
- static volatile boost::uint32_t this_module_singleton_count;
-
- //this_module_map_initialized is the state of this module's map class object.
- //Values: Uninitialized, Initializing, Initialized, Broken
- static volatile boost::uint32_t this_module_map_initialized;
-
- //Raw memory to construct the global map manager
- static union mem_holder_t
- {
- unsigned char map_mem [sizeof(ThreadSafeGlobalMap)];
- ::boost::container::dtl::max_align_t aligner;
- } mem_holder;
-};
-
-template<class ThreadSafeGlobalMap>
-volatile boost::uint32_t intermodule_singleton_common<ThreadSafeGlobalMap>::this_module_singleton_count;
-
-template<class ThreadSafeGlobalMap>
-volatile boost::uint32_t intermodule_singleton_common<ThreadSafeGlobalMap>::this_module_map_initialized;
-
-template<class ThreadSafeGlobalMap>
-typename intermodule_singleton_common<ThreadSafeGlobalMap>::mem_holder_t
- intermodule_singleton_common<ThreadSafeGlobalMap>::mem_holder;
-
-//A reference count to be stored in global map holding the number
-//of singletons (one per module) attached to the instance pointed by
-//the internal ptr.
-struct ref_count_ptr
-{
- ref_count_ptr(void *p, boost::uint32_t count)
- : ptr(p), singleton_ref_count(count)
- {}
- void *ptr;
- //This reference count serves to count the number of attached
- //modules to this singleton
- volatile boost::uint32_t singleton_ref_count;
-};
-
-
-//Now this class is a singleton, initializing the singleton in
-//the first get() function call if LazyInit is true. If false
-//then the singleton will be initialized when loading the module.
-template<typename C, bool LazyInit, bool Phoenix, class ThreadSafeGlobalMap>
-class intermodule_singleton_impl
-{
- public:
-
- static C& get() //Let's make inlining easy
- {
- if(!this_module_singleton_ptr){
- if(lifetime.dummy_function()){ //This forces lifetime instantiation, for reference counted destruction
- atentry_work();
- }
- }
- return *static_cast<C*>(this_module_singleton_ptr);
- }
-
- private:
-
- static void atentry_work()
- {
- intermodule_singleton_common<ThreadSafeGlobalMap>::initialize_singleton_logic
- (this_module_singleton_ptr, this_module_singleton_initialized, singleton_constructor, Phoenix);
- }
-
- static void atexit_work()
- {
- intermodule_singleton_common<ThreadSafeGlobalMap>::finalize_singleton_logic
- (this_module_singleton_ptr, this_module_singleton_initialized, singleton_destructor);
- }
-
- //These statics will be zero-initialized without any constructor call dependency
- //this_module_singleton_ptr will be a module-local pointer to the singleton
- static void* this_module_singleton_ptr;
-
- //this_module_singleton_count will be used to synchronize threads of the same module
- //for access to a singleton instance, and to flag the state of the
- //singleton.
- static volatile boost::uint32_t this_module_singleton_initialized;
-
- //This class destructor will trigger singleton destruction
- struct lifetime_type_lazy
- {
- bool dummy_function()
- { return m_dummy == 0; }
-
- ~lifetime_type_lazy()
- {
- //if(!Phoenix){
- //atexit_work();
- //}
- }
-
- //Dummy volatile so that the compiler can't resolve its value at compile-time
- //and can't avoid lifetime_type instantiation if dummy_function() is called.
- static volatile int m_dummy;
- };
-
- struct lifetime_type_static
- : public lifetime_type_lazy
- {
- lifetime_type_static()
- { atentry_work(); }
- };
-
- typedef typename if_c
- <LazyInit, lifetime_type_lazy, lifetime_type_static>::type lifetime_type;
-
- static lifetime_type lifetime;
-
- //A functor to be executed inside global map lock that just
- //searches for the singleton in map and if not present creates a new one.
- //If singleton constructor throws, the exception is propagated
- struct init_atomic_func
- {
- init_atomic_func(ThreadSafeGlobalMap &m)
- : m_map(m), ret_ptr()
- {}
-
- void operator()()
- {
- ref_count_ptr *rcount = intermodule_singleton_helpers::thread_safe_global_map_dependant
- <ThreadSafeGlobalMap>::find(m_map, typeid(C).name());
- if(!rcount){
- C *p = new C;
- BOOST_TRY{
- ref_count_ptr val(p, 0u);
- rcount = intermodule_singleton_helpers::thread_safe_global_map_dependant
- <ThreadSafeGlobalMap>::insert(m_map, typeid(C).name(), val);
- }
- BOOST_CATCH(...){
- intermodule_singleton_helpers::thread_safe_global_map_dependant
- <ThreadSafeGlobalMap>::erase(m_map, typeid(C).name());
- delete p;
- BOOST_RETHROW
- } BOOST_CATCH_END
- }
- //if(Phoenix){
- std::atexit(&atexit_work);
- //}
- atomic_inc32(&rcount->singleton_ref_count);
- ret_ptr = rcount->ptr;
- }
- void *data() const
- { return ret_ptr; }
-
- private:
- ThreadSafeGlobalMap &m_map;
- void *ret_ptr;
- };
-
- //A functor to be executed inside global map lock that just
- //deletes the singleton in map if the attached count reaches to zero
- struct fini_atomic_func
- {
- fini_atomic_func(ThreadSafeGlobalMap &m)
- : m_map(m)
- {}
-
- void operator()()
- {
- ref_count_ptr *rcount = intermodule_singleton_helpers::thread_safe_global_map_dependant
- <ThreadSafeGlobalMap>::find(m_map, typeid(C).name());
- //The object must exist
- BOOST_ASSERT(rcount);
- BOOST_ASSERT(rcount->singleton_ref_count > 0);
- //Check if last reference
- if(atomic_dec32(&rcount->singleton_ref_count) == 1){
- //If last, destroy the object
- BOOST_ASSERT(rcount->ptr != 0);
- C *pc = static_cast<C*>(rcount->ptr);
- //Now destroy map entry
- bool destroyed = intermodule_singleton_helpers::thread_safe_global_map_dependant
- <ThreadSafeGlobalMap>::erase(m_map, typeid(C).name());
- (void)destroyed; BOOST_ASSERT(destroyed == true);
- delete pc;
- }
- }
-
- private:
- ThreadSafeGlobalMap &m_map;
- };
-
- //A wrapper to execute init_atomic_func
- static void *singleton_constructor(ThreadSafeGlobalMap &map)
- {
- init_atomic_func f(map);
- intermodule_singleton_helpers::thread_safe_global_map_dependant
- <ThreadSafeGlobalMap>::atomic_func(map, f);
- return f.data();
- }
-
- //A wrapper to execute fini_atomic_func
- static void singleton_destructor(void *p, ThreadSafeGlobalMap &map)
- { (void)p;
- fini_atomic_func f(map);
- intermodule_singleton_helpers::thread_safe_global_map_dependant
- <ThreadSafeGlobalMap>::atomic_func(map, f);
- }
-};
-
-template <typename C, bool L, bool P, class ThreadSafeGlobalMap>
-volatile int intermodule_singleton_impl<C, L, P, ThreadSafeGlobalMap>::lifetime_type_lazy::m_dummy = 0;
-
-//These will be zero-initialized by the loader
-template <typename C, bool L, bool P, class ThreadSafeGlobalMap>
-void *intermodule_singleton_impl<C, L, P, ThreadSafeGlobalMap>::this_module_singleton_ptr = 0;
-
-template <typename C, bool L, bool P, class ThreadSafeGlobalMap>
-volatile boost::uint32_t intermodule_singleton_impl<C, L, P, ThreadSafeGlobalMap>::this_module_singleton_initialized = 0;
-
-template <typename C, bool L, bool P, class ThreadSafeGlobalMap>
-typename intermodule_singleton_impl<C, L, P, ThreadSafeGlobalMap>::lifetime_type
- intermodule_singleton_impl<C, L, P, ThreadSafeGlobalMap>::lifetime;
-
-} //namespace ipcdetail{
-} //namespace interprocess{
-} //namespace boost{
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_INTERPROCESS_INTERMODULE_SINGLETON_COMMON_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/os_file_functions.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/os_file_functions.hpp
deleted file mode 100644
index 5e3a5a0ddd..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/os_file_functions.hpp
+++ /dev/null
@@ -1,855 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_OS_FILE_FUNCTIONS_HPP
-#define BOOST_INTERPROCESS_DETAIL_OS_FILE_FUNCTIONS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/errors.hpp>
-#include <boost/interprocess/permissions.hpp>
-
-#include <climits>
-#include <string>
-#include <boost/move/detail/type_traits.hpp> //make_unsigned
-
-#if defined (BOOST_INTERPROCESS_WINDOWS)
-# include <boost/interprocess/detail/win32_api.hpp>
-# include <wchar.h> //wcsxxx()
-#else
-# ifdef BOOST_HAS_UNISTD_H
-# include <fcntl.h>
-# include <unistd.h>
-# include <sys/types.h>
-# include <sys/stat.h>
-# include <dirent.h>
-# include <cerrno>
-# include <cstdio>
-# if 0
-# include <sys/file.h>
-# endif
-# else
-# error Unknown platform
-# endif
-#endif
-
-#include <cstring>
-#include <cstdlib>
-
-namespace boost {
-namespace interprocess {
-
-#if defined (BOOST_INTERPROCESS_WINDOWS)
-
-typedef void * file_handle_t;
-typedef __int64 offset_t;
-typedef struct mapping_handle_impl_t{
- void * handle;
- bool is_shm;
-} mapping_handle_t;
-
-typedef enum { read_only = winapi::generic_read
- , read_write = winapi::generic_read | winapi::generic_write
- , copy_on_write
- , read_private
- , invalid_mode = 0xffff
- } mode_t;
-
-typedef enum { file_begin = winapi::file_begin
- , file_end = winapi::file_end
- , file_current = winapi::file_current
- } file_pos_t;
-
-typedef unsigned long map_options_t;
-static const map_options_t default_map_options = map_options_t(-1);
-
-namespace ipcdetail{
-
-inline mapping_handle_t mapping_handle_from_file_handle(file_handle_t hnd)
-{
- mapping_handle_t ret;
- ret.handle = hnd;
- ret.is_shm = false;
- return ret;
-}
-
-inline mapping_handle_t mapping_handle_from_shm_handle(file_handle_t hnd)
-{
- mapping_handle_t ret;
- ret.handle = hnd;
- ret.is_shm = true;
- return ret;
-}
-
-inline file_handle_t file_handle_from_mapping_handle(mapping_handle_t hnd)
-{ return hnd.handle; }
-
-template<class CharT>
-inline bool create_directory(const CharT *path)
-{ return winapi::create_directory(path); }
-
-template<class CharT>
-inline bool open_or_create_directory(const CharT *path)
-{
- //If fails, check that it's because it already exists
- return create_directory(path)
- || error_info(system_error_code()).get_error_code() == already_exists_error;
-}
-
-template<class CharT>
-inline bool open_or_create_shared_directory(const CharT *path)
-{
- return open_or_create_directory(path);
-}
-
-template <class CharT>
-inline bool remove_directory(const CharT *path)
-{ return winapi::remove_directory(path); }
-
-inline bool get_temporary_path(char *buffer, std::size_t buf_len, std::size_t &required_len)
-{
- required_len = 0;
- //std::size_t is always bigger or equal than unsigned long in Windows systems
- //In case std::size_t is bigger than unsigned long
- unsigned long buf = buf_len;
- if(buf_len != buf){ //maybe overflowed
- return false;
- }
- required_len = winapi::get_temp_path(buf_len, buffer);
- const bool ret = required_len && (buf_len > required_len);
- if(ret && buffer[required_len-1] == '\\'){
- buffer[required_len-1] = '\0';
- }
- return ret;
-}
-
-inline bool get_temporary_path(wchar_t *buffer, std::size_t buf_len, std::size_t &required_len)
-{
- required_len = 0;
- //std::size_t is always bigger or equal than unsigned long in Windows systems
- //In case std::size_t is bigger than unsigned long
- unsigned long buf = buf_len;
- if(buf_len != buf){ //maybe overflowed
- return false;
- }
- required_len = winapi::get_temp_path(buf_len, buffer);
- const bool ret = !(buf_len < required_len);
- if(ret && buffer[required_len-1] == L'\\'){
- buffer[required_len-1] = L'\0';
- }
- return ret;
-}
-
-template<class CharT>
-inline file_handle_t create_new_file
- (const CharT *name, mode_t mode, const permissions & perm = permissions(), bool temporary = false)
-{
- unsigned long attr = temporary ? winapi::file_attribute_temporary : 0;
- return winapi::create_file
- ( name, (unsigned int)mode, winapi::create_new, attr
- , (winapi::interprocess_security_attributes*)perm.get_permissions());
-}
-
-template <class CharT>
-inline file_handle_t create_or_open_file
- (const CharT *name, mode_t mode, const permissions & perm = permissions(), bool temporary = false)
-{
- unsigned long attr = temporary ? winapi::file_attribute_temporary : 0;
- return winapi::create_file
- ( name, (unsigned int)mode, winapi::open_always, attr
- , (winapi::interprocess_security_attributes*)perm.get_permissions());
-}
-
-template<class CharT>
-inline file_handle_t open_existing_file
- (const CharT *name, mode_t mode, bool temporary = false)
-{
- unsigned long attr = temporary ? winapi::file_attribute_temporary : 0;
- return winapi::create_file
- (name, (unsigned int)mode, winapi::open_existing, attr, 0);
-}
-
-inline bool delete_file(const char *name)
-{ return winapi::unlink_file(name); }
-
-inline bool delete_file(const wchar_t *name)
-{ return winapi::unlink_file(name); }
-
-inline bool truncate_file (file_handle_t hnd, std::size_t size)
-{
- offset_t filesize;
- if(!winapi::get_file_size(hnd, filesize))
- return false;
-
- typedef ::boost::move_detail::make_unsigned<offset_t>::type uoffset_t;
- const uoffset_t max_filesize = uoffset_t(-1)/2u;
- const uoffset_t uoff_size = uoffset_t(size);
- //Avoid unused variable warnings in 32 bit systems
- if(uoff_size > max_filesize){
- winapi::set_last_error(winapi::error_file_too_large);
- return false;
- }
-
- if(offset_t(size) > filesize){
- if(!winapi::set_file_pointer(hnd, filesize, 0, winapi::file_begin)){
- return false;
- }
- //We will write zeros in the end of the file
- //since set_end_of_file does not guarantee this
- for(std::size_t remaining = size - std::size_t(filesize), write_size = 0
- ;remaining > 0
- ;remaining -= write_size){
- const std::size_t DataSize = 512;
- static char data [DataSize];
- write_size = DataSize < remaining ? DataSize : remaining;
- unsigned long written;
- winapi::write_file(hnd, data, (unsigned long)write_size, &written, 0);
- if(written != write_size){
- return false;
- }
- }
- }
- else{
- if(!winapi::set_file_pointer(hnd, size, 0, winapi::file_begin)){
- return false;
- }
- if(!winapi::set_end_of_file(hnd)){
- return false;
- }
- }
- return true;
-}
-
-inline bool get_file_size(file_handle_t hnd, offset_t &size)
-{ return winapi::get_file_size(hnd, size); }
-
-inline bool set_file_pointer(file_handle_t hnd, offset_t off, file_pos_t pos)
-{ return winapi::set_file_pointer(hnd, off, 0, (unsigned long) pos); }
-
-inline bool get_file_pointer(file_handle_t hnd, offset_t &off)
-{ return winapi::set_file_pointer(hnd, 0, &off, winapi::file_current); }
-
-inline bool write_file(file_handle_t hnd, const void *data, std::size_t numdata)
-{
- unsigned long written;
- return 0 != winapi::write_file(hnd, data, (unsigned long)numdata, &written, 0);
-}
-
-inline file_handle_t invalid_file()
-{ return winapi::invalid_handle_value; }
-
-inline bool close_file(file_handle_t hnd)
-{ return 0 != winapi::close_handle(hnd); }
-
-inline bool acquire_file_lock(file_handle_t hnd)
-{
- static winapi::interprocess_overlapped overlapped;
- const unsigned long len = ((unsigned long)-1);
-// winapi::interprocess_overlapped overlapped;
-// std::memset(&overlapped, 0, sizeof(overlapped));
- return winapi::lock_file_ex
- (hnd, winapi::lockfile_exclusive_lock, 0, len, len, &overlapped);
-}
-
-inline bool try_acquire_file_lock(file_handle_t hnd, bool &acquired)
-{
- const unsigned long len = ((unsigned long)-1);
- winapi::interprocess_overlapped overlapped;
- std::memset(&overlapped, 0, sizeof(overlapped));
- if(!winapi::lock_file_ex
- (hnd, winapi::lockfile_exclusive_lock | winapi::lockfile_fail_immediately,
- 0, len, len, &overlapped)){
- return winapi::get_last_error() == winapi::error_lock_violation ?
- acquired = false, true : false;
-
- }
- acquired = true;
- return true;
-}
-
-inline bool release_file_lock(file_handle_t hnd)
-{
- const unsigned long len = ((unsigned long)-1);
- winapi::interprocess_overlapped overlapped;
- std::memset(&overlapped, 0, sizeof(overlapped));
- return winapi::unlock_file_ex(hnd, 0, len, len, &overlapped);
-}
-
-inline bool acquire_file_lock_sharable(file_handle_t hnd)
-{
- const unsigned long len = ((unsigned long)-1);
- winapi::interprocess_overlapped overlapped;
- std::memset(&overlapped, 0, sizeof(overlapped));
- return winapi::lock_file_ex(hnd, 0, 0, len, len, &overlapped);
-}
-
-inline bool try_acquire_file_lock_sharable(file_handle_t hnd, bool &acquired)
-{
- const unsigned long len = ((unsigned long)-1);
- winapi::interprocess_overlapped overlapped;
- std::memset(&overlapped, 0, sizeof(overlapped));
- if(!winapi::lock_file_ex
- (hnd, winapi::lockfile_fail_immediately, 0, len, len, &overlapped)){
- return winapi::get_last_error() == winapi::error_lock_violation ?
- acquired = false, true : false;
- }
-
- acquired = true;
- return true;
-}
-
-inline bool release_file_lock_sharable(file_handle_t hnd)
-{ return release_file_lock(hnd); }
-
-template<class CharT>
-struct os_file_traits;
-
-template<>
-struct os_file_traits<char>
-{
- static const char *any_file()
- { return "\\*.*"; }
-
- static const char *backslash()
- { return "\\"; }
-
- static char dot()
- { return '.'; }
-
- typedef winapi::win32_find_data_a win32_find_data_t;
-
- static int cmp(const char *a, const char *b)
- { return std::strcmp(a, b); }
-};
-
-template<>
-struct os_file_traits<wchar_t>
-{
- static const wchar_t *any_file()
- { return L"\\*.*"; }
-
- static const wchar_t *backslash()
- { return L"\\"; }
-
- static wchar_t dot()
- { return L'.'; }
-
- typedef winapi::win32_find_data_w win32_find_data_t;
-
- static int cmp(const wchar_t *a, const wchar_t *b)
- { return std::wcscmp(a, b); }
-};
-
-template<class CharT>
-inline bool delete_subdirectories_recursive
- (const std::basic_string<CharT> &refcstrRootDirectory, const CharT *dont_delete_this, unsigned int count)
-{
- bool bSubdirectory = false; // Flag, indicating whether
- // subdirectories have been found
- void * hFile; // Handle to directory
- std::basic_string<CharT> strFilePath; // Filepath
- std::basic_string<CharT> strPattern; // Pattern
- typedef os_file_traits<CharT> traits_t;
- typename traits_t::win32_find_data_t FileInformation; // File information
-
- //Find all files and directories
- strPattern = refcstrRootDirectory + traits_t::any_file();
- hFile = winapi::find_first_file(strPattern.c_str(), &FileInformation);
- if(hFile != winapi::invalid_handle_value){
- do{
- //If it's not "." or ".." or the pointed root_level dont_delete_this erase it
- if(FileInformation.cFileName[0] != traits_t::dot() &&
- !(dont_delete_this && count == 0 && traits_t::cmp(dont_delete_this, FileInformation.cFileName) == 0)){
- strFilePath.erase();
- strFilePath = refcstrRootDirectory + traits_t::backslash() + FileInformation.cFileName;
-
- //If it's a directory, go recursive
- if(FileInformation.dwFileAttributes & winapi::file_attribute_directory){
- // Delete subdirectory
- if(!delete_subdirectories_recursive(strFilePath, dont_delete_this, count+1)){
- winapi::find_close(hFile);
- return false;
- }
- }
- //If it's a file, just delete it
- else{
- // Set file attributes
- //if(::SetFileAttributes(strFilePath.c_str(), winapi::file_attribute_normal) == 0)
- //return winapi::get_last_error();
- // Delete file
- winapi::unlink_file(strFilePath.c_str());
- }
- }
- //Go to the next file
- } while(winapi::find_next_file(hFile, &FileInformation) == 1);
-
- // Close handle
- winapi::find_close(hFile);
-
- //See if the loop has ended with an error or just because we've traversed all the files
- if(winapi::get_last_error() != winapi::error_no_more_files){
- return false;
- }
- else
- {
- //Erase empty subdirectories or original refcstrRootDirectory
- if(!bSubdirectory && count)
- {
- // Set directory attributes
- //if(::SetFileAttributes(refcstrRootDirectory.c_str(), FILE_ATTRIBUTE_NORMAL) == 0)
- //return ::GetLastError();
- // Delete directory
- if(winapi::remove_directory(refcstrRootDirectory.c_str()) == 0)
- return false;
- }
- }
- }
- return true;
-}
-
-//This function erases all the subdirectories of a directory except the one pointed by "dont_delete_this"
-template <class CharT>
-inline bool delete_subdirectories(const std::basic_string<CharT> &refcstrRootDirectory, const CharT *dont_delete_this)
-{
- return delete_subdirectories_recursive(refcstrRootDirectory, dont_delete_this, 0u);
-}
-
-
-template<class Function>
-inline bool for_each_file_in_dir(const char *dir, Function f)
-{
- void * hFile; // Handle to directory
- winapi::win32_find_data_a FileInformation; // File information
-
- //Get base directory
- std::string str(dir);
- const std::size_t base_root_dir_len = str.size();
-
- //Find all files and directories
- str += "\\*.*";
- hFile = winapi::find_first_file(str.c_str(), &FileInformation);
- if(hFile != winapi::invalid_handle_value){
- do{ //Now loop every file
- str.erase(base_root_dir_len);
- //If it's not "." or ".." skip it
- if(FileInformation.cFileName[0] != '.'){
- str += "\\"; str += FileInformation.cFileName;
- //If it's a file, apply erase logic
- if(!(FileInformation.dwFileAttributes & winapi::file_attribute_directory)){
- f(str.c_str(), FileInformation.cFileName);
- }
- }
- //Go to the next file
- } while(winapi::find_next_file(hFile, &FileInformation) == 1);
-
- // Close handle and see if the loop has ended with an error
- winapi::find_close(hFile);
- if(winapi::get_last_error() != winapi::error_no_more_files){
- return false;
- }
- }
- return true;
-}
-
-
-#else //#if defined (BOOST_INTERPROCESS_WINDOWS)
-
-typedef int file_handle_t;
-typedef off_t offset_t;
-
-typedef struct mapping_handle_impl_t
-{
- file_handle_t handle;
- bool is_xsi;
-} mapping_handle_t;
-
-typedef enum { read_only = O_RDONLY
- , read_write = O_RDWR
- , copy_on_write
- , read_private
- , invalid_mode = 0xffff
- } mode_t;
-
-typedef enum { file_begin = SEEK_SET
- , file_end = SEEK_END
- , file_current = SEEK_CUR
- } file_pos_t;
-
-typedef int map_options_t;
-static const map_options_t default_map_options = map_options_t(-1);
-
-namespace ipcdetail{
-
-inline mapping_handle_t mapping_handle_from_file_handle(file_handle_t hnd)
-{
- mapping_handle_t ret;
- ret.handle = hnd;
- ret.is_xsi = false;
- return ret;
-}
-
-inline file_handle_t file_handle_from_mapping_handle(mapping_handle_t hnd)
-{ return hnd.handle; }
-
-inline bool create_directory(const char *path)
-{
- ::mode_t m = ::mode_t(0777);
- return ::mkdir(path, m) == 0;
-}
-
-inline bool open_or_create_directory(const char *path)
-{
- ::mode_t m = ::mode_t(0777);
- return ::mkdir(path, m) == 0 || (errno == EEXIST);
-}
-
-inline bool open_or_create_shared_directory(const char *path)
-{
- const ::mode_t m = ::mode_t(01777);
- const bool created = ::mkdir(path, m) == 0;
- const bool created_or_exists = created || (errno == EEXIST);
- //Try to maximize the chance that the sticky bit is set in shared dirs
- //created with old versions that did not set it (for security reasons)
- const bool chmoded = ::chmod(path, m) == 0;
- return created ? chmoded : created_or_exists;
-}
-
-inline bool remove_directory(const char *path)
-{ return ::rmdir(path) == 0; }
-
-inline bool get_temporary_path(char *buffer, std::size_t buf_len, std::size_t &required_len)
-{
- required_len = 5u;
- if(buf_len < required_len)
- return false;
- else{
- std::strcpy(buffer, "/tmp");
- }
- return true;
-}
-
-inline file_handle_t create_new_file
- (const char *name, mode_t mode, const permissions & perm = permissions(), bool temporary = false)
-{
- (void)temporary;
- int ret = ::open(name, ((int)mode) | O_EXCL | O_CREAT, perm.get_permissions());
- if(ret >= 0){
- ::fchmod(ret, perm.get_permissions());
- }
- return ret;
-}
-
-inline file_handle_t create_or_open_file
- (const char *name, mode_t mode, const permissions & perm = permissions(), bool temporary = false)
-{
- (void)temporary;
- int ret = -1;
- //We need a loop to change permissions correctly using fchmod, since
- //with "O_CREAT only" ::open we don't know if we've created or opened the file.
- while(true){
- ret = ::open(name, ((int)mode) | O_EXCL | O_CREAT, perm.get_permissions());
- if(ret >= 0){
- ::fchmod(ret, perm.get_permissions());
- break;
- }
- else if(errno == EEXIST){
- if((ret = ::open(name, (int)mode)) >= 0 || errno != ENOENT){
- break;
- }
- }
- else{
- break;
- }
- }
- return ret;
-}
-
-inline file_handle_t open_existing_file
- (const char *name, mode_t mode, bool temporary = false)
-{
- (void)temporary;
- return ::open(name, (int)mode);
-}
-
-inline bool delete_file(const char *name)
-{ return ::unlink(name) == 0; }
-
-inline bool truncate_file (file_handle_t hnd, std::size_t size)
-{
- typedef boost::move_detail::make_unsigned<off_t>::type uoff_t;
- BOOST_STATIC_ASSERT(( sizeof(uoff_t) >= sizeof(std::size_t) ));
- if( uoff_t(-1)/2u < uoff_t(size) ){
- errno = EINVAL;
- return false;
- }
- return 0 == ::ftruncate(hnd, off_t(size));
-}
-
-inline bool get_file_size(file_handle_t hnd, offset_t &size)
-{
- struct stat data;
- bool ret = 0 == ::fstat(hnd, &data);
- if(ret){
- size = data.st_size;
- }
- return ret;
-}
-
-inline bool set_file_pointer(file_handle_t hnd, offset_t off, file_pos_t pos)
-{ return ((off_t)(-1)) != ::lseek(hnd, off, (int)pos); }
-
-inline bool get_file_pointer(file_handle_t hnd, offset_t &off)
-{
- off = ::lseek(hnd, 0, SEEK_CUR);
- return off != ((off_t)-1);
-}
-
-inline bool write_file(file_handle_t hnd, const void *data, std::size_t numdata)
-{ return (ssize_t(numdata)) == ::write(hnd, data, numdata); }
-
-inline file_handle_t invalid_file()
-{ return -1; }
-
-inline bool close_file(file_handle_t hnd)
-{ return ::close(hnd) == 0; }
-
-inline bool acquire_file_lock(file_handle_t hnd)
-{
- struct ::flock lock;
- lock.l_type = F_WRLCK;
- lock.l_whence = SEEK_SET;
- lock.l_start = 0;
- lock.l_len = 0;
- return -1 != ::fcntl(hnd, F_SETLKW, &lock);
-}
-
-inline bool try_acquire_file_lock(file_handle_t hnd, bool &acquired)
-{
- struct ::flock lock;
- lock.l_type = F_WRLCK;
- lock.l_whence = SEEK_SET;
- lock.l_start = 0;
- lock.l_len = 0;
- int ret = ::fcntl(hnd, F_SETLK, &lock);
- if(ret == -1){
- return (errno == EAGAIN || errno == EACCES) ?
- (acquired = false, true) : false;
- }
- return (acquired = true);
-}
-
-inline bool release_file_lock(file_handle_t hnd)
-{
- struct ::flock lock;
- lock.l_type = F_UNLCK;
- lock.l_whence = SEEK_SET;
- lock.l_start = 0;
- lock.l_len = 0;
- return -1 != ::fcntl(hnd, F_SETLK, &lock);
-}
-
-inline bool acquire_file_lock_sharable(file_handle_t hnd)
-{
- struct ::flock lock;
- lock.l_type = F_RDLCK;
- lock.l_whence = SEEK_SET;
- lock.l_start = 0;
- lock.l_len = 0;
- return -1 != ::fcntl(hnd, F_SETLKW, &lock);
-}
-
-inline bool try_acquire_file_lock_sharable(file_handle_t hnd, bool &acquired)
-{
- struct flock lock;
- lock.l_type = F_RDLCK;
- lock.l_whence = SEEK_SET;
- lock.l_start = 0;
- lock.l_len = 0;
- int ret = ::fcntl(hnd, F_SETLK, &lock);
- if(ret == -1){
- return (errno == EAGAIN || errno == EACCES) ?
- (acquired = false, true) : false;
- }
- return (acquired = true);
-}
-
-inline bool release_file_lock_sharable(file_handle_t hnd)
-{ return release_file_lock(hnd); }
-
-#if 0
-inline bool acquire_file_lock(file_handle_t hnd)
-{ return 0 == ::flock(hnd, LOCK_EX); }
-
-inline bool try_acquire_file_lock(file_handle_t hnd, bool &acquired)
-{
- int ret = ::flock(hnd, LOCK_EX | LOCK_NB);
- acquired = ret == 0;
- return (acquired || errno == EWOULDBLOCK);
-}
-
-inline bool release_file_lock(file_handle_t hnd)
-{ return 0 == ::flock(hnd, LOCK_UN); }
-
-inline bool acquire_file_lock_sharable(file_handle_t hnd)
-{ return 0 == ::flock(hnd, LOCK_SH); }
-
-inline bool try_acquire_file_lock_sharable(file_handle_t hnd, bool &acquired)
-{
- int ret = ::flock(hnd, LOCK_SH | LOCK_NB);
- acquired = ret == 0;
- return (acquired || errno == EWOULDBLOCK);
-}
-
-inline bool release_file_lock_sharable(file_handle_t hnd)
-{ return 0 == ::flock(hnd, LOCK_UN); }
-#endif
-
-inline bool delete_subdirectories_recursive
- (const std::string &refcstrRootDirectory, const char *dont_delete_this)
-{
- DIR *d = opendir(refcstrRootDirectory.c_str());
- if(!d) {
- return false;
- }
-
- struct dir_close
- {
- DIR *d_;
- dir_close(DIR *d) : d_(d) {}
- ~dir_close() { ::closedir(d_); }
- } dc(d); (void)dc;
-
- struct ::dirent *de;
- struct ::stat st;
- std::string fn;
-
- while((de=::readdir(d))) {
- if( de->d_name[0] == '.' && ( de->d_name[1] == '\0'
- || (de->d_name[1] == '.' && de->d_name[2] == '\0' )) ){
- continue;
- }
- if(dont_delete_this && std::strcmp(dont_delete_this, de->d_name) == 0){
- continue;
- }
- fn = refcstrRootDirectory;
- fn += '/';
- fn += de->d_name;
-
- if(std::remove(fn.c_str())) {
- if(::stat(fn.c_str(), & st)) {
- return false;
- }
- if(S_ISDIR(st.st_mode)) {
- if(!delete_subdirectories_recursive(fn, 0) ){
- return false;
- }
- } else {
- return false;
- }
- }
- }
- return std::remove(refcstrRootDirectory.c_str()) ? false : true;
-}
-
-template<class Function>
-inline bool for_each_file_in_dir(const char *dir, Function f)
-{
- std::string refcstrRootDirectory(dir);
-
- DIR *d = opendir(refcstrRootDirectory.c_str());
- if(!d) {
- return false;
- }
-
- struct dir_close
- {
- DIR *d_;
- dir_close(DIR *d) : d_(d) {}
- ~dir_close() { ::closedir(d_); }
- } dc(d); (void)dc;
-
- struct ::dirent *de;
- struct ::stat st;
- std::string fn;
-
- while((de=::readdir(d))) {
- if( de->d_name[0] == '.' && ( de->d_name[1] == '\0'
- || (de->d_name[1] == '.' && de->d_name[2] == '\0' )) ){
- continue;
- }
- fn = refcstrRootDirectory;
- fn += '/';
- fn += de->d_name;
-
- if(::stat(fn.c_str(), & st)) {
- return false;
- }
- //If it's a file, apply erase logic
- if(!S_ISDIR(st.st_mode)) {
- f(fn.c_str(), de->d_name);
- }
- }
- return true;
-}
-
-
-//This function erases all the subdirectories of a directory except the one pointed by "dont_delete_this"
-inline bool delete_subdirectories(const std::string &refcstrRootDirectory, const char *dont_delete_this)
-{
- return delete_subdirectories_recursive(refcstrRootDirectory, dont_delete_this );
-}
-
-#endif //#if defined (BOOST_INTERPROCESS_WINDOWS)
-
-inline std::string get_temporary_path()
-{
- std::size_t required_len = 0;
- get_temporary_path((char*)0, 0, required_len);
- std::string ret_str(required_len, char(0));
- get_temporary_path(&ret_str[0], ret_str.size(), required_len);
- while(!ret_str.empty() && !ret_str[ret_str.size()-1]){
- ret_str.erase(ret_str.size()-1);
- }
-
- return ret_str;
-}
-
-#ifdef BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES
-
-inline std::wstring get_temporary_wpath()
-{
- std::size_t required_len = 0;
- get_temporary_path((wchar_t*)0, 0, required_len);
- std::wstring ret_str(required_len, char(0));
- get_temporary_path(&ret_str[0], ret_str.size(), required_len);
- while(!ret_str.empty() && !ret_str[ret_str.size()-1]){
- ret_str.erase(ret_str.size()-1);
- }
-
- return ret_str;
-}
-
-#endif
-
-} //namespace ipcdetail{
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_OS_FILE_FUNCTIONS_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/os_thread_functions.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/os_thread_functions.hpp
deleted file mode 100644
index 7d88b4dd30..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/os_thread_functions.hpp
+++ /dev/null
@@ -1,630 +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/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//Thread launching functions are adapted from boost/detail/lightweight_thread.hpp
-//
-// boost/detail/lightweight_thread.hpp
-//
-// Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
-// Copyright (c) 2008 Peter Dimov
-//
-// Distributed under the 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_INTERPROCESS_DETAIL_OS_THREAD_FUNCTIONS_HPP
-#define BOOST_INTERPROCESS_DETAIL_OS_THREAD_FUNCTIONS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/streams/bufferstream.hpp>
-#include <cstddef>
-#include <ostream>
-
-#if defined(BOOST_INTERPROCESS_WINDOWS)
-# include <boost/interprocess/detail/win32_api.hpp>
-# include <boost/winapi/thread.hpp>
-#else
-# include <pthread.h>
-# include <unistd.h>
-# include <sched.h>
-# include <time.h>
-# ifdef BOOST_INTERPROCESS_BSD_DERIVATIVE
- //Some *BSD systems (OpenBSD & NetBSD) need sys/param.h before sys/sysctl.h, whereas
- //others (FreeBSD & Darwin) need sys/types.h
-# include <sys/types.h>
-# include <sys/param.h>
-# include <sys/sysctl.h>
-# endif
-#if defined(__VXWORKS__)
-#error #include <vxCpuLib.h>
-#endif
-//According to the article "C/C++ tip: How to measure elapsed real time for benchmarking"
-//Check MacOs first as macOS 10.12 SDK defines both CLOCK_MONOTONIC and
-//CLOCK_MONOTONIC_RAW and no clock_gettime.
-# if (defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
-# include <mach/mach_time.h> // mach_absolute_time, mach_timebase_info_data_t
-# define BOOST_INTERPROCESS_MATCH_ABSOLUTE_TIME
-# elif defined(CLOCK_MONOTONIC_PRECISE) //BSD
-# define BOOST_INTERPROCESS_CLOCK_MONOTONIC CLOCK_MONOTONIC_PRECISE
-# elif defined(CLOCK_MONOTONIC_RAW) //Linux
-# define BOOST_INTERPROCESS_CLOCK_MONOTONIC CLOCK_MONOTONIC_RAW
-# elif defined(CLOCK_HIGHRES) //Solaris
-# define BOOST_INTERPROCESS_CLOCK_MONOTONIC CLOCK_HIGHRES
-# elif defined(CLOCK_MONOTONIC) //POSIX (AIX, BSD, Linux, Solaris)
-# define BOOST_INTERPROCESS_CLOCK_MONOTONIC CLOCK_MONOTONIC
-# else
-# error "No high resolution steady clock in your system, please provide a patch"
-# endif
-#endif
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail{
-
-#if defined (BOOST_INTERPROCESS_WINDOWS)
-
-typedef unsigned long OS_process_id_t;
-typedef unsigned long OS_thread_id_t;
-struct OS_thread_t
-{
- OS_thread_t()
- : m_handle()
- {}
-
-
- void* handle() const
- { return m_handle; }
-
- void* m_handle;
-};
-
-typedef OS_thread_id_t OS_systemwide_thread_id_t;
-
-//process
-inline OS_process_id_t get_current_process_id()
-{ return winapi::get_current_process_id(); }
-
-inline OS_process_id_t get_invalid_process_id()
-{ return OS_process_id_t(0); }
-
-//thread
-inline OS_thread_id_t get_current_thread_id()
-{ return winapi::get_current_thread_id(); }
-
-inline OS_thread_id_t get_invalid_thread_id()
-{ return OS_thread_id_t(0xffffffff); }
-
-inline bool equal_thread_id(OS_thread_id_t id1, OS_thread_id_t id2)
-{ return id1 == id2; }
-
-//return the system tick in ns
-inline unsigned long get_system_tick_ns()
-{
- unsigned long curres, ignore1, ignore2;
- winapi::query_timer_resolution(&ignore1, &ignore2, &curres);
- //Windows API returns the value in hundreds of ns
- return (curres - 1ul)*100ul;
-}
-
-//return the system tick in us
-inline unsigned long get_system_tick_us()
-{
- unsigned long curres, ignore1, ignore2;
- winapi::query_timer_resolution(&ignore1, &ignore2, &curres);
- //Windows API returns the value in hundreds of ns
- return (curres - 1ul)/10ul + 1ul;
-}
-
-typedef unsigned __int64 OS_highres_count_t;
-
-inline unsigned long get_system_tick_in_highres_counts()
-{
- __int64 freq;
- unsigned long curres, ignore1, ignore2;
- winapi::query_timer_resolution(&ignore1, &ignore2, &curres);
- //Frequency in counts per second
- if(!winapi::query_performance_frequency(&freq)){
- //Tick resolution in ms
- return (curres-1ul)/10000ul + 1ul;
- }
- else{
- //In femtoseconds
- __int64 count_fs = (1000000000000000LL - 1LL)/freq + 1LL;
- __int64 tick_counts = (static_cast<__int64>(curres)*100000000LL - 1LL)/count_fs + 1LL;
- return static_cast<unsigned long>(tick_counts);
- }
-}
-
-inline OS_highres_count_t get_current_system_highres_count()
-{
- __int64 count;
- if(!winapi::query_performance_counter(&count)){
- count = winapi::get_tick_count();
- }
- return (OS_highres_count_t)count;
-}
-
-inline void zero_highres_count(OS_highres_count_t &count)
-{ count = 0; }
-
-inline bool is_highres_count_zero(const OS_highres_count_t &count)
-{ return count == 0; }
-
-template <class Ostream>
-inline Ostream &ostream_highres_count(Ostream &ostream, const OS_highres_count_t &count)
-{
- ostream << count;
- return ostream;
-}
-
-inline OS_highres_count_t system_highres_count_subtract(const OS_highres_count_t &l, const OS_highres_count_t &r)
-{ return l - r; }
-
-inline bool system_highres_count_less(const OS_highres_count_t &l, const OS_highres_count_t &r)
-{ return l < r; }
-
-inline bool system_highres_count_less_ul(const OS_highres_count_t &l, unsigned long r)
-{ return l < static_cast<OS_highres_count_t>(r); }
-
-inline void thread_sleep_tick()
-{ winapi::sleep_tick(); }
-
-inline void thread_yield()
-{ winapi::sched_yield(); }
-
-inline void thread_sleep(unsigned int ms)
-{ winapi::sleep(ms); }
-
-//systemwide thread
-inline OS_systemwide_thread_id_t get_current_systemwide_thread_id()
-{
- return get_current_thread_id();
-}
-
-inline void systemwide_thread_id_copy
- (const volatile OS_systemwide_thread_id_t &from, volatile OS_systemwide_thread_id_t &to)
-{
- to = from;
-}
-
-inline bool equal_systemwide_thread_id(const OS_systemwide_thread_id_t &id1, const OS_systemwide_thread_id_t &id2)
-{
- return equal_thread_id(id1, id2);
-}
-
-inline OS_systemwide_thread_id_t get_invalid_systemwide_thread_id()
-{
- return get_invalid_thread_id();
-}
-
-inline long double get_current_process_creation_time()
-{
- winapi::interprocess_filetime CreationTime, ExitTime, KernelTime, UserTime;
-
- winapi::get_process_times
- ( winapi::get_current_process(), &CreationTime, &ExitTime, &KernelTime, &UserTime);
-
- typedef long double ldouble_t;
- const ldouble_t resolution = (100.0l/1000000000.0l);
- return CreationTime.dwHighDateTime*(ldouble_t(1u<<31u)*2.0l*resolution) +
- CreationTime.dwLowDateTime*resolution;
-}
-
-inline unsigned int get_num_cores()
-{
- winapi::interprocess_system_info sysinfo;
- winapi::get_system_info( &sysinfo );
- //in Windows dw is long which is equal in bits to int
- return static_cast<unsigned>(sysinfo.dwNumberOfProcessors);
-}
-
-#else //#if defined (BOOST_INTERPROCESS_WINDOWS)
-
-typedef pthread_t OS_thread_t;
-typedef pthread_t OS_thread_id_t;
-typedef pid_t OS_process_id_t;
-
-struct OS_systemwide_thread_id_t
-{
- OS_systemwide_thread_id_t()
- : pid(), tid()
- {}
-
- OS_systemwide_thread_id_t(pid_t p, pthread_t t)
- : pid(p), tid(t)
- {}
-
- OS_systemwide_thread_id_t(const OS_systemwide_thread_id_t &x)
- : pid(x.pid), tid(x.tid)
- {}
-
- OS_systemwide_thread_id_t(const volatile OS_systemwide_thread_id_t &x)
- : pid(x.pid), tid(x.tid)
- {}
-
- OS_systemwide_thread_id_t & operator=(const OS_systemwide_thread_id_t &x)
- { pid = x.pid; tid = x.tid; return *this; }
-
- OS_systemwide_thread_id_t & operator=(const volatile OS_systemwide_thread_id_t &x)
- { pid = x.pid; tid = x.tid; return *this; }
-
- void operator=(const OS_systemwide_thread_id_t &x) volatile
- { pid = x.pid; tid = x.tid; }
-
- pid_t pid;
- pthread_t tid;
-};
-
-inline void systemwide_thread_id_copy
- (const volatile OS_systemwide_thread_id_t &from, volatile OS_systemwide_thread_id_t &to)
-{
- to.pid = from.pid;
- to.tid = from.tid;
-}
-
-//process
-inline OS_process_id_t get_current_process_id()
-{ return ::getpid(); }
-
-inline OS_process_id_t get_invalid_process_id()
-{ return pid_t(0); }
-
-//thread
-inline OS_thread_id_t get_current_thread_id()
-{ return ::pthread_self(); }
-
-inline OS_thread_id_t get_invalid_thread_id()
-{
- static pthread_t invalid_id;
- return invalid_id;
-}
-
-inline bool equal_thread_id(OS_thread_id_t id1, OS_thread_id_t id2)
-{ return 0 != pthread_equal(id1, id2); }
-
-inline void thread_yield()
-{ ::sched_yield(); }
-
-#ifndef BOOST_INTERPROCESS_MATCH_ABSOLUTE_TIME
-typedef struct timespec OS_highres_count_t;
-#else
-typedef unsigned long long OS_highres_count_t;
-#endif
-
-inline unsigned long get_system_tick_ns()
-{
- #ifdef _SC_CLK_TCK
- long ticks_per_second =::sysconf(_SC_CLK_TCK); // ticks per sec
- if(ticks_per_second <= 0){ //Try a typical value on error
- ticks_per_second = 100;
- }
- return 999999999ul/static_cast<unsigned long>(ticks_per_second)+1ul;
- #else
- #error "Can't obtain system tick value for your system, please provide a patch"
- #endif
-}
-
-inline unsigned long get_system_tick_in_highres_counts()
-{
- #ifndef BOOST_INTERPROCESS_MATCH_ABSOLUTE_TIME
- return get_system_tick_ns();
- #else
- mach_timebase_info_data_t info;
- mach_timebase_info(&info);
- //ns
- return static_cast<unsigned long>
- (
- static_cast<double>(get_system_tick_ns())
- / (static_cast<double>(info.numer) / info.denom)
- );
- #endif
-}
-
-//return system ticks in us
-inline unsigned long get_system_tick_us()
-{
- return (get_system_tick_ns()-1)/1000ul + 1ul;
-}
-
-inline OS_highres_count_t get_current_system_highres_count()
-{
- #if defined(BOOST_INTERPROCESS_CLOCK_MONOTONIC)
- struct timespec count;
- ::clock_gettime(BOOST_INTERPROCESS_CLOCK_MONOTONIC, &count);
- return count;
- #elif defined(BOOST_INTERPROCESS_MATCH_ABSOLUTE_TIME)
- return ::mach_absolute_time();
- #endif
-}
-
-#ifndef BOOST_INTERPROCESS_MATCH_ABSOLUTE_TIME
-
-inline void zero_highres_count(OS_highres_count_t &count)
-{ count.tv_sec = 0; count.tv_nsec = 0; }
-
-inline bool is_highres_count_zero(const OS_highres_count_t &count)
-{ return count.tv_sec == 0 && count.tv_nsec == 0; }
-
-template <class Ostream>
-inline Ostream &ostream_highres_count(Ostream &ostream, const OS_highres_count_t &count)
-{
- ostream << count.tv_sec << "s:" << count.tv_nsec << "ns";
- return ostream;
-}
-
-inline OS_highres_count_t system_highres_count_subtract(const OS_highres_count_t &l, const OS_highres_count_t &r)
-{
- OS_highres_count_t res;
-
- if (l.tv_nsec < r.tv_nsec){
- res.tv_nsec = 1000000000 + l.tv_nsec - r.tv_nsec;
- res.tv_sec = l.tv_sec - 1 - r.tv_sec;
- }
- else{
- res.tv_nsec = l.tv_nsec - r.tv_nsec;
- res.tv_sec = l.tv_sec - r.tv_sec;
- }
-
- return res;
-}
-
-inline bool system_highres_count_less(const OS_highres_count_t &l, const OS_highres_count_t &r)
-{ return l.tv_sec < r.tv_sec || (l.tv_sec == r.tv_sec && l.tv_nsec < r.tv_nsec); }
-
-inline bool system_highres_count_less_ul(const OS_highres_count_t &l, unsigned long r)
-{ return !l.tv_sec && (static_cast<unsigned long>(l.tv_nsec) < r); }
-
-#else
-
-inline void zero_highres_count(OS_highres_count_t &count)
-{ count = 0; }
-
-inline bool is_highres_count_zero(const OS_highres_count_t &count)
-{ return count == 0; }
-
-template <class Ostream>
-inline Ostream &ostream_highres_count(Ostream &ostream, const OS_highres_count_t &count)
-{
- ostream << count ;
- return ostream;
-}
-
-inline OS_highres_count_t system_highres_count_subtract(const OS_highres_count_t &l, const OS_highres_count_t &r)
-{ return l - r; }
-
-inline bool system_highres_count_less(const OS_highres_count_t &l, const OS_highres_count_t &r)
-{ return l < r; }
-
-inline bool system_highres_count_less_ul(const OS_highres_count_t &l, unsigned long r)
-{ return l < static_cast<OS_highres_count_t>(r); }
-
-#endif
-
-inline void thread_sleep_tick()
-{
- struct timespec rqt;
- //Sleep for the half of the tick time
- rqt.tv_sec = 0;
- rqt.tv_nsec = (long)get_system_tick_ns()/2;
- ::nanosleep(&rqt, 0);
-}
-
-inline void thread_sleep(unsigned int ms)
-{
- struct timespec rqt;
- rqt.tv_sec = ms/1000u;
- rqt.tv_nsec = (ms%1000u)*1000000u;
- ::nanosleep(&rqt, 0);
-}
-
-//systemwide thread
-inline OS_systemwide_thread_id_t get_current_systemwide_thread_id()
-{
- return OS_systemwide_thread_id_t(::getpid(), ::pthread_self());
-}
-
-inline bool equal_systemwide_thread_id(const OS_systemwide_thread_id_t &id1, const OS_systemwide_thread_id_t &id2)
-{
- return (0 != pthread_equal(id1.tid, id2.tid)) && (id1.pid == id2.pid);
-}
-
-inline OS_systemwide_thread_id_t get_invalid_systemwide_thread_id()
-{
- return OS_systemwide_thread_id_t(get_invalid_process_id(), get_invalid_thread_id());
-}
-
-inline long double get_current_process_creation_time()
-{ return 0.0L; }
-
-inline unsigned int get_num_cores()
-{
- #ifdef _SC_NPROCESSORS_ONLN
- long cores = ::sysconf(_SC_NPROCESSORS_ONLN);
- // sysconf returns -1 if the name is invalid, the option does not exist or
- // does not have a definite limit.
- // if sysconf returns some other negative number, we have no idea
- // what is going on. Default to something safe.
- if(cores <= 0){
- return 1;
- }
- //Check for overflow (unlikely)
- else if(static_cast<unsigned long>(cores) >=
- static_cast<unsigned long>(static_cast<unsigned int>(-1))){
- return static_cast<unsigned int>(-1);
- }
- else{
- return static_cast<unsigned int>(cores);
- }
- #elif defined(BOOST_INTERPROCESS_BSD_DERIVATIVE) && defined(HW_NCPU)
- int request[2] = { CTL_HW, HW_NCPU };
- int num_cores;
- std::size_t result_len = sizeof(num_cores);
- if ( (::sysctl (request, 2, &num_cores, &result_len, 0, 0) < 0) || (num_cores <= 0) ){
- //Return a safe value
- return 1;
- }
- else{
- return static_cast<unsigned int>(num_cores);
- }
- #elif defined(__VXWORKS__)
- cpuset_t set = ::vxCpuEnabledGet();
- #ifdef __DCC__
- int i;
- for( i = 0; set; ++i)
- {
- set &= set -1;
- }
- return(i);
- #else
- return (__builtin_popcount(set) );
- #endif
- #endif
-}
-
-inline int thread_create(OS_thread_t * thread, void *(*start_routine)(void*), void* arg)
-{ return pthread_create(thread, 0, start_routine, arg); }
-
-inline void thread_join(OS_thread_t thread)
-{ (void)pthread_join(thread, 0); }
-
-#endif //#if defined (BOOST_INTERPROCESS_WINDOWS)
-
-typedef char pid_str_t[sizeof(OS_process_id_t)*3+1];
-
-inline void get_pid_str(pid_str_t &pid_str, OS_process_id_t pid)
-{
- bufferstream bstream(pid_str, sizeof(pid_str));
- bstream << pid << std::ends;
-}
-
-inline void get_pid_str(pid_str_t &pid_str)
-{ get_pid_str(pid_str, get_current_process_id()); }
-
-#if defined(BOOST_INTERPROCESS_WINDOWS)
-
-inline int thread_create( OS_thread_t * thread, boost::ipwinapiext::LPTHREAD_START_ROUTINE_ start_routine, void* arg )
-{
- void* h = boost::ipwinapiext::CreateThread(0, 0, start_routine, arg, 0, 0);
-
- if( h != 0 ){
- thread->m_handle = h;
- return 0;
- }
- else{
- return 1;
- }
-}
-
-inline void thread_join( OS_thread_t thread)
-{
- winapi::wait_for_single_object( thread.handle(), winapi::infinite_time );
- winapi::close_handle( thread.handle() );
-}
-
-#endif
-
-class abstract_thread
-{
- public:
- virtual ~abstract_thread() {}
- virtual void run() = 0;
-};
-
-template<class T>
-class os_thread_func_ptr_deleter
-{
- public:
- explicit os_thread_func_ptr_deleter(T* p)
- : m_p(p)
- {}
-
- T *release()
- { T *p = m_p; m_p = 0; return p; }
-
- T *get() const
- { return m_p; }
-
- T *operator ->() const
- { return m_p; }
-
- ~os_thread_func_ptr_deleter()
- { delete m_p; }
-
- private:
- T *m_p;
-};
-
-#if defined(BOOST_INTERPROCESS_WINDOWS)
-
-inline boost::winapi::DWORD_ __stdcall launch_thread_routine(boost::winapi::LPVOID_ pv)
-{
- os_thread_func_ptr_deleter<abstract_thread> pt( static_cast<abstract_thread *>( pv ) );
- pt->run();
- return 0;
-}
-
-#else
-
-extern "C" void * launch_thread_routine( void * pv );
-
-inline void * launch_thread_routine( void * pv )
-{
- os_thread_func_ptr_deleter<abstract_thread> pt( static_cast<abstract_thread *>( pv ) );
- pt->run();
- return 0;
-}
-
-#endif
-
-template<class F>
-class launch_thread_impl
- : public abstract_thread
-{
- public:
- explicit launch_thread_impl( F f )
- : f_( f )
- {}
-
- virtual void run() BOOST_OVERRIDE
- { f_(); }
-
- private:
- F f_;
-};
-
-template<class F>
-inline int thread_launch( OS_thread_t & pt, F f )
-{
- os_thread_func_ptr_deleter<abstract_thread> p( new launch_thread_impl<F>( f ) );
-
- int r = thread_create(&pt, launch_thread_routine, p.get());
- if( r == 0 ){
- p.release();
- }
-
- return r;
-}
-
-} //namespace ipcdetail{
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_OS_THREAD_FUNCTIONS_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/shared_dir_helpers.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/shared_dir_helpers.hpp
deleted file mode 100644
index 8d9d36f2db..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/shared_dir_helpers.hpp
+++ /dev/null
@@ -1,258 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2007-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/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_SHARED_DIR_HELPERS_HPP
-#define BOOST_INTERPROCESS_DETAIL_SHARED_DIR_HELPERS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/detail/os_file_functions.hpp>
-#include <boost/interprocess/errors.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <string>
-
-#if defined(BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME) && defined(BOOST_INTERPROCESS_WINDOWS)
- #include <boost/interprocess/detail/windows_intermodule_singleton.hpp>
-#endif
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-template<class CharT>
-struct shared_dir_constants;
-
-template<>
-struct shared_dir_constants<char>
-{
- static char dir_separator()
- { return '/'; }
-
- static const char *dir_interprocess()
- { return "/boost_interprocess"; }
-};
-
-template<>
-struct shared_dir_constants<wchar_t>
-{
- static wchar_t dir_separator()
- { return L'/'; }
-
- static const wchar_t *dir_interprocess()
- { return L"/boost_interprocess"; }
-};
-
-#if defined(BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME)
- #if defined(BOOST_INTERPROCESS_WINDOWS)
- //This type will initialize the stamp
- template<class CharT>
- struct windows_bootstamp
- {
- windows_bootstamp()
- {
- //Throw if bootstamp not available
- if(!winapi::get_last_bootup_time(stamp)){
- error_info err = system_error_code();
- throw interprocess_exception(err);
- }
- }
- //Use std::string. Even if this will be constructed in shared memory, all
- //modules/dlls are from this process so internal raw pointers to heap are always valid
- std::basic_string<CharT> stamp;
- };
-
- template <class CharT>
- inline void get_bootstamp(std::basic_string<CharT> &s, bool add = false)
- {
- const windows_bootstamp<CharT> &bootstamp = windows_intermodule_singleton<windows_bootstamp<CharT> >::get();
- if(add){
- s += bootstamp.stamp;
- }
- else{
- s = bootstamp.stamp;
- }
- }
- #elif defined(BOOST_INTERPROCESS_HAS_BSD_KERNEL_BOOTTIME)
- inline void get_bootstamp(std::string &s, bool add = false)
- {
- // FreeBSD specific: sysctl "kern.boottime"
- int request[2] = { CTL_KERN, KERN_BOOTTIME };
- struct ::timeval result;
- std::size_t result_len = sizeof result;
-
- if (::sysctl (request, 2, &result, &result_len, 0, 0) < 0)
- return;
-
- char bootstamp_str[256];
-
- const char Characters [] =
- { '0', '1', '2', '3', '4', '5', '6', '7'
- , '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
-
- std::size_t char_counter = 0;
- //32 bit values to allow 32 and 64 bit process IPC
- boost::uint32_t fields[2] = { boost::uint32_t(result.tv_sec), boost::uint32_t(result.tv_usec) };
- for(std::size_t field = 0; field != 2; ++field){
- for(std::size_t i = 0; i != sizeof(fields[0]); ++i){
- const char *ptr = (const char *)&fields[field];
- bootstamp_str[char_counter++] = Characters[(ptr[i]&0xF0)>>4];
- bootstamp_str[char_counter++] = Characters[(ptr[i]&0x0F)];
- }
- }
- bootstamp_str[char_counter] = 0;
- if(add){
- s += bootstamp_str;
- }
- else{
- s = bootstamp_str;
- }
- }
- #else
- #error "BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME defined with no known implementation"
- #endif
-#endif //#if defined(BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME)
-
-template <class CharT>
-inline void get_shared_dir_root(std::basic_string<CharT> &dir_path)
-{
- #if defined (BOOST_INTERPROCESS_WINDOWS)
- winapi::get_shared_documents_folder(dir_path);
- #else
- dir_path = "/tmp";
- #endif
-
- //We always need this path, so throw on error
- if(dir_path.empty()){
- error_info err = system_error_code();
- throw interprocess_exception(err);
- }
-
- dir_path += shared_dir_constants<CharT>::dir_interprocess();
-}
-
-#if defined(BOOST_INTERPROCESS_SHARED_DIR_FUNC) && defined(BOOST_INTERPROCESS_SHARED_DIR_PATH)
-#error "Error: Both BOOST_INTERPROCESS_SHARED_DIR_FUNC and BOOST_INTERPROCESS_SHARED_DIR_PATH defined!"
-#endif
-
-#ifdef BOOST_INTERPROCESS_SHARED_DIR_FUNC
-
- // When BOOST_INTERPROCESS_SHARED_DIR_FUNC is defined, users have to implement
- // get_shared_dir
- void get_shared_dir(std::string &shared_dir);
-
- // When BOOST_INTERPROCESS_SHARED_DIR_FUNC is defined, users have to implement
- // get_shared_dir
- void get_shared_dir(std::wstring &shared_dir);
-
-#else
-
-#if defined(BOOST_INTERPROCESS_SHARED_DIR_PATH)
-
-inline void get_shared_dir(std::string &shared_dir)
-{
- shared_dir = BOOST_INTERPROCESS_SHARED_DIR_PATH;
-}
-
-#endif
-
-#if defined(BOOST_INTERPROCESS_SHARED_DIR_WPATH)
-
-inline void get_shared_dir(std::wstring &shared_dir)
-{
- shared_dir = BOOST_INTERPROCESS_SHARED_DIR_WPATH;
-}
-
-#endif
-
-template<class CharT>
-inline void get_shared_dir(std::basic_string<CharT> &shared_dir)
-{
- get_shared_dir_root(shared_dir);
- #if defined(BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME)
- shared_dir += shared_dir_constants<CharT>::dir_separator();
- get_bootstamp(shared_dir, true);
- #endif
-}
-#endif
-
-template<class CharT>
-inline void shared_filepath(const CharT *filename, std::basic_string<CharT> &filepath)
-{
- get_shared_dir(filepath);
- filepath += shared_dir_constants<CharT>::dir_separator();
- filepath += filename;
-}
-
-template<class CharT>
-inline void create_shared_dir_and_clean_old(std::basic_string<CharT> &shared_dir)
-{
- #if defined(BOOST_INTERPROCESS_SHARED_DIR_PATH) || defined(BOOST_INTERPROCESS_SHARED_DIR_FUNC)
- get_shared_dir(shared_dir);
- #else
- //First get the temp directory
- std::basic_string<CharT> root_shared_dir;
- get_shared_dir_root(root_shared_dir);
-
- //If fails, check that it's because already exists
- if(!open_or_create_shared_directory(root_shared_dir.c_str())){
- error_info info(system_error_code());
- throw interprocess_exception(info);
- }
-
- #if defined(BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME)
- get_shared_dir(shared_dir);
-
- //If fails, check that it's because already exists
- if(!open_or_create_shared_directory(shared_dir.c_str())){
- error_info info(system_error_code());
- throw interprocess_exception(info);
- }
- //Now erase all old directories created in the previous boot sessions
- std::basic_string<CharT> subdir = shared_dir;
- subdir.erase(0, root_shared_dir.size()+1);
- delete_subdirectories(root_shared_dir, subdir.c_str());
- #else
- shared_dir = root_shared_dir;
- #endif
- #endif
-}
-
-template<class CharT>
-inline void create_shared_dir_cleaning_old_and_get_filepath(const CharT *filename, std::basic_string<CharT> &shared_dir)
-{
- create_shared_dir_and_clean_old(shared_dir);
- shared_dir += shared_dir_constants<CharT>::dir_separator();
- shared_dir += filename;
-}
-
-template<class CharT>
-inline void add_leading_slash(const CharT *name, std::basic_string<CharT> &new_name)
-{
- if(name[0] != shared_dir_constants<CharT>::dir_separator()){
- new_name = shared_dir_constants<CharT>::dir_separator();
- }
- new_name += name;
-}
-
-} //namespace boost{
-} //namespace interprocess {
-} //namespace ipcdetail {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //ifndef BOOST_INTERPROCESS_DETAIL_SHARED_DIR_HELPERS_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/timed_utils.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/timed_utils.hpp
deleted file mode 100644
index 89fbccd068..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/timed_utils.hpp
+++ /dev/null
@@ -1,388 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2021-2021.
-//
-// Distributed under the 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/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_TIMED_UTILS_HPP
-#define BOOST_INTERPROCESS_DETAIL_TIMED_UTILS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/detail/mpl.hpp>
-#include <boost/interprocess/detail/type_traits.hpp>
-#include <boost/intrusive/detail/mpl.hpp>
-
-#include <ctime>
-#include <boost/cstdint.hpp>
-
-//The following is used to support high precision time clocks
-#ifdef BOOST_HAS_GETTIMEOFDAY
-#include <sys/time.h>
-#endif
-
-#ifdef BOOST_HAS_FTIME
-#include <time.h>
-#include <boost/winapi/time.hpp>
-#endif
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(time_duration_type)
-BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(clock)
-BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(rep_type)
-BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(rep)
-
-template<class T>
-struct enable_if_ptime
- : enable_if_c< BOOST_INTRUSIVE_HAS_TYPE(boost::interprocess::ipcdetail::, T, time_duration_type) >
-{};
-
-template<class T>
-struct disable_if_ptime
- : enable_if_c< ! BOOST_INTRUSIVE_HAS_TYPE(boost::interprocess::ipcdetail::, T, time_duration_type) >
-{};
-
-template<class T>
-struct enable_if_ptime_duration
- : enable_if_c< BOOST_INTRUSIVE_HAS_TYPE(boost::interprocess::ipcdetail::, T, rep_type) >
-{};
-
-template<class T>
-struct enable_if_time_point
- : enable_if_c< BOOST_INTRUSIVE_HAS_TYPE(boost::interprocess::ipcdetail::, T, clock) >
-{};
-
-template<class T>
-struct enable_if_duration
- : enable_if_c< BOOST_INTRUSIVE_HAS_TYPE(boost::interprocess::ipcdetail::, T, rep) >
-{};
-
-#if defined(BOOST_INTERPROCESS_HAS_REENTRANT_STD_FUNCTIONS)
-
- inline std::tm* interprocess_gmtime(const std::time_t* t, std::tm* result)
- {
- // gmtime_r() not in namespace std???
- #if defined(__VMS) && __INITIAL_POINTER_SIZE == 64
- std::tm tmp;
- if(!gmtime_r(t,&tmp))
- result = 0;
- else
- *result = tmp;
- #else
- result = gmtime_r(t, result);
- #endif
- return result;
- }
-
-#else // BOOST_DATE_TIME_HAS_REENTRANT_STD_FUNCTIONS
-
- #if defined(__clang__) // Clang has to be checked before MSVC
- # pragma clang diagnostic push
- # pragma clang diagnostic ignored "-Wdeprecated-declarations"
- #elif (defined(_MSC_VER) && (_MSC_VER >= 1400))
- # pragma warning(push) // preserve warning settings
- # pragma warning(disable : 4996) // disable depricated localtime/gmtime warning on vc8
- #endif
-
- inline std::tm* interprocess_gmtime(const std::time_t* t, std::tm* result)
- {
- result = std::gmtime(t);
- return result;
- }
-
- #if defined(__clang__) // Clang has to be checked before MSVC
- # pragma clang diagnostic pop
- #elif (defined(_MSC_VER) && (_MSC_VER >= 1400))
- # pragma warning(pop) // restore warnings to previous state
- #endif
-
-#endif // BOOST_DATE_TIME_HAS_REENTRANT_STD_FUNCTIONS
-
-#if defined(BOOST_HAS_FTIME)
-/*!
-* The function converts file_time into number of microseconds elapsed since 1970-Jan-01
-*
-* \note Only dates after 1970-Jan-01 are supported. Dates before will be wrapped.
-*/
-inline boost::uint64_t file_time_to_microseconds(const boost::winapi::FILETIME_ & ft)
-{
- // shift is difference between 1970-Jan-01 & 1601-Jan-01
- // in 100-nanosecond units
- const boost::uint64_t shift = 116444736000000000ULL; // (27111902 << 32) + 3577643008
-
- // 100-nanos since 1601-Jan-01
- boost::uint64_t ft_as_integer = (static_cast< boost::uint64_t >(ft.dwHighDateTime) << 32) | static_cast< boost::uint64_t >(ft.dwLowDateTime);
-
- ft_as_integer -= shift; // filetime is now 100-nanos since 1970-Jan-01
- return (ft_as_integer / 10U); // truncate to microseconds
-}
-#endif
-
-class ustime;
-
-class usduration
-{
- public:
- friend class ustime;
-
- explicit usduration(boost::uint64_t microsecs)
- : m_microsecs(microsecs)
- {}
-
- boost::uint64_t get_microsecs() const
- { return m_microsecs; }
-
- bool operator < (const usduration &other) const
- { return m_microsecs < other.m_microsecs; }
-
- bool operator > (const usduration &other) const
- { return m_microsecs > other.m_microsecs; }
-
- bool operator <= (const usduration &other) const
- { return m_microsecs <= other.m_microsecs; }
-
- bool operator >= (const usduration &other) const
- { return m_microsecs >= other.m_microsecs; }
-
- private:
- boost::uint64_t m_microsecs;
-};
-
-class ustime
-{
- public:
- explicit ustime(boost::uint64_t microsecs)
- : m_microsecs(microsecs)
- {}
-
- ustime &operator += (const usduration &other)
- { m_microsecs += other.m_microsecs; return *this; }
-
- ustime operator + (const usduration &other)
- { ustime r(*this); r += other; return r; }
-
- ustime &operator -= (const usduration &other)
- { m_microsecs -= other.m_microsecs; return *this; }
-
- ustime operator - (const usduration &other)
- { ustime r(*this); r -= other; return r; }
-
- friend usduration operator - (const ustime &l, const ustime &r)
- { return usduration(l.m_microsecs - r.m_microsecs); }
-
- bool operator < (const ustime &other) const
- { return m_microsecs < other.m_microsecs; }
-
- bool operator > (const ustime &other) const
- { return m_microsecs > other.m_microsecs; }
-
- bool operator <= (const ustime &other) const
- { return m_microsecs <= other.m_microsecs; }
-
- bool operator >= (const ustime &other) const
- { return m_microsecs >= other.m_microsecs; }
-
- boost::uint64_t get_microsecs() const
- { return m_microsecs; }
-
- private:
- boost::uint64_t m_microsecs;
-};
-
-inline usduration usduration_milliseconds(boost::uint64_t millisec)
-{ return usduration(millisec*1000u); }
-
-inline usduration usduration_seconds(boost::uint64_t sec)
-{ return usduration(sec*uint64_t(1000000u)); }
-
-template<class TimeType, class Enable = void>
-class microsec_clock;
-
-template<class TimeType>
-class microsec_clock<TimeType, typename enable_if_ptime<TimeType>::type>
-{
- private:
- typedef typename TimeType::date_type date_type;
- typedef typename TimeType::time_duration_type time_duration_type;
- typedef typename time_duration_type::rep_type resolution_traits_type;
- public:
-
- static TimeType universal_time()
- {
- #ifdef BOOST_HAS_GETTIMEOFDAY
- timeval tv;
- gettimeofday(&tv, 0); //gettimeofday does not support TZ adjust on Linux.
- std::time_t t = tv.tv_sec;
- boost::uint32_t sub_sec = static_cast<boost::uint32_t>(tv.tv_usec);
- #elif defined(BOOST_HAS_FTIME)
- boost::winapi::FILETIME_ ft;
- boost::winapi::GetSystemTimeAsFileTime(&ft);
- boost::uint64_t micros = 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<std::time_t>(micros / 1000000UL); // seconds since epoch
- // microseconds -- static casts suppress warnings
- boost::uint32_t sub_sec = static_cast<boost::uint32_t>(micros % 1000000UL);
- #else
- #error "Unsupported date-time error: neither gettimeofday nor FILETIME support is detected"
- #endif
-
- std::tm curr;
- std::tm* curr_ptr = interprocess_gmtime(&t, &curr);
- date_type d(static_cast< typename date_type::year_type::value_type >(curr_ptr->tm_year + 1900),
- static_cast< typename date_type::month_type::value_type >(curr_ptr->tm_mon + 1),
- static_cast< typename date_type::day_type::value_type >(curr_ptr->tm_mday));
-
- //The following line will adjust the fractional second tick in terms
- //of the current time system. For example, if the time system
- //doesn't support fractional seconds then res_adjust returns 0
- //and all the fractional seconds return 0.
- unsigned adjust = static_cast< unsigned >(resolution_traits_type::res_adjust() / 1000000);
-
- time_duration_type td(static_cast< typename time_duration_type::hour_type >(curr_ptr->tm_hour),
- static_cast< typename time_duration_type::min_type >(curr_ptr->tm_min),
- static_cast< typename time_duration_type::sec_type >(curr_ptr->tm_sec),
- static_cast< typename time_duration_type::fractional_seconds_type >(sub_sec * adjust)
- );
- return TimeType(d,td);
- }
-};
-
-template<>
-class microsec_clock<ustime>
-{
- public:
- static ustime universal_time()
- {
- #ifdef BOOST_HAS_GETTIMEOFDAY
- timeval tv;
- gettimeofday(&tv, 0); //gettimeofday does not support TZ adjust on Linux.
- boost::uint64_t micros = boost::uint64_t(tv.tv_sec)*1000000;
- micros += (boost::uint64_t)tv.tv_usec;
- #elif defined(BOOST_HAS_FTIME)
- boost::winapi::FILETIME_ ft;
- boost::winapi::GetSystemTimeAsFileTime(&ft);
- boost::uint64_t micros = file_time_to_microseconds(ft); // it will not wrap, since ft is the current time
- // and cannot be before 1970-Jan-01
- #else
- #error "Unsupported date-time error: neither gettimeofday nor FILETIME support is detected"
- #endif
- return ustime(micros);
- }
-};
-
-template<class TimePoint>
-class microsec_clock<TimePoint, typename enable_if_time_point<TimePoint>::type>
-{
- public:
- static TimePoint universal_time()
- { return TimePoint::clock::now(); }
-};
-
-
-template<class TimePoint>
-inline TimePoint delay_ms(unsigned msecs, typename enable_if_ptime<TimePoint>::type* = 0)
-{
- typedef typename TimePoint::time_duration_type time_duration_type;
- typedef typename time_duration_type::rep_type resolution_traits_type;
-
- time_duration_type td(msecs*1000*resolution_traits_type::res_adjust());
-
- TimePoint tp(microsec_clock<TimePoint>::universal_time());
- return (tp += td);
-}
-
-template<class TimePoint>
-inline bool is_pos_infinity(const TimePoint &abs_time, typename enable_if_ptime<TimePoint>::type* = 0)
-{
- return abs_time.is_pos_infinity();
-}
-
-template<class TimePoint>
-inline bool is_pos_infinity(const TimePoint &, typename disable_if_ptime<TimePoint>::type* = 0)
-{
- return false;
-}
-
-/*
-template<class Duration>
-inline ustime duration_to_timepoint(const Duration &dur, typename enable_if_ptime<Duration>::type* = 0)
-{
- return dur.is_pos_infinity();
-}
-
-template<class Duration>
-inline bool duration_to_timepoint(const Duration &, typename disable_if_ptime<Duration>::type* = 0)
-{
- return false;
-}
-*/
-
-// duration_to_milliseconds
-
-template<class Duration>
-inline boost::uint64_t duration_to_milliseconds(const Duration &abs_time, typename enable_if_ptime_duration<Duration>::type* = 0)
-{
- return static_cast<boost::uint64_t>(abs_time.total_milliseconds());
-}
-
-template<class Duration>
-inline boost::uint64_t duration_to_milliseconds(const Duration &d, typename enable_if_duration<Duration>::type* = 0)
-{
- const double factor = double(Duration::period::num)*1000.0/double(Duration::period::den);
- return static_cast<boost::uint64_t>(double(d.count())*factor);
-}
-
-inline boost::uint64_t duration_to_milliseconds(const usduration &d)
-{
- return d.get_microsecs()/1000;
-}
-
-// duration_to_usduration
-
-template<class Duration>
-inline usduration duration_to_usduration(const Duration &d, typename enable_if_ptime_duration<Duration>::type* = 0)
-{
- return usduration(static_cast<boost::uint64_t>(d.total_microseconds()));
-}
-
-template<class Duration>
-inline usduration duration_to_usduration(const Duration &d, typename enable_if_duration<Duration>::type* = 0)
-{
- const double factor = double(Duration::period::num)*1000000.0/double(Duration::period::den);
- return usduration(static_cast<boost::uint64_t>(double(d.count())*factor));
-}
-
-// duration_to_ustime
-
-template<class Duration>
-inline ustime duration_to_ustime(const Duration &d)
-{
- return microsec_clock<ustime>::universal_time() + (duration_to_usduration)(d);
-}
-
-
-} //namespace ipcdetail {
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_INTERPROCESS_DETAIL_TIMED_UTILS_HPP
-
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/windows_intermodule_singleton.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/windows_intermodule_singleton.hpp
deleted file mode 100644
index 67ce199b85..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/detail/windows_intermodule_singleton.hpp
+++ /dev/null
@@ -1,315 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2009-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_WINDOWS_INTERMODULE_SINGLETON_HPP
-#define BOOST_INTERPROCESS_WINDOWS_INTERMODULE_SINGLETON_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-#pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/container/string.hpp>
-
-#if !defined(BOOST_INTERPROCESS_WINDOWS)
- #error "This header can't be included from non-windows operating systems"
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/interprocess/detail/intermodule_singleton_common.hpp>
-#include <boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp>
-#include <boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp>
-#include <boost/interprocess/sync/scoped_lock.hpp>
-#include <boost/cstdint.hpp>
-#include <string>
-#include <boost/container/map.hpp>
-
-namespace boost{
-namespace interprocess{
-namespace ipcdetail{
-
-namespace intermodule_singleton_helpers {
-
-//This global map will be implemented using 3 sync primitives:
-//
-//1) A named mutex that will implement global mutual exclusion between
-// threads from different modules/dlls
-//
-//2) A semaphore that will act as a global counter for modules attached to the global map
-// so that the global map can be destroyed when the last module is detached.
-//
-//3) A semaphore that will be hacked to hold the address of a heap-allocated map in the
-// max and current semaphore count.
-class windows_semaphore_based_map
-{
- typedef boost::container::map<boost::container::string, ref_count_ptr> map_type;
-
- public:
- windows_semaphore_based_map()
- {
- map_type *m = new map_type;
- boost::uint32_t initial_count = 0;
- boost::uint32_t max_count = 0;
-
- //Windows user address space sizes:
- //32 bit windows: [32 bit processes] 2GB or 3GB (31/32 bits)
- //64 bit windows: [32 bit processes] 2GB or 4GB (31/32 bits)
- // [64 bit processes] 2GB or 8TB (31/43 bits)
- //
- //Windows semaphores use 'long' parameters (32 bits in LLP64 data model) and
- //those values can't be negative, so we have 31 bits to store something
- //in max_count and initial count parameters.
- //Also, max count must be bigger than 0 and bigger or equal than initial count.
- if(sizeof(void*) == sizeof(boost::uint32_t)){
- //This means that for 32 bit processes, a semaphore count (31 usable bits) is
- //enough to store 4 byte aligned memory (4GB -> 32 bits - 2 bits = 30 bits).
- //The max count will hold the pointer value and current semaphore count
- //will be zero.
- //
- //Relying in UB with a cast through union, but all known windows compilers
- //accept this (C11 also accepts this).
- union caster_union
- {
- void *addr;
- boost::uint32_t addr_uint32;
- } caster;
- caster.addr = m;
- //memory is at least 4 byte aligned in windows
- BOOST_ASSERT((caster.addr_uint32 & boost::uint32_t(3)) == 0);
- max_count = caster.addr_uint32 >> 2;
- }
- else if(sizeof(void*) == sizeof(boost::uint64_t)){
- //Relying in UB with a cast through union, but all known windows compilers
- //accept this (C11 accepts this).
- union caster_union
- {
- void *addr;
- boost::uint64_t addr_uint64;
- } caster;
- caster.addr = m;
- //We'll encode the address using 30 bits in each 32 bit high and low parts.
- //High part will be the sem max count, low part will be the sem initial count.
- //(restrictions: max count > 0, initial count >= 0 and max count >= initial count):
- //
- // - Low part will be shifted two times (4 byte alignment) so that top
- // two bits are cleared (the top one for sign, the next one to
- // assure low part value is always less than the high part value.
- // - The top bit of the high part will be cleared and the next bit will be 1
- // (so high part is always bigger than low part due to the quasi-top bit).
- //
- // This means that the addresses we can store must be 4 byte aligned
- // and less than 1 ExbiBytes ( 2^60 bytes, ~1 ExaByte). User-level address space in Windows 64
- // is much less than this (8TB, 2^43 bytes): "1 EByte (or it was 640K?) ought to be enough for anybody" ;-).
- caster.addr = m;
- BOOST_ASSERT((caster.addr_uint64 & boost::uint64_t(3)) == 0);
- max_count = boost::uint32_t(caster.addr_uint64 >> 32);
- initial_count = boost::uint32_t(caster.addr_uint64);
- initial_count = initial_count/4;
- //Make sure top two bits are zero
- BOOST_ASSERT((max_count & boost::uint32_t(0xC0000000)) == 0);
- //Set quasi-top bit
- max_count |= boost::uint32_t(0x40000000);
- }
- bool created = false;
- const permissions & perm = permissions();
- std::string pid_creation_time, name;
- get_pid_creation_time_str(pid_creation_time);
- name = "bipc_gmap_sem_lock_";
- name += pid_creation_time;
- bool success = m_mtx_lock.open_or_create(name.c_str(), perm);
- name = "bipc_gmap_sem_count_";
- name += pid_creation_time;
- scoped_lock<winapi_mutex_wrapper> lck(m_mtx_lock);
- {
- success = success && m_sem_count.open_or_create
- ( name.c_str(), static_cast<long>(0), winapi_semaphore_wrapper::MaxCount, perm, created);
- name = "bipc_gmap_sem_map_";
- name += pid_creation_time;
- success = success && m_sem_map.open_or_create
- (name.c_str(), (long)initial_count, (long)max_count, perm, created);
- if(!success){
- delete m;
- //winapi_xxx wrappers do the cleanup...
- throw int(0);
- }
- if(!created){
- delete m;
- }
- else{
- BOOST_ASSERT(&get_map_unlocked() == m);
- }
- m_sem_count.post();
- }
- }
-
- map_type &get_map_unlocked()
- {
- if(sizeof(void*) == sizeof(boost::uint32_t)){
- union caster_union
- {
- void *addr;
- boost::uint32_t addr_uint32;
- } caster;
- caster.addr = 0;
- caster.addr_uint32 = boost::uint32_t(m_sem_map.limit());
- caster.addr_uint32 = caster.addr_uint32 << 2u;
- return *static_cast<map_type*>(caster.addr);
- }
- else{
- union caster_union
- {
- void *addr;
- boost::uint64_t addr_uint64;
- } caster;
- boost::uint32_t max_count(boost::uint32_t(m_sem_map.limit()))
- , initial_count(boost::uint32_t(m_sem_map.value()));
- //Clear quasi-top bit
- max_count &= boost::uint32_t(0xBFFFFFFF);
- caster.addr_uint64 = max_count;
- caster.addr_uint64 = caster.addr_uint64 << 32u;
- caster.addr_uint64 |= boost::uint64_t(initial_count) << 2;
- return *static_cast<map_type*>(caster.addr);
- }
- }
-
- ref_count_ptr *find(const char *name)
- {
- scoped_lock<winapi_mutex_wrapper> lck(m_mtx_lock);
- map_type &map = this->get_map_unlocked();
- map_type::iterator it = map.find(boost::container::string(name));
- if(it != map.end()){
- return &it->second;
- }
- else{
- return 0;
- }
- }
-
- ref_count_ptr * insert(const char *name, const ref_count_ptr &ref)
- {
- scoped_lock<winapi_mutex_wrapper> lck(m_mtx_lock);
- map_type &map = this->get_map_unlocked();
- map_type::iterator it = map.insert(map_type::value_type(boost::container::string(name), ref)).first;
- return &it->second;
- }
-
- bool erase(const char *name)
- {
- scoped_lock<winapi_mutex_wrapper> lck(m_mtx_lock);
- map_type &map = this->get_map_unlocked();
- return map.erase(boost::container::string(name)) != 0;
- }
-
- template<class F>
- void atomic_func(F &f)
- {
- scoped_lock<winapi_mutex_wrapper> lck(m_mtx_lock);
- f();
- }
-
- ~windows_semaphore_based_map()
- {
- scoped_lock<winapi_mutex_wrapper> lck(m_mtx_lock);
- m_sem_count.wait();
- if(0 == m_sem_count.value()){
- map_type &map = this->get_map_unlocked();
- BOOST_ASSERT(map.empty());
- delete &map;
- }
- //First close sems to protect this with the external mutex
- m_sem_map.close();
- m_sem_count.close();
- //Once scoped_lock unlocks the mutex, the destructor will close the handle...
- }
-
- private:
- winapi_mutex_wrapper m_mtx_lock;
- winapi_semaphore_wrapper m_sem_map;
- winapi_semaphore_wrapper m_sem_count;
-};
-
-template<>
-struct thread_safe_global_map_dependant<windows_semaphore_based_map>
-{
- static void apply_gmem_erase_logic(const char *, const char *){}
-
- static bool remove_old_gmem()
- { return true; }
-
- struct lock_file_logic
- {
- lock_file_logic(windows_semaphore_based_map &)
- : retry_with_new_map(false)
- {}
-
- void operator()(void){}
- bool retry() const { return retry_with_new_map; }
- private:
- const bool retry_with_new_map;
- };
-
- static void construct_map(void *addr)
- {
- ::new (addr)windows_semaphore_based_map;
- }
-
- struct unlink_map_logic
- {
- unlink_map_logic(windows_semaphore_based_map &)
- {}
- void operator()(){}
- };
-
- static ref_count_ptr *find(windows_semaphore_based_map &map, const char *name)
- {
- return map.find(name);
- }
-
- static ref_count_ptr * insert(windows_semaphore_based_map &map, const char *name, const ref_count_ptr &ref)
- {
- return map.insert(name, ref);
- }
-
- static bool erase(windows_semaphore_based_map &map, const char *name)
- {
- return map.erase(name);
- }
-
- template<class F>
- static void atomic_func(windows_semaphore_based_map &map, F &f)
- {
- map.atomic_func(f);
- }
-};
-
-} //namespace intermodule_singleton_helpers {
-
-template<typename C, bool LazyInit = true, bool Phoenix = false>
-class windows_intermodule_singleton
- : public intermodule_singleton_impl
- < C
- , LazyInit
- , Phoenix
- , intermodule_singleton_helpers::windows_semaphore_based_map
- >
-{};
-
-} //namespace ipcdetail{
-} //namespace interprocess{
-} //namespace boost{
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_INTERPROCESS_WINDOWS_INTERMODULE_SINGLETON_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/mapped_region.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/mapped_region.hpp
deleted file mode 100644
index 1ef284522f..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/mapped_region.hpp
+++ /dev/null
@@ -1,922 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_MAPPED_REGION_HPP
-#define BOOST_INTERPROCESS_MAPPED_REGION_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/interprocess_fwd.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/interprocess/detail/utilities.hpp>
-#include <boost/interprocess/detail/os_file_functions.hpp>
-#include <string>
-#include <boost/cstdint.hpp>
-#include <boost/assert.hpp>
-#include <boost/move/adl_move_swap.hpp>
-
-//Some Unixes use caddr_t instead of void * in madvise
-// SunOS Tru64 HP-UX AIX
-#if defined(sun) || defined(__sun) || defined(__osf__) || defined(__osf) || defined(_hpux) || defined(hpux) || defined(_AIX)
-#define BOOST_INTERPROCESS_MADVISE_USES_CADDR_T
-#include <sys/types.h>
-#endif
-
-//A lot of UNIXes have destructive semantics for MADV_DONTNEED, so
-//we need to be careful to allow it.
-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__)
-#define BOOST_INTERPROCESS_MADV_DONTNEED_HAS_NONDESTRUCTIVE_SEMANTICS
-#endif
-
-#if defined (BOOST_INTERPROCESS_WINDOWS)
-# include <boost/interprocess/detail/win32_api.hpp>
-#else
-# ifdef BOOST_HAS_UNISTD_H
-# include <fcntl.h>
-# include <sys/mman.h> //mmap
-# include <unistd.h>
-# include <sys/stat.h>
-# include <sys/types.h>
-# if defined(BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS)
-# include <sys/shm.h> //System V shared memory...
-# endif
-# include <boost/assert.hpp>
-# else
-# error Unknown platform
-# endif
-
-#endif //#if defined (BOOST_INTERPROCESS_WINDOWS)
-
-//!\file
-//!Describes mapped region class
-
-namespace boost {
-namespace interprocess {
-
-#if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
-//Solaris declares madvise only in some configurations but defines MADV_XXX, a bit confusing.
-//Predeclare it here to avoid any compilation error
-#if (defined(sun) || defined(__sun)) && defined(MADV_NORMAL)
-extern "C" int madvise(caddr_t, size_t, int);
-#endif
-
-namespace ipcdetail{ class interprocess_tester; }
-namespace ipcdetail{ class raw_mapped_region_creator; }
-
-#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
-//!The mapped_region class represents a portion or region created from a
-//!memory_mappable object.
-//!
-//!The OS can map a region bigger than the requested one, as region must
-//!be multiple of the page size, but mapped_region will always refer to
-//!the region specified by the user.
-class mapped_region
-{
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- //Non-copyable
- BOOST_MOVABLE_BUT_NOT_COPYABLE(mapped_region)
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
- public:
-
- //!Creates a mapping region of the mapped memory "mapping", starting in
- //!offset "offset", and the mapping's size will be "size". The mapping
- //!can be opened for read only, read-write or copy-on-write.
- //!
- //!If an address is specified, both the offset and the address must be
- //!multiples of the page size.
- //!
- //!The map is created using "default_map_options". This flag is OS
- //!dependant and it should not be changed unless the user needs to
- //!specify special options.
- //!
- //!In Windows systems "map_options" is a DWORD value passed as
- //!"dwDesiredAccess" to "MapViewOfFileEx". If "default_map_options" is passed
- //!it's initialized to zero. "map_options" is XORed with FILE_MAP_[COPY|READ|WRITE].
- //!
- //!In UNIX systems and POSIX mappings "map_options" is an int value passed as "flags"
- //!to "mmap". If "default_map_options" is specified it's initialized to MAP_NOSYNC
- //!if that option exists and to zero otherwise. "map_options" XORed with MAP_PRIVATE or MAP_SHARED.
- //!
- //!In UNIX systems and XSI mappings "map_options" is an int value passed as "shmflg"
- //!to "shmat". If "default_map_options" is specified it's initialized to zero.
- //!"map_options" is XORed with SHM_RDONLY if needed.
- //!
- //!The OS could allocate more pages than size/page_size(), but get_address()
- //!will always return the address passed in this function (if not null) and
- //!get_size() will return the specified size.
- template<class MemoryMappable>
- mapped_region(const MemoryMappable& mapping
- ,mode_t mode
- ,offset_t offset = 0
- ,std::size_t size = 0
- ,const void *address = 0
- ,map_options_t map_options = default_map_options);
-
- //!Default constructor. Address will be 0 (nullptr).
- //!Size will be 0.
- //!Does not throw
- mapped_region() BOOST_NOEXCEPT;
-
- //!Move constructor. *this will be constructed taking ownership of "other"'s
- //!region and "other" will be left in default constructor state.
- mapped_region(BOOST_RV_REF(mapped_region) other) BOOST_NOEXCEPT
- #if defined (BOOST_INTERPROCESS_WINDOWS)
- : m_base(0), m_size(0)
- , m_page_offset(0)
- , m_mode(read_only)
- , m_file_or_mapping_hnd(ipcdetail::invalid_file())
- #else
- : m_base(0), m_size(0), m_page_offset(0), m_mode(read_only), m_is_xsi(false)
- #endif
- { this->swap(other); }
-
- //!Destroys the mapped region.
- //!Does not throw
- ~mapped_region();
-
- //!Move assignment. If *this owns a memory mapped region, it will be
- //!destroyed and it will take ownership of "other"'s memory mapped region.
- mapped_region &operator=(BOOST_RV_REF(mapped_region) other) BOOST_NOEXCEPT
- {
- mapped_region tmp(boost::move(other));
- this->swap(tmp);
- return *this;
- }
-
- //!Swaps the mapped_region with another
- //!mapped region
- void swap(mapped_region &other) BOOST_NOEXCEPT;
-
- //!Returns the size of the mapping. Never throws.
- std::size_t get_size() const BOOST_NOEXCEPT;
-
- //!Returns the base address of the mapping.
- //!Never throws.
- void* get_address() const BOOST_NOEXCEPT;
-
- //!Returns the mode of the mapping used to construct the mapped region.
- //!Never throws.
- mode_t get_mode() const BOOST_NOEXCEPT;
-
- //!Flushes to the disk a byte range within the mapped memory.
- //!If 'async' is true, the function will return before flushing operation is completed
- //!If 'async' is false, function will return once data has been written into the underlying
- //!device (i.e., in mapped files OS cached information is written to disk).
- //!Never throws. Returns false if operation could not be performed.
- bool flush(std::size_t mapping_offset = 0, std::size_t numbytes = 0, bool async = true);
-
- //!Shrinks current mapped region. If after shrinking there is no longer need for a previously
- //!mapped memory page, accessing that page can trigger a segmentation fault.
- //!Depending on the OS, this operation might fail (XSI shared memory), it can decommit storage
- //!and free a portion of the virtual address space (e.g.POSIX) or this
- //!function can release some physical memory without freeing any virtual address space(Windows).
- //!Returns true on success. Never throws.
- bool shrink_by(std::size_t bytes, bool from_back = true);
-
- //!This enum specifies region usage behaviors that an application can specify
- //!to the mapped region implementation.
- enum advice_types{
- //!Specifies that the application has no advice to give on its behavior with respect to
- //!the region. It is the default characteristic if no advice is given for a range of memory.
- advice_normal,
- //!Specifies that the application expects to access the region sequentially from
- //!lower addresses to higher addresses. The implementation can lower the priority of
- //!preceding pages within the region once a page have been accessed.
- advice_sequential,
- //!Specifies that the application expects to access the region in a random order,
- //!and prefetching is likely not advantageous.
- advice_random,
- //!Specifies that the application expects to access the region in the near future.
- //!The implementation can prefetch pages of the region.
- advice_willneed,
- //!Specifies that the application expects that it will not access the region in the near future.
- //!The implementation can unload pages within the range to save system resources.
- advice_dontneed
- };
-
- //!Advises the implementation on the expected behavior of the application with respect to the data
- //!in the region. The implementation may use this information to optimize handling of the region data.
- //!This function has no effect on the semantics of access to memory in the region, although it may affect
- //!the performance of access.
- //!If the advise type is not known to the implementation, the function returns false. True otherwise.
- bool advise(advice_types advise);
-
- //!Returns the size of the page. This size is the minimum memory that
- //!will be used by the system when mapping a memory mappable source and
- //!will restrict the address and the offset to map.
- static std::size_t get_page_size() BOOST_NOEXCEPT;
-
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- private:
- //!Closes a previously opened memory mapping. Never throws
- void priv_close();
-
- void* priv_map_address() const;
- std::size_t priv_map_size() const;
- bool priv_flush_param_check(std::size_t mapping_offset, void *&addr, std::size_t &numbytes) const;
- bool priv_shrink_param_check(std::size_t bytes, bool from_back, void *&shrink_page_start, std::size_t &shrink_page_bytes);
- static void priv_size_from_mapping_size
- (offset_t mapping_size, offset_t offset, offset_t page_offset, std::size_t &size);
- static offset_t priv_page_offset_addr_fixup(offset_t page_offset, const void *&addr);
-
- template<int dummy>
- struct page_size_holder
- {
- static const std::size_t PageSize;
- static std::size_t get_page_size();
- };
-
- void* m_base;
- std::size_t m_size;
- std::size_t m_page_offset;
- mode_t m_mode;
- #if defined(BOOST_INTERPROCESS_WINDOWS)
- file_handle_t m_file_or_mapping_hnd;
- #else
- bool m_is_xsi;
- #endif
-
- friend class ipcdetail::interprocess_tester;
- friend class ipcdetail::raw_mapped_region_creator;
- void dont_close_on_destruction();
- #if defined(BOOST_INTERPROCESS_WINDOWS) && !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION)
- template<int Dummy>
- static void destroy_syncs_in_range(const void *addr, std::size_t size);
- #endif
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-};
-
-#if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
-inline void swap(mapped_region &x, mapped_region &y) BOOST_NOEXCEPT
-{ x.swap(y); }
-
-inline mapped_region::~mapped_region()
-{ this->priv_close(); }
-
-inline std::size_t mapped_region::get_size() const BOOST_NOEXCEPT
-{ return m_size; }
-
-inline mode_t mapped_region::get_mode() const BOOST_NOEXCEPT
-{ return m_mode; }
-
-inline void* mapped_region::get_address() const BOOST_NOEXCEPT
-{ return m_base; }
-
-inline void* mapped_region::priv_map_address() const
-{ return static_cast<char*>(m_base) - m_page_offset; }
-
-inline std::size_t mapped_region::priv_map_size() const
-{ return m_size + m_page_offset; }
-
-inline bool mapped_region::priv_flush_param_check
- (std::size_t mapping_offset, void *&addr, std::size_t &numbytes) const
-{
- //Check some errors
- if(m_base == 0)
- return false;
-
- if(mapping_offset >= m_size || numbytes > (m_size - size_t(mapping_offset))){
- return false;
- }
-
- //Update flush size if the user does not provide it
- if(numbytes == 0){
- numbytes = m_size - mapping_offset;
- }
- addr = (char*)this->priv_map_address() + mapping_offset;
- numbytes += m_page_offset;
- return true;
-}
-
-inline bool mapped_region::priv_shrink_param_check
- (std::size_t bytes, bool from_back, void *&shrink_page_start, std::size_t &shrink_page_bytes)
-{
- //Check some errors
- if(m_base == 0 || bytes > m_size){
- return false;
- }
- else if(bytes == m_size){
- this->priv_close();
- return true;
- }
- else{
- const std::size_t page_size = mapped_region::get_page_size();
- if(from_back){
- const std::size_t new_pages = (m_size + m_page_offset - bytes - 1)/page_size + 1;
- shrink_page_start = static_cast<char*>(this->priv_map_address()) + new_pages*page_size;
- shrink_page_bytes = m_page_offset + m_size - new_pages*page_size;
- m_size -= bytes;
- }
- else{
- shrink_page_start = this->priv_map_address();
- m_page_offset += bytes;
- shrink_page_bytes = (m_page_offset/page_size)*page_size;
- m_page_offset = m_page_offset % page_size;
- m_size -= bytes;
- m_base = static_cast<char *>(m_base) + bytes;
- BOOST_ASSERT(shrink_page_bytes%page_size == 0);
- }
- return true;
- }
-}
-
-inline void mapped_region::priv_size_from_mapping_size
- (offset_t mapping_size, offset_t offset, offset_t page_offset, std::size_t &size)
-{
- //Check if mapping size fits in the user address space
- //as offset_t is the maximum file size and it's signed.
- if(mapping_size < offset ||
- boost::uintmax_t(mapping_size - (offset - page_offset)) >
- boost::uintmax_t(std::size_t(-1))){
- error_info err(size_error);
- throw interprocess_exception(err);
- }
- size = static_cast<std::size_t>(mapping_size - offset);
-}
-
-inline offset_t mapped_region::priv_page_offset_addr_fixup(offset_t offset, const void *&address)
-{
- //We can't map any offset so we have to obtain system's
- //memory granularity
- const std::size_t page_size = mapped_region::get_page_size();
-
- //We calculate the difference between demanded and valid offset
- //(always less than a page in std::size_t, thus, representable by std::size_t)
- const std::size_t page_offset =
- static_cast<std::size_t>(offset - (offset / offset_t(page_size)) * offset_t(page_size));
- //Update the mapping address
- if(address){
- address = static_cast<const char*>(address) - page_offset;
- }
- return offset_t(page_offset);
-}
-
-#if defined (BOOST_INTERPROCESS_WINDOWS)
-
-inline mapped_region::mapped_region() BOOST_NOEXCEPT
- : m_base(0), m_size(0), m_page_offset(0), m_mode(read_only)
- , m_file_or_mapping_hnd(ipcdetail::invalid_file())
-{}
-
-template<int dummy>
-inline std::size_t mapped_region::page_size_holder<dummy>::get_page_size()
-{
- winapi::interprocess_system_info info;
- winapi::get_system_info(&info);
- return std::size_t(info.dwAllocationGranularity);
-}
-
-template<class MemoryMappable>
-inline mapped_region::mapped_region
- (const MemoryMappable &mapping
- ,mode_t mode
- ,offset_t offset
- ,std::size_t size
- ,const void *address
- ,map_options_t map_options)
- : m_base(0), m_size(0), m_page_offset(0), m_mode(mode)
- , m_file_or_mapping_hnd(ipcdetail::invalid_file())
-{
- mapping_handle_t mhandle = mapping.get_mapping_handle();
- {
- file_handle_t native_mapping_handle = 0;
-
- //Set accesses
- //For "create_file_mapping"
- unsigned long protection = 0;
- //For "mapviewoffile"
- unsigned long map_access = map_options == default_map_options ? 0 : map_options;
-
- switch(mode)
- {
- case read_only:
- case read_private:
- protection |= winapi::page_readonly;
- map_access |= winapi::file_map_read;
- break;
- case read_write:
- protection |= winapi::page_readwrite;
- map_access |= winapi::file_map_write;
- break;
- case copy_on_write:
- protection |= winapi::page_writecopy;
- map_access |= winapi::file_map_copy;
- break;
- default:
- {
- error_info err(mode_error);
- throw interprocess_exception(err);
- }
- break;
- }
-
- //For file mapping (including emulated shared memory through temporary files),
- //the device is a file handle so we need to obtain file's size and call create_file_mapping
- //to obtain the mapping handle.
- //For files we don't need the file mapping after mapping the memory, as the file is there
- //so we'll program the handle close
- void * handle_to_close = winapi::invalid_handle_value;
- if(!mhandle.is_shm){
- //Create mapping handle
- native_mapping_handle = winapi::create_file_mapping
- ( ipcdetail::file_handle_from_mapping_handle(mapping.get_mapping_handle())
- , protection, 0, (char*)0, 0);
-
- //Check if all is correct
- if(!native_mapping_handle){
- error_info err ((int)winapi::get_last_error());
- throw interprocess_exception(err);
- }
- handle_to_close = native_mapping_handle;
- }
- else{
- //For windows_shared_memory the device handle is already a mapping handle
- //and we need to maintain it
- native_mapping_handle = mhandle.handle;
- }
- //RAII handle close on scope exit
- const winapi::handle_closer close_handle(handle_to_close);
- (void)close_handle;
-
- const offset_t page_offset = priv_page_offset_addr_fixup(offset, address);
-
- //Obtain mapping size if user provides 0 size
- if(size == 0){
- offset_t mapping_size;
- if(!winapi::get_file_mapping_size(native_mapping_handle, mapping_size)){
- error_info err((int)winapi::get_last_error());
- throw interprocess_exception(err);
- }
- //This can throw
- priv_size_from_mapping_size(mapping_size, offset, page_offset, size);
- }
-
- //Map with new offsets and size
- void *base = winapi::map_view_of_file_ex
- (native_mapping_handle,
- map_access,
- ::boost::ulong_long_type(offset - page_offset),
- static_cast<std::size_t>(page_offset + size),
- const_cast<void*>(address));
- //Check error
- if(!base){
- error_info err((int)winapi::get_last_error());
- throw interprocess_exception(err);
- }
-
- //Calculate new base for the user
- m_base = static_cast<char*>(base) + page_offset;
- m_page_offset = static_cast<std::size_t>(page_offset);
- m_size = size;
- }
- //Windows shared memory needs the duplication of the handle if we want to
- //make mapped_region independent from the mappable device
- //
- //For mapped files, we duplicate the file handle to be able to FlushFileBuffers
- if(!winapi::duplicate_current_process_handle(mhandle.handle, &m_file_or_mapping_hnd)){
- error_info err((int)winapi::get_last_error());
- this->priv_close();
- throw interprocess_exception(err);
- }
-}
-
-inline bool mapped_region::flush(std::size_t mapping_offset, std::size_t numbytes, bool async)
-{
- void *addr;
- if(!this->priv_flush_param_check(mapping_offset, addr, numbytes)){
- return false;
- }
- //Flush it all
- if(!winapi::flush_view_of_file(addr, numbytes)){
- return false;
- }
- //m_file_or_mapping_hnd can be a file handle or a mapping handle.
- //so flushing file buffers has only sense for files...
- else if(!async && m_file_or_mapping_hnd != winapi::invalid_handle_value &&
- winapi::get_file_type(m_file_or_mapping_hnd) == winapi::file_type_disk){
- return winapi::flush_file_buffers(m_file_or_mapping_hnd);
- }
- return true;
-}
-
-inline bool mapped_region::shrink_by(std::size_t bytes, bool from_back)
-{
- void *shrink_page_start = 0;
- std::size_t shrink_page_bytes = 0;
- if(!this->priv_shrink_param_check(bytes, from_back, shrink_page_start, shrink_page_bytes)){
- return false;
- }
- else if(shrink_page_bytes){
- //In Windows, we can't decommit the storage or release the virtual address space,
- //the best we can do is try to remove some memory from the process working set.
- //With a bit of luck we can free some physical memory.
- unsigned long old_protect_ignored;
- bool b_ret = winapi::virtual_unlock(shrink_page_start, shrink_page_bytes)
- || (winapi::get_last_error() == winapi::error_not_locked);
- (void)old_protect_ignored;
- //Change page protection to forbid any further access
- b_ret = b_ret && winapi::virtual_protect
- (shrink_page_start, shrink_page_bytes, winapi::page_noaccess, old_protect_ignored);
- return b_ret;
- }
- else{
- return true;
- }
-}
-
-inline bool mapped_region::advise(advice_types)
-{
- //Windows has no madvise/posix_madvise equivalent
- return false;
-}
-
-inline void mapped_region::priv_close()
-{
- if(m_base){
- void *addr = this->priv_map_address();
- #if !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION)
- mapped_region::destroy_syncs_in_range<0>(addr, m_size);
- #endif
- winapi::unmap_view_of_file(addr);
- m_base = 0;
- }
- if(m_file_or_mapping_hnd != ipcdetail::invalid_file()){
- winapi::close_handle(m_file_or_mapping_hnd);
- m_file_or_mapping_hnd = ipcdetail::invalid_file();
- }
-}
-
-inline void mapped_region::dont_close_on_destruction()
-{}
-
-#else //#if defined (BOOST_INTERPROCESS_WINDOWS)
-
-inline mapped_region::mapped_region() BOOST_NOEXCEPT
- : m_base(0), m_size(0), m_page_offset(0), m_mode(read_only), m_is_xsi(false)
-{}
-
-template<int dummy>
-inline std::size_t mapped_region::page_size_holder<dummy>::get_page_size()
-{ return std::size_t(sysconf(_SC_PAGESIZE)); }
-
-template<class MemoryMappable>
-inline mapped_region::mapped_region
- ( const MemoryMappable &mapping
- , mode_t mode
- , offset_t offset
- , std::size_t size
- , const void *address
- , map_options_t map_options)
- : m_base(0), m_size(0), m_page_offset(0), m_mode(mode), m_is_xsi(false)
-{
- mapping_handle_t map_hnd = mapping.get_mapping_handle();
-
- //Some systems dont' support XSI shared memory
- #ifdef BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS
- if(map_hnd.is_xsi){
- //Get the size
- ::shmid_ds xsi_ds;
- int ret = ::shmctl(map_hnd.handle, IPC_STAT, &xsi_ds);
- if(ret == -1){
- error_info err(system_error_code());
- throw interprocess_exception(err);
- }
- //Compare sizess
- if(size == 0){
- size = (std::size_t)xsi_ds.shm_segsz;
- }
- else if(size != (std::size_t)xsi_ds.shm_segsz){
- error_info err(size_error);
- throw interprocess_exception(err);
- }
- //Calculate flag
- int flag = map_options == default_map_options ? 0 : map_options;
- if(m_mode == read_only){
- flag |= SHM_RDONLY;
- }
- else if(m_mode != read_write){
- error_info err(mode_error);
- throw interprocess_exception(err);
- }
- //Attach memory
- //Some old shmat implementation take the address as a non-const void pointer
- //so uncast it to make code portable.
- void *const final_address = const_cast<void *>(address);
- void *base = ::shmat(map_hnd.handle, final_address, flag);
- if(base == (void*)-1){
- error_info err(system_error_code());
- throw interprocess_exception(err);
- }
- //Update members
- m_base = base;
- m_size = size;
- m_mode = mode;
- m_page_offset = 0;
- m_is_xsi = true;
- return;
- }
- #endif //ifdef BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS
-
- //We calculate the difference between demanded and valid offset
- const offset_t page_offset = priv_page_offset_addr_fixup(offset, address);
-
- if(size == 0){
- struct ::stat buf;
- if(0 != fstat(map_hnd.handle, &buf)){
- error_info err(system_error_code());
- throw interprocess_exception(err);
- }
- //This can throw
- priv_size_from_mapping_size(buf.st_size, offset, page_offset, size);
- }
-
- #ifdef MAP_NOSYNC
- #define BOOST_INTERPROCESS_MAP_NOSYNC MAP_NOSYNC
- #else
- #define BOOST_INTERPROCESS_MAP_NOSYNC 0
- #endif //MAP_NOSYNC
-
- //Create new mapping
- int prot = 0;
- int flags = map_options == default_map_options ? BOOST_INTERPROCESS_MAP_NOSYNC : map_options;
-
- #undef BOOST_INTERPROCESS_MAP_NOSYNC
-
- switch(mode)
- {
- case read_only:
- prot |= PROT_READ;
- flags |= MAP_SHARED;
- break;
-
- case read_private:
- prot |= (PROT_READ);
- flags |= MAP_PRIVATE;
- break;
-
- case read_write:
- prot |= (PROT_WRITE | PROT_READ);
- flags |= MAP_SHARED;
- break;
-
- case copy_on_write:
- prot |= (PROT_WRITE | PROT_READ);
- flags |= MAP_PRIVATE;
- break;
-
- default:
- {
- error_info err(mode_error);
- throw interprocess_exception(err);
- }
- break;
- }
-
- //Map it to the address space
- void* base = mmap ( const_cast<void*>(address)
- , static_cast<std::size_t>(page_offset) + size
- , prot
- , flags
- , mapping.get_mapping_handle().handle
- , offset - page_offset);
-
- //Check if mapping was successful
- if(base == MAP_FAILED){
- error_info err = system_error_code();
- throw interprocess_exception(err);
- }
-
- //Calculate new base for the user
- m_base = static_cast<char*>(base) + page_offset;
- m_page_offset = static_cast<std::size_t>(page_offset);
- m_size = size;
-
- //Check for fixed mapping error
- if(address && (base != address)){
- error_info err(busy_error);
- this->priv_close();
- throw interprocess_exception(err);
- }
-}
-
-inline bool mapped_region::shrink_by(std::size_t bytes, bool from_back)
-{
- void *shrink_page_start = 0;
- std::size_t shrink_page_bytes = 0;
- if(m_is_xsi || !this->priv_shrink_param_check(bytes, from_back, shrink_page_start, shrink_page_bytes)){
- return false;
- }
- else if(shrink_page_bytes){
- //In UNIX we can decommit and free virtual address space.
- return 0 == munmap(shrink_page_start, shrink_page_bytes);
- }
- else{
- return true;
- }
-}
-
-inline bool mapped_region::flush(std::size_t mapping_offset, std::size_t numbytes, bool async)
-{
- void *addr;
- if(m_is_xsi || !this->priv_flush_param_check(mapping_offset, addr, numbytes)){
- return false;
- }
- //Flush it all
- return msync(addr, numbytes, async ? MS_ASYNC : MS_SYNC) == 0;
-}
-
-inline bool mapped_region::advise(advice_types advice)
-{
- int unix_advice = 0;
- //Modes; 0: none, 2: posix, 1: madvise
- const unsigned int mode_none = 0;
- const unsigned int mode_padv = 1;
- const unsigned int mode_madv = 2;
- // Suppress "unused variable" warnings
- (void)mode_padv;
- (void)mode_madv;
- unsigned int mode = mode_none;
- //Choose advice either from POSIX (preferred) or native Unix
- switch(advice){
- case advice_normal:
- #if defined(POSIX_MADV_NORMAL)
- unix_advice = POSIX_MADV_NORMAL;
- mode = mode_padv;
- #elif defined(MADV_NORMAL)
- unix_advice = MADV_NORMAL;
- mode = mode_madv;
- #endif
- break;
- case advice_sequential:
- #if defined(POSIX_MADV_SEQUENTIAL)
- unix_advice = POSIX_MADV_SEQUENTIAL;
- mode = mode_padv;
- #elif defined(MADV_SEQUENTIAL)
- unix_advice = MADV_SEQUENTIAL;
- mode = mode_madv;
- #endif
- break;
- case advice_random:
- #if defined(POSIX_MADV_RANDOM)
- unix_advice = POSIX_MADV_RANDOM;
- mode = mode_padv;
- #elif defined(MADV_RANDOM)
- unix_advice = MADV_RANDOM;
- mode = mode_madv;
- #endif
- break;
- case advice_willneed:
- #if defined(POSIX_MADV_WILLNEED)
- unix_advice = POSIX_MADV_WILLNEED;
- mode = mode_padv;
- #elif defined(MADV_WILLNEED)
- unix_advice = MADV_WILLNEED;
- mode = mode_madv;
- #endif
- break;
- case advice_dontneed:
- #if defined(POSIX_MADV_DONTNEED)
- unix_advice = POSIX_MADV_DONTNEED;
- mode = mode_padv;
- #elif defined(MADV_DONTNEED) && defined(BOOST_INTERPROCESS_MADV_DONTNEED_HAS_NONDESTRUCTIVE_SEMANTICS)
- unix_advice = MADV_DONTNEED;
- mode = mode_madv;
- #endif
- break;
- default:
- return false;
- }
- switch(mode){
- #if defined(POSIX_MADV_NORMAL)
- case mode_padv:
- return 0 == posix_madvise(this->priv_map_address(), this->priv_map_size(), unix_advice);
- #endif
- #if defined(MADV_NORMAL)
- case mode_madv:
- return 0 == madvise(
- #if defined(BOOST_INTERPROCESS_MADVISE_USES_CADDR_T)
- (caddr_t)
- #endif
- this->priv_map_address(), this->priv_map_size(), unix_advice);
- #endif
- default:
- return false;
-
- }
-}
-
-inline void mapped_region::priv_close()
-{
- if(m_base != 0){
- #ifdef BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS
- if(m_is_xsi){
- int ret = ::shmdt(m_base);
- BOOST_ASSERT(ret == 0);
- (void)ret;
- return;
- }
- #endif //#ifdef BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS
- munmap(this->priv_map_address(), this->priv_map_size());
- m_base = 0;
- }
-}
-
-inline void mapped_region::dont_close_on_destruction()
-{ m_base = 0; }
-
-#endif //#if defined (BOOST_INTERPROCESS_WINDOWS)
-
-template<int dummy>
-const std::size_t mapped_region::page_size_holder<dummy>::PageSize
- = mapped_region::page_size_holder<dummy>::get_page_size();
-
-inline std::size_t mapped_region::get_page_size() BOOST_NOEXCEPT
-{
- if(!page_size_holder<0>::PageSize)
- return page_size_holder<0>::get_page_size();
- else
- return page_size_holder<0>::PageSize;
-}
-
-inline void mapped_region::swap(mapped_region &other) BOOST_NOEXCEPT
-{
- ::boost::adl_move_swap(this->m_base, other.m_base);
- ::boost::adl_move_swap(this->m_size, other.m_size);
- ::boost::adl_move_swap(this->m_page_offset, other.m_page_offset);
- ::boost::adl_move_swap(this->m_mode, other.m_mode);
- #if defined (BOOST_INTERPROCESS_WINDOWS)
- ::boost::adl_move_swap(this->m_file_or_mapping_hnd, other.m_file_or_mapping_hnd);
- #else
- ::boost::adl_move_swap(this->m_is_xsi, other.m_is_xsi);
- #endif
-}
-
-//!No-op functor
-struct null_mapped_region_function
-{
- bool operator()(void *, std::size_t , bool) const
- { return true; }
-
- static std::size_t get_min_size()
- { return 0; }
-};
-
-#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_MAPPED_REGION_HPP
-
-#if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
-#ifndef BOOST_INTERPROCESS_MAPPED_REGION_EXT_HPP
-#define BOOST_INTERPROCESS_MAPPED_REGION_EXT_HPP
-
-#if defined(BOOST_INTERPROCESS_WINDOWS) && !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION)
-# include <boost/interprocess/sync/windows/sync_utils.hpp>
-# include <boost/interprocess/detail/windows_intermodule_singleton.hpp>
-
-namespace boost {
-namespace interprocess {
-
-template<int Dummy>
-inline void mapped_region::destroy_syncs_in_range(const void *addr, std::size_t size)
-{
- ipcdetail::sync_handles &handles =
- ipcdetail::windows_intermodule_singleton<ipcdetail::sync_handles>::get();
- handles.destroy_syncs_in_range(addr, size);
-}
-
-} //namespace interprocess {
-} //namespace boost {
-
-#endif //defined(BOOST_INTERPROCESS_WINDOWS) && !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION)
-
-#endif //#ifdef BOOST_INTERPROCESS_MAPPED_REGION_EXT_HPP
-
-#endif //#if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/permissions.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/permissions.hpp
deleted file mode 100644
index 0b21a685aa..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/permissions.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_PERMISSIONS_HPP
-#define BOOST_INTERPROCESS_PERMISSIONS_HPP
-
-#if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/interprocess_fwd.hpp>
-
-#if defined(BOOST_INTERPROCESS_WINDOWS)
-
-#include <boost/interprocess/detail/win32_api.hpp>
-
-#else
-
-#include <sys/stat.h>
-
-#endif
-
-#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
-//!\file
-//!Describes permissions class
-
-namespace boost {
-namespace interprocess {
-
-#if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
-#if defined(BOOST_INTERPROCESS_WINDOWS)
-
-namespace ipcdetail {
-
-template <int Dummy>
-struct unrestricted_permissions_holder
-{
- static winapi::interprocess_all_access_security unrestricted;
-};
-
-template<int Dummy>
-winapi::interprocess_all_access_security unrestricted_permissions_holder<Dummy>::unrestricted;
-
-} //namespace ipcdetail {
-
-#endif //defined BOOST_INTERPROCESS_WINDOWS
-
-#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
-//!The permissions class represents permissions to be set to shared memory or
-//!files, that can be constructed form usual permission representations:
-//!a SECURITY_ATTRIBUTES pointer in windows or ORed rwx chmod integer in UNIX.
-class permissions
-{
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
- #if defined(BOOST_INTERPROCESS_WINDOWS)
- typedef void* os_permissions_type;
- #else
- typedef ::mode_t os_permissions_type;
- #endif
- os_permissions_type m_perm;
-
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
- public:
- //!Constructs a permissions object from a user provided os-dependent
- //!permissions.
- permissions(os_permissions_type type) BOOST_NOEXCEPT
- : m_perm(type)
- {}
-
- //!Constructs a default permissions object:
- //!A null security attributes pointer for windows or 0644
- //!for UNIX.
- permissions() BOOST_NOEXCEPT
- { set_default(); }
-
- //!Sets permissions to default values:
- //!A null security attributes pointer for windows or 0644
- //!for UNIX.
- void set_default() BOOST_NOEXCEPT
- {
- #if defined (BOOST_INTERPROCESS_WINDOWS)
- m_perm = 0;
- #else
- m_perm = 0644;
- #endif
- }
-
- //!Sets permissions to unrestricted access:
- //!A null DACL for windows or 0666 for UNIX.
- void set_unrestricted() BOOST_NOEXCEPT
- {
- #if defined (BOOST_INTERPROCESS_WINDOWS)
- m_perm = &ipcdetail::unrestricted_permissions_holder<0>::unrestricted;
- #else
- m_perm = 0666;
- #endif
- }
-
- //!Sets permissions from a user provided os-dependent
- //!permissions.
- void set_permissions(os_permissions_type perm) BOOST_NOEXCEPT
- { m_perm = perm; }
-
- //!Returns stored os-dependent
- //!permissions
- os_permissions_type get_permissions() const BOOST_NOEXCEPT
- { return m_perm; }
-};
-
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_PERMISSIONS_HPP
-
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/shared_memory_object.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/shared_memory_object.hpp
deleted file mode 100644
index 2d429efcb1..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/shared_memory_object.hpp
+++ /dev/null
@@ -1,514 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_SHARED_MEMORY_OBJECT_HPP
-#define BOOST_INTERPROCESS_SHARED_MEMORY_OBJECT_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/creation_tags.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/interprocess/interprocess_fwd.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/interprocess/detail/os_file_functions.hpp>
-#include <boost/interprocess/detail/shared_dir_helpers.hpp>
-#include <boost/interprocess/detail/char_wchar_holder.hpp>
-#include <boost/interprocess/permissions.hpp>
-#include <boost/move/adl_move_swap.hpp>
-#include <cstddef>
-
-#if defined(BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS)
-# include <string>
-# include <fcntl.h> //posix_fallocate, O_CREAT, O_*...
-# include <sys/mman.h> //shm_xxx
-# include <unistd.h> //ftruncate, close
-# include <sys/stat.h> //mode_t, S_IRWXG, S_IRWXO, S_IRWXU,
-# if defined(BOOST_INTERPROCESS_RUNTIME_FILESYSTEM_BASED_POSIX_SHARED_MEMORY)
-# if defined(__FreeBSD__)
-# include <sys/sysctl.h>
-# endif
-# endif
-#else
-//
-#endif
-
-//!\file
-//!Describes a shared memory object management class.
-
-namespace boost {
-namespace interprocess {
-
-//!A class that wraps a shared memory mapping that can be used to
-//!create mapped regions from the mapped files
-class shared_memory_object
-{
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- //Non-copyable and non-assignable
- BOOST_MOVABLE_BUT_NOT_COPYABLE(shared_memory_object)
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
- public:
- //!Default constructor. Represents an empty shared_memory_object.
- shared_memory_object() BOOST_NOEXCEPT;
-
- //!Creates a shared memory object with name "name" and mode "mode", with the access mode "mode"
- //!If the file previously exists, throws an error.*/
- shared_memory_object(create_only_t, const char *name, mode_t mode, const permissions &perm = permissions())
- { this->priv_open_or_create(ipcdetail::DoCreate, name, mode, perm); }
-
- //!Tries to create a shared memory object with name "name" and mode "mode", with the
- //!access mode "mode". If the file previously exists, it tries to open it with mode "mode".
- //!Otherwise throws an error.
- shared_memory_object(open_or_create_t, const char *name, mode_t mode, const permissions &perm = permissions())
- { this->priv_open_or_create(ipcdetail::DoOpenOrCreate, name, mode, perm); }
-
- //!Tries to open a shared memory object with name "name", with the access mode "mode".
- //!If the file does not previously exist, it throws an error.
- shared_memory_object(open_only_t, const char *name, mode_t mode)
- { this->priv_open_or_create(ipcdetail::DoOpen, name, mode, permissions()); }
-
- #if defined(BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES) || defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
- //!Creates a shared memory object with name "name" and mode "mode", with the access mode "mode"
- //!If the file previously exists, throws an error.
- //!
- //!Note: This function is only available on operating systems with
- //! native wchar_t APIs (e.g. Windows).
- shared_memory_object(create_only_t, const wchar_t*name, mode_t mode, const permissions &perm = permissions())
- { this->priv_open_or_create(ipcdetail::DoCreate, name, mode, perm); }
-
- //!Tries to create a shared memory object with name "name" and mode "mode", with the
- //!access mode "mode". If the file previously exists, it tries to open it with mode "mode".
- //!Otherwise throws an error.
- //!
- //!Note: This function is only available on operating systems with
- //! native wchar_t APIs (e.g. Windows).
- shared_memory_object(open_or_create_t, const wchar_t*name, mode_t mode, const permissions &perm = permissions())
- { this->priv_open_or_create(ipcdetail::DoOpenOrCreate, name, mode, perm); }
-
- //!Tries to open a shared memory object with name "name", with the access mode "mode".
- //!If the file does not previously exist, it throws an error.
- //!
- //!Note: This function is only available on operating systems with
- //! native wchar_t APIs (e.g. Windows).
- shared_memory_object(open_only_t, const wchar_t*name, mode_t mode)
- { this->priv_open_or_create(ipcdetail::DoOpen, name, mode, permissions()); }
-
- #endif //defined(BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES) || defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
- //!Moves the ownership of "moved"'s shared memory object to *this.
- //!After the call, "moved" does not represent any shared memory object.
- //!Does not throw
- shared_memory_object(BOOST_RV_REF(shared_memory_object) moved) BOOST_NOEXCEPT
- : m_handle(file_handle_t(ipcdetail::invalid_file()))
- , m_mode(read_only)
- { this->swap(moved); }
-
- //!Moves the ownership of "moved"'s shared memory to *this.
- //!After the call, "moved" does not represent any shared memory.
- //!Does not throw
- shared_memory_object &operator=(BOOST_RV_REF(shared_memory_object) moved) BOOST_NOEXCEPT
- {
- shared_memory_object tmp(boost::move(moved));
- this->swap(tmp);
- return *this;
- }
-
- //!Swaps the shared_memory_objects. Does not throw
- void swap(shared_memory_object &moved) BOOST_NOEXCEPT;
-
- //!Erases a shared memory object from the system.
- //!Returns false on error. Never throws
- static bool remove(const char *name);
-
- #if defined(BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES) || defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
- //!Erases a shared memory object from the system.
- //!Returns false on error. Never throws
- //!
- //!Note: This function is only available on operating systems with
- //! native wchar_t APIs (e.g. Windows).
- static bool remove(const wchar_t *name);
-
- #endif //defined(BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES) || defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
- //!Sets the size of the shared memory mapping
- void truncate(offset_t length);
-
- //!Destroys *this and indicates that the calling process is finished using
- //!the resource. All mapped regions are still
- //!valid after destruction. The destructor function will deallocate
- //!any system resources allocated by the system for use by this process for
- //!this resource. The resource can still be opened again calling
- //!the open constructor overload. To erase the resource from the system
- //!use remove().
- ~shared_memory_object();
-
- //!Returns the name of the shared memory object.
- const char *get_name() const BOOST_NOEXCEPT;
-
- //!Returns true if the size of the shared memory object
- //!can be obtained and writes the size in the passed reference
- bool get_size(offset_t &size) const BOOST_NOEXCEPT;
-
- //!Returns access mode
- mode_t get_mode() const BOOST_NOEXCEPT;
-
- //!Returns mapping handle. Never throws.
- mapping_handle_t get_mapping_handle() const BOOST_NOEXCEPT;
-
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- private:
-
- //!Closes a previously opened file mapping. Never throws.
- void priv_close();
-
- //!Opens or creates a shared memory object.
- template<class CharT>
- bool priv_open_or_create(ipcdetail::create_enum_t type, const CharT *filename, mode_t mode, const permissions &perm);
-
- file_handle_t m_handle;
- mode_t m_mode;
- char_wchar_holder m_filename;
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-};
-
-#if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
-inline shared_memory_object::shared_memory_object() BOOST_NOEXCEPT
- : m_handle(file_handle_t(ipcdetail::invalid_file()))
- , m_mode(read_only)
-{}
-
-inline shared_memory_object::~shared_memory_object()
-{ this->priv_close(); }
-
-
-inline const char *shared_memory_object::get_name() const BOOST_NOEXCEPT
-{ return m_filename.getn(); }
-
-inline bool shared_memory_object::get_size(offset_t &size) const BOOST_NOEXCEPT
-{ return ipcdetail::get_file_size((file_handle_t)m_handle, size); }
-
-inline void shared_memory_object::swap(shared_memory_object &other) BOOST_NOEXCEPT
-{
- boost::adl_move_swap(m_handle, other.m_handle);
- boost::adl_move_swap(m_mode, other.m_mode);
- m_filename.swap(other.m_filename);
-}
-
-inline mapping_handle_t shared_memory_object::get_mapping_handle() const BOOST_NOEXCEPT
-{
- return ipcdetail::mapping_handle_from_file_handle(m_handle);
-}
-
-inline mode_t shared_memory_object::get_mode() const BOOST_NOEXCEPT
-{ return m_mode; }
-
-#if !defined(BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS)
-
-template<class CharT>
-inline bool shared_memory_object::priv_open_or_create
- (ipcdetail::create_enum_t type, const CharT *filename, mode_t mode, const permissions &perm)
-{
- m_filename = filename;
- std::basic_string<CharT> shmfile;
- ipcdetail::create_shared_dir_cleaning_old_and_get_filepath(filename, shmfile);
-
- //Set accesses
- if (mode != read_write && mode != read_only){
- error_info err = other_error;
- throw interprocess_exception(err);
- }
-
- switch(type){
- case ipcdetail::DoOpen:
- m_handle = ipcdetail::open_existing_file(shmfile.c_str(), mode, true);
- break;
- case ipcdetail::DoCreate:
- m_handle = ipcdetail::create_new_file(shmfile.c_str(), mode, perm, true);
- break;
- case ipcdetail::DoOpenOrCreate:
- m_handle = ipcdetail::create_or_open_file(shmfile.c_str(), mode, perm, true);
- break;
- default:
- {
- error_info err = other_error;
- throw interprocess_exception(err);
- }
- }
-
- //Check for error
- if(m_handle == ipcdetail::invalid_file()){
- error_info err = system_error_code();
- this->priv_close();
- throw interprocess_exception(err);
- }
-
- m_mode = mode;
- return true;
-}
-
-#if defined(BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES)
-
-inline bool shared_memory_object::remove(const wchar_t *filename)
-{
- BOOST_TRY{
- //Make sure a temporary path is created for shared memory
- std::wstring shmfile;
- ipcdetail::shared_filepath(filename, shmfile);
- return ipcdetail::delete_file(shmfile.c_str());
- }
- BOOST_CATCH(...){
- return false;
- } BOOST_CATCH_END
-}
-
-#endif
-
-inline bool shared_memory_object::remove(const char *filename)
-{
- BOOST_TRY{
- //Make sure a temporary path is created for shared memory
- std::string shmfile;
- ipcdetail::shared_filepath(filename, shmfile);
- return ipcdetail::delete_file(shmfile.c_str());
- }
- BOOST_CATCH(...){
- return false;
- } BOOST_CATCH_END
-}
-
-inline void shared_memory_object::truncate(offset_t length)
-{
- if(!ipcdetail::truncate_file(m_handle, (std::size_t)length)){
- error_info err = system_error_code();
- throw interprocess_exception(err);
- }
-}
-
-inline void shared_memory_object::priv_close()
-{
- if(m_handle != ipcdetail::invalid_file()){
- ipcdetail::close_file(m_handle);
- m_handle = ipcdetail::invalid_file();
- }
-}
-
-#else //!defined(BOOST_INTERPROCESS_POSIX_SHARED_MEMORY_OBJECTS)
-
-namespace shared_memory_object_detail {
-
-#ifdef BOOST_INTERPROCESS_RUNTIME_FILESYSTEM_BASED_POSIX_SHARED_MEMORY
-
-#if defined(__FreeBSD__)
-
-inline bool use_filesystem_based_posix()
-{
- int jailed = 0;
- std::size_t len = sizeof(jailed);
- ::sysctlbyname("security.jail.jailed", &jailed, &len, NULL, 0);
- return jailed != 0;
-}
-
-#else
-#error "Not supported platform for BOOST_INTERPROCESS_RUNTIME_FILESYSTEM_BASED_POSIX_SHARED_MEMORY"
-#endif
-
-#endif
-
-} //shared_memory_object_detail
-
-template<class CharT>
-inline bool shared_memory_object::priv_open_or_create
- (ipcdetail::create_enum_t type,
- const CharT *filename,
- mode_t mode, const permissions &perm)
-{
- #if defined(BOOST_INTERPROCESS_FILESYSTEM_BASED_POSIX_SHARED_MEMORY)
- const bool add_leading_slash = false;
- #elif defined(BOOST_INTERPROCESS_RUNTIME_FILESYSTEM_BASED_POSIX_SHARED_MEMORY)
- const bool add_leading_slash = !shared_memory_object_detail::use_filesystem_based_posix();
- #else
- const bool add_leading_slash = true;
- #endif
- std::basic_string<CharT> fname;
- if(add_leading_slash){
- ipcdetail::add_leading_slash(filename, fname);
- }
- else{
- ipcdetail::create_shared_dir_cleaning_old_and_get_filepath(filename, fname);
- }
-
- //Create new mapping
- int oflag = 0;
- if(mode == read_only){
- oflag |= O_RDONLY;
- }
- else if(mode == read_write){
- oflag |= O_RDWR;
- }
- else{
- error_info err(mode_error);
- throw interprocess_exception(err);
- }
- ::mode_t unix_perm = perm.get_permissions();
-
- switch(type){
- case ipcdetail::DoOpen:
- {
- //No oflag addition
- m_handle = shm_open(fname.c_str(), oflag, unix_perm);
- }
- break;
- case ipcdetail::DoCreate:
- {
- oflag |= (O_CREAT | O_EXCL);
- m_handle = shm_open(fname.c_str(), oflag, unix_perm);
- if(m_handle >= 0){
- ::fchmod(m_handle, unix_perm);
- }
- }
- break;
- case ipcdetail::DoOpenOrCreate:
- {
- //We need a create/open loop to change permissions correctly using fchmod, since
- //with "O_CREAT" only we don't know if we've created or opened the shm.
- while(true){
- //Try to create shared memory
- m_handle = shm_open(fname.c_str(), oflag | (O_CREAT | O_EXCL), unix_perm);
- //If successful change real permissions
- if(m_handle >= 0){
- ::fchmod(m_handle, unix_perm);
- }
- //If already exists, try to open
- else if(errno == EEXIST){
- m_handle = shm_open(fname.c_str(), oflag, unix_perm);
- //If open fails and errno tells the file does not exist
- //(shm was removed between creation and opening tries), just retry
- if(m_handle < 0 && errno == ENOENT){
- continue;
- }
- }
- //Exit retries
- break;
- }
- }
- break;
- default:
- {
- error_info err = other_error;
- throw interprocess_exception(err);
- }
- }
-
- //Check for error
- if(m_handle < 0){
- error_info err = errno;
- this->priv_close();
- throw interprocess_exception(err);
- }
-
- m_filename = filename;
- m_mode = mode;
- return true;
-}
-
-inline bool shared_memory_object::remove(const char *filename)
-{
- BOOST_TRY{
- std::string filepath;
- #if defined(BOOST_INTERPROCESS_FILESYSTEM_BASED_POSIX_SHARED_MEMORY)
- const bool add_leading_slash = false;
- #elif defined(BOOST_INTERPROCESS_RUNTIME_FILESYSTEM_BASED_POSIX_SHARED_MEMORY)
- const bool add_leading_slash = !shared_memory_object_detail::use_filesystem_based_posix();
- #else
- const bool add_leading_slash = true;
- #endif
- if(add_leading_slash){
- ipcdetail::add_leading_slash(filename, filepath);
- }
- else{
- ipcdetail::shared_filepath(filename, filepath);
- }
- return 0 == shm_unlink(filepath.c_str());
- }
- BOOST_CATCH(...){
- return false;
- } BOOST_CATCH_END
-}
-
-inline void shared_memory_object::truncate(offset_t length)
-{
- #ifdef BOOST_INTERPROCESS_POSIX_FALLOCATE
- int ret = EINTR;
- while (EINTR == ret) {
- ret = posix_fallocate(m_handle, 0, length);
- }
-
- if (ret && ret != EOPNOTSUPP && ret != ENODEV){
- error_info err(ret);
- throw interprocess_exception(err);
- }
- //ftruncate fallback
- #endif //BOOST_INTERPROCESS_POSIX_FALLOCATE
-
- handle_eintr:
- if (0 != ftruncate(m_handle, length)){
- if (errno == EINTR)
- goto handle_eintr;
- error_info err(system_error_code());
- throw interprocess_exception(err);
- }
-}
-
-inline void shared_memory_object::priv_close()
-{
- if(m_handle != -1){
- ::close(m_handle);
- m_handle = -1;
- }
-}
-
-#endif
-
-//!A class that stores the name of a shared memory
-//!and calls shared_memory_object::remove(name) in its destructor
-//!Useful to remove temporary shared memory objects in the presence
-//!of exceptions
-class remove_shared_memory_on_destroy
-{
- const char * m_name;
- public:
- remove_shared_memory_on_destroy(const char *name)
- : m_name(name)
- {}
-
- ~remove_shared_memory_on_destroy()
- { shared_memory_object::remove(m_name); }
-};
-
-#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_SHARED_MEMORY_OBJECT_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/streams/bufferstream.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/streams/bufferstream.hpp
deleted file mode 100644
index 51987233c4..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/streams/bufferstream.hpp
+++ /dev/null
@@ -1,491 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// This file comes from SGI's sstream file. Modified by Ion Gaztanaga 2005-2012.
-// Changed internal SGI string to a buffer. Added efficient
-// internal buffer get/set/swap functions, so that we can obtain/establish the
-// internal buffer without any reallocation or copy. Kill those temporaries!
-///////////////////////////////////////////////////////////////////////////////
-/*
- * Copyright (c) 1998
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-//!\file
-//!This file defines basic_bufferbuf, basic_ibufferstream,
-//!basic_obufferstream, and basic_bufferstream classes. These classes
-//!represent streamsbufs and streams whose sources or destinations
-//!are fixed size character buffers.
-
-#ifndef BOOST_INTERPROCESS_BUFFERSTREAM_HPP
-#define BOOST_INTERPROCESS_BUFFERSTREAM_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <iosfwd>
-#include <ios>
-#include <istream>
-#include <ostream>
-#include <string> // char traits
-#include <cstddef> // ptrdiff_t
-#include <boost/assert.hpp>
-#include <boost/interprocess/interprocess_fwd.hpp>
-
-namespace boost { namespace interprocess {
-
-//!A streambuf class that controls the transmission of elements to and from
-//!a basic_xbufferstream. The elements are transmitted from a to a fixed
-//!size buffer
-template <class CharT, class CharTraits>
-class basic_bufferbuf
- : public std::basic_streambuf<CharT, CharTraits>
-{
- public:
- typedef CharT char_type;
- typedef typename CharTraits::int_type int_type;
- typedef typename CharTraits::pos_type pos_type;
- typedef typename CharTraits::off_type off_type;
- typedef CharTraits traits_type;
- typedef std::basic_streambuf<char_type, traits_type> basic_streambuf_t;
-
- public:
- //!Constructor.
- //!Does not throw.
- explicit basic_bufferbuf(std::ios_base::openmode mode
- = std::ios_base::in | std::ios_base::out)
- : basic_streambuf_t(), m_mode(mode), m_buffer(0), m_length(0)
- {}
-
- //!Constructor. Assigns formatting buffer.
- //!Does not throw.
- explicit basic_bufferbuf(CharT *buf, std::size_t length,
- std::ios_base::openmode mode
- = std::ios_base::in | std::ios_base::out)
- : basic_streambuf_t(), m_mode(mode), m_buffer(buf), m_length(length)
- { this->set_pointers(); }
-
- virtual ~basic_bufferbuf() BOOST_OVERRIDE {}
-
- public:
- //!Returns the pointer and size of the internal buffer.
- //!Does not throw.
- std::pair<CharT *, std::size_t> buffer() const
- { return std::pair<CharT *, std::size_t>(m_buffer, m_length); }
-
- //!Sets the underlying buffer to a new value
- //!Does not throw.
- void buffer(CharT *buf, std::size_t length)
- { m_buffer = buf; m_length = length; this->set_pointers(); }
-
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- private:
- void set_pointers()
- {
- // The initial read position is the beginning of the buffer.
- if(m_mode & std::ios_base::in)
- this->setg(m_buffer, m_buffer, m_buffer + m_length);
-
- // The initial write position is the beginning of the buffer.
- if(m_mode & std::ios_base::out)
- this->setp(m_buffer, m_buffer + m_length);
- }
-
- protected:
- virtual int_type underflow() BOOST_OVERRIDE
- {
- // Precondition: gptr() >= egptr(). Returns a character, if available.
- return this->gptr() != this->egptr() ?
- CharTraits::to_int_type(*this->gptr()) : CharTraits::eof();
- }
-
- virtual int_type pbackfail(int_type c = CharTraits::eof()) BOOST_OVERRIDE
- {
- if(this->gptr() != this->eback()) {
- if(!CharTraits::eq_int_type(c, CharTraits::eof())) {
- if(CharTraits::eq(CharTraits::to_char_type(c), this->gptr()[-1])) {
- this->gbump(-1);
- return c;
- }
- else if(m_mode & std::ios_base::out) {
- this->gbump(-1);
- *this->gptr() = CharTraits::to_char_type(c);
- return c;
- }
- else
- return CharTraits::eof();
- }
- else {
- this->gbump(-1);
- return CharTraits::not_eof(c);
- }
- }
- else
- return CharTraits::eof();
- }
-
- virtual int_type overflow(int_type c = CharTraits::eof()) BOOST_OVERRIDE
- {
- if(m_mode & std::ios_base::out) {
- if(!CharTraits::eq_int_type(c, CharTraits::eof())) {
-// if(!(m_mode & std::ios_base::in)) {
-// if(this->pptr() != this->epptr()) {
-// *this->pptr() = CharTraits::to_char_type(c);
-// this->pbump(1);
-// return c;
-// }
-// else
-// return CharTraits::eof();
-// }
-// else {
- if(this->pptr() == this->epptr()) {
- //We can't append to a static buffer
- return CharTraits::eof();
- }
- else {
- *this->pptr() = CharTraits::to_char_type(c);
- this->pbump(1);
- return c;
- }
-// }
- }
- else // c is EOF, so we don't have to do anything
- return CharTraits::not_eof(c);
- }
- else // Overflow always fails if it's read-only.
- return CharTraits::eof();
- }
-
- virtual pos_type seekoff(off_type off, std::ios_base::seekdir dir,
- std::ios_base::openmode mode
- = std::ios_base::in | std::ios_base::out) BOOST_OVERRIDE
- {
- bool in = false;
- bool out = false;
-
- const std::ios_base::openmode inout =
- std::ios_base::in | std::ios_base::out;
-
- if((mode & inout) == inout) {
- if(dir == std::ios_base::beg || dir == std::ios_base::end)
- in = out = true;
- }
- else if(mode & std::ios_base::in)
- in = true;
- else if(mode & std::ios_base::out)
- out = true;
-
- if(!in && !out)
- return pos_type(off_type(-1));
- else if((in && (!(m_mode & std::ios_base::in) || (off != 0 && this->gptr() == 0) )) ||
- (out && (!(m_mode & std::ios_base::out) || (off != 0 && this->pptr() == 0))))
- return pos_type(off_type(-1));
-
- std::streamoff newoff;
- switch(dir) {
- case std::ios_base::beg:
- newoff = 0;
- break;
- case std::ios_base::end:
- newoff = static_cast<std::streamoff>(m_length);
- break;
- case std::ios_base::cur:
- newoff = in ? static_cast<std::streamoff>(this->gptr() - this->eback())
- : static_cast<std::streamoff>(this->pptr() - this->pbase());
- break;
- default:
- return pos_type(off_type(-1));
- }
-
- off += newoff;
-
- if(in) {
- std::ptrdiff_t n = this->egptr() - this->eback();
-
- if(off < 0 || off > n)
- return pos_type(off_type(-1));
- else
- this->setg(this->eback(), this->eback() + off, this->eback() + n);
- }
-
- if(out) {
- std::ptrdiff_t n = this->epptr() - this->pbase();
-
- if(off < 0 || off > n)
- return pos_type(off_type(-1));
- else {
- this->setp(this->pbase(), this->pbase() + n);
- this->pbump(static_cast<int>(off));
- }
- }
-
- return pos_type(off);
- }
-
- virtual pos_type seekpos(pos_type pos, std::ios_base::openmode mode
- = std::ios_base::in | std::ios_base::out) BOOST_OVERRIDE
- { return seekoff(pos - pos_type(off_type(0)), std::ios_base::beg, mode); }
-
- private:
- std::ios_base::openmode m_mode;
- CharT * m_buffer;
- std::size_t m_length;
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-};
-
-//!A basic_istream class that uses a fixed size character buffer
-//!as its formatting buffer.
-template <class CharT, class CharTraits>
-class basic_ibufferstream :
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- private basic_bufferbuf<CharT, CharTraits>,
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
- public std::basic_istream<CharT, CharTraits>
-{
- public: // Typedefs
- typedef typename std::basic_ios
- <CharT, CharTraits>::char_type char_type;
- typedef typename std::basic_ios<char_type, CharTraits>::int_type int_type;
- typedef typename std::basic_ios<char_type, CharTraits>::pos_type pos_type;
- typedef typename std::basic_ios<char_type, CharTraits>::off_type off_type;
- typedef typename std::basic_ios<char_type, CharTraits>::traits_type traits_type;
-
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- private:
- typedef basic_bufferbuf<CharT, CharTraits> bufferbuf_t;
- typedef std::basic_ios<char_type, CharTraits> basic_ios_t;
- typedef std::basic_istream<char_type, CharTraits> basic_streambuf_t;
- bufferbuf_t & get_buf() { return *this; }
- const bufferbuf_t & get_buf() const{ return *this; }
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
- public:
- //!Constructor.
- //!Does not throw.
- basic_ibufferstream(std::ios_base::openmode mode = std::ios_base::in)
- : //basic_ios_t() is called first (lefting it uninitialized) as it's a
- //virtual base of basic_istream. The class will be initialized when
- //basic_istream is constructed calling basic_ios_t::init().
- //As bufferbuf_t's constructor does not throw there is no risk of
- //calling the basic_ios_t's destructor without calling basic_ios_t::init()
- bufferbuf_t(mode | std::ios_base::in)
- , basic_streambuf_t(this)
- {}
-
- //!Constructor. Assigns formatting buffer.
- //!Does not throw.
- basic_ibufferstream(const CharT *buf, std::size_t length,
- std::ios_base::openmode mode = std::ios_base::in)
- : //basic_ios_t() is called first (lefting it uninitialized) as it's a
- //virtual base of basic_istream. The class will be initialized when
- //basic_istream is constructed calling basic_ios_t::init().
- //As bufferbuf_t's constructor does not throw there is no risk of
- //calling the basic_ios_t's destructor without calling basic_ios_t::init()
- bufferbuf_t(const_cast<CharT*>(buf), length, mode | std::ios_base::in)
- , basic_streambuf_t(this)
- {}
-
- ~basic_ibufferstream(){}
-
- public:
- //!Returns the address of the stored
- //!stream buffer.
- basic_bufferbuf<CharT, CharTraits>* rdbuf() const
- { return const_cast<basic_bufferbuf<CharT, CharTraits>*>(&get_buf()); }
-
- //!Returns the pointer and size of the internal buffer.
- //!Does not throw.
- std::pair<const CharT *, std::size_t> buffer() const
- { return get_buf().buffer(); }
-
- //!Sets the underlying buffer to a new value. Resets
- //!stream position. Does not throw.
- void buffer(const CharT *buf, std::size_t length)
- { get_buf().buffer(const_cast<CharT*>(buf), length); }
-};
-
-//!A basic_ostream class that uses a fixed size character buffer
-//!as its formatting buffer.
-template <class CharT, class CharTraits>
-class basic_obufferstream :
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- private basic_bufferbuf<CharT, CharTraits>,
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
- public std::basic_ostream<CharT, CharTraits>
-{
- public:
- typedef typename std::basic_ios
- <CharT, CharTraits>::char_type char_type;
- typedef typename std::basic_ios<char_type, CharTraits>::int_type int_type;
- typedef typename std::basic_ios<char_type, CharTraits>::pos_type pos_type;
- typedef typename std::basic_ios<char_type, CharTraits>::off_type off_type;
- typedef typename std::basic_ios<char_type, CharTraits>::traits_type traits_type;
-
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- private:
- typedef basic_bufferbuf<CharT, CharTraits> bufferbuf_t;
- typedef std::basic_ios<char_type, CharTraits> basic_ios_t;
- typedef std::basic_ostream<char_type, CharTraits> basic_ostream_t;
- bufferbuf_t & get_buf() { return *this; }
- const bufferbuf_t & get_buf() const{ return *this; }
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
- public:
- //!Constructor.
- //!Does not throw.
- basic_obufferstream(std::ios_base::openmode mode = std::ios_base::out)
- : //basic_ios_t() is called first (lefting it uninitialized) as it's a
- //virtual base of basic_istream. The class will be initialized when
- //basic_istream is constructed calling basic_ios_t::init().
- //As bufferbuf_t's constructor does not throw there is no risk of
- //calling the basic_ios_t's destructor without calling basic_ios_t::init()
- bufferbuf_t(mode | std::ios_base::out)
- , basic_ostream_t(this)
- {}
-
- //!Constructor. Assigns formatting buffer.
- //!Does not throw.
- basic_obufferstream(CharT *buf, std::size_t length,
- std::ios_base::openmode mode = std::ios_base::out)
- : //basic_ios_t() is called first (lefting it uninitialized) as it's a
- //virtual base of basic_istream. The class will be initialized when
- //basic_istream is constructed calling basic_ios_t::init().
- //As bufferbuf_t's constructor does not throw there is no risk of
- //calling the basic_ios_t's destructor without calling basic_ios_t::init()
- bufferbuf_t(buf, length, mode | std::ios_base::out)
- , basic_ostream_t(this)
- {}
-
- ~basic_obufferstream(){}
-
- public:
- //!Returns the address of the stored
- //!stream buffer.
- basic_bufferbuf<CharT, CharTraits>* rdbuf() const
- { return const_cast<basic_bufferbuf<CharT, CharTraits>*>(&get_buf()); }
-
- //!Returns the pointer and size of the internal buffer.
- //!Does not throw.
- std::pair<CharT *, std::size_t> buffer() const
- { return get_buf().buffer(); }
-
- //!Sets the underlying buffer to a new value. Resets
- //!stream position. Does not throw.
- void buffer(CharT *buf, std::size_t length)
- { get_buf().buffer(buf, length); }
-};
-
-
-//!A basic_iostream class that uses a fixed size character buffer
-//!as its formatting buffer.
-template <class CharT, class CharTraits>
-class basic_bufferstream :
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- private basic_bufferbuf<CharT, CharTraits>,
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
- public std::basic_iostream<CharT, CharTraits>
-{
- public: // Typedefs
- typedef typename std::basic_ios
- <CharT, CharTraits>::char_type char_type;
- typedef typename std::basic_ios<char_type, CharTraits>::int_type int_type;
- typedef typename std::basic_ios<char_type, CharTraits>::pos_type pos_type;
- typedef typename std::basic_ios<char_type, CharTraits>::off_type off_type;
- typedef typename std::basic_ios<char_type, CharTraits>::traits_type traits_type;
-
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- private:
- typedef basic_bufferbuf<CharT, CharTraits> bufferbuf_t;
- typedef std::basic_ios<char_type, CharTraits> basic_ios_t;
- typedef std::basic_iostream<char_type, CharTraits> basic_iostream_t;
- bufferbuf_t & get_buf() { return *this; }
- const bufferbuf_t & get_buf() const{ return *this; }
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
- public:
- //!Constructor.
- //!Does not throw.
- basic_bufferstream(std::ios_base::openmode mode
- = std::ios_base::in | std::ios_base::out)
- : //basic_ios_t() is called first (lefting it uninitialized) as it's a
- //virtual base of basic_istream. The class will be initialized when
- //basic_istream is constructed calling basic_ios_t::init().
- //As bufferbuf_t's constructor does not throw there is no risk of
- //calling the basic_ios_t's destructor without calling basic_ios_t::init()
- bufferbuf_t(mode)
- , basic_iostream_t(this)
- {}
-
- //!Constructor. Assigns formatting buffer.
- //!Does not throw.
- basic_bufferstream(CharT *buf, std::size_t length,
- std::ios_base::openmode mode
- = std::ios_base::in | std::ios_base::out)
- : //basic_ios_t() is called first (lefting it uninitialized) as it's a
- //virtual base of basic_istream. The class will be initialized when
- //basic_istream is constructed calling basic_ios_t::init().
- //As bufferbuf_t's constructor does not throw there is no risk of
- //calling the basic_ios_t's destructor without calling basic_ios_t::init()
- bufferbuf_t(buf, length, mode)
- , basic_iostream_t(this)
- {}
-
- ~basic_bufferstream(){}
-
- public:
- //!Returns the address of the stored
- //!stream buffer.
- basic_bufferbuf<CharT, CharTraits>* rdbuf() const
- { return const_cast<basic_bufferbuf<CharT, CharTraits>*>(&get_buf()); }
-
- //!Returns the pointer and size of the internal buffer.
- //!Does not throw.
- std::pair<CharT *, std::size_t> buffer() const
- { return get_buf().buffer(); }
-
- //!Sets the underlying buffer to a new value. Resets
- //!stream position. Does not throw.
- void buffer(CharT *buf, std::size_t length)
- { get_buf().buffer(buf, length); }
-};
-
-//Some typedefs to simplify usage
-typedef basic_bufferbuf<char> bufferbuf;
-typedef basic_bufferstream<char> bufferstream;
-typedef basic_ibufferstream<char> ibufferstream;
-typedef basic_obufferstream<char> obufferstream;
-
-typedef basic_bufferbuf<wchar_t> wbufferbuf;
-typedef basic_bufferstream<wchar_t> wbufferstream;
-typedef basic_ibufferstream<wchar_t> wibufferstream;
-typedef basic_obufferstream<wchar_t> wobufferstream;
-
-
-}} //namespace boost { namespace interprocess {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif /* BOOST_INTERPROCESS_BUFFERSTREAM_HPP */
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/cv_status.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/cv_status.hpp
deleted file mode 100644
index afbcdf6fd7..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/cv_status.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// cv_status.hpp
-//
-// Copyright (C) 2011 Vicente J. Botet Escriba
-// Copyright (C) 2021 Ion Gaztanaga
-//
-// Distributed under the 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_INTERPROCESS_CV_STATUS_HPP
-#define BOOST_INTERPROCESS_CV_STATUS_HPP
-
-#include <boost/core/scoped_enum.hpp>
-
-namespace boost {
-namespace interprocess {
-
- // enum class cv_status;
- BOOST_SCOPED_ENUM_DECLARE_BEGIN(cv_status)
- {
- no_timeout,
- timeout
- }
- BOOST_SCOPED_ENUM_DECLARE_END(cv_status)
-
-} //namespace interprocess
-} //namespace boost
-
-#endif // header
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/common_algorithms.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/common_algorithms.hpp
deleted file mode 100644
index 3cb1d1a17d..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/common_algorithms.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-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/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_SYNC_DETAIL_COMMON_ALGORITHMS_HPP
-#define BOOST_INTERPROCESS_SYNC_DETAIL_COMMON_ALGORITHMS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/sync/spin/wait.hpp>
-#include <boost/interprocess/detail/timed_utils.hpp>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-template<class MutexType, class TimePoint>
-bool try_based_timed_lock(MutexType &m, const TimePoint &abs_time)
-{
- //Same as lock()
- if(is_pos_infinity(abs_time)){
- m.lock();
- return true;
- }
- //Always try to lock to achieve POSIX guarantees:
- // "Under no circumstance shall the function fail with a timeout if the mutex
- // can be locked immediately. The validity of the abs_timeout parameter need not
- // be checked if the mutex can be locked immediately."
- else if(m.try_lock()){
- return true;
- }
- else{
- spin_wait swait;
- while(microsec_clock<TimePoint>::universal_time() < abs_time){
- if(m.try_lock()){
- return true;
- }
- swait.yield();
- }
- return false;
- }
-}
-
-template<class MutexType>
-void try_based_lock(MutexType &m)
-{
- if(!m.try_lock()){
- spin_wait swait;
- do{
- if(m.try_lock()){
- break;
- }
- else{
- swait.yield();
- }
- }
- while(1);
- }
-}
-
-template<class MutexType>
-void timeout_when_locking_aware_lock(MutexType &m)
-{
- #ifdef BOOST_INTERPROCESS_ENABLE_TIMEOUT_WHEN_LOCKING
- if (!m.timed_lock(microsec_clock<ustime>::universal_time()
- + usduration_milliseconds(BOOST_INTERPROCESS_TIMEOUT_WHEN_LOCKING_DURATION_MS)))
- {
- throw interprocess_exception(timeout_when_locking_error
- , "Interprocess mutex timeout when locking. Possible deadlock: "
- "owner died without unlocking?");
- }
- #else
- m.lock();
- #endif
-}
-
-} //namespace ipcdetail
-} //namespace interprocess
-} //namespace boost
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_SYNC_DETAIL_COMMON_ALGORITHMS_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/condition_algorithm_8a.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/condition_algorithm_8a.hpp
deleted file mode 100644
index a4cce7ba7e..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/condition_algorithm_8a.hpp
+++ /dev/null
@@ -1,389 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_CONDITION_ALGORITHM_8A_HPP
-#define BOOST_INTERPROCESS_DETAIL_CONDITION_ALGORITHM_8A_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/sync/scoped_lock.hpp>
-#include <boost/interprocess/sync/detail/locks.hpp>
-#include <limits>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-//
-// Condition variable algorithm taken from pthreads-win32 discussion.
-//
-// The algorithm was developed by Alexander Terekhov in colaboration with
-// Louis Thomas.
-//
-// Algorithm 8a / IMPL_SEM,UNBLOCK_STRATEGY == UNBLOCK_ALL
-//
-// semBlockLock - bin.semaphore
-// semBlockQueue - semaphore
-// mtxExternal - mutex or CS
-// mtxUnblockLock - mutex or CS
-// nWaitersGone - int
-// nWaitersBlocked - int
-// nWaitersToUnblock - int
-//
-// wait( timeout ) {
-//
-// [auto: register int result ] // error checking omitted
-// [auto: register int nSignalsWasLeft ]
-// [auto: register int nWaitersWasGone ]
-//
-// sem_wait( semBlockLock );
-// nWaitersBlocked++;
-// sem_post( semBlockLock );
-//
-// unlock( mtxExternal );
-// bTimedOut = sem_wait( semBlockQueue,timeout );
-//
-// lock( mtxUnblockLock );
-// if ( 0 != (nSignalsWasLeft = nWaitersToUnblock) ) {
-// if ( bTimedOut ) { // timeout (or canceled)
-// if ( 0 != nWaitersBlocked ) {
-// nWaitersBlocked--;
-// }
-// else {
-// nWaitersGone++; // count spurious wakeups.
-// }
-// }
-// if ( 0 == --nWaitersToUnblock ) {
-// if ( 0 != nWaitersBlocked ) {
-// sem_post( semBlockLock ); // open the gate.
-// nSignalsWasLeft = 0; // do not open the gate
-// // below again.
-// }
-// else if ( 0 != (nWaitersWasGone = nWaitersGone) ) {
-// nWaitersGone = 0;
-// }
-// }
-// }
-// else if ( INT_MAX/2 == ++nWaitersGone ) { // timeout/canceled or
-// // spurious semaphore :-)
-// sem_wait( semBlockLock );
-// nWaitersBlocked -= nWaitersGone; // something is going on here
-// // - test of timeouts? :-)
-// sem_post( semBlockLock );
-// nWaitersGone = 0;
-// }
-// unlock( mtxUnblockLock );
-//
-// if ( 1 == nSignalsWasLeft ) {
-// if ( 0 != nWaitersWasGone ) {
-// // sem_adjust( semBlockQueue,-nWaitersWasGone );
-// while ( nWaitersWasGone-- ) {
-// sem_wait( semBlockQueue ); // better now than spurious later
-// }
-// } sem_post( semBlockLock ); // open the gate
-// }
-//
-// lock( mtxExternal );
-//
-// return ( bTimedOut ) ? ETIMEOUT : 0;
-// }
-//
-// signal(bAll) {
-//
-// [auto: register int result ]
-// [auto: register int nSignalsToIssue]
-//
-// lock( mtxUnblockLock );
-//
-// if ( 0 != nWaitersToUnblock ) { // the gate is closed!!!
-// if ( 0 == nWaitersBlocked ) { // NO-OP
-// return unlock( mtxUnblockLock );
-// }
-// if (bAll) {
-// nWaitersToUnblock += nSignalsToIssue=nWaitersBlocked;
-// nWaitersBlocked = 0;
-// }
-// else {
-// nSignalsToIssue = 1;
-// nWaitersToUnblock++;
-// nWaitersBlocked--;
-// }
-// }
-// else if ( nWaitersBlocked > nWaitersGone ) { // HARMLESS RACE CONDITION!
-// sem_wait( semBlockLock ); // close the gate
-// if ( 0 != nWaitersGone ) {
-// nWaitersBlocked -= nWaitersGone;
-// nWaitersGone = 0;
-// }
-// if (bAll) {
-// nSignalsToIssue = nWaitersToUnblock = nWaitersBlocked;
-// nWaitersBlocked = 0;
-// }
-// else {
-// nSignalsToIssue = nWaitersToUnblock = 1;
-// nWaitersBlocked--;
-// }
-// }
-// else { // NO-OP
-// return unlock( mtxUnblockLock );
-// }
-//
-// unlock( mtxUnblockLock );
-// sem_post( semBlockQueue,nSignalsToIssue );
-// return result;
-// }
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-
-
-// Required interface for ConditionMembers
-// class ConditionMembers
-// {
-// typedef implementation_defined semaphore_type;
-// typedef implementation_defined mutex_type;
-// typedef implementation_defined integer_type;
-//
-// integer_type &get_nwaiters_blocked()
-// integer_type &get_nwaiters_gone()
-// integer_type &get_nwaiters_to_unblock()
-// semaphore_type &get_sem_block_queue()
-// semaphore_type &get_sem_block_lock()
-// mutex_type &get_mtx_unblock_lock()
-// };
-//
-// Must be initialized as following
-//
-// get_nwaiters_blocked() == 0
-// get_nwaiters_gone() == 0
-// get_nwaiters_to_unblock() == 0
-// get_sem_block_queue() == initial count 0
-// get_sem_block_lock() == initial count 1
-// get_mtx_unblock_lock() (unlocked)
-//
-template<class ConditionMembers>
-class condition_algorithm_8a
-{
- private:
- condition_algorithm_8a();
- ~condition_algorithm_8a();
- condition_algorithm_8a(const condition_algorithm_8a &);
- condition_algorithm_8a &operator=(const condition_algorithm_8a &);
-
- typedef typename ConditionMembers::semaphore_type semaphore_type;
- typedef typename ConditionMembers::mutex_type mutex_type;
- typedef typename ConditionMembers::integer_type integer_type;
-
- public:
- template<bool TimeoutEnabled, class Lock, class TimePoint>
- static bool wait ( ConditionMembers &data, Lock &lock, const TimePoint &abs_time)
- {
- //Initialize to avoid warnings
- integer_type nsignals_was_left = 0;
- integer_type nwaiters_was_gone = 0;
-
- data.get_sem_block_lock().wait();
- ++data.get_nwaiters_blocked();
- data.get_sem_block_lock().post();
-
- //Unlock external lock and program for relock
- lock_inverter<Lock> inverted_lock(lock);
- scoped_lock<lock_inverter<Lock> > external_unlock(inverted_lock);
-
- bool bTimedOut = !do_sem_timed_wait(data.get_sem_block_queue(), abs_time, bool_<TimeoutEnabled>());
-
- {
- scoped_lock<mutex_type> locker(data.get_mtx_unblock_lock());
- if ( 0 != (nsignals_was_left = data.get_nwaiters_to_unblock()) ) {
- if ( bTimedOut ) { // timeout (or canceled)
- if ( 0 != data.get_nwaiters_blocked() ) {
- data.get_nwaiters_blocked()--;
- }
- else {
- data.get_nwaiters_gone()++; // count spurious wakeups.
- }
- }
- if ( 0 == --data.get_nwaiters_to_unblock() ) {
- if ( 0 != data.get_nwaiters_blocked() ) {
- data.get_sem_block_lock().post(); // open the gate.
- nsignals_was_left = 0; // do not open the gate below again.
- }
- else if ( 0 != (nwaiters_was_gone = data.get_nwaiters_gone()) ) {
- data.get_nwaiters_gone() = 0;
- }
- }
- }
- else if ( (std::numeric_limits<integer_type>::max)()/2
- == ++data.get_nwaiters_gone() ) { // timeout/canceled or spurious semaphore :-)
- data.get_sem_block_lock().wait();
- data.get_nwaiters_blocked() -= data.get_nwaiters_gone(); // something is going on here - test of timeouts? :-)
- data.get_sem_block_lock().post();
- data.get_nwaiters_gone() = 0;
- }
- //locker's destructor triggers data.get_mtx_unblock_lock().unlock()
- }
-
- if ( 1 == nsignals_was_left ) {
- if ( 0 != nwaiters_was_gone ) {
- // sem_adjust( data.get_sem_block_queue(),-nwaiters_was_gone );
- while ( nwaiters_was_gone-- ) {
- data.get_sem_block_queue().wait(); // better now than spurious later
- }
- }
- data.get_sem_block_lock().post(); // open the gate
- }
-
- //lock.lock(); called from unlocker destructor
-
- return ( bTimedOut ) ? false : true;
- }
-
- static void signal(ConditionMembers &data, bool broadcast)
- {
- integer_type nsignals_to_issue;
-
- {
- scoped_lock<mutex_type> locker(data.get_mtx_unblock_lock());
-
- if ( 0 != data.get_nwaiters_to_unblock() ) { // the gate is closed!!!
- if ( 0 == data.get_nwaiters_blocked() ) { // NO-OP
- //locker's destructor triggers data.get_mtx_unblock_lock().unlock()
- return;
- }
- if (broadcast) {
- data.get_nwaiters_to_unblock() += nsignals_to_issue = data.get_nwaiters_blocked();
- data.get_nwaiters_blocked() = 0;
- }
- else {
- nsignals_to_issue = 1;
- data.get_nwaiters_to_unblock()++;
- data.get_nwaiters_blocked()--;
- }
- }
- else if ( data.get_nwaiters_blocked() > data.get_nwaiters_gone() ) { // HARMLESS RACE CONDITION!
- data.get_sem_block_lock().wait(); // close the gate
- if ( 0 != data.get_nwaiters_gone() ) {
- data.get_nwaiters_blocked() -= data.get_nwaiters_gone();
- data.get_nwaiters_gone() = 0;
- }
- if (broadcast) {
- nsignals_to_issue = data.get_nwaiters_to_unblock() = data.get_nwaiters_blocked();
- data.get_nwaiters_blocked() = 0;
- }
- else {
- nsignals_to_issue = data.get_nwaiters_to_unblock() = 1;
- data.get_nwaiters_blocked()--;
- }
- }
- else { // NO-OP
- //locker's destructor triggers data.get_mtx_unblock_lock().unlock()
- return;
- }
- //locker's destructor triggers data.get_mtx_unblock_lock().unlock()
- }
- data.get_sem_block_queue().post(nsignals_to_issue);
- }
-
- private:
- template<class TimePoint>
- static bool do_sem_timed_wait(semaphore_type &sem, const TimePoint &abs_time, bool_<true>)
- { return sem.timed_wait(abs_time); }
-
- template<class TimePoint>
- static bool do_sem_timed_wait(semaphore_type &sem, const TimePoint &, bool_<false>)
- { sem.wait(); return true; }
-};
-
-template<class ConditionMembers>
-class condition_8a_wrapper
-{
- //Non-copyable
- condition_8a_wrapper(const condition_8a_wrapper &);
- condition_8a_wrapper &operator=(const condition_8a_wrapper &);
-
- ConditionMembers m_data;
- typedef condition_algorithm_8a<ConditionMembers> algo_type;
-
- public:
-
- condition_8a_wrapper(){}
-
- //Compiler-generated destructor is OK
- //~condition_8a_wrapper(){}
-
- ConditionMembers & get_members()
- { return m_data; }
-
- const ConditionMembers & get_members() const
- { return m_data; }
-
- void notify_one()
- { algo_type::signal(m_data, false); }
-
- void notify_all()
- { algo_type::signal(m_data, true); }
-
- template <typename L>
- void wait(L& lock)
- {
- if (!lock)
- throw lock_exception();
- algo_type::template wait<false>(m_data, lock, 0);
- }
-
- template <typename L, typename Pr>
- void wait(L& lock, Pr pred)
- {
- if (!lock)
- throw lock_exception();
-
- while (!pred())
- algo_type::template wait<false>(m_data, lock, 0);
- }
-
- template <typename L, class TimePoint>
- bool timed_wait(L& lock, const TimePoint &abs_time)
- {
- if (!lock)
- throw lock_exception();
- return algo_type::template wait<true>(m_data, lock, abs_time);
- }
-
- template <typename L, class TimePoint, typename Pr>
- bool timed_wait(L& lock, const TimePoint &abs_time, Pr pred)
- {
- if (!lock)
- throw lock_exception();
- while (!pred()){
- if (!algo_type::template wait<true>(m_data, lock, abs_time))
- return pred();
- }
- return true;
- }
-};
-
-} //namespace ipcdetail
-} //namespace interprocess
-} //namespace boost
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_CONDITION_ALGORITHM_8A_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/locks.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/locks.hpp
deleted file mode 100644
index a2beb8917c..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/detail/locks.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2012-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_LOCKS_HPP
-#define BOOST_INTERPROCESS_DETAIL_LOCKS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-template<class Lock>
-class internal_mutex_lock
-{
- typedef void (internal_mutex_lock::*unspecified_bool_type)();
- public:
-
- typedef typename Lock::mutex_type::internal_mutex_type mutex_type;
-
-
- BOOST_INTERPROCESS_FORCEINLINE internal_mutex_lock(Lock &l)
- : l_(l)
- {}
-
- BOOST_INTERPROCESS_FORCEINLINE mutex_type* mutex() const
- { return l_ ? &l_.mutex()->internal_mutex() : 0; }
-
- BOOST_INTERPROCESS_FORCEINLINE void lock() { l_.lock(); }
-
- BOOST_INTERPROCESS_FORCEINLINE void unlock() { l_.unlock(); }
-
- BOOST_INTERPROCESS_FORCEINLINE operator unspecified_bool_type() const
- { return l_ ? &internal_mutex_lock::lock : 0; }
-
- private:
- Lock &l_;
-};
-
-template <class Lock>
-class lock_inverter
-{
- Lock &l_;
- public:
- BOOST_INTERPROCESS_FORCEINLINE lock_inverter(Lock &l)
- : l_(l)
- {}
-
- BOOST_INTERPROCESS_FORCEINLINE void lock() { l_.unlock(); }
-
- BOOST_INTERPROCESS_FORCEINLINE void unlock() { l_.lock(); }
-};
-
-template <class Lock>
-class lock_to_sharable
-{
- Lock &l_;
-
- public:
- BOOST_INTERPROCESS_FORCEINLINE explicit lock_to_sharable(Lock &l)
- : l_(l)
- {}
-
- BOOST_INTERPROCESS_FORCEINLINE void lock() { l_.lock_sharable(); }
-
- BOOST_INTERPROCESS_FORCEINLINE bool try_lock(){ return l_.try_lock_sharable(); }
-
- BOOST_INTERPROCESS_FORCEINLINE void unlock() { l_.unlock_sharable(); }
-};
-
-template <class Lock>
-class lock_to_wait
-{
- Lock &l_;
-
- public:
- BOOST_INTERPROCESS_FORCEINLINE explicit lock_to_wait(Lock &l)
- : l_(l)
- {}
- BOOST_INTERPROCESS_FORCEINLINE void lock() { l_.wait(); }
-
- BOOST_INTERPROCESS_FORCEINLINE bool try_lock() { return l_.try_wait(); }
-
- template<class TimePoint>
- BOOST_INTERPROCESS_FORCEINLINE bool timed_lock(const TimePoint &abs_time)
- { return l_.timed_wait(abs_time); }
-};
-
-} //namespace ipcdetail
-} //namespace interprocess
-} //namespace boost
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_LOCKS_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/interprocess_condition.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/interprocess_condition.hpp
deleted file mode 100644
index 24ca5b5f0f..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/interprocess_condition.hpp
+++ /dev/null
@@ -1,176 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_CONDITION_HPP
-#define BOOST_INTERPROCESS_CONDITION_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/sync/cv_status.hpp>
-#include <boost/interprocess/sync/interprocess_mutex.hpp>
-#include <boost/interprocess/sync/detail/locks.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/limits.hpp>
-#include <boost/assert.hpp>
-
-#if !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
- #include <boost/interprocess/sync/posix/condition.hpp>
- #define BOOST_INTERPROCESS_CONDITION_USE_POSIX
-//Experimental...
-#elif !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && defined (BOOST_INTERPROCESS_WINDOWS)
- #include <boost/interprocess/sync/windows/condition.hpp>
- #define BOOST_INTERPROCESS_CONDITION_USE_WINAPI
-#else
- //spin_condition is used
- #include <boost/interprocess/sync/spin/condition.hpp>
-#endif
-
-#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
-//!\file
-//!Describes process-shared variables interprocess_condition class
-
-namespace boost {
-namespace interprocess {
-
-class named_condition;
-
-//!This class is a condition variable that can be placed in shared memory or
-//!memory mapped files.
-//!Destroys the object of type std::condition_variable_any
-//!
-//!Unlike std::condition_variable in C++11, it is NOT safe to invoke the destructor if all
-//!threads have been only notified. It is required that they have exited their respective wait
-//!functions.
-class interprocess_condition
-{
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- //Non-copyable
- interprocess_condition(const interprocess_condition &);
- interprocess_condition &operator=(const interprocess_condition &);
- friend class named_condition;
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
- public:
- //!Constructs a interprocess_condition. On error throws interprocess_exception.
- interprocess_condition()
- {}
-
- //!Destroys *this
- //!liberating system resources.
- ~interprocess_condition()
- {}
-
- //!If there is a thread waiting on *this, change that
- //!thread's state to ready. Otherwise there is no effect.
- void notify_one()
- { m_condition.notify_one(); }
-
- //!Change the state of all threads waiting on *this to ready.
- //!If there are no waiting threads, notify_all() has no effect.
- void notify_all()
- { m_condition.notify_all(); }
-
- //!Releases the lock on the interprocess_mutex object associated with lock, blocks
- //!the current thread of execution until readied by a call to
- //!this->notify_one() or this->notify_all(), and then reacquires the lock.
- template <typename L>
- void wait(L& lock)
- {
- ipcdetail::internal_mutex_lock<L> internal_lock(lock);
- m_condition.wait(internal_lock);
- }
-
- //!The same as:
- //!while (!pred()) wait(lock)
- template <typename L, typename Pr>
- void wait(L& lock, Pr pred)
- {
- ipcdetail::internal_mutex_lock<L> internal_lock(lock);
- m_condition.wait(internal_lock, pred);
- }
-
- //!Releases the lock on the interprocess_mutex object associated with lock, blocks
- //!the current thread of execution until readied by a call to
- //!this->notify_one() or this->notify_all(), or until time abs_time is reached,
- //!and then reacquires the lock.
- //!Returns: false if time abs_time is reached, otherwise true.
- template <typename L, class TimePoint>
- bool timed_wait(L& lock, const TimePoint &abs_time)
- {
- ipcdetail::internal_mutex_lock<L> internal_lock(lock);
- return m_condition.timed_wait(internal_lock, abs_time);
- }
-
- //!The same as: while (!pred()) {
- //! if (!timed_wait(lock, abs_time)) return pred();
- //! } return true;
- template <typename L, class TimePoint, typename Pr>
- bool timed_wait(L& lock, const TimePoint &abs_time, Pr pred)
- {
- ipcdetail::internal_mutex_lock<L> internal_lock(lock);
- return m_condition.timed_wait(internal_lock, abs_time, pred);
- }
-
- //!Same as `timed_wait`, but this function is modeled after the
- //!standard library interface.
- template <typename L, class TimePoint>
- cv_status wait_until(L& lock, const TimePoint &abs_time)
- { return this->timed_wait(lock, abs_time) ? cv_status::no_timeout : cv_status::timeout; }
-
- //!Same as `timed_wait`, but this function is modeled after the
- //!standard library interface.
- template <typename L, class TimePoint, typename Pr>
- bool wait_until(L& lock, const TimePoint &abs_time, Pr pred)
- { return this->timed_wait(lock, abs_time, pred); }
-
- //!Same as `timed_wait`, but this function is modeled after the
- //!standard library interface and uses relative timeouts.
- template <typename L, class Duration>
- cv_status wait_for(L& lock, const Duration &dur)
- { return this->wait_until(lock, ipcdetail::duration_to_ustime(dur)); }
-
- //!Same as `timed_wait`, but this function is modeled after the
- //!standard library interface and uses relative timeouts
- template <typename L, class Duration, typename Pr>
- bool wait_for(L& lock, const Duration &dur, Pr pred)
- { return this->wait_until(lock, ipcdetail::duration_to_ustime(dur), pred); }
-
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
- private:
- #if defined(BOOST_INTERPROCESS_CONDITION_USE_POSIX)
- ipcdetail::posix_condition m_condition;
- #elif defined(BOOST_INTERPROCESS_CONDITION_USE_WINAPI)
- ipcdetail::winapi_condition m_condition;
- #else
- ipcdetail::spin_condition m_condition;
- #endif
-
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-};
-
-} //namespace interprocess
-} // namespace boost
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif // BOOST_INTERPROCESS_CONDITION_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/interprocess_mutex.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/interprocess_mutex.hpp
deleted file mode 100644
index 4eb1f592c8..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/interprocess_mutex.hpp
+++ /dev/null
@@ -1,197 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// Parts of the pthread code come from Boost Threads code.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_MUTEX_HPP
-#define BOOST_INTERPROCESS_MUTEX_HPP
-
-#if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/assert.hpp>
-#include <boost/interprocess/sync/detail/common_algorithms.hpp>
-
-#if !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && defined (BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
- #include <boost/interprocess/sync/posix/mutex.hpp>
- #define BOOST_INTERPROCESS_MUTEX_USE_POSIX
-#elif !defined(BOOST_INTERPROCESS_FORCE_GENERIC_EMULATION) && defined (BOOST_INTERPROCESS_WINDOWS)
- //Experimental...
- #define BOOST_INTERPROCESS_MUTEX_USE_WINAPI
- #include <boost/interprocess/sync/windows/mutex.hpp>
-#else
- //spin_mutex is used
- #include <boost/interprocess/sync/spin/mutex.hpp>
- namespace boost {
- namespace interprocess {
- namespace ipcdetail{
- namespace robust_emulation_helpers {
-
- template<class T>
- class mutex_traits;
-
- }}}}
-#endif
-
-#endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
-//!\file
-//!Describes a mutex class that can be placed in memory shared by
-//!several processes.
-
-namespace boost {
-namespace interprocess {
-
-class interprocess_condition;
-
-//!Wraps a interprocess_mutex that can be placed in shared memory and can be
-//!shared between processes. Allows timed lock tries
-class interprocess_mutex
-{
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- //Non-copyable
- interprocess_mutex(const interprocess_mutex &);
- interprocess_mutex &operator=(const interprocess_mutex &);
- friend class interprocess_condition;
-
- public:
- #if defined(BOOST_INTERPROCESS_MUTEX_USE_POSIX)
- typedef ipcdetail::posix_mutex internal_mutex_type;
- #elif defined(BOOST_INTERPROCESS_MUTEX_USE_WINAPI)
- typedef ipcdetail::winapi_mutex internal_mutex_type;
- #else
- typedef ipcdetail::spin_mutex internal_mutex_type;
- private:
- friend class ipcdetail::robust_emulation_helpers::mutex_traits<interprocess_mutex>;
- void take_ownership(){ m_mutex.take_ownership(); }
- public:
- #endif
-
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
- public:
-
- //!Constructor.
- //!Throws interprocess_exception on error.
- interprocess_mutex();
-
- //!Destructor. If any process uses the mutex after the destructor is called
- //!the result is undefined. Does not throw.
- ~interprocess_mutex();
-
- //!Requires: The calling thread does not own the mutex.
- //!
- //!Effects: The calling thread tries to obtain ownership of the mutex, and
- //! if another thread has ownership of the mutex, it waits until it can
- //! obtain the ownership. If a thread takes ownership of the mutex the
- //! mutex must be unlocked by the same mutex.
- //!Throws: interprocess_exception on error.
- //!
- //!Note: A program may deadlock if the thread that has ownership calls
- //! this function. If the implementation can detect the deadlock,
- //! an exception could be thrown.
- void lock();
-
- //!Requires: The calling thread does not own the mutex.
- //!
- //!Effects: The calling thread tries to obtain ownership of the mutex, and
- //! if another thread has ownership of the mutex returns immediately.
- //!Returns: If the thread acquires ownership of the mutex, returns true, if
- //! the another thread has ownership of the mutex, returns false.
- //!Throws: interprocess_exception on error.
- //!
- //!Note: A program may deadlock if the thread that has ownership calls
- //! this function. If the implementation can detect the deadlock,
- //! an exception could be thrown.
- bool try_lock();
-
- //!Requires: The calling thread does not own the mutex.
- //!
- //!Effects: The calling thread will try to obtain exclusive ownership of the
- //! mutex if it can do so in until the specified time is reached. If the
- //! mutex supports recursive locking, the mutex must be unlocked the same
- //! number of times it is locked.
- //!Returns: If the thread acquires ownership of the mutex, returns true, if
- //! the timeout expires returns false.
- //!Throws: interprocess_exception on error.
- //!
- //!Note: A program may deadlock if the thread that has ownership calls
- //! this function. If the implementation can detect the deadlock,
- //! an exception could be thrown.
- template<class TimePoint>
- bool timed_lock(const TimePoint &abs_time);
-
- //!Same as `timed_lock`, but this function is modeled after the
- //!standard library interface.
- template<class TimePoint> bool try_lock_until(const TimePoint &abs_time)
- { return this->timed_lock(abs_time); }
-
- //!Same as `timed_lock`, but this function is modeled after the
- //!standard library interface.
- template<class Duration> bool try_lock_for(const Duration &dur)
- { return this->timed_lock(ipcdetail::duration_to_ustime(dur)); }
-
- //!Effects: The calling thread releases the exclusive ownership of the mutex.
- //!Throws: interprocess_exception on error.
- void unlock();
-
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- internal_mutex_type &internal_mutex()
- { return m_mutex; }
-
- const internal_mutex_type &internal_mutex() const
- { return m_mutex; }
-
- private:
- internal_mutex_type m_mutex;
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-};
-
-} //namespace interprocess {
-} //namespace boost {
-
-
-namespace boost {
-namespace interprocess {
-
-inline interprocess_mutex::interprocess_mutex(){}
-
-inline interprocess_mutex::~interprocess_mutex(){}
-
-inline void interprocess_mutex::lock()
-{ ipcdetail::timeout_when_locking_aware_lock(m_mutex); }
-
-inline bool interprocess_mutex::try_lock()
-{ return m_mutex.try_lock(); }
-
-template <class TimePoint>
-inline bool interprocess_mutex::timed_lock(const TimePoint &abs_time)
-{ return m_mutex.timed_lock(abs_time); }
-
-inline void interprocess_mutex::unlock()
-{ m_mutex.unlock(); }
-
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_MUTEX_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/condition.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/condition.hpp
deleted file mode 100644
index f151a5b98c..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/condition.hpp
+++ /dev/null
@@ -1,218 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_POSIX_CONDITION_HPP
-#define BOOST_INTERPROCESS_POSIX_CONDITION_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/sync/cv_status.hpp>
-#include <pthread.h>
-#include <errno.h>
-#include <boost/interprocess/sync/posix/pthread_helpers.hpp>
-#include <boost/interprocess/sync/posix/timepoint_to_timespec.hpp>
-#include <boost/interprocess/detail/timed_utils.hpp>
-#include <boost/interprocess/sync/posix/mutex.hpp>
-#include <boost/assert.hpp>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-class posix_condition
-{
- //Non-copyable
- posix_condition(const posix_condition &);
- posix_condition &operator=(const posix_condition &);
-
- public:
- //!Constructs a posix_condition. On error throws interprocess_exception.
- posix_condition();
-
- //!Destroys *this
- //!liberating system resources.
- ~posix_condition();
-
- //!If there is a thread waiting on *this, change that
- //!thread's state to ready. Otherwise there is no effect.
- void notify_one();
-
- //!Change the state of all threads waiting on *this to ready.
- //!If there are no waiting threads, notify_all() has no effect.
- void notify_all();
-
- //!Releases the lock on the posix_mutex object associated with lock, blocks
- //!the current thread of execution until readied by a call to
- //!this->notify_one() or this->notify_all(), and then reacquires the lock.
- template <typename L>
- void wait(L& lock)
- {
- if (!lock)
- throw lock_exception();
- this->do_wait(*lock.mutex());
- }
-
- //!The same as:
- //!while (!pred()) wait(lock)
- template <typename L, typename Pr>
- void wait(L& lock, Pr pred)
- {
- if (!lock)
- throw lock_exception();
-
- while (!pred())
- this->do_wait(*lock.mutex());
- }
-
- //!Releases the lock on the posix_mutex object associated with lock, blocks
- //!the current thread of execution until readied by a call to
- //!this->notify_one() or this->notify_all(), or until time abs_time is reached,
- //!and then reacquires the lock.
- //!Returns: false if time abs_time is reached, otherwise true.
- template <typename L, typename TimePoint>
- bool timed_wait(L& lock, const TimePoint &abs_time)
- {
- if (!lock)
- throw lock_exception();
- //Posix does not support infinity absolute time so handle it here
- if(ipcdetail::is_pos_infinity(abs_time)){
- this->wait(lock);
- return true;
- }
- return this->do_timed_wait(abs_time, *lock.mutex());
- }
-
- //!The same as: while (!pred()) {
- //! if (!timed_wait(lock, abs_time)) return pred();
- //! } return true;
- template <typename L, typename TimePoint, typename Pr>
- bool timed_wait(L& lock, const TimePoint &abs_time, Pr pred)
- {
- if (!lock)
- throw lock_exception();
- //Posix does not support infinity absolute time so handle it here
- if(ipcdetail::is_pos_infinity(abs_time)){
- this->wait(lock, pred);
- return true;
- }
- while (!pred()){
- if (!this->do_timed_wait(abs_time, *lock.mutex()))
- return pred();
- }
- return true;
- }
-
- //!Same as `timed_wait`, but this function is modeled after the
- //!standard library interface.
- template <typename L, class TimePoint>
- cv_status wait_until(L& lock, const TimePoint &abs_time)
- { return this->timed_wait(lock, abs_time) ? cv_status::no_timeout : cv_status::timeout; }
-
- //!Same as `timed_wait`, but this function is modeled after the
- //!standard library interface.
- template <typename L, class TimePoint, typename Pr>
- bool wait_until(L& lock, const TimePoint &abs_time, Pr pred)
- { return this->timed_wait(lock, abs_time, pred); }
-
- template <typename L, class Duration>
- cv_status wait_for(L& lock, const Duration &dur)
- { return this->wait_until(lock, duration_to_ustime(dur)) ? cv_status::no_timeout : cv_status::timeout; }
-
- template <typename L, class Duration, typename Pr>
- bool wait_for(L& lock, const Duration &dur, Pr pred)
- { return this->wait_until(lock, duration_to_ustime(dur), pred); }
-
- void do_wait(posix_mutex &mut);
-
- template<class TimePoint>
- bool do_timed_wait(const TimePoint &abs_time, posix_mutex &mut);
-
- private:
- pthread_cond_t m_condition;
-};
-
-inline posix_condition::posix_condition()
-{
- int res;
- pthread_condattr_t cond_attr;
- res = pthread_condattr_init(&cond_attr);
- if(res != 0){
- throw interprocess_exception("pthread_condattr_init failed");
- }
- res = pthread_condattr_setpshared(&cond_attr, PTHREAD_PROCESS_SHARED);
- if(res != 0){
- pthread_condattr_destroy(&cond_attr);
- throw interprocess_exception(res);
- }
- res = pthread_cond_init(&m_condition, &cond_attr);
- pthread_condattr_destroy(&cond_attr);
- if(res != 0){
- throw interprocess_exception(res);
- }
-}
-
-inline posix_condition::~posix_condition()
-{
- int res = 0;
- res = pthread_cond_destroy(&m_condition);
- BOOST_ASSERT(res == 0); (void)res;
-}
-
-inline void posix_condition::notify_one()
-{
- int res = 0;
- res = pthread_cond_signal(&m_condition);
- BOOST_ASSERT(res == 0); (void)res;
-}
-
-inline void posix_condition::notify_all()
-{
- int res = 0;
- res = pthread_cond_broadcast(&m_condition);
- BOOST_ASSERT(res == 0); (void)res;
-}
-
-inline void posix_condition::do_wait(posix_mutex &mut)
-{
- pthread_mutex_t* pmutex = &mut.m_mut;
- int res = 0;
- res = pthread_cond_wait(&m_condition, pmutex);
- BOOST_ASSERT(res == 0); (void)res;
-}
-
-template<class TimePoint>
-inline bool posix_condition::do_timed_wait
- (const TimePoint &abs_time, posix_mutex &mut)
-{
- timespec ts = timepoint_to_timespec(abs_time);
- pthread_mutex_t* pmutex = &mut.m_mut;
- int res = 0;
- res = pthread_cond_timedwait(&m_condition, pmutex, &ts);
- BOOST_ASSERT(res == 0 || res == ETIMEDOUT);
-
- return res != ETIMEDOUT;
-}
-
-} //namespace ipcdetail
-} //namespace interprocess
-} //namespace boost
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_INTERPROCESS_POSIX_CONDITION_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/mutex.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/mutex.hpp
deleted file mode 100644
index 69cc1626ea..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/mutex.hpp
+++ /dev/null
@@ -1,188 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// Parts of the pthread code come from Boost Threads code:
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (C) 2001-2003
-// William E. Kempf
-//
-// Permission to use, copy, modify, distribute and sell this software
-// and its documentation for any purpose is hereby granted without fee,
-// provided that the above copyright notice appear in all copies and
-// that both that copyright notice and this permission notice appear
-// in supporting documentation. William E. Kempf makes no representations
-// about the suitability of this software for any purpose.
-// It is provided "as is" without express or implied warranty.
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_POSIX_MUTEX_HPP
-#define BOOST_INTERPROCESS_DETAIL_POSIX_MUTEX_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <pthread.h>
-#include <errno.h>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/interprocess/sync/posix/timepoint_to_timespec.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/interprocess/sync/posix/pthread_helpers.hpp>
-#include <boost/interprocess/detail/timed_utils.hpp>
-
-
-#ifndef BOOST_INTERPROCESS_POSIX_TIMEOUTS
-# include <boost/interprocess/detail/os_thread_functions.hpp>
-# include <boost/interprocess/sync/detail/common_algorithms.hpp>
-#endif
-#include <boost/assert.hpp>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-class posix_condition;
-
-class posix_mutex
-{
- posix_mutex(const posix_mutex &);
- posix_mutex &operator=(const posix_mutex &);
- public:
-
- posix_mutex();
- ~posix_mutex();
-
- void lock();
- bool try_lock();
- template<class TimePoint> bool timed_lock(const TimePoint &abs_time);
-
- template<class TimePoint> bool try_lock_until(const TimePoint &abs_time)
- { return this->timed_lock(abs_time); }
-
- template<class Duration> bool try_lock_for(const Duration &dur)
- { return this->timed_lock(duration_to_ustime(dur)); }
-
- void unlock();
-
- friend class posix_condition;
-
- private:
- pthread_mutex_t m_mut;
-};
-
-inline posix_mutex::posix_mutex()
-{
- mutexattr_wrapper mut_attr;
- mutex_initializer mut(m_mut, mut_attr);
- mut.release();
-}
-
-inline posix_mutex::~posix_mutex()
-{
- int res = pthread_mutex_destroy(&m_mut);
- BOOST_ASSERT(res == 0);(void)res;
-}
-
-inline void posix_mutex::lock()
-{
- int res = pthread_mutex_lock(&m_mut);
- #ifdef BOOST_INTERPROCESS_POSIX_ROBUST_MUTEXES
- if (res == EOWNERDEAD)
- {
- //We can't inform the application and data might
- //corrupted, so be safe and mark the mutex as not recoverable
- //so applications can act accordingly.
- pthread_mutex_unlock(&m_mut);
- throw lock_exception(not_recoverable);
- }
- else if (res == ENOTRECOVERABLE)
- throw lock_exception(not_recoverable);
- #endif
- if (res != 0)
- throw lock_exception();
-}
-
-inline bool posix_mutex::try_lock()
-{
- int res = pthread_mutex_trylock(&m_mut);
- #ifdef BOOST_INTERPROCESS_POSIX_ROBUST_MUTEXES
- if (res == EOWNERDEAD)
- {
- //We can't inform the application and data might
- //corrupted, so be safe and mark the mutex as not recoverable
- //so applications can act accordingly.
- pthread_mutex_unlock(&m_mut);
- throw lock_exception(not_recoverable);
- }
- else if (res == ENOTRECOVERABLE)
- throw lock_exception(not_recoverable);
- #endif
- if (!(res == 0 || res == EBUSY))
- throw lock_exception();
- return res == 0;
-}
-
-template<class TimePoint>
-inline bool posix_mutex::timed_lock(const TimePoint &abs_time)
-{
- #ifdef BOOST_INTERPROCESS_POSIX_TIMEOUTS
- //Posix does not support infinity absolute time so handle it here
- if(ipcdetail::is_pos_infinity(abs_time)){
- this->lock();
- return true;
- }
- timespec ts = timepoint_to_timespec(abs_time);
- int res = pthread_mutex_timedlock(&m_mut, &ts);
- #ifdef BOOST_INTERPROCESS_POSIX_ROBUST_MUTEXES
- if (res == EOWNERDEAD)
- {
- //We can't inform the application and data might
- //corrupted, so be safe and mark the mutex as not recoverable
- //so applications can act accordingly.
- pthread_mutex_unlock(&m_mut);
- throw lock_exception(not_recoverable);
- }
- else if (res == ENOTRECOVERABLE)
- throw lock_exception(not_recoverable);
- #endif
- if (res != 0 && res != ETIMEDOUT)
- throw lock_exception();
- return res == 0;
-
- #else //BOOST_INTERPROCESS_POSIX_TIMEOUTS
-
- return ipcdetail::try_based_timed_lock(*this, abs_time);
-
- #endif //BOOST_INTERPROCESS_POSIX_TIMEOUTS
-}
-
-inline void posix_mutex::unlock()
-{
- int res = pthread_mutex_unlock(&m_mut);
- (void)res;
- BOOST_ASSERT(res == 0);
-}
-
-} //namespace ipcdetail {
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //#ifndef BOOST_INTERPROCESS_DETAIL_POSIX_MUTEX_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/pthread_helpers.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/pthread_helpers.hpp
deleted file mode 100644
index f247d5e596..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/pthread_helpers.hpp
+++ /dev/null
@@ -1,176 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_PTHREAD_HELPERS_HPP
-#define BOOST_INTERPROCESS_PTHREAD_HELPERS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <pthread.h>
-#include <errno.h>
-#include <boost/interprocess/exceptions.hpp>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail{
-
- #if defined BOOST_INTERPROCESS_POSIX_PROCESS_SHARED
-
- //!Makes pthread_mutexattr_t cleanup easy when using exceptions
- struct mutexattr_wrapper
- {
- //!Constructor
- mutexattr_wrapper(bool recursive = false)
- {
- if(pthread_mutexattr_init(&m_attr)!=0 ||
- pthread_mutexattr_setpshared(&m_attr, PTHREAD_PROCESS_SHARED)!= 0 ||
- (recursive &&
- pthread_mutexattr_settype(&m_attr, PTHREAD_MUTEX_RECURSIVE) != 0 )
- #ifdef BOOST_INTERPROCESS_POSIX_ROBUST_MUTEXES
- || pthread_mutexattr_setrobust(&m_attr, PTHREAD_MUTEX_ROBUST) != 0
- #endif
- )
- throw interprocess_exception("pthread_mutexattr_xxxx failed");
- }
-
- //!Destructor
- ~mutexattr_wrapper() { pthread_mutexattr_destroy(&m_attr); }
-
- //!This allows using mutexattr_wrapper as pthread_mutexattr_t
- operator pthread_mutexattr_t&() { return m_attr; }
-
- pthread_mutexattr_t m_attr;
- };
-
- //!Makes pthread_condattr_t cleanup easy when using exceptions
- struct condattr_wrapper
- {
- //!Constructor
- condattr_wrapper()
- {
- if(pthread_condattr_init(&m_attr)!=0 ||
- pthread_condattr_setpshared(&m_attr, PTHREAD_PROCESS_SHARED)!= 0)
- throw interprocess_exception("pthread_condattr_xxxx failed");
- }
-
- //!Destructor
- ~condattr_wrapper() { pthread_condattr_destroy(&m_attr); }
-
- //!This allows using condattr_wrapper as pthread_condattr_t
- operator pthread_condattr_t&(){ return m_attr; }
-
- pthread_condattr_t m_attr;
- };
-
- //!Makes initialized pthread_mutex_t cleanup easy when using exceptions
- class mutex_initializer
- {
- public:
- //!Constructor. Takes interprocess_mutex attributes to initialize the interprocess_mutex
- mutex_initializer(pthread_mutex_t &mut, pthread_mutexattr_t &mut_attr)
- : mp_mut(&mut)
- {
- if(pthread_mutex_init(mp_mut, &mut_attr) != 0)
- throw interprocess_exception("pthread_mutex_init failed");
- }
-
- ~mutex_initializer() { if(mp_mut) pthread_mutex_destroy(mp_mut); }
-
- void release() {mp_mut = 0; }
-
- private:
- pthread_mutex_t *mp_mut;
- };
-
- //!Makes initialized pthread_cond_t cleanup easy when using exceptions
- class condition_initializer
- {
- public:
- condition_initializer(pthread_cond_t &cond, pthread_condattr_t &cond_attr)
- : mp_cond(&cond)
- {
- if(pthread_cond_init(mp_cond, &cond_attr)!= 0)
- throw interprocess_exception("pthread_cond_init failed");
- }
-
- ~condition_initializer() { if(mp_cond) pthread_cond_destroy(mp_cond); }
-
- void release() { mp_cond = 0; }
-
- private:
- pthread_cond_t *mp_cond;
- };
-
- #endif // #if defined BOOST_INTERPROCESS_POSIX_PROCESS_SHARED
-
- #if defined(BOOST_INTERPROCESS_POSIX_BARRIERS) && defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
-
- //!Makes pthread_barrierattr_t cleanup easy when using exceptions
- struct barrierattr_wrapper
- {
- //!Constructor
- barrierattr_wrapper()
- {
- if(pthread_barrierattr_init(&m_attr)!=0 ||
- pthread_barrierattr_setpshared(&m_attr, PTHREAD_PROCESS_SHARED)!= 0)
- throw interprocess_exception("pthread_barrierattr_xxx failed");
- }
-
- //!Destructor
- ~barrierattr_wrapper() { pthread_barrierattr_destroy(&m_attr); }
-
- //!This allows using mutexattr_wrapper as pthread_barrierattr_t
- operator pthread_barrierattr_t&() { return m_attr; }
-
- pthread_barrierattr_t m_attr;
- };
-
- //!Makes initialized pthread_barrier_t cleanup easy when using exceptions
- class barrier_initializer
- {
- public:
- //!Constructor. Takes barrier attributes to initialize the barrier
- barrier_initializer(pthread_barrier_t &mut,
- pthread_barrierattr_t &mut_attr,
- unsigned int count)
- : mp_barrier(&mut)
- {
- if(pthread_barrier_init(mp_barrier, &mut_attr, count) != 0)
- throw interprocess_exception("pthread_barrier_init failed");
- }
-
- ~barrier_initializer() { if(mp_barrier) pthread_barrier_destroy(mp_barrier); }
-
- void release() {mp_barrier = 0; }
-
- private:
- pthread_barrier_t *mp_barrier;
- };
-
- #endif //#if defined(BOOST_INTERPROCESS_POSIX_BARRIERS) && defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
-
-}//namespace ipcdetail
-
-}//namespace interprocess
-
-}//namespace boost
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //ifdef BOOST_INTERPROCESS_PTHREAD_HELPERS_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/timepoint_to_timespec.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/timepoint_to_timespec.hpp
deleted file mode 100644
index 297fe8adf7..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/posix/timepoint_to_timespec.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_TIMEPOINT_TO_TIMESPEC_HPP
-#define BOOST_INTERPROCESS_DETAIL_TIMEPOINT_TO_TIMESPEC_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/mpl.hpp>
-#include <boost/interprocess/detail/type_traits.hpp>
-#include <boost/interprocess/detail/timed_utils.hpp>
-
-namespace boost {
-
-namespace interprocess {
-
-namespace ipcdetail {
-
-template<class TimePoint>
-inline timespec timepoint_to_timespec ( const TimePoint &tm
- , typename enable_if_ptime<TimePoint>::type * = 0)
-{
- typedef typename TimePoint::date_type date_type;
- typedef typename TimePoint::time_duration_type time_duration_type;
-
- const TimePoint epoch(date_type(1970,1,1));
-
- //Avoid negative absolute times
- time_duration_type duration = (tm <= epoch) ? time_duration_type(epoch - epoch)
- : time_duration_type(tm - epoch);
- timespec ts;
- ts.tv_sec = static_cast<time_t>(duration.total_seconds());
- ts.tv_nsec = static_cast<long>(duration.total_nanoseconds() % 1000000000);
- return ts;
-}
-
-inline timespec timepoint_to_timespec (const ustime &tm)
-{
- timespec ts;
- ts.tv_sec = static_cast<time_t>(tm.get_microsecs()/1000000u);
- ts.tv_nsec = static_cast<long>((tm.get_microsecs()%1000000u)*1000u);
- return ts;
-}
-
-template<class TimePoint>
-inline timespec timepoint_to_timespec ( const TimePoint &tm
- , typename enable_if_time_point<TimePoint>::type * = 0)
-{
- typedef typename TimePoint::duration duration_t;
- duration_t d(tm.time_since_epoch());
-
- timespec ts;
- BOOST_IF_CONSTEXPR(duration_t::period::num == 1 && duration_t::period::den == 1000000000)
- {
- ts.tv_sec = static_cast<time_t>(d.count()/duration_t::period::den);
- ts.tv_nsec = static_cast<long>(d.count()%duration_t::period::den);
- }
- else
- {
- const double factor = double(duration_t::period::num)/double(duration_t::period::den);
- const double res = d.count()*factor;
- ts.tv_sec = static_cast<time_t>(res);
- ts.tv_nsec = static_cast<long>(res - double(ts.tv_sec));
- }
- return ts;
-}
-
-} //namespace ipcdetail {
-
-} //namespace interprocess {
-
-} //namespace boost {
-
-#endif //ifndef BOOST_INTERPROCESS_DETAIL_TIMEPOINT_TO_TIMESPEC_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/condition.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/condition.hpp
deleted file mode 100644
index cf3a15970f..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/condition.hpp
+++ /dev/null
@@ -1,298 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_SPIN_CONDITION_HPP
-#define BOOST_INTERPROCESS_DETAIL_SPIN_CONDITION_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/sync/cv_status.hpp>
-#include <boost/interprocess/sync/spin/mutex.hpp>
-#include <boost/interprocess/detail/atomic.hpp>
-#include <boost/interprocess/sync/scoped_lock.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/interprocess/detail/os_thread_functions.hpp>
-#include <boost/interprocess/detail/timed_utils.hpp>
-#include <boost/interprocess/sync/spin/wait.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/cstdint.hpp>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-class spin_condition
-{
- spin_condition(const spin_condition &);
- spin_condition &operator=(const spin_condition &);
-
- public:
- spin_condition()
- {
- //Note that this class is initialized to zero.
- //So zeroed memory can be interpreted as an initialized
- //condition variable
- m_command = SLEEP;
- m_num_waiters = 0;
- }
-
- ~spin_condition()
- {
- //Notify all waiting threads
- //to allow POSIX semantics on condition destruction
- this->notify_all();
- }
-
- void notify_one()
- { this->notify(NOTIFY_ONE); }
-
- void notify_all()
- { this->notify(NOTIFY_ALL); }
-
- template <typename L>
- void wait(L& lock)
- {
- if (!lock)
- throw lock_exception();
- this->do_timed_wait_impl<false>(0, *lock.mutex());
- }
-
- template <typename L, typename Pr>
- void wait(L& lock, Pr pred)
- {
- if (!lock)
- throw lock_exception();
-
- while (!pred())
- this->do_timed_wait_impl<false>(0, *lock.mutex());
- }
-
- template <typename L, typename TimePoint>
- bool timed_wait(L& lock, const TimePoint &abs_time)
- {
- if (!lock)
- throw lock_exception();
- //Handle infinity absolute time here to avoid complications in do_timed_wait
- if(is_pos_infinity(abs_time)){
- this->wait(lock);
- return true;
- }
- return this->do_timed_wait_impl<true>(abs_time, *lock.mutex());
- }
-
- template <typename L, typename TimePoint, typename Pr>
- bool timed_wait(L& lock, const TimePoint &abs_time, Pr pred)
- {
- if (!lock)
- throw lock_exception();
- //Handle infinity absolute time here to avoid complications in do_timed_wait
- if(is_pos_infinity(abs_time)){
- this->wait(lock, pred);
- return true;
- }
- while (!pred()){
- if (!this->do_timed_wait_impl<true>(abs_time, *lock.mutex()))
- return pred();
- }
- return true;
- }
-
- template <typename L, class TimePoint>
- cv_status wait_until(L& lock, const TimePoint &abs_time)
- { return this->timed_wait(lock, abs_time) ? cv_status::no_timeout : cv_status::timeout; }
-
- template <typename L, class TimePoint, typename Pr>
- bool wait_until(L& lock, const TimePoint &abs_time, Pr pred)
- { return this->timed_wait(lock, abs_time, pred); }
-
- template <typename L, class Duration>
- cv_status wait_for(L& lock, const Duration &dur)
- { return this->wait_until(lock, duration_to_ustime(dur)); }
-
- template <typename L, class Duration, typename Pr>
- bool wait_for(L& lock, const Duration &dur, Pr pred)
- { return this->wait_until(lock, duration_to_ustime(dur), pred); }
-
- private:
-
- template<bool TimeoutEnabled, class InterprocessMutex, class TimePoint>
- bool do_timed_wait_impl(const TimePoint &abs_time, InterprocessMutex &mut)
- {
- typedef boost::interprocess::scoped_lock<spin_mutex> InternalLock;
- //The enter mutex guarantees that while executing a notification,
- //no other thread can execute the do_timed_wait method.
- {
- //---------------------------------------------------------------
- InternalLock lock;
- get_lock(bool_<TimeoutEnabled>(), m_enter_mut, lock, abs_time);
-
- if(!lock)
- return false;
- //---------------------------------------------------------------
- //We increment the waiting thread count protected so that it will be
- //always constant when another thread enters the notification logic.
- //The increment marks this thread as "waiting on spin_condition"
- atomic_inc32(const_cast<boost::uint32_t*>(&m_num_waiters));
-
- //We unlock the external mutex atomically with the increment
- mut.unlock();
- }
-
- //By default, we suppose that no timeout has happened
- bool timed_out = false, unlock_enter_mut= false;
-
- //Loop until a notification indicates that the thread should
- //exit or timeout occurs
- while(1){
- //The thread sleeps/spins until a spin_condition commands a notification
- //Notification occurred, we will lock the checking mutex so that
- spin_wait swait;
- while(atomic_read32(&m_command) == SLEEP){
- swait.yield();
-
- //Check for timeout
- if(TimeoutEnabled){
- TimePoint now = get_now<TimePoint>(bool_<TimeoutEnabled>());
-
- if(now >= abs_time){
- //If we can lock the mutex it means that no notification
- //is being executed in this spin_condition variable
- timed_out = m_enter_mut.try_lock();
-
- //If locking fails, indicates that another thread is executing
- //notification, so we play the notification game
- if(!timed_out){
- //There is an ongoing notification, we will try again later
- continue;
- }
- //No notification in execution, since enter mutex is locked.
- //We will execute time-out logic, so we will decrement count,
- //release the enter mutex and return false.
- break;
- }
- }
- }
-
- //If a timeout occurred, the mutex will not execute checking logic
- if(TimeoutEnabled && timed_out){
- //Decrement wait count
- atomic_dec32(const_cast<boost::uint32_t*>(&m_num_waiters));
- unlock_enter_mut = true;
- break;
- }
- else{
- boost::uint32_t result = atomic_cas32
- (const_cast<boost::uint32_t*>(&m_command), SLEEP, NOTIFY_ONE);
- if(result == SLEEP){
- //Other thread has been notified and since it was a NOTIFY one
- //command, this thread must sleep again
- continue;
- }
- else if(result == NOTIFY_ONE){
- //If it was a NOTIFY_ONE command, only this thread should
- //exit. This thread has atomically marked command as sleep before
- //so no other thread will exit.
- //Decrement wait count.
- unlock_enter_mut = true;
- atomic_dec32(const_cast<boost::uint32_t*>(&m_num_waiters));
- break;
- }
- else{
- //If it is a NOTIFY_ALL command, all threads should return
- //from do_timed_wait function. Decrement wait count.
- unlock_enter_mut = 1 == atomic_dec32(const_cast<boost::uint32_t*>(&m_num_waiters));
- //Check if this is the last thread of notify_all waiters
- //Only the last thread will release the mutex
- if(unlock_enter_mut){
- atomic_cas32(const_cast<boost::uint32_t*>(&m_command), SLEEP, NOTIFY_ALL);
- }
- break;
- }
- }
- }
-
- //Unlock the enter mutex if it is a single notification, if this is
- //the last notified thread in a notify_all or a timeout has occurred
- if(unlock_enter_mut){
- m_enter_mut.unlock();
- }
-
- //Lock external again before returning from the method
- mut.lock();
- return !timed_out;
- }
-
- template <class TimePoint>
- static TimePoint get_now(bool_<true>)
- { return microsec_clock<TimePoint>::universal_time(); }
-
- template <class TimePoint>
- static TimePoint get_now(bool_<false>)
- { return TimePoint(); }
-
- template <class Mutex, class Lock, class TimePoint>
- static void get_lock(bool_<true>, Mutex &m, Lock &lck, const TimePoint &abs_time)
- {
- Lock dummy(m, abs_time);
- lck = boost::move(dummy);
- }
-
- template <class Mutex, class Lock, class TimePoint>
- static void get_lock(bool_<false>, Mutex &m, Lock &lck, const TimePoint &)
- {
- Lock dummy(m);
- lck = boost::move(dummy);
- }
-
- void notify(boost::uint32_t command)
- {
- //This mutex guarantees that no other thread can enter to the
- //do_timed_wait method logic, so that thread count will be
- //constant until the function writes a NOTIFY_ALL command.
- //It also guarantees that no other notification can be signaled
- //on this spin_condition before this one ends
- m_enter_mut.lock();
-
- //Return if there are no waiters
- if(!atomic_read32(&m_num_waiters)) {
- m_enter_mut.unlock();
- return;
- }
-
- //Notify that all threads should execute wait logic
- spin_wait swait;
- while(SLEEP != atomic_cas32(const_cast<boost::uint32_t*>(&m_command), command, SLEEP)){
- swait.yield();
- }
- //The enter mutex will rest locked until the last waiting thread unlocks it
- }
-
- enum { SLEEP = 0, NOTIFY_ONE, NOTIFY_ALL };
- spin_mutex m_enter_mut;
- volatile boost::uint32_t m_command;
- volatile boost::uint32_t m_num_waiters;
-};
-
-} //namespace ipcdetail
-} //namespace interprocess
-} //namespace boost
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_SPIN_CONDITION_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/mutex.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/mutex.hpp
deleted file mode 100644
index ce9f87fe79..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/mutex.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_SPIN_MUTEX_HPP
-#define BOOST_INTERPROCESS_DETAIL_SPIN_MUTEX_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/assert.hpp>
-#include <boost/interprocess/detail/atomic.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/interprocess/detail/os_thread_functions.hpp>
-#include <boost/interprocess/sync/detail/common_algorithms.hpp>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-class spin_mutex
-{
- spin_mutex(const spin_mutex &);
- spin_mutex &operator=(const spin_mutex &);
- public:
-
- spin_mutex();
- ~spin_mutex();
-
- void lock();
- bool try_lock();
- template<class TimePoint>
- bool timed_lock(const TimePoint &abs_time);
-
- template<class TimePoint> bool try_lock_until(const TimePoint &abs_time)
- { return this->timed_lock(abs_time); }
-
- template<class Duration> bool try_lock_for(const Duration &dur)
- { return this->timed_lock(duration_to_ustime(dur)); }
-
- void unlock();
- void take_ownership(){}
- private:
- volatile boost::uint32_t m_s;
-
- struct common_lock_wrapper
- {
- common_lock_wrapper(spin_mutex &sp)
- : m_sp(sp)
- {}
-
- void lock()
- {
- ipcdetail::try_based_lock(m_sp);
- }
-
- template<class TimePoint>
- bool timed_lock(const TimePoint &abs_time)
- { return m_sp.timed_lock(abs_time); }
-
- spin_mutex &m_sp;
- };
-};
-
-inline spin_mutex::spin_mutex()
- : m_s(0)
-{
- //Note that this class is initialized to zero.
- //So zeroed memory can be interpreted as an
- //initialized mutex
-}
-
-inline spin_mutex::~spin_mutex()
-{
- //Trivial destructor
-}
-
-inline void spin_mutex::lock(void)
-{
- common_lock_wrapper clw(*this);
- ipcdetail::timeout_when_locking_aware_lock(clw);
-}
-
-inline bool spin_mutex::try_lock(void)
-{
- boost::uint32_t prev_s = ipcdetail::atomic_cas32(const_cast<boost::uint32_t*>(&m_s), 1, 0);
- return m_s == 1 && prev_s == 0;
-}
-
-template<class TimePoint>
-inline bool spin_mutex::timed_lock(const TimePoint &abs_time)
-{ return ipcdetail::try_based_timed_lock(*this, abs_time); }
-
-inline void spin_mutex::unlock(void)
-{ ipcdetail::atomic_cas32(const_cast<boost::uint32_t*>(&m_s), 0, 1); }
-
-} //namespace ipcdetail {
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_SPIN_MUTEX_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/wait.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/wait.hpp
deleted file mode 100644
index 984f91ad00..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/spin/wait.hpp
+++ /dev/null
@@ -1,185 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Peter Dimov 2008.
-// (C) Copyright Ion Gaztanaga 2013-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/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-//Parts of this file come from boost/smart_ptr/detail/yield_k.hpp
-//Many thanks to Peter Dimov.
-
-#ifndef BOOST_INTERPROCESS_SYNC_WAIT_HPP_INCLUDED
-#define BOOST_INTERPROCESS_SYNC_WAIT_HPP_INCLUDED
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/detail/os_thread_functions.hpp>
-
-//#define BOOST_INTERPROCESS_SPIN_WAIT_DEBUG
-#ifdef BOOST_INTERPROCESS_SPIN_WAIT_DEBUG
-#include <iostream>
-#endif
-
-// BOOST_INTERPROCESS_SMT_PAUSE
-
-#if defined(_MSC_VER) && ( defined(_M_IX86) || defined(_M_X64) )
-
-extern "C" void _mm_pause();
-#pragma intrinsic( _mm_pause )
-
-#define BOOST_INTERPROCESS_SMT_PAUSE _mm_pause();
-
-#elif defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) ) && !defined(_CRAYC)
-
-#define BOOST_INTERPROCESS_SMT_PAUSE __asm__ __volatile__( "rep; nop" : : : "memory" );
-
-#endif
-
-namespace boost{
-namespace interprocess{
-namespace ipcdetail {
-
-template<int Dummy = 0>
-class num_core_holder
-{
- public:
- static unsigned int get()
- {
- if(!num_cores){
- return ipcdetail::get_num_cores();
- }
- else{
- return num_cores;
- }
- }
-
- private:
- static unsigned int num_cores;
-};
-
-template<int Dummy>
-unsigned int num_core_holder<Dummy>::num_cores = ipcdetail::get_num_cores();
-
-} //namespace ipcdetail {
-
-class spin_wait
-{
- public:
-
- static const unsigned int nop_pause_limit = 32u;
- spin_wait()
- : m_count_start(), m_ul_yield_only_counts(), m_k()
- {}
-
- #ifdef BOOST_INTERPROCESS_SPIN_WAIT_DEBUG
- ~spin_wait()
- {
- if(m_k){
- std::cout << "final m_k: " << m_k
- << " system tick(us): " << ipcdetail::get_system_tick_us() << std::endl;
- }
- }
- #endif
-
- unsigned int count() const
- { return m_k; }
-
- void yield()
- {
- //Lazy initialization of limits
- if( !m_k){
- this->init_limits();
- }
- //Nop tries
- if( m_k < (nop_pause_limit >> 2) ){
-
- }
- //Pause tries if the processor supports it
- #if defined(BOOST_INTERPROCESS_SMT_PAUSE)
- else if( m_k < nop_pause_limit ){
- BOOST_INTERPROCESS_SMT_PAUSE
- }
- #endif
- //Yield/Sleep strategy
- else{
- //Lazy initialization of tick information
- if(m_k == nop_pause_limit){
- this->init_tick_info();
- }
- else if( this->yield_or_sleep() ){
- ipcdetail::thread_yield();
- }
- else{
- ipcdetail::thread_sleep_tick();
- }
- }
- ++m_k;
- }
-
- void reset()
- {
- m_k = 0u;
- }
-
- private:
-
- void init_limits()
- {
- unsigned int num_cores = ipcdetail::num_core_holder<0>::get();
- m_k = num_cores > 1u ? 0u : nop_pause_limit;
- }
-
- void init_tick_info()
- {
- m_ul_yield_only_counts = ipcdetail::get_system_tick_in_highres_counts();
- m_count_start = ipcdetail::get_current_system_highres_count();
- }
-
- //Returns true if yield must be called, false is sleep must be called
- bool yield_or_sleep()
- {
- if(!m_ul_yield_only_counts){ //If yield-only limit was reached then yield one in every two tries
- return (m_k & 1u) != 0;
- }
- else{ //Try to see if we've reched yield-only time limit
- const ipcdetail::OS_highres_count_t now = ipcdetail::get_current_system_highres_count();
- const ipcdetail::OS_highres_count_t elapsed = ipcdetail::system_highres_count_subtract(now, m_count_start);
- if(!ipcdetail::system_highres_count_less_ul(elapsed, m_ul_yield_only_counts)){
- #ifdef BOOST_INTERPROCESS_SPIN_WAIT_DEBUG
- std::cout << "elapsed!\n"
- << " m_ul_yield_only_counts: " << m_ul_yield_only_counts
- << " system tick(us): " << ipcdetail::get_system_tick_us() << '\n'
- << " m_k: " << m_k << " elapsed counts: ";
- ipcdetail::ostream_highres_count(std::cout, elapsed) << std::endl;
- #endif
- //Yield-only time reached, now it's time to sleep
- m_ul_yield_only_counts = 0ul;
- return false;
- }
- }
- return true; //Otherwise yield
- }
-
- ipcdetail::OS_highres_count_t m_count_start;
- unsigned long m_ul_yield_only_counts;
- unsigned int m_k;
-};
-
-} // namespace interprocess
-} // namespace boost
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif // #ifndef BOOST_INTERPROCESS_SYNC_WAIT_HPP_INCLUDED
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/condition.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/condition.hpp
deleted file mode 100644
index 255cb69c16..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/condition.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_WINDOWS_CONDITION_HPP
-#define BOOST_INTERPROCESS_DETAIL_WINDOWS_CONDITION_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-
-#include <boost/interprocess/sync/cv_status.hpp>
-#include <boost/interprocess/sync/interprocess_mutex.hpp>
-#include <boost/interprocess/sync/scoped_lock.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/interprocess/sync/windows/semaphore.hpp>
-#include <boost/interprocess/sync/windows/mutex.hpp>
-#include <boost/interprocess/sync/detail/condition_algorithm_8a.hpp>
-
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-class winapi_condition
-{
- winapi_condition(const winapi_condition &);
- winapi_condition &operator=(const winapi_condition &);
-
- public:
- winapi_condition()
- : m_condition_data()
- {}
-
- ~winapi_condition()
- {
- //Notify all waiting threads
- //to allow POSIX semantics on condition destruction
- this->notify_all();
- }
-
- void notify_one()
- { m_condition_data.notify_one(); }
-
- void notify_all()
- { m_condition_data.notify_all(); }
-
- template <typename L>
- void wait(L& lock)
- { m_condition_data.wait(lock); }
-
- template <typename L, typename Pr>
- void wait(L& lock, Pr pred)
- { m_condition_data.wait(lock, pred); }
-
-
- template <typename L, typename TimePoint>
- bool timed_wait(L& lock, const TimePoint &abs_time)
- { return m_condition_data.timed_wait(lock, abs_time); }
-
- template <typename L, typename TimePoint, typename Pr>
- bool timed_wait(L& lock, const TimePoint &abs_time, Pr pred)
- { return m_condition_data.timed_wait(lock, abs_time, pred); }
-
- template <typename L, class TimePoint>
- cv_status wait_until(L& lock, const TimePoint &abs_time)
- { return this->timed_wait(lock, abs_time) ? cv_status::no_timeout : cv_status::timeout; }
-
- template <typename L, class TimePoint, typename Pr>
- bool wait_until(L& lock, const TimePoint &abs_time, Pr pred)
- { return this->timed_wait(lock, abs_time, pred); }
-
- template <typename L, class Duration>
- cv_status wait_for(L& lock, const Duration &dur)
- { return this->wait_until(lock, duration_to_ustime(dur)); }
-
- template <typename L, class Duration, typename Pr>
- bool wait_for(L& lock, const Duration &dur, Pr pred)
- { return this->wait_until(lock, duration_to_ustime(dur), pred); }
-
- private:
-
- struct condition_data
- {
- typedef unsigned int integer_type;
- typedef winapi_semaphore semaphore_type;
- typedef winapi_mutex mutex_type;
-
- condition_data()
- : m_nwaiters_blocked(0)
- , m_nwaiters_gone(0)
- , m_nwaiters_to_unblock(0)
- , m_sem_block_queue(0)
- , m_sem_block_lock(1)
- , m_mtx_unblock_lock()
- {}
-
- integer_type &get_nwaiters_blocked()
- { return m_nwaiters_blocked; }
-
- integer_type &get_nwaiters_gone()
- { return m_nwaiters_gone; }
-
- integer_type &get_nwaiters_to_unblock()
- { return m_nwaiters_to_unblock; }
-
- semaphore_type &get_sem_block_queue()
- { return m_sem_block_queue; }
-
- semaphore_type &get_sem_block_lock()
- { return m_sem_block_lock; }
-
- mutex_type &get_mtx_unblock_lock()
- { return m_mtx_unblock_lock; }
-
- integer_type m_nwaiters_blocked;
- integer_type m_nwaiters_gone;
- integer_type m_nwaiters_to_unblock;
- semaphore_type m_sem_block_queue;
- semaphore_type m_sem_block_lock;
- mutex_type m_mtx_unblock_lock;
- };
-
- ipcdetail::condition_8a_wrapper<condition_data> m_condition_data;
-};
-
-} //namespace ipcdetail
-} //namespace interprocess
-} //namespace boost
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_WINDOWS_CONDITION_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/mutex.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/mutex.hpp
deleted file mode 100644
index e1bd190803..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/mutex.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_WINDOWS_MUTEX_HPP
-#define BOOST_INTERPROCESS_DETAIL_WINDOWS_MUTEX_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/detail/win32_api.hpp>
-#include <boost/interprocess/detail/windows_intermodule_singleton.hpp>
-#include <boost/interprocess/sync/windows/sync_utils.hpp>
-#include <boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp>
-#include <boost/interprocess/exceptions.hpp>
-
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-class winapi_mutex
-{
- winapi_mutex(const winapi_mutex &);
- winapi_mutex &operator=(const winapi_mutex &);
- public:
-
- winapi_mutex();
- ~winapi_mutex();
-
- void lock();
- bool try_lock();
- template<class TimePoint> bool timed_lock(const TimePoint &abs_time);
-
- template<class TimePoint> bool try_lock_until(const TimePoint &abs_time)
- { return this->timed_lock(abs_time); }
-
- template<class Duration> bool try_lock_for(const Duration &dur)
- { return this->timed_lock(duration_to_ustime(dur)); }
-
- void unlock();
- void take_ownership(){};
-
- private:
- const sync_id id_;
-};
-
-inline winapi_mutex::winapi_mutex()
- : id_()
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- //Create mutex with the initial count
- bool open_or_created;
- (void)handles.obtain_mutex(this->id_, this, &open_or_created);
- //The mutex must be created, never opened
- BOOST_ASSERT(open_or_created);
- BOOST_ASSERT(open_or_created && winapi::get_last_error() != winapi::error_already_exists);
- (void)open_or_created;
-}
-
-inline winapi_mutex::~winapi_mutex()
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- handles.destroy_handle(this->id_, this);
-}
-
-inline void winapi_mutex::lock(void)
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- //This can throw
- winapi_mutex_functions mut(handles.obtain_mutex(this->id_, this));
- mut.lock();
-}
-
-inline bool winapi_mutex::try_lock(void)
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- //This can throw
- winapi_mutex_functions mut(handles.obtain_mutex(this->id_, this));
- return mut.try_lock();
-}
-
-template<class TimePoint>
-inline bool winapi_mutex::timed_lock(const TimePoint &abs_time)
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- //This can throw
- winapi_mutex_functions mut(handles.obtain_mutex(this->id_, this));
- return mut.timed_lock(abs_time);
-}
-
-inline void winapi_mutex::unlock(void)
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- //This can throw
- winapi_mutex_functions mut(handles.obtain_mutex(this->id_, this));
- return mut.unlock();
-}
-
-} //namespace ipcdetail {
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_WINDOWS_MUTEX_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/semaphore.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/semaphore.hpp
deleted file mode 100644
index 888ab71a0c..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/semaphore.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_WINDOWS_SEMAPHORE_HPP
-#define BOOST_INTERPROCESS_DETAIL_WINDOWS_SEMAPHORE_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/detail/win32_api.hpp>
-#include <boost/interprocess/detail/windows_intermodule_singleton.hpp>
-#include <boost/interprocess/sync/windows/sync_utils.hpp>
-#include <boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/assert.hpp>
-
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-class winapi_semaphore
-{
- winapi_semaphore(const winapi_semaphore &);
- winapi_semaphore &operator=(const winapi_semaphore &);
- public:
-
- winapi_semaphore(unsigned int initialCount);
- ~winapi_semaphore();
-
- void post(unsigned int release_count = 1);
- void wait();
- bool try_wait();
- template<class TimePoint> bool timed_wait(const TimePoint &abs_time);
-
- private:
- const sync_id id_;
- const unsigned initial_count_;
-};
-
-inline winapi_semaphore::winapi_semaphore(unsigned int initialCount)
- : id_(), initial_count_(initialCount)
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- //Force smeaphore creation with the initial count
- bool open_or_created;
- handles.obtain_semaphore(this->id_, this, initialCount, &open_or_created);
- //The semaphore must be created, never opened
- BOOST_ASSERT(open_or_created);
- BOOST_ASSERT(open_or_created && winapi::get_last_error() != winapi::error_already_exists);
- (void)open_or_created;
-}
-
-inline winapi_semaphore::~winapi_semaphore()
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- handles.destroy_handle(this->id_, this);
-}
-
-inline void winapi_semaphore::wait()
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- //This can throw
- winapi_semaphore_functions sem(handles.obtain_semaphore(this->id_, this, initial_count_));
- sem.wait();
-}
-
-inline bool winapi_semaphore::try_wait()
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- //This can throw
- winapi_semaphore_functions sem(handles.obtain_semaphore(this->id_, this, initial_count_));
- return sem.try_wait();
-}
-
-template<class TimePoint>
-inline bool winapi_semaphore::timed_wait(const TimePoint &abs_time)
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- //This can throw
- winapi_semaphore_functions sem(handles.obtain_semaphore(this->id_, this, initial_count_));
- return sem.timed_wait(abs_time);
-}
-
-inline void winapi_semaphore::post(unsigned release_count)
-{
- sync_handles &handles =
- windows_intermodule_singleton<sync_handles>::get();
- winapi_semaphore_functions sem(handles.obtain_semaphore(this->id_, this, initial_count_));
- sem.post(static_cast<long>(release_count));
-}
-
-
-} //namespace ipcdetail {
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_WINDOWS_SEMAPHORE_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/sync_utils.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/sync_utils.hpp
deleted file mode 100644
index 04106318cf..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/sync_utils.hpp
+++ /dev/null
@@ -1,275 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_SYNC_UTILS_HPP
-#define BOOST_INTERPROCESS_DETAIL_SYNC_UTILS_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/detail/win32_api.hpp>
-#include <boost/interprocess/sync/spin/mutex.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/interprocess/sync/scoped_lock.hpp>
-#include <boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp>
-#include <boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp>
-
-//Shield against external warnings
-#include <boost/interprocess/detail/config_external_begin.hpp>
-#include <boost/unordered/unordered_map.hpp>
-#include <boost/interprocess/detail/config_external_end.hpp>
-#include <boost/container/flat_map.hpp>
-
-#include <cstddef>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-inline bool bytes_to_str(const void *mem, const std::size_t mem_length, char *out_str, std::size_t &out_length)
-{
- const std::size_t need_mem = mem_length*2+1;
- if(out_length < need_mem){
- out_length = need_mem;
- return false;
- }
-
- const char Characters [] =
- { '0', '1', '2', '3', '4', '5', '6', '7'
- , '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
-
- std::size_t char_counter = 0;
- const char *buf = (const char *)mem;
- for(std::size_t i = 0; i != mem_length; ++i){
- out_str[char_counter++] = Characters[(buf[i]&0xF0)>>4];
- out_str[char_counter++] = Characters[(buf[i]&0x0F)];
- }
- out_str[char_counter] = 0;
- return true;
-}
-
-inline bool bytes_to_str(const void *mem, const std::size_t mem_length, wchar_t *out_str, std::size_t &out_length)
-{
- const std::size_t need_mem = mem_length*2+1;
- if(out_length < need_mem){
- out_length = need_mem;
- return false;
- }
-
- const wchar_t Characters [] =
- { L'0', L'1', L'2', L'3', L'4', L'5', L'6', L'7'
- , L'8', L'9', L'A', L'B', L'C', L'D', L'E', L'F' };
-
- std::size_t char_counter = 0;
- const char *buf = (const char *)mem;
- for(std::size_t i = 0; i != mem_length; ++i){
- out_str[char_counter++] = Characters[(buf[i]&0xF0)>>4];
- out_str[char_counter++] = Characters[(buf[i]&0x0F)];
- }
- out_str[char_counter] = 0;
- return true;
-}
-
-class sync_id
-{
- public:
- typedef __int64 internal_type;
- sync_id()
- { winapi::query_performance_counter(&rand_); }
-
- explicit sync_id(internal_type val)
- { rand_ = val; }
-
- const internal_type &internal_pod() const
- { return rand_; }
-
- internal_type &internal_pod()
- { return rand_; }
-
- friend std::size_t hash_value(const sync_id &m)
- { return boost::hash_value(m.rand_); }
-
- friend bool operator==(const sync_id &l, const sync_id &r)
- { return l.rand_ == r.rand_; }
-
- private:
- internal_type rand_;
-};
-
-class sync_handles
-{
- public:
- enum type { MUTEX, SEMAPHORE };
-
- private:
-
- //key: id -> mapped: HANDLE. Hash map to allow efficient sync operations
- typedef boost::unordered_map<sync_id, void*> umap_type;
- //key: ordered address of the sync type -> iterator from umap_type. Ordered map to allow closing handles when unmapping
- typedef boost::container::flat_map<const void*, umap_type::iterator> map_type;
- static const std::size_t LengthOfGlobal = sizeof("Global\\boost.ipc")-1;
- static const std::size_t StrSize = LengthOfGlobal + (sizeof(sync_id)*2+1);
- typedef char NameBuf[StrSize];
-
- void fill_name(NameBuf &name, const sync_id &id)
- {
- const char *n = "Global\\boost.ipc";
- std::size_t i = 0;
- do{
- name[i] = n[i];
- ++i;
- } while(n[i]);
- std::size_t len = sizeof(NameBuf) - LengthOfGlobal;
- bytes_to_str(&id.internal_pod(), sizeof(id.internal_pod()), &name[LengthOfGlobal], len);
- }
-
- void throw_if_error(void *hnd_val)
- {
- if(!hnd_val){
- error_info err(static_cast<int>(winapi::get_last_error()));
- throw interprocess_exception(err);
- }
- }
-
- void* open_or_create_semaphore(const sync_id &id, unsigned int initial_count)
- {
- NameBuf name;
- fill_name(name, id);
- permissions unrestricted_security;
- unrestricted_security.set_unrestricted();
- winapi_semaphore_wrapper sem_wrapper;
- bool created;
- sem_wrapper.open_or_create
- (name, (long)initial_count, winapi_semaphore_wrapper::MaxCount, unrestricted_security, created);
- throw_if_error(sem_wrapper.handle());
- return sem_wrapper.release();
- }
-
- void* open_or_create_mutex(const sync_id &id)
- {
- NameBuf name;
- fill_name(name, id);
- permissions unrestricted_security;
- unrestricted_security.set_unrestricted();
- winapi_mutex_wrapper mtx_wrapper;
- mtx_wrapper.open_or_create(name, unrestricted_security);
- throw_if_error(mtx_wrapper.handle());
- return mtx_wrapper.release();
- }
-
- public:
- sync_handles()
- : num_handles_()
- {}
-
- ~sync_handles()
- {
- BOOST_ASSERT(num_handles_ == 0); //Sanity check that handle we don't leak handles
- }
-
- void *obtain_mutex(const sync_id &id, const void *mapping_address, bool *popen_created = 0)
- {
- umap_type::value_type v(id, (void*)0);
- scoped_lock<spin_mutex> lock(mtx_);
- umap_type::iterator it = umap_.insert(v).first;
- void *&hnd_val = it->second;
- if(!hnd_val){
- BOOST_ASSERT(map_.find(mapping_address) == map_.end());
- map_[mapping_address] = it;
- hnd_val = open_or_create_mutex(id);
- if(popen_created) *popen_created = true;
- ++num_handles_;
- }
- else if(popen_created){
- BOOST_ASSERT(map_.find(mapping_address) != map_.end());
- *popen_created = false;
- }
-
- return hnd_val;
- }
-
- void *obtain_semaphore(const sync_id &id, const void *mapping_address, unsigned int initial_count, bool *popen_created = 0)
- {
- umap_type::value_type v(id, (void*)0);
- scoped_lock<spin_mutex> lock(mtx_);
- umap_type::iterator it = umap_.insert(v).first;
- void *&hnd_val = it->second;
- if(!hnd_val){
- BOOST_ASSERT(map_.find(mapping_address) == map_.end());
- map_[mapping_address] = it;
- hnd_val = open_or_create_semaphore(id, initial_count);
- if(popen_created) *popen_created = true;
- ++num_handles_;
- }
- else if(popen_created){
- BOOST_ASSERT(map_.find(mapping_address) != map_.end());
- *popen_created = false;
- }
- return hnd_val;
- }
-
- void destroy_handle(const sync_id &id, const void *mapping_address)
- {
- scoped_lock<spin_mutex> lock(mtx_);
- umap_type::iterator it = umap_.find(id);
- umap_type::iterator itend = umap_.end();
-
- if(it != itend){
- winapi::close_handle(it->second);
- --num_handles_;
- std::size_t i = map_.erase(mapping_address);
- (void)i;
- BOOST_ASSERT(i == 1); //The entry should be there
- umap_.erase(it);
- }
- }
-
- void destroy_syncs_in_range(const void *addr, std::size_t size)
- {
- const void *low_id(addr);
- const void *hig_id(static_cast<const char*>(addr)+size);
- scoped_lock<spin_mutex> lock(mtx_);
- map_type::iterator itlow(map_.lower_bound(low_id)),
- ithig(map_.lower_bound(hig_id)),
- it(itlow);
- for (; it != ithig; ++it){
- umap_type::iterator uit = it->second;
- void * const hnd = uit->second;
- umap_.erase(uit);
- int ret = winapi::close_handle(hnd);
- --num_handles_;
- BOOST_ASSERT(ret != 0); (void)ret; //Sanity check that handle was ok
- }
-
- map_.erase(itlow, ithig);
- }
-
- private:
- spin_mutex mtx_;
- umap_type umap_;
- map_type map_;
- std::size_t num_handles_;
-};
-
-
-} //namespace ipcdetail {
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_SYNC_UTILS_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp
deleted file mode 100644
index 487571a50b..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_mutex_wrapper.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
- //////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2011-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_WINAPI_MUTEX_WRAPPER_HPP
-#define BOOST_INTERPROCESS_DETAIL_WINAPI_MUTEX_WRAPPER_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/creation_tags.hpp>
-#include <boost/interprocess/permissions.hpp>
-#include <boost/interprocess/detail/win32_api.hpp>
-#include <boost/interprocess/sync/windows/winapi_wrapper_common.hpp>
-#include <boost/interprocess/errors.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <limits>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-class winapi_mutex_functions
-{
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
- //Non-copyable
- winapi_mutex_functions(const winapi_mutex_functions &);
- winapi_mutex_functions &operator=(const winapi_mutex_functions &);
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
- public:
- winapi_mutex_functions(void *mtx_hnd)
- : m_mtx_hnd(mtx_hnd)
- {}
-
- void unlock()
- { winapi::release_mutex(m_mtx_hnd); }
-
- void lock()
- { return winapi_wrapper_wait_for_single_object(m_mtx_hnd); }
-
- bool try_lock()
- { return winapi_wrapper_try_wait_for_single_object(m_mtx_hnd); }
-
- template<class TimePoint>
- bool timed_lock(const TimePoint &abs_time)
- { return winapi_wrapper_timed_wait_for_single_object(m_mtx_hnd, abs_time); }
-
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- protected:
- void *m_mtx_hnd;
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-};
-
-//Swappable mutex wrapper
-class winapi_mutex_wrapper
- : public winapi_mutex_functions
-{
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
- //Non-copyable
- winapi_mutex_wrapper(const winapi_mutex_wrapper &);
- winapi_mutex_wrapper &operator=(const winapi_mutex_wrapper &);
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
- //Note that Windows API does not return winapi::invalid_handle_value
- //when failing to create/open a mutex, but a nullptr
-
- public:
- winapi_mutex_wrapper(void *mtx_hnd = 0)
- : winapi_mutex_functions(mtx_hnd)
- {}
-
- ~winapi_mutex_wrapper()
- { this->close(); }
-
- void *release()
- {
- void *hnd = m_mtx_hnd;
- m_mtx_hnd = 0;
- return hnd;
- }
-
- void *handle() const
- { return m_mtx_hnd; }
-
- template<class CharT>
- bool open_or_create(const CharT *name, const permissions &perm)
- {
- if(m_mtx_hnd == 0){
- m_mtx_hnd = winapi::open_or_create_mutex
- ( name
- , false
- , (winapi::interprocess_security_attributes*)perm.get_permissions()
- );
- return m_mtx_hnd != 0;
- }
- else{
- return false;
- }
- }
-
- void close()
- {
- if(m_mtx_hnd != 0){
- winapi::close_handle(m_mtx_hnd);
- m_mtx_hnd = 0;
- }
- }
-
- void swap(winapi_mutex_wrapper &other)
- { void *tmp = m_mtx_hnd; m_mtx_hnd = other.m_mtx_hnd; other.m_mtx_hnd = tmp; }
-};
-
-} //namespace ipcdetail {
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_WINAPI_MUTEX_WRAPPER_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp
deleted file mode 100644
index b8580486af..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_semaphore_wrapper.hpp
+++ /dev/null
@@ -1,169 +0,0 @@
- //////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2011-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_WINAPI_SEMAPHORE_WRAPPER_HPP
-#define BOOST_INTERPROCESS_DETAIL_WINAPI_SEMAPHORE_WRAPPER_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/creation_tags.hpp>
-#include <boost/interprocess/permissions.hpp>
-#include <boost/interprocess/detail/win32_api.hpp>
-#include <boost/interprocess/sync/windows/winapi_wrapper_common.hpp>
-#include <boost/interprocess/errors.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <limits>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-class winapi_semaphore_functions
-{
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
-
- //Non-copyable
- winapi_semaphore_functions(const winapi_semaphore_functions &);
- winapi_semaphore_functions &operator=(const winapi_semaphore_functions &);
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-
- public:
- winapi_semaphore_functions(void *hnd)
- : m_sem_hnd(hnd)
- {}
-
- void post(long count = 1)
- {
- long prev_count;
- winapi::release_semaphore(m_sem_hnd, count, &prev_count);
- }
-
- void wait()
- { return winapi_wrapper_wait_for_single_object(m_sem_hnd); }
-
- bool try_wait()
- { return winapi_wrapper_try_wait_for_single_object(m_sem_hnd); }
-
- template<class TimePoint>
- bool timed_wait(const TimePoint &abs_time)
- { return winapi_wrapper_timed_wait_for_single_object(m_sem_hnd, abs_time); }
-
- long value() const
- {
- long l_count, l_limit;
- if(!winapi::get_semaphore_info(m_sem_hnd, l_count, l_limit))
- return 0;
- return l_count;
- }
-
- long limit() const
- {
- long l_count, l_limit;
- if(!winapi::get_semaphore_info(m_sem_hnd, l_count, l_limit))
- return 0;
- return l_limit;
- }
-
- #if !defined(BOOST_INTERPROCESS_DOXYGEN_INVOKED)
- protected:
- void *m_sem_hnd;
- #endif //#ifndef BOOST_INTERPROCESS_DOXYGEN_INVOKED
-};
-
-
-//Swappable semaphore wrapper
-class winapi_semaphore_wrapper
- : public winapi_semaphore_functions
-{
- winapi_semaphore_wrapper(const winapi_semaphore_wrapper &);
- winapi_semaphore_wrapper &operator=(const winapi_semaphore_wrapper &);
-
- public:
-
- //Long is 32 bits in windows
- static const long MaxCount = long(0x7FFFFFFF);
-
- winapi_semaphore_wrapper(void *hnd = winapi::invalid_handle_value)
- : winapi_semaphore_functions(hnd)
- {}
-
- ~winapi_semaphore_wrapper()
- { this->close(); }
-
- void *release()
- {
- void *hnd = m_sem_hnd;
- m_sem_hnd = winapi::invalid_handle_value;
- return hnd;
- }
-
- void *handle() const
- { return m_sem_hnd; }
-
- template <class CharT>
- bool open_or_create( const CharT *name
- , long sem_count
- , long max_count
- , const permissions &perm
- , bool &created)
- {
- if(m_sem_hnd == winapi::invalid_handle_value){
- m_sem_hnd = winapi::open_or_create_semaphore
- ( name
- , sem_count
- , max_count
- , (winapi::interprocess_security_attributes*)perm.get_permissions()
- );
- created = winapi::get_last_error() != winapi::error_already_exists;
- return m_sem_hnd != winapi::invalid_handle_value;
- }
- else{
- return false;
- }
- }
-
- bool open_semaphore(const char *name)
- {
- if(m_sem_hnd == winapi::invalid_handle_value){
- m_sem_hnd = winapi::open_semaphore(name);
- return m_sem_hnd != winapi::invalid_handle_value;
- }
- else{
- return false;
- }
- }
-
- void close()
- {
- if(m_sem_hnd != winapi::invalid_handle_value){
- winapi::close_handle(m_sem_hnd);
- m_sem_hnd = winapi::invalid_handle_value;
- }
- }
-
- void swap(winapi_semaphore_wrapper &other)
- { void *tmp = m_sem_hnd; m_sem_hnd = other.m_sem_hnd; other.m_sem_hnd = tmp; }
-};
-
-} //namespace ipcdetail {
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_WINAPI_SEMAPHORE_WRAPPER_HPP
diff --git a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_wrapper_common.hpp b/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_wrapper_common.hpp
deleted file mode 100644
index 60794903de..0000000000
--- a/contrib/restricted/boost/interprocess/include/boost/interprocess/sync/windows/winapi_wrapper_common.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
- //////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2011-2012. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// See http://www.boost.org/libs/interprocess for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTERPROCESS_DETAIL_WINAPI_WRAPPER_COMMON_HPP
-#define BOOST_INTERPROCESS_DETAIL_WINAPI_WRAPPER_COMMON_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/interprocess/detail/config_begin.hpp>
-#include <boost/interprocess/detail/workaround.hpp>
-#include <boost/interprocess/detail/win32_api.hpp>
-#include <boost/interprocess/errors.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/interprocess/detail/timed_utils.hpp>
-#include <limits>
-
-namespace boost {
-namespace interprocess {
-namespace ipcdetail {
-
-inline bool do_winapi_wait(void *handle, unsigned long dwMilliseconds)
-{
- unsigned long ret = winapi::wait_for_single_object(handle, dwMilliseconds);
- if(ret == winapi::wait_object_0){
- return true;
- }
- else if(ret == winapi::wait_timeout){
- return false;
- }
- else if(ret == winapi::wait_abandoned){ //Special case for orphaned mutexes
- winapi::release_mutex(handle);
- throw interprocess_exception(owner_dead_error);
- }
- else{
- error_info err = system_error_code();
- throw interprocess_exception(err);
- }
-}
-
-template<class TimePoint>
-inline bool winapi_wrapper_timed_wait_for_single_object(void *handle, const TimePoint &abs_time)
-{
- //Windows uses relative wait times so check for negative waits
- //and implement as 0 wait to allow try-semantics as POSIX mandates.
- unsigned long time_ms = 0u;
- if (ipcdetail::is_pos_infinity(abs_time)){
- time_ms = winapi::infinite_time;
- }
- else {
- const TimePoint cur_time = microsec_clock<TimePoint>::universal_time();
- if(abs_time > cur_time){
- time_ms = static_cast<unsigned long>(duration_to_milliseconds(abs_time - cur_time));
- }
- }
- return do_winapi_wait(handle, time_ms);
-}
-
-inline void winapi_wrapper_wait_for_single_object(void *handle)
-{
- (void)do_winapi_wait(handle, winapi::infinite_time);
-}
-
-inline bool winapi_wrapper_try_wait_for_single_object(void *handle)
-{
- return do_winapi_wait(handle, 0u);
-}
-
-} //namespace ipcdetail {
-} //namespace interprocess {
-} //namespace boost {
-
-#include <boost/interprocess/detail/config_end.hpp>
-
-#endif //BOOST_INTERPROCESS_DETAIL_WINAPI_WRAPPER_COMMON_HPP
diff --git a/contrib/restricted/boost/intrusive/include/boost/intrusive/derivation_value_traits.hpp b/contrib/restricted/boost/intrusive/include/boost/intrusive/derivation_value_traits.hpp
deleted file mode 100644
index 626031257c..0000000000
--- a/contrib/restricted/boost/intrusive/include/boost/intrusive/derivation_value_traits.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2006-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/intrusive for documentation.
-//
-/////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_INTRUSIVE_DERIVATION_VALUE_TRAITS_HPP
-#define BOOST_INTRUSIVE_DERIVATION_VALUE_TRAITS_HPP
-
-#include <boost/intrusive/detail/config_begin.hpp>
-#include <boost/intrusive/intrusive_fwd.hpp>
-#include <boost/intrusive/link_mode.hpp>
-#include <boost/intrusive/pointer_traits.hpp>
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-namespace boost {
-namespace intrusive {
-
-//!This value traits template is used to create value traits
-//!from user defined node traits where value_traits::value_type will
-//!derive from node_traits::node
-
-template<class T, class NodeTraits, link_mode_type LinkMode
- #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- = safe_link
- #endif
->
-struct derivation_value_traits
-{
- public:
- typedef NodeTraits node_traits;
- typedef T value_type;
- typedef typename node_traits::node node;
- typedef typename node_traits::node_ptr node_ptr;
- typedef typename node_traits::const_node_ptr const_node_ptr;
- typedef typename pointer_traits<node_ptr>::
- template rebind_pointer<value_type>::type pointer;
- typedef typename pointer_traits<node_ptr>::
- template rebind_pointer<const value_type>::type const_pointer;
- typedef typename boost::intrusive::
- pointer_traits<pointer>::reference reference;
- typedef typename boost::intrusive::
- pointer_traits<const_pointer>::reference const_reference;
- static const link_mode_type link_mode = LinkMode;
-
- BOOST_INTRUSIVE_FORCEINLINE static node_ptr to_node_ptr(reference value) BOOST_NOEXCEPT
- { return node_ptr(&value); }
-
- BOOST_INTRUSIVE_FORCEINLINE static const_node_ptr to_node_ptr(const_reference value) BOOST_NOEXCEPT
- { return node_ptr(&value); }
-
- BOOST_INTRUSIVE_FORCEINLINE static pointer to_value_ptr(node_ptr n) BOOST_NOEXCEPT
- {
- return pointer_traits<pointer>::pointer_to(static_cast<reference>(*n));
- }
-
- BOOST_INTRUSIVE_FORCEINLINE static const_pointer to_value_ptr(const_node_ptr n) BOOST_NOEXCEPT
- {
- return pointer_traits<const_pointer>::pointer_to(static_cast<const_reference>(*n));
- }
-};
-
-} //namespace intrusive
-} //namespace boost
-
-#include <boost/intrusive/detail/config_end.hpp>
-
-#endif //BOOST_INTRUSIVE_DERIVATION_VALUE_TRAITS_HPP
diff --git a/contrib/restricted/boost/intrusive/include/boost/intrusive/detail/hash_combine.hpp b/contrib/restricted/boost/intrusive/include/boost/intrusive/detail/hash_combine.hpp
deleted file mode 100644
index f089fb0cc0..0000000000
--- a/contrib/restricted/boost/intrusive/include/boost/intrusive/detail/hash_combine.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2005-2014 Daniel James.
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-// Based on Peter Dimov's proposal
-// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf
-// issue 6.18.
-//
-// This also contains public domain code from MurmurHash. From the
-// MurmurHash header:
-//
-// MurmurHash3 was written by Austin Appleby, and is placed in the public
-// domain. The author hereby disclaims copyright to this source code.
-//
-// Copyright 2021 Ion Gaztanaga
-// Refactored the original boost/container_hash/hash.hpp to avoid
-// any heavy std header dependencies to just combine two hash
-// values represented in a std::size_t type.
-
-#ifndef BOOST_INTRUSIVE_DETAIL_HASH_COMBINE_HPP
-#define BOOST_INTRUSIVE_DETAIL_HASH_COMBINE_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/cstdint.hpp>
-
-#if defined(_MSC_VER)
-# include <stdlib.h>
-# define BOOST_INTRUSIVE_HASH_ROTL32(x, r) _rotl(x,r)
-#else
-# define BOOST_INTRUSIVE_HASH_ROTL32(x, r) (x << r) | (x >> (32 - r))
-#endif
-
-namespace boost {
-namespace intrusive {
-namespace detail {
-
-template <typename SizeT>
-inline void hash_combine_size_t(SizeT& seed, SizeT value)
-{
- seed ^= value + 0x9e3779b9 + (seed<<6) + (seed>>2);
-}
-
-inline void hash_combine_size_t(boost::uint32_t& h1, boost::uint32_t k1)
-{
- const uint32_t c1 = 0xcc9e2d51;
- const uint32_t c2 = 0x1b873593;
-
- k1 *= c1;
- k1 = BOOST_INTRUSIVE_HASH_ROTL32(k1,15);
- k1 *= c2;
-
- h1 ^= k1;
- h1 = BOOST_INTRUSIVE_HASH_ROTL32(h1,13);
- h1 = h1*5+0xe6546b64;
-}
-
-
- // Don't define 64-bit hash combine on platforms without 64 bit integers,
- // and also not for 32-bit gcc as it warns about the 64-bit constant.
- #if !defined(BOOST_NO_INT64_T) && \
- !(defined(__GNUC__) && ULONG_MAX == 0xffffffff)
- inline void hash_combine_size_t(boost::uint64_t& h, boost::uint64_t k)
- {
- const boost::uint64_t m = UINT64_C(0xc6a4a7935bd1e995);
- const int r = 47;
-
- k *= m;
- k ^= k >> r;
- k *= m;
-
- h ^= k;
- h *= m;
-
- // Completely arbitrary number, to prevent 0's
- // from hashing to 0.
- h += 0xe6546b64;
- }
-
- #endif // BOOST_NO_INT64_T
-
-} //namespace detail {
-} //namespace intrusive {
-} //namespace boost {
-
-#endif //BOOST_INTRUSIVE_DETAIL_HASH_COMBINE_HPP
diff --git a/contrib/restricted/boost/intrusive/include/boost/intrusive/set.hpp b/contrib/restricted/boost/intrusive/include/boost/intrusive/set.hpp
deleted file mode 100644
index 30f0760d2f..0000000000
--- a/contrib/restricted/boost/intrusive/include/boost/intrusive/set.hpp
+++ /dev/null
@@ -1,1073 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Olaf Krzikalla 2004-2006.
-// (C) Copyright Ion Gaztanaga 2006-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/intrusive for documentation.
-//
-/////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_INTRUSIVE_SET_HPP
-#define BOOST_INTRUSIVE_SET_HPP
-
-#include <boost/intrusive/detail/config_begin.hpp>
-#include <boost/intrusive/intrusive_fwd.hpp>
-
-#include <boost/intrusive/detail/mpl.hpp>
-#include <boost/intrusive/rbtree.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/static_assert.hpp>
-
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-namespace boost {
-namespace intrusive {
-
-#if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
-template<class ValueTraits, class VoidOrKeyOfValue, class Compare, class SizeType, bool ConstantTimeSize, typename HeaderHolder>
-class multiset_impl;
-#endif
-
-//! The class template set is an intrusive container, that mimics most of
-//! the interface of std::set as described in the C++ standard.
-//!
-//! The template parameter \c T is the type to be managed by the container.
-//! The user can specify additional options and if no options are provided
-//! default options are used.
-//!
-//! The container supports the following options:
-//! \c base_hook<>/member_hook<>/value_traits<>,
-//! \c constant_time_size<>, \c size_type<> and
-//! \c compare<>.
-#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
-template<class T, class ...Options>
-#else
-template<class ValueTraits, class VoidOrKeyOfValue, class Compare, class SizeType, bool ConstantTimeSize, typename HeaderHolder>
-#endif
-class set_impl
-#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- : public bstree_impl<ValueTraits, VoidOrKeyOfValue, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms, HeaderHolder>
-#endif
-{
- /// @cond
- typedef bstree_impl<ValueTraits, VoidOrKeyOfValue, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms, HeaderHolder> tree_type;
- BOOST_MOVABLE_BUT_NOT_COPYABLE(set_impl)
-
- typedef tree_type implementation_defined;
- /// @endcond
-
- public:
- typedef typename implementation_defined::value_type value_type;
- typedef typename implementation_defined::key_type key_type;
- typedef typename implementation_defined::key_of_value key_of_value;
- typedef typename implementation_defined::value_traits value_traits;
- typedef typename implementation_defined::pointer pointer;
- typedef typename implementation_defined::const_pointer const_pointer;
- typedef typename implementation_defined::reference reference;
- typedef typename implementation_defined::const_reference const_reference;
- typedef typename implementation_defined::difference_type difference_type;
- typedef typename implementation_defined::size_type size_type;
- typedef typename implementation_defined::value_compare value_compare;
- typedef typename implementation_defined::key_compare key_compare;
- typedef typename implementation_defined::iterator iterator;
- typedef typename implementation_defined::const_iterator const_iterator;
- typedef typename implementation_defined::reverse_iterator reverse_iterator;
- typedef typename implementation_defined::const_reverse_iterator const_reverse_iterator;
- typedef typename implementation_defined::insert_commit_data insert_commit_data;
- typedef typename implementation_defined::node_traits node_traits;
- typedef typename implementation_defined::node node;
- typedef typename implementation_defined::node_ptr node_ptr;
- typedef typename implementation_defined::const_node_ptr const_node_ptr;
- typedef typename implementation_defined::node_algorithms node_algorithms;
-
- static const bool constant_time_size = tree_type::constant_time_size;
-
- public:
- //! @copydoc ::boost::intrusive::rbtree::rbtree()
- set_impl()
- : tree_type()
- {}
-
- //! @copydoc ::boost::intrusive::rbtree::rbtree(const key_compare &,const value_traits &)
- explicit set_impl( const key_compare &cmp, const value_traits &v_traits = value_traits())
- : tree_type(cmp, v_traits)
- {}
-
- //! @copydoc ::boost::intrusive::rbtree::rbtree(bool,Iterator,Iterator,const key_compare &,const value_traits &)
- template<class Iterator>
- set_impl( Iterator b, Iterator e
- , const key_compare &cmp = key_compare()
- , const value_traits &v_traits = value_traits())
- : tree_type(true, b, e, cmp, v_traits)
- {}
-
- //! @copydoc ::boost::intrusive::rbtree::rbtree(rbtree &&)
- set_impl(BOOST_RV_REF(set_impl) x)
- : tree_type(BOOST_MOVE_BASE(tree_type, x))
- {}
-
- //! @copydoc ::boost::intrusive::rbtree::operator=(rbtree &&)
- set_impl& operator=(BOOST_RV_REF(set_impl) x)
- { return static_cast<set_impl&>(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); }
-
- #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::rbtree::~rbtree()
- ~set_impl();
-
- //! @copydoc ::boost::intrusive::rbtree::begin()
- iterator begin() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::begin()const
- const_iterator begin() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::cbegin()const
- const_iterator cbegin() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::end()
- iterator end() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::end()const
- const_iterator end() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::cend()const
- const_iterator cend() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::rbegin()
- reverse_iterator rbegin() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::rbegin()const
- const_reverse_iterator rbegin() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::crbegin()const
- const_reverse_iterator crbegin() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::rend()
- reverse_iterator rend() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::rend()const
- const_reverse_iterator rend() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::crend()const
- const_reverse_iterator crend() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::root()
- iterator root() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::root()const
- const_iterator root() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::croot()const
- const_iterator croot() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::container_from_end_iterator(iterator)
- static set_impl &container_from_end_iterator(iterator end_iterator) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::container_from_end_iterator(const_iterator)
- static const set_impl &container_from_end_iterator(const_iterator end_iterator) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::container_from_iterator(iterator)
- static set_impl &container_from_iterator(iterator it) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::container_from_iterator(const_iterator)
- static const set_impl &container_from_iterator(const_iterator it) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::key_comp()const
- key_compare key_comp() const;
-
- //! @copydoc ::boost::intrusive::rbtree::value_comp()const
- value_compare value_comp() const;
-
- //! @copydoc ::boost::intrusive::rbtree::empty()const
- bool empty() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::size()const
- size_type size() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::swap
- void swap(set_impl& other);
-
- //! @copydoc ::boost::intrusive::rbtree::clone_from(const rbtree&,Cloner,Disposer)
- template <class Cloner, class Disposer>
- void clone_from(const set_impl &src, Cloner cloner, Disposer disposer);
-
- #else
-
- using tree_type::clone_from;
-
- #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
-
- //! @copydoc ::boost::intrusive::rbtree::clone_from(rbtree&&,Cloner,Disposer)
- template <class Cloner, class Disposer>
- void clone_from(BOOST_RV_REF(set_impl) src, Cloner cloner, Disposer disposer)
- { tree_type::clone_from(BOOST_MOVE_BASE(tree_type, src), cloner, disposer); }
-
- //! @copydoc ::boost::intrusive::rbtree::insert_unique(reference)
- std::pair<iterator, bool> insert(reference value)
- { return tree_type::insert_unique(value); }
-
- //! @copydoc ::boost::intrusive::rbtree::insert_unique(const_iterator,reference)
- iterator insert(const_iterator hint, reference value)
- { return tree_type::insert_unique(hint, value); }
-
- //! @copydoc ::boost::intrusive::rbtree::insert_unique_check(const key_type&,insert_commit_data&)
- std::pair<iterator, bool> insert_check
- (const key_type &key, insert_commit_data &commit_data)
- { return tree_type::insert_unique_check(key, commit_data); }
-
- //! @copydoc ::boost::intrusive::rbtree::insert_unique_check(const_iterator,const key_type&,insert_commit_data&)
- std::pair<iterator, bool> insert_check
- (const_iterator hint, const key_type &key
- ,insert_commit_data &commit_data)
- { return tree_type::insert_unique_check(hint, key, commit_data); }
-
- //! @copydoc ::boost::intrusive::rbtree::insert_unique_check(const KeyType&,KeyTypeKeyCompare,insert_commit_data&)
- template<class KeyType, class KeyTypeKeyCompare>
- std::pair<iterator, bool> insert_check
- (const KeyType &key, KeyTypeKeyCompare comp, insert_commit_data &commit_data)
- { return tree_type::insert_unique_check(key, comp, commit_data); }
-
- //! @copydoc ::boost::intrusive::rbtree::insert_unique_check(const_iterator,const KeyType&,KeyTypeKeyCompare,insert_commit_data&)
- template<class KeyType, class KeyTypeKeyCompare>
- std::pair<iterator, bool> insert_check
- (const_iterator hint, const KeyType &key
- ,KeyTypeKeyCompare comp, insert_commit_data &commit_data)
- { return tree_type::insert_unique_check(hint, key, comp, commit_data); }
-
- //! @copydoc ::boost::intrusive::rbtree::insert_unique(Iterator,Iterator)
- template<class Iterator>
- void insert(Iterator b, Iterator e)
- { tree_type::insert_unique(b, e); }
-
- //! @copydoc ::boost::intrusive::rbtree::insert_unique_commit
- iterator insert_commit(reference value, const insert_commit_data &commit_data) BOOST_NOEXCEPT
- { return tree_type::insert_unique_commit(value, commit_data); }
-
- #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::rbtree::insert_before
- iterator insert_before(const_iterator pos, reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::push_back
- void push_back(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::push_front
- void push_front(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::erase(const_iterator)
- iterator erase(const_iterator i) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::erase(const_iterator,const_iterator)
- iterator erase(const_iterator b, const_iterator e) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::erase(const key_type &)
- size_type erase(const key_type &key);
-
- //! @copydoc ::boost::intrusive::rbtree::erase(const KeyType&,KeyTypeKeyCompare)
- template<class KeyType, class KeyTypeKeyCompare>
- size_type erase(const KeyType& key, KeyTypeKeyCompare comp);
-
- //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const_iterator,Disposer)
- template<class Disposer>
- iterator erase_and_dispose(const_iterator i, Disposer disposer) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const_iterator,const_iterator,Disposer)
- template<class Disposer>
- iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const key_type &, Disposer)
- template<class Disposer>
- size_type erase_and_dispose(const key_type &key, Disposer disposer);
-
- //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const KeyType&,KeyTypeKeyCompare,Disposer)
- template<class KeyType, class KeyTypeKeyCompare, class Disposer>
- size_type erase_and_dispose(const KeyType& key, KeyTypeKeyCompare comp, Disposer disposer);
-
- //! @copydoc ::boost::intrusive::rbtree::clear
- void clear() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::clear_and_dispose
- template<class Disposer>
- void clear_and_dispose(Disposer disposer) BOOST_NOEXCEPT;
-
- #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
-
- //! @copydoc ::boost::intrusive::rbtree::count(const key_type &)const
- size_type count(const key_type &key) const
- { return static_cast<size_type>(this->tree_type::find(key) != this->tree_type::cend()); }
-
- //! @copydoc ::boost::intrusive::rbtree::count(const KeyType&,KeyTypeKeyCompare)const
- template<class KeyType, class KeyTypeKeyCompare>
- size_type count(const KeyType& key, KeyTypeKeyCompare comp) const
- { return static_cast<size_type>(this->tree_type::find(key, comp) != this->tree_type::cend()); }
-
- #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
-
- //! @copydoc ::boost::intrusive::rbtree::lower_bound(const key_type &)
- iterator lower_bound(const key_type &key);
-
- //! @copydoc ::boost::intrusive::rbtree::lower_bound(const KeyType&,KeyTypeKeyCompare)
- template<class KeyType, class KeyTypeKeyCompare>
- iterator lower_bound(const KeyType& key, KeyTypeKeyCompare comp);
-
- //! @copydoc ::boost::intrusive::rbtree::lower_bound(const key_type &)const
- const_iterator lower_bound(const key_type &key) const;
-
- //! @copydoc ::boost::intrusive::rbtree::lower_bound(const KeyType&,KeyTypeKeyCompare)const
- template<class KeyType, class KeyTypeKeyCompare>
- const_iterator lower_bound(const KeyType& key, KeyTypeKeyCompare comp) const;
-
- //! @copydoc ::boost::intrusive::rbtree::upper_bound(const key_type &)
- iterator upper_bound(const key_type &key);
-
- //! @copydoc ::boost::intrusive::rbtree::upper_bound(const KeyType&,KeyTypeKeyCompare)
- template<class KeyType, class KeyTypeKeyCompare>
- iterator upper_bound(const KeyType& key, KeyTypeKeyCompare comp);
-
- //! @copydoc ::boost::intrusive::rbtree::upper_bound(const key_type &)const
- const_iterator upper_bound(const key_type &key) const;
-
- //! @copydoc ::boost::intrusive::rbtree::upper_bound(const KeyType&,KeyTypeKeyCompare)const
- template<class KeyType, class KeyTypeKeyCompare>
- const_iterator upper_bound(const KeyType& key, KeyTypeKeyCompare comp) const;
-
- //! @copydoc ::boost::intrusive::rbtree::find(const key_type &)
- iterator find(const key_type &key);
-
- //! @copydoc ::boost::intrusive::rbtree::find(const KeyType&,KeyTypeKeyCompare)
- template<class KeyType, class KeyTypeKeyCompare>
- iterator find(const KeyType& key, KeyTypeKeyCompare comp);
-
- //! @copydoc ::boost::intrusive::rbtree::find(const key_type &)const
- const_iterator find(const key_type &key) const;
-
- //! @copydoc ::boost::intrusive::rbtree::find(const KeyType&,KeyTypeKeyCompare)const
- template<class KeyType, class KeyTypeKeyCompare>
- const_iterator find(const KeyType& key, KeyTypeKeyCompare comp) const;
-
- #endif // #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
-
- //! @copydoc ::boost::intrusive::rbtree::equal_range(const key_type &)
- std::pair<iterator,iterator> equal_range(const key_type &key)
- { return this->tree_type::lower_bound_range(key); }
-
- //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyTypeKeyCompare)
- template<class KeyType, class KeyTypeKeyCompare>
- std::pair<iterator,iterator> equal_range(const KeyType& key, KeyTypeKeyCompare comp)
- { return this->tree_type::equal_range(key, comp); }
-
- //! @copydoc ::boost::intrusive::rbtree::equal_range(const key_type &)const
- std::pair<const_iterator, const_iterator>
- equal_range(const key_type &key) const
- { return this->tree_type::lower_bound_range(key); }
-
- //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyTypeKeyCompare)const
- template<class KeyType, class KeyTypeKeyCompare>
- std::pair<const_iterator, const_iterator>
- equal_range(const KeyType& key, KeyTypeKeyCompare comp) const
- { return this->tree_type::equal_range(key, comp); }
-
- #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
-
- //! @copydoc ::boost::intrusive::rbtree::bounded_range(const key_type &,const key_type &,bool,bool)
- std::pair<iterator,iterator> bounded_range
- (const key_type &lower_key, const key_type &upper_key, bool left_closed, bool right_closed);
-
- //! @copydoc ::boost::intrusive::rbtree::bounded_range(const KeyType&,const KeyType&,KeyTypeKeyCompare,bool,bool)
- template<class KeyType, class KeyTypeKeyCompare>
- std::pair<iterator,iterator> bounded_range
- (const KeyType& lower_key, const KeyType& upper_key, KeyTypeKeyCompare comp, bool left_closed, bool right_closed);
-
- //! @copydoc ::boost::intrusive::rbtree::bounded_range(const key_type &,const key_type &,bool,bool)const
- std::pair<const_iterator, const_iterator>
- bounded_range(const key_type &lower_key, const key_type &upper_key, bool left_closed, bool right_closed) const;
-
- //! @copydoc ::boost::intrusive::rbtree::bounded_range(const KeyType&,const KeyType&,KeyTypeKeyCompare,bool,bool)const
- template<class KeyType, class KeyTypeKeyCompare>
- std::pair<const_iterator, const_iterator> bounded_range
- (const KeyType& lower_key, const KeyType& upper_key, KeyTypeKeyCompare comp, bool left_closed, bool right_closed) const;
-
- //! @copydoc ::boost::intrusive::rbtree::s_iterator_to(reference)
- static iterator s_iterator_to(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::s_iterator_to(const_reference)
- static const_iterator s_iterator_to(const_reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::iterator_to(reference)
- iterator iterator_to(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::iterator_to(const_reference)const
- const_iterator iterator_to(const_reference value) const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::init_node(reference)
- static void init_node(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::unlink_leftmost_without_rebalance
- pointer unlink_leftmost_without_rebalance() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::replace_node
- void replace_node(iterator replace_this, reference with_this) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::remove_node
- void remove_node(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::merge_unique
- template<class ...Options2>
- void merge(set<T, Options2...> &source);
-
- //! @copydoc ::boost::intrusive::rbtree::merge_unique
- template<class ...Options2>
- void merge(multiset<T, Options2...> &source);
-
- #else
-
- template<class Compare2>
- void merge(set_impl<ValueTraits, VoidOrKeyOfValue, Compare2, SizeType, ConstantTimeSize, HeaderHolder> &source)
- { return tree_type::merge_unique(source); }
-
-
- template<class Compare2>
- void merge(multiset_impl<ValueTraits, VoidOrKeyOfValue, Compare2, SizeType, ConstantTimeSize, HeaderHolder> &source)
- { return tree_type::merge_unique(source); }
-
- #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
-};
-
-#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
-
-template<class T, class ...Options>
-bool operator!= (const set_impl<T, Options...> &x, const set_impl<T, Options...> &y);
-
-template<class T, class ...Options>
-bool operator>(const set_impl<T, Options...> &x, const set_impl<T, Options...> &y);
-
-template<class T, class ...Options>
-bool operator<=(const set_impl<T, Options...> &x, const set_impl<T, Options...> &y);
-
-template<class T, class ...Options>
-bool operator>=(const set_impl<T, Options...> &x, const set_impl<T, Options...> &y);
-
-template<class T, class ...Options>
-void swap(set_impl<T, Options...> &x, set_impl<T, Options...> &y);
-
-#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
-
-//! Helper metafunction to define a \c set that yields to the same type when the
-//! same options (either explicitly or implicitly) are used.
-#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) || defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
-template<class T, class ...Options>
-#else
-template<class T, class O1 = void, class O2 = void
- , class O3 = void, class O4 = void
- , class O5 = void, class O6 = void>
-#endif
-struct make_set
-{
- /// @cond
- typedef typename pack_options
- < rbtree_defaults,
- #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
- O1, O2, O3, O4, O5, O6
- #else
- Options...
- #endif
- >::type packed_options;
-
- typedef typename detail::get_value_traits
- <T, typename packed_options::proto_value_traits>::type value_traits;
-
- typedef set_impl
- < value_traits
- , typename packed_options::key_of_value
- , typename packed_options::compare
- , typename packed_options::size_type
- , packed_options::constant_time_size
- , typename packed_options::header_holder_type
- > implementation_defined;
- /// @endcond
- typedef implementation_defined type;
-};
-
-#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
-#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
-template<class T, class O1, class O2, class O3, class O4, class O5, class O6>
-#else
-template<class T, class ...Options>
-#endif
-class set
- : public make_set<T,
- #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
- O1, O2, O3, O4, O5, O6
- #else
- Options...
- #endif
- >::type
-{
- typedef typename make_set
- <T,
- #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
- O1, O2, O3, O4, O5, O6
- #else
- Options...
- #endif
- >::type Base;
-
- BOOST_MOVABLE_BUT_NOT_COPYABLE(set)
- public:
- typedef typename Base::key_compare key_compare;
- typedef typename Base::value_traits value_traits;
- typedef typename Base::iterator iterator;
- typedef typename Base::const_iterator const_iterator;
-
- //Assert if passed value traits are compatible with the type
- BOOST_STATIC_ASSERT((detail::is_same<typename value_traits::value_type, T>::value));
-
- BOOST_INTRUSIVE_FORCEINLINE set()
- : Base()
- {}
-
- BOOST_INTRUSIVE_FORCEINLINE explicit set( const key_compare &cmp, const value_traits &v_traits = value_traits())
- : Base(cmp, v_traits)
- {}
-
- template<class Iterator>
- BOOST_INTRUSIVE_FORCEINLINE set( Iterator b, Iterator e
- , const key_compare &cmp = key_compare()
- , const value_traits &v_traits = value_traits())
- : Base(b, e, cmp, v_traits)
- {}
-
- BOOST_INTRUSIVE_FORCEINLINE set(BOOST_RV_REF(set) x)
- : Base(BOOST_MOVE_BASE(Base, x))
- {}
-
- BOOST_INTRUSIVE_FORCEINLINE set& operator=(BOOST_RV_REF(set) x)
- { return static_cast<set &>(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); }
-
- template <class Cloner, class Disposer>
- BOOST_INTRUSIVE_FORCEINLINE void clone_from(const set &src, Cloner cloner, Disposer disposer)
- { Base::clone_from(src, cloner, disposer); }
-
- template <class Cloner, class Disposer>
- BOOST_INTRUSIVE_FORCEINLINE void clone_from(BOOST_RV_REF(set) src, Cloner cloner, Disposer disposer)
- { Base::clone_from(BOOST_MOVE_BASE(Base, src), cloner, disposer); }
-
- BOOST_INTRUSIVE_FORCEINLINE static set &container_from_end_iterator(iterator end_iterator) BOOST_NOEXCEPT
- { return static_cast<set &>(Base::container_from_end_iterator(end_iterator)); }
-
- BOOST_INTRUSIVE_FORCEINLINE static const set &container_from_end_iterator(const_iterator end_iterator) BOOST_NOEXCEPT
- { return static_cast<const set &>(Base::container_from_end_iterator(end_iterator)); }
-
- BOOST_INTRUSIVE_FORCEINLINE static set &container_from_iterator(iterator it) BOOST_NOEXCEPT
- { return static_cast<set &>(Base::container_from_iterator(it)); }
-
- BOOST_INTRUSIVE_FORCEINLINE static const set &container_from_iterator(const_iterator it) BOOST_NOEXCEPT
- { return static_cast<const set &>(Base::container_from_iterator(it)); }
-};
-
-#endif
-
-//! The class template multiset is an intrusive container, that mimics most of
-//! the interface of std::multiset as described in the C++ standard.
-//!
-//! The template parameter \c T is the type to be managed by the container.
-//! The user can specify additional options and if no options are provided
-//! default options are used.
-//!
-//! The container supports the following options:
-//! \c base_hook<>/member_hook<>/value_traits<>,
-//! \c constant_time_size<>, \c size_type<> and
-//! \c compare<>.
-#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
-template<class T, class ...Options>
-#else
-template<class ValueTraits, class VoidOrKeyOfValue, class Compare, class SizeType, bool ConstantTimeSize, typename HeaderHolder>
-#endif
-class multiset_impl
-#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- : public bstree_impl<ValueTraits, VoidOrKeyOfValue, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms, HeaderHolder>
-#endif
-{
- /// @cond
- typedef bstree_impl<ValueTraits, VoidOrKeyOfValue, Compare, SizeType, ConstantTimeSize, RbTreeAlgorithms, HeaderHolder> tree_type;
-
- BOOST_MOVABLE_BUT_NOT_COPYABLE(multiset_impl)
- typedef tree_type implementation_defined;
- /// @endcond
-
- public:
- typedef typename implementation_defined::value_type value_type;
- typedef typename implementation_defined::key_type key_type;
- typedef typename implementation_defined::key_of_value key_of_value;
- typedef typename implementation_defined::value_traits value_traits;
- typedef typename implementation_defined::pointer pointer;
- typedef typename implementation_defined::const_pointer const_pointer;
- typedef typename implementation_defined::reference reference;
- typedef typename implementation_defined::const_reference const_reference;
- typedef typename implementation_defined::difference_type difference_type;
- typedef typename implementation_defined::size_type size_type;
- typedef typename implementation_defined::value_compare value_compare;
- typedef typename implementation_defined::key_compare key_compare;
- typedef typename implementation_defined::iterator iterator;
- typedef typename implementation_defined::const_iterator const_iterator;
- typedef typename implementation_defined::reverse_iterator reverse_iterator;
- typedef typename implementation_defined::const_reverse_iterator const_reverse_iterator;
- typedef typename implementation_defined::insert_commit_data insert_commit_data;
- typedef typename implementation_defined::node_traits node_traits;
- typedef typename implementation_defined::node node;
- typedef typename implementation_defined::node_ptr node_ptr;
- typedef typename implementation_defined::const_node_ptr const_node_ptr;
- typedef typename implementation_defined::node_algorithms node_algorithms;
-
- static const bool constant_time_size = tree_type::constant_time_size;
-
- public:
- //! @copydoc ::boost::intrusive::rbtree::rbtree()
- multiset_impl()
- : tree_type()
- {}
-
- //! @copydoc ::boost::intrusive::rbtree::rbtree(const key_compare &,const value_traits &)
- explicit multiset_impl( const key_compare &cmp, const value_traits &v_traits = value_traits())
- : tree_type(cmp, v_traits)
- {}
-
- //! @copydoc ::boost::intrusive::rbtree::rbtree(bool,Iterator,Iterator,const key_compare &,const value_traits &)
- template<class Iterator>
- multiset_impl( Iterator b, Iterator e
- , const key_compare &cmp = key_compare()
- , const value_traits &v_traits = value_traits())
- : tree_type(false, b, e, cmp, v_traits)
- {}
-
- //! @copydoc ::boost::intrusive::rbtree::rbtree(rbtree &&)
- multiset_impl(BOOST_RV_REF(multiset_impl) x)
- : tree_type(BOOST_MOVE_BASE(tree_type, x))
- {}
-
- //! @copydoc ::boost::intrusive::rbtree::operator=(rbtree &&)
- multiset_impl& operator=(BOOST_RV_REF(multiset_impl) x)
- { return static_cast<multiset_impl&>(tree_type::operator=(BOOST_MOVE_BASE(tree_type, x))); }
-
- #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::rbtree::~rbtree()
- ~multiset_impl();
-
- //! @copydoc ::boost::intrusive::rbtree::begin()
- iterator begin() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::begin()const
- const_iterator begin() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::cbegin()const
- const_iterator cbegin() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::end()
- iterator end() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::end()const
- const_iterator end() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::cend()const
- const_iterator cend() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::rbegin()
- reverse_iterator rbegin() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::rbegin()const
- const_reverse_iterator rbegin() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::crbegin()const
- const_reverse_iterator crbegin() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::rend()
- reverse_iterator rend() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::rend()const
- const_reverse_iterator rend() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::crend()const
- const_reverse_iterator crend() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::root()
- iterator root() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::root()const
- const_iterator root() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::croot()const
- const_iterator croot() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::container_from_end_iterator(iterator)
- static multiset_impl &container_from_end_iterator(iterator end_iterator) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::container_from_end_iterator(const_iterator)
- static const multiset_impl &container_from_end_iterator(const_iterator end_iterator) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::container_from_iterator(iterator)
- static multiset_impl &container_from_iterator(iterator it) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::container_from_iterator(const_iterator)
- static const multiset_impl &container_from_iterator(const_iterator it) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::key_comp()const
- key_compare key_comp() const;
-
- //! @copydoc ::boost::intrusive::rbtree::value_comp()const
- value_compare value_comp() const;
-
- //! @copydoc ::boost::intrusive::rbtree::empty()const
- bool empty() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::size()const
- size_type size() const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::swap
- void swap(multiset_impl& other);
-
- //! @copydoc ::boost::intrusive::rbtree::clone_from(const rbtree&,Cloner,Disposer)
- template <class Cloner, class Disposer>
- void clone_from(const multiset_impl &src, Cloner cloner, Disposer disposer);
-
- #else
-
- using tree_type::clone_from;
-
- #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
-
- //! @copydoc ::boost::intrusive::rbtree::clone_from(rbtree&&,Cloner,Disposer)
- template <class Cloner, class Disposer>
- void clone_from(BOOST_RV_REF(multiset_impl) src, Cloner cloner, Disposer disposer)
- { tree_type::clone_from(BOOST_MOVE_BASE(tree_type, src), cloner, disposer); }
-
- //! @copydoc ::boost::intrusive::rbtree::insert_equal(reference)
- iterator insert(reference value)
- { return tree_type::insert_equal(value); }
-
- //! @copydoc ::boost::intrusive::rbtree::insert_equal(const_iterator,reference)
- iterator insert(const_iterator hint, reference value)
- { return tree_type::insert_equal(hint, value); }
-
- //! @copydoc ::boost::intrusive::rbtree::insert_equal(Iterator,Iterator)
- template<class Iterator>
- void insert(Iterator b, Iterator e)
- { tree_type::insert_equal(b, e); }
-
- #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
- //! @copydoc ::boost::intrusive::rbtree::insert_before
- iterator insert_before(const_iterator pos, reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::push_back
- void push_back(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::push_front
- void push_front(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::erase(const_iterator)
- iterator erase(const_iterator i) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::erase(const_iterator,const_iterator)
- iterator erase(const_iterator b, const_iterator e) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::erase(const key_type &)
- size_type erase(const key_type &key);
-
- //! @copydoc ::boost::intrusive::rbtree::erase(const KeyType&,KeyTypeKeyCompare)
- template<class KeyType, class KeyTypeKeyCompare>
- size_type erase(const KeyType& key, KeyTypeKeyCompare comp);
-
- //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const_iterator,Disposer)
- template<class Disposer>
- iterator erase_and_dispose(const_iterator i, Disposer disposer) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const_iterator,const_iterator,Disposer)
- template<class Disposer>
- iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const key_type &, Disposer)
- template<class Disposer>
- size_type erase_and_dispose(const key_type &key, Disposer disposer);
-
- //! @copydoc ::boost::intrusive::rbtree::erase_and_dispose(const KeyType&,KeyTypeKeyCompare,Disposer)
- template<class KeyType, class KeyTypeKeyCompare, class Disposer>
- size_type erase_and_dispose(const KeyType& key, KeyTypeKeyCompare comp, Disposer disposer);
-
- //! @copydoc ::boost::intrusive::rbtree::clear
- void clear() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::clear_and_dispose
- template<class Disposer>
- void clear_and_dispose(Disposer disposer) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::count(const key_type &)const
- size_type count(const key_type &key) const;
-
- //! @copydoc ::boost::intrusive::rbtree::count(const KeyType&,KeyTypeKeyCompare)const
- template<class KeyType, class KeyTypeKeyCompare>
- size_type count(const KeyType& key, KeyTypeKeyCompare comp) const;
-
- //! @copydoc ::boost::intrusive::rbtree::lower_bound(const key_type &)
- iterator lower_bound(const key_type &key);
-
- //! @copydoc ::boost::intrusive::rbtree::lower_bound(const KeyType&,KeyTypeKeyCompare)
- template<class KeyType, class KeyTypeKeyCompare>
- iterator lower_bound(const KeyType& key, KeyTypeKeyCompare comp);
-
- //! @copydoc ::boost::intrusive::rbtree::lower_bound(const key_type &)const
- const_iterator lower_bound(const key_type &key) const;
-
- //! @copydoc ::boost::intrusive::rbtree::lower_bound(const KeyType&,KeyTypeKeyCompare)const
- template<class KeyType, class KeyTypeKeyCompare>
- const_iterator lower_bound(const KeyType& key, KeyTypeKeyCompare comp) const;
-
- //! @copydoc ::boost::intrusive::rbtree::upper_bound(const key_type &)
- iterator upper_bound(const key_type &key);
-
- //! @copydoc ::boost::intrusive::rbtree::upper_bound(const KeyType&,KeyTypeKeyCompare)
- template<class KeyType, class KeyTypeKeyCompare>
- iterator upper_bound(const KeyType& key, KeyTypeKeyCompare comp);
-
- //! @copydoc ::boost::intrusive::rbtree::upper_bound(const key_type &)const
- const_iterator upper_bound(const key_type &key) const;
-
- //! @copydoc ::boost::intrusive::rbtree::upper_bound(const KeyType&,KeyTypeKeyCompare)const
- template<class KeyType, class KeyTypeKeyCompare>
- const_iterator upper_bound(const KeyType& key, KeyTypeKeyCompare comp) const;
-
- //! @copydoc ::boost::intrusive::rbtree::find(const key_type &)
- iterator find(const key_type &key);
-
- //! @copydoc ::boost::intrusive::rbtree::find(const KeyType&,KeyTypeKeyCompare)
- template<class KeyType, class KeyTypeKeyCompare>
- iterator find(const KeyType& key, KeyTypeKeyCompare comp);
-
- //! @copydoc ::boost::intrusive::rbtree::find(const key_type &)const
- const_iterator find(const key_type &key) const;
-
- //! @copydoc ::boost::intrusive::rbtree::find(const KeyType&,KeyTypeKeyCompare)const
- template<class KeyType, class KeyTypeKeyCompare>
- const_iterator find(const KeyType& key, KeyTypeKeyCompare comp) const;
-
- //! @copydoc ::boost::intrusive::rbtree::equal_range(const key_type &)
- std::pair<iterator,iterator> equal_range(const key_type &key);
-
- //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyTypeKeyCompare)
- template<class KeyType, class KeyTypeKeyCompare>
- std::pair<iterator,iterator> equal_range(const KeyType& key, KeyTypeKeyCompare comp);
-
- //! @copydoc ::boost::intrusive::rbtree::equal_range(const key_type &)const
- std::pair<const_iterator, const_iterator>
- equal_range(const key_type &key) const;
-
- //! @copydoc ::boost::intrusive::rbtree::equal_range(const KeyType&,KeyTypeKeyCompare)const
- template<class KeyType, class KeyTypeKeyCompare>
- std::pair<const_iterator, const_iterator>
- equal_range(const KeyType& key, KeyTypeKeyCompare comp) const;
-
- //! @copydoc ::boost::intrusive::rbtree::bounded_range(const key_type &,const key_type &,bool,bool)
- std::pair<iterator,iterator> bounded_range
- (const key_type &lower_key, const key_type &upper_key, bool left_closed, bool right_closed);
-
- //! @copydoc ::boost::intrusive::rbtree::bounded_range(const KeyType&,const KeyType&,KeyTypeKeyCompare,bool,bool)
- template<class KeyType, class KeyTypeKeyCompare>
- std::pair<iterator,iterator> bounded_range
- (const KeyType& lower_key, const KeyType& upper_key, KeyTypeKeyCompare comp, bool left_closed, bool right_closed);
-
- //! @copydoc ::boost::intrusive::rbtree::bounded_range(const key_type &,const key_type &,bool,bool)const
- std::pair<const_iterator, const_iterator>
- bounded_range(const key_type &lower_key, const key_type &upper_key, bool left_closed, bool right_closed) const;
-
- //! @copydoc ::boost::intrusive::rbtree::bounded_range(const KeyType&,const KeyType&,KeyTypeKeyCompare,bool,bool)const
- template<class KeyType, class KeyTypeKeyCompare>
- std::pair<const_iterator, const_iterator> bounded_range
- (const KeyType& lower_key, const KeyType& upper_key, KeyTypeKeyCompare comp, bool left_closed, bool right_closed) const;
-
- //! @copydoc ::boost::intrusive::rbtree::s_iterator_to(reference)
- static iterator s_iterator_to(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::s_iterator_to(const_reference)
- static const_iterator s_iterator_to(const_reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::iterator_to(reference)
- iterator iterator_to(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::iterator_to(const_reference)const
- const_iterator iterator_to(const_reference value) const BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::init_node(reference)
- static void init_node(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::unlink_leftmost_without_rebalance
- pointer unlink_leftmost_without_rebalance() BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::replace_node
- void replace_node(iterator replace_this, reference with_this) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::remove_node
- void remove_node(reference value) BOOST_NOEXCEPT;
-
- //! @copydoc ::boost::intrusive::rbtree::merge_equal
- template<class ...Options2>
- void merge(multiset<T, Options2...> &source);
-
- //! @copydoc ::boost::intrusive::rbtree::merge_equal
- template<class ...Options2>
- void merge(set<T, Options2...> &source);
-
- #else
-
- template<class Compare2>
- void merge(multiset_impl<ValueTraits, VoidOrKeyOfValue, Compare2, SizeType, ConstantTimeSize, HeaderHolder> &source)
- { return tree_type::merge_equal(source); }
-
- template<class Compare2>
- void merge(set_impl<ValueTraits, VoidOrKeyOfValue, Compare2, SizeType, ConstantTimeSize, HeaderHolder> &source)
- { return tree_type::merge_equal(source); }
-
- #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
-};
-
-#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
-
-template<class T, class ...Options>
-bool operator!= (const multiset_impl<T, Options...> &x, const multiset_impl<T, Options...> &y);
-
-template<class T, class ...Options>
-bool operator>(const multiset_impl<T, Options...> &x, const multiset_impl<T, Options...> &y);
-
-template<class T, class ...Options>
-bool operator<=(const multiset_impl<T, Options...> &x, const multiset_impl<T, Options...> &y);
-
-template<class T, class ...Options>
-bool operator>=(const multiset_impl<T, Options...> &x, const multiset_impl<T, Options...> &y);
-
-template<class T, class ...Options>
-void swap(multiset_impl<T, Options...> &x, multiset_impl<T, Options...> &y);
-
-#endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
-
-//! Helper metafunction to define a \c multiset that yields to the same type when the
-//! same options (either explicitly or implicitly) are used.
-#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) || defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
-template<class T, class ...Options>
-#else
-template<class T, class O1 = void, class O2 = void
- , class O3 = void, class O4 = void
- , class O5 = void, class O6 = void>
-#endif
-struct make_multiset
-{
- /// @cond
- typedef typename pack_options
- < rbtree_defaults,
- #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
- O1, O2, O3, O4, O5, O6
- #else
- Options...
- #endif
- >::type packed_options;
-
- typedef typename detail::get_value_traits
- <T, typename packed_options::proto_value_traits>::type value_traits;
-
- typedef multiset_impl
- < value_traits
- , typename packed_options::key_of_value
- , typename packed_options::compare
- , typename packed_options::size_type
- , packed_options::constant_time_size
- , typename packed_options::header_holder_type
- > implementation_defined;
- /// @endcond
- typedef implementation_defined type;
-};
-
-#ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
-
-#if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
-template<class T, class O1, class O2, class O3, class O4, class O5, class O6>
-#else
-template<class T, class ...Options>
-#endif
-class multiset
- : public make_multiset<T,
- #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
- O1, O2, O3, O4, O5, O6
- #else
- Options...
- #endif
- >::type
-{
- typedef typename make_multiset<T,
- #if !defined(BOOST_INTRUSIVE_VARIADIC_TEMPLATES)
- O1, O2, O3, O4, O5, O6
- #else
- Options...
- #endif
- >::type Base;
-
- BOOST_MOVABLE_BUT_NOT_COPYABLE(multiset)
-
- public:
- typedef typename Base::key_compare key_compare;
- typedef typename Base::value_traits value_traits;
- typedef typename Base::iterator iterator;
- typedef typename Base::const_iterator const_iterator;
-
- //Assert if passed value traits are compatible with the type
- BOOST_STATIC_ASSERT((detail::is_same<typename value_traits::value_type, T>::value));
-
- BOOST_INTRUSIVE_FORCEINLINE multiset()
- : Base()
- {}
-
- BOOST_INTRUSIVE_FORCEINLINE explicit multiset( const key_compare &cmp, const value_traits &v_traits = value_traits())
- : Base(cmp, v_traits)
- {}
-
- template<class Iterator>
- BOOST_INTRUSIVE_FORCEINLINE multiset( Iterator b, Iterator e
- , const key_compare &cmp = key_compare()
- , const value_traits &v_traits = value_traits())
- : Base(b, e, cmp, v_traits)
- {}
-
- BOOST_INTRUSIVE_FORCEINLINE multiset(BOOST_RV_REF(multiset) x)
- : Base(BOOST_MOVE_BASE(Base, x))
- {}
-
- BOOST_INTRUSIVE_FORCEINLINE multiset& operator=(BOOST_RV_REF(multiset) x)
- { return static_cast<multiset &>(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); }
-
- template <class Cloner, class Disposer>
- BOOST_INTRUSIVE_FORCEINLINE void clone_from(const multiset &src, Cloner cloner, Disposer disposer)
- { Base::clone_from(src, cloner, disposer); }
-
- template <class Cloner, class Disposer>
- BOOST_INTRUSIVE_FORCEINLINE void clone_from(BOOST_RV_REF(multiset) src, Cloner cloner, Disposer disposer)
- { Base::clone_from(BOOST_MOVE_BASE(Base, src), cloner, disposer); }
-
- BOOST_INTRUSIVE_FORCEINLINE static multiset &container_from_end_iterator(iterator end_iterator) BOOST_NOEXCEPT
- { return static_cast<multiset &>(Base::container_from_end_iterator(end_iterator)); }
-
- BOOST_INTRUSIVE_FORCEINLINE static const multiset &container_from_end_iterator(const_iterator end_iterator) BOOST_NOEXCEPT
- { return static_cast<const multiset &>(Base::container_from_end_iterator(end_iterator)); }
-
- BOOST_INTRUSIVE_FORCEINLINE static multiset &container_from_iterator(iterator it) BOOST_NOEXCEPT
- { return static_cast<multiset &>(Base::container_from_iterator(it)); }
-
- BOOST_INTRUSIVE_FORCEINLINE static const multiset &container_from_iterator(const_iterator it) BOOST_NOEXCEPT
- { return static_cast<const multiset &>(Base::container_from_iterator(it)); }
-};
-
-#endif
-
-} //namespace intrusive
-} //namespace boost
-
-#include <boost/intrusive/detail/config_end.hpp>
-
-#endif //BOOST_INTRUSIVE_SET_HPP
diff --git a/contrib/restricted/boost/libs/log/src/alignment_gap_between.hpp b/contrib/restricted/boost/libs/log/src/alignment_gap_between.hpp
deleted file mode 100644
index cc16a9f129..0000000000
--- a/contrib/restricted/boost/libs/log/src/alignment_gap_between.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file alignment_gap_between.hpp
- * \author Andrey Semashev
- * \date 20.11.2007
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_ALIGNMENT_GAP_BETWEEN_HPP_INCLUDED_
-#define BOOST_LOG_ALIGNMENT_GAP_BETWEEN_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The metafunction computes the minimal gap between objects t1 and t2 of types T1 and T2
-//! that would be needed to maintain the alignment of t2 if it's placed right after t1
-template< typename T1, typename T2 >
-struct alignment_gap_between
-{
- enum _
- {
- T2_alignment = boost::alignment_of< T2 >::value,
- tail_size = sizeof(T1) % T2_alignment,
- value = tail_size > 0 ? T2_alignment - tail_size : 0
- };
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ALIGNMENT_GAP_BETWEEN_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/libs/log/src/attribute_name.cpp b/contrib/restricted/boost/libs/log/src/attribute_name.cpp
deleted file mode 100644
index a804fed827..0000000000
--- a/contrib/restricted/boost/libs/log/src/attribute_name.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_name.cpp
- * \author Andrey Semashev
- * \date 28.06.2010
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <cstring>
-#include <deque>
-#include <ostream>
-#include <stdexcept>
-#include <boost/assert.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/intrusive/set.hpp>
-#include <boost/intrusive/set_hook.hpp>
-#include <boost/intrusive/options.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/detail/singleton.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/locks.hpp>
-#include <boost/log/detail/light_rw_mutex.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! A global container of all known attribute names
-class attribute_name::repository :
- public log::aux::lazy_singleton<
- repository,
- shared_ptr< repository >
- >
-{
- typedef log::aux::lazy_singleton<
- repository,
- shared_ptr< repository >
- > base_type;
-
-#if !defined(BOOST_LOG_BROKEN_FRIEND_TEMPLATE_SPECIALIZATIONS)
- friend class log::aux::lazy_singleton<
- repository,
- shared_ptr< repository >
- >;
-#else
- friend class base_type;
-#endif
-
-public:
- // Import types from the basic_attribute_name template
- typedef attribute_name::id_type id_type;
- typedef attribute_name::string_type string_type;
-
- //! A base hook for arranging the attribute names into a set
- typedef intrusive::set_base_hook<
- intrusive::link_mode< intrusive::safe_link >,
- intrusive::optimize_size< true >
- > node_by_name_hook;
-
-private:
- //! An element of the attribute names repository
- struct node :
- public node_by_name_hook
- {
- typedef node_by_name_hook base_type;
-
- public:
- //! A predicate for name-based ordering
- struct order_by_name
- {
- typedef bool result_type;
-
- bool operator() (node const& left, node const& right) const
- {
- return std::strcmp(left.m_name.c_str(), right.m_name.c_str()) < 0;
- }
- bool operator() (node const& left, const char* right) const
- {
- return std::strcmp(left.m_name.c_str(), right) < 0;
- }
- bool operator() (const char* left, node const& right) const
- {
- return std::strcmp(left, right.m_name.c_str()) < 0;
- }
- };
-
- public:
- id_type m_id;
- string_type m_name;
-
- public:
- node() : m_id(0), m_name() {}
- node(id_type i, string_type const& n) :
- base_type(),
- m_id(i),
- m_name(n)
- {
- }
- node(node const& that) :
- base_type(),
- m_id(that.m_id),
- m_name(that.m_name)
- {
- }
- };
-
- //! The container that provides storage for nodes
- typedef std::deque< node > node_list;
- //! The container that provides name-based lookup
- typedef intrusive::set<
- node,
- intrusive::base_hook< node_by_name_hook >,
- intrusive::constant_time_size< false >,
- intrusive::compare< node::order_by_name >
- > node_set;
-
-private:
-#if !defined(BOOST_LOG_NO_THREADS)
- typedef log::aux::light_rw_mutex mutex_type;
- log::aux::light_rw_mutex m_Mutex;
-#endif
- node_list m_NodeList;
- node_set m_NodeSet;
-
-public:
- //! Converts attribute name string to id
- id_type get_id_from_string(const char* name)
- {
- BOOST_ASSERT(name != NULL);
-
-#if !defined(BOOST_LOG_NO_THREADS)
- {
- // Do a non-blocking lookup first
- log::aux::shared_lock_guard< mutex_type > _(m_Mutex);
- node_set::const_iterator it =
- m_NodeSet.find(name, node::order_by_name());
- if (it != m_NodeSet.end())
- return it->m_id;
- }
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
- BOOST_LOG_EXPR_IF_MT(log::aux::exclusive_lock_guard< mutex_type > _(m_Mutex);)
- node_set::iterator it =
- m_NodeSet.lower_bound(name, node::order_by_name());
- if (it == m_NodeSet.end() || it->m_name != name)
- {
- const std::size_t new_id = m_NodeList.size();
- if (new_id >= static_cast< id_type >(attribute_name::uninitialized))
- BOOST_THROW_EXCEPTION(limitation_error("Too many log attribute names"));
-
- m_NodeList.push_back(node(static_cast< id_type >(new_id), name));
- it = m_NodeSet.insert(it, m_NodeList.back());
- }
- return it->m_id;
- }
-
- //! Converts id to the attribute name string
- string_type const& get_string_from_id(id_type id)
- {
- BOOST_LOG_EXPR_IF_MT(log::aux::shared_lock_guard< mutex_type > _(m_Mutex);)
- BOOST_ASSERT(id < m_NodeList.size());
- return m_NodeList[id].m_name;
- }
-
-private:
- //! Initializes the singleton instance
- static void init_instance()
- {
- base_type::get_instance() = boost::make_shared< repository >();
- }
-};
-
-BOOST_LOG_API attribute_name::id_type
-attribute_name::get_id_from_string(const char* name)
-{
- return repository::get()->get_id_from_string(name);
-}
-
-BOOST_LOG_API attribute_name::string_type const&
-attribute_name::get_string_from_id(id_type id)
-{
- return repository::get()->get_string_from_id(id);
-}
-
-template< typename CharT, typename TraitsT >
-BOOST_LOG_API std::basic_ostream< CharT, TraitsT >& operator<< (
- std::basic_ostream< CharT, TraitsT >& strm,
- attribute_name const& name)
-{
- if (!!name)
- strm << name.string().c_str();
- else
- strm << "[uninitialized]";
- return strm;
-}
-
-// Explicitly instantiate attribute name implementation
-#ifdef BOOST_LOG_USE_CHAR
-template BOOST_LOG_API std::basic_ostream< char, std::char_traits< char > >&
- operator<< < char, std::char_traits< char > >(
- std::basic_ostream< char, std::char_traits< char > >& strm,
- attribute_name const& name);
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-template BOOST_LOG_API std::basic_ostream< wchar_t, std::char_traits< wchar_t > >&
- operator<< < wchar_t, std::char_traits< wchar_t > >(
- std::basic_ostream< wchar_t, std::char_traits< wchar_t > >& strm,
- attribute_name const& name);
-#endif
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/attribute_set.cpp b/contrib/restricted/boost/libs/log/src/attribute_set.cpp
deleted file mode 100644
index 27379e134c..0000000000
--- a/contrib/restricted/boost/libs/log/src/attribute_set.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_set.cpp
- * \author Andrey Semashev
- * \date 19.04.2007
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <deque>
-#include <boost/assert.hpp>
-#include <boost/intrusive/options.hpp>
-#include <boost/intrusive/list.hpp>
-#include <boost/intrusive/link_mode.hpp>
-#include <boost/intrusive/derivation_value_traits.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_set.hpp>
-#include "attribute_set_impl.hpp"
-#include "stateless_allocator.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-BOOST_LOG_API void* attribute::impl::operator new (std::size_t size)
-{
- return aux::stateless_allocator< unsigned char >().allocate(size);
-}
-
-BOOST_LOG_API void attribute::impl::operator delete (void* p, std::size_t size) BOOST_NOEXCEPT
-{
- aux::stateless_allocator< unsigned char >().deallocate(static_cast< unsigned char* >(p), size);
-}
-
-inline attribute_set::node_base::node_base() :
- m_pPrev(NULL),
- m_pNext(NULL)
-{
-}
-
-inline attribute_set::node::node(key_type const& key, mapped_type const& data) :
- node_base(),
- m_Value(key, data)
-{
-}
-
-//! Default constructor
-BOOST_LOG_API attribute_set::attribute_set() :
- m_pImpl(new implementation())
-{
-}
-
-//! Copy constructor
-BOOST_LOG_API attribute_set::attribute_set(attribute_set const& that) :
- m_pImpl(new implementation(*that.m_pImpl))
-{
-}
-
-//! Destructor
-BOOST_LOG_API attribute_set::~attribute_set() BOOST_NOEXCEPT
-{
- delete m_pImpl;
-}
-
-// Iterator generators
-BOOST_LOG_API attribute_set::iterator attribute_set::begin() BOOST_NOEXCEPT
-{
- return m_pImpl->begin();
-}
-BOOST_LOG_API attribute_set::iterator attribute_set::end() BOOST_NOEXCEPT
-{
- return m_pImpl->end();
-}
-BOOST_LOG_API attribute_set::const_iterator attribute_set::begin() const BOOST_NOEXCEPT
-{
- return const_iterator(m_pImpl->begin());
-}
-BOOST_LOG_API attribute_set::const_iterator attribute_set::end() const BOOST_NOEXCEPT
-{
- return const_iterator(m_pImpl->end());
-}
-
-//! The method returns number of elements in the container
-BOOST_LOG_API attribute_set::size_type attribute_set::size() const BOOST_NOEXCEPT
-{
- return m_pImpl->size();
-}
-
-//! Insertion method
-BOOST_LOG_API std::pair< attribute_set::iterator, bool >
-attribute_set::insert(key_type key, mapped_type const& data)
-{
- return m_pImpl->insert(key, data);
-}
-
-//! The method erases all attributes with the specified name
-BOOST_LOG_API attribute_set::size_type attribute_set::erase(key_type key) BOOST_NOEXCEPT
-{
- iterator it = m_pImpl->find(key);
- if (it != end())
- {
- m_pImpl->erase(it);
- return 1;
- }
- else
- return 0;
-}
-
-//! The method erases the specified attribute
-BOOST_LOG_API void attribute_set::erase(iterator it) BOOST_NOEXCEPT
-{
- m_pImpl->erase(it);
-}
-
-//! The method erases all attributes within the specified range
-BOOST_LOG_API void attribute_set::erase(iterator begin, iterator end) BOOST_NOEXCEPT
-{
- while (begin != end)
- {
- m_pImpl->erase(begin++);
- }
-}
-
-//! The method clears the container
-BOOST_LOG_API void attribute_set::clear() BOOST_NOEXCEPT
-{
- m_pImpl->clear();
-}
-
-//! Internal lookup implementation
-BOOST_LOG_API attribute_set::iterator attribute_set::find(key_type key) BOOST_NOEXCEPT
-{
- return m_pImpl->find(key);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/attribute_set_impl.hpp b/contrib/restricted/boost/libs/log/src/attribute_set_impl.hpp
deleted file mode 100644
index f6c829b648..0000000000
--- a/contrib/restricted/boost/libs/log/src/attribute_set_impl.hpp
+++ /dev/null
@@ -1,389 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_set_impl.hpp
- * \author Andrey Semashev
- * \date 03.07.2010
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_ATTRIBUTE_SET_IMPL_HPP_INCLUDED_
-#define BOOST_LOG_ATTRIBUTE_SET_IMPL_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <new>
-#include <memory>
-#include <limits>
-#include <utility>
-#include <algorithm>
-#include <cstddef>
-#include <boost/assert.hpp>
-#include <boost/array.hpp>
-#include <boost/intrusive/options.hpp>
-#include <boost/intrusive/list.hpp>
-#include <boost/intrusive/link_mode.hpp>
-#include <boost/intrusive/derivation_value_traits.hpp>
-#include <boost/log/attributes/attribute_set.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifndef BOOST_LOG_HASH_TABLE_SIZE_LOG
-// Hash table size will be 2 ^ this value
-#define BOOST_LOG_HASH_TABLE_SIZE_LOG 4
-#endif
-
-#ifndef BOOST_LOG_ATTRIBUTE_SET_MAX_POOL_SIZE
-// Maximum pool size that each attribute set maintains
-#define BOOST_LOG_ATTRIBUTE_SET_MAX_POOL_SIZE 8
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! A simple pooling allocator
-template< typename T >
-class pool_allocator :
- public std::allocator< T >
-{
-public:
- template< typename U >
- struct rebind
- {
- typedef pool_allocator< U > other;
- };
-
- typedef std::allocator< T > base_type;
-
-#if BOOST_LOG_ATTRIBUTE_SET_MAX_POOL_SIZE > 0
-
- typedef T value_type;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef T* pointer;
- typedef const T* const_pointer;
- typedef T& reference;
- typedef const T& const_reference;
-
-private:
- array< pointer, BOOST_LOG_ATTRIBUTE_SET_MAX_POOL_SIZE > m_Pool;
- size_type m_PooledCount;
-
-public:
- pool_allocator() : m_PooledCount(0)
- {
- }
-
- pool_allocator(pool_allocator const& that) :
- base_type(static_cast< base_type const& >(that)),
- m_PooledCount(0)
- {
- }
-
- template< typename U >
- pool_allocator(pool_allocator< U > const& that) :
- base_type(static_cast< typename pool_allocator< U >::base_type const& >(that)),
- m_PooledCount(0)
- {
- }
-
- ~pool_allocator()
- {
- for (size_type i = 0; i < m_PooledCount; ++i)
- {
- base_type::deallocate(m_Pool[i], 1);
- }
- }
-
- pool_allocator& operator= (pool_allocator const& that)
- {
- base_type::operator= (static_cast< base_type const& >(that));
- return *this;
- }
-
- template< typename U >
- pool_allocator& operator= (pool_allocator< U > const& that)
- {
- base_type::operator= (
- static_cast< typename pool_allocator< U >::base_type const& >(that));
- return *this;
- }
-
- pointer allocate(size_type n)
- {
- if (m_PooledCount > 0)
- {
- --m_PooledCount;
- return m_Pool[m_PooledCount];
- }
- else
- return base_type::allocate(n);
- }
-
- void deallocate(pointer p, size_type n)
- {
- if (m_PooledCount < m_Pool.size())
- {
- m_Pool[m_PooledCount] = p;
- ++m_PooledCount;
- }
- else
- base_type::deallocate(p, n);
- }
-
-#else
-
- template< typename U >
- pool_allocator(pool_allocator< U > const& that) :
- base_type(static_cast< typename pool_allocator< U >::base_type const& >(that))
- {
- }
-
-#endif // BOOST_LOG_ATTRIBUTE_SET_MAX_POOL_SIZE > 0
-};
-
-//! Attribute set implementation
-struct attribute_set::implementation
-{
-public:
- //! Attribute name identifier type
- typedef key_type::id_type id_type;
-
- //! Allocator type
- typedef pool_allocator< node > node_allocator;
-
- //! Node base class traits for the intrusive list
- struct node_traits
- {
- typedef node_base node;
- typedef node* node_ptr;
- typedef node const* const_node_ptr;
- static node* get_next(const node* n) { return n->m_pNext; }
- static void set_next(node* n, node* next) { n->m_pNext = next; }
- static node* get_previous(const node* n) { return n->m_pPrev; }
- static void set_previous(node* n, node* prev) { n->m_pPrev = prev; }
- };
-
- //! Contained node traits for the intrusive list
- typedef intrusive::derivation_value_traits<
- node,
- node_traits,
- intrusive::normal_link
- > value_traits;
-
- //! The container that allows to iterate through elements
- typedef intrusive::list<
- node,
- intrusive::value_traits< value_traits >,
- intrusive::constant_time_size< true >
- > node_list;
-
- //! A hash table bucket
- struct bucket
- {
- //! Points to the first element in the bucket
- node* first;
- //! Points to the last element in the bucket (not the one after the last!)
- node* last;
-
- bucket() : first(NULL), last(NULL) {}
- };
-
- //! A list of buckets
- typedef boost::array< bucket, 1U << BOOST_LOG_HASH_TABLE_SIZE_LOG > buckets;
-
- //! Cleanup function object used to erase elements from the container
- struct disposer
- {
- typedef void result_type;
-
- explicit disposer(node_allocator& alloc) : m_Allocator(alloc)
- {
- }
- void operator() (node* p) const
- {
- p->~node();
- m_Allocator.deallocate(p, 1);
- }
-
- private:
- node_allocator& m_Allocator;
- };
-
-private:
- //! List of nodes
- node_list m_Nodes;
- //! Node allocator
- node_allocator m_Allocator;
- //! Hash table buckets
- buckets m_Buckets;
-
-public:
- implementation()
- {
- }
-
- implementation(implementation const& that) : m_Allocator(that.m_Allocator)
- {
- node_list::const_iterator it = that.m_Nodes.begin(), end = that.m_Nodes.end();
- for (; it != end; ++it)
- {
- node* const n = m_Allocator.allocate(1);
- new (n) node(it->m_Value.first, it->m_Value.second);
- m_Nodes.push_back(*n);
-
- bucket& b = get_bucket(it->m_Value.first.id());
- if (b.first == NULL)
- b.first = b.last = n;
- else
- b.last = n;
- }
- }
-
- ~implementation()
- {
- m_Nodes.clear_and_dispose(disposer(m_Allocator));
- }
-
- size_type size() const { return m_Nodes.size(); }
- iterator begin() { return iterator(m_Nodes.begin().pointed_node()); }
- iterator end() { return iterator(m_Nodes.end().pointed_node()); }
-
- void clear()
- {
- m_Nodes.clear_and_dispose(disposer(m_Allocator));
- std::fill_n(m_Buckets.begin(), m_Buckets.size(), bucket());
- }
-
- std::pair< iterator, bool > insert(key_type key, mapped_type const& data)
- {
- BOOST_ASSERT(!!key);
-
- bucket& b = get_bucket(key.id());
- node* p = b.first;
- if (p)
- {
- // The bucket is not empty, search among the elements
- p = find_in_bucket(key, b);
- if (p->m_Value.first == key)
- return std::make_pair(iterator(p), false);
- }
-
- node* const n = m_Allocator.allocate(1);
- new (n) node(key, data);
-
- node_list::iterator it;
- if (b.first == NULL)
- {
- // The bucket is empty
- b.first = b.last = n;
- it = m_Nodes.end();
- }
- else if (p == b.last && key.id() > p->m_Value.first.id())
- {
- // The new element should become the last element of the bucket
- it = m_Nodes.iterator_to(*p);
- ++it;
- b.last = n;
- }
- else if (p == b.first)
- {
- // The new element should become the first element of the bucket
- it = m_Nodes.iterator_to(*p);
- b.first = n;
- }
- else
- {
- // The new element should be within the bucket
- it = m_Nodes.iterator_to(*p);
- }
-
- m_Nodes.insert(it, *n);
-
- return std::make_pair(iterator(n), true);
- }
-
- void erase(iterator it)
- {
- typedef node_list::node_traits node_traits;
- typedef node_list::value_traits value_traits;
-
- node* p = static_cast< node* >(it.base());
-
- // Adjust bucket boundaries, if needed
- bucket& b = get_bucket(it->first.id());
- if (p == b.first)
- {
- if (p == b.last)
- {
- // The erased element is the only one in the bucket
- b.first = b.last = NULL;
- }
- else
- {
- // The erased element is the first one in the bucket
- b.first = value_traits::to_value_ptr(node_traits::get_next(b.first));
- }
- }
- else if (p == b.last)
- {
- // The erased element is the last one in the bucket
- b.last = value_traits::to_value_ptr(node_traits::get_previous(b.last));
- }
-
- m_Nodes.erase_and_dispose(m_Nodes.iterator_to(*p), disposer(m_Allocator));
- }
-
- iterator find(key_type key)
- {
- bucket& b = get_bucket(key.id());
- node* p = b.first;
- if (p)
- {
- // The bucket is not empty, search among the elements
- p = find_in_bucket(key, b);
- if (p->m_Value.first == key)
- return iterator(p);
- }
-
- return end();
- }
-
-private:
- implementation& operator= (implementation const&);
-
- //! The function returns a bucket for the specified element
- bucket& get_bucket(id_type id)
- {
- return m_Buckets[id & (buckets::static_size - 1)];
- }
-
- //! Attempts to find an element with the specified key in the bucket
- node* find_in_bucket(key_type key, bucket const& b)
- {
- typedef node_list::node_traits node_traits;
- typedef node_list::value_traits value_traits;
-
- // All elements within the bucket are sorted to speedup the search.
- node* p = b.first;
- while (p != b.last && p->m_Value.first.id() < key.id())
- {
- p = value_traits::to_value_ptr(node_traits::get_next(p));
- }
-
- return p;
- }
-};
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ATTRIBUTE_SET_IMPL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/libs/log/src/attribute_value_set.cpp b/contrib/restricted/boost/libs/log/src/attribute_value_set.cpp
deleted file mode 100644
index 14d9752a73..0000000000
--- a/contrib/restricted/boost/libs/log/src/attribute_value_set.cpp
+++ /dev/null
@@ -1,570 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file attribute_value_set.cpp
- * \author Andrey Semashev
- * \date 19.04.2007
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <new>
-#include <memory>
-#include <boost/array.hpp>
-#include <boost/intrusive/options.hpp>
-#include <boost/intrusive/list.hpp>
-#include <boost/intrusive/link_mode.hpp>
-#include <boost/intrusive/derivation_value_traits.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/attribute_value.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include "alignment_gap_between.hpp"
-#include "attribute_set_impl.hpp"
-#include "stateless_allocator.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-BOOST_FORCEINLINE attribute_value_set::node_base::node_base() :
- m_pPrev(NULL),
- m_pNext(NULL)
-{
-}
-
-BOOST_FORCEINLINE attribute_value_set::node::node(key_type const& key, mapped_type& data, bool dynamic) :
- node_base(),
- m_Value(key, mapped_type()),
- m_DynamicallyAllocated(dynamic)
-{
- m_Value.second.swap(data);
-}
-
-//! Container implementation
-struct attribute_value_set::implementation
-{
-public:
- typedef key_type::id_type id_type;
-
-private:
- typedef attribute_set::implementation attribute_set_impl_type;
- typedef boost::log::aux::stateless_allocator< char > stateless_allocator;
-
- //! Node base class traits for the intrusive list
- struct node_traits
- {
- typedef node_base node;
- typedef node* node_ptr;
- typedef node const* const_node_ptr;
- static node* get_next(const node* n) { return n->m_pNext; }
- static void set_next(node* n, node* next) { n->m_pNext = next; }
- static node* get_previous(const node* n) { return n->m_pPrev; }
- static void set_previous(node* n, node* prev) { n->m_pPrev = prev; }
- };
-
- //! Contained node traits for the intrusive list
- typedef intrusive::derivation_value_traits<
- node,
- node_traits,
- intrusive::normal_link
- > value_traits;
-
- //! A container that provides iteration through elements of the container
- typedef intrusive::list<
- node,
- intrusive::value_traits< value_traits >,
- intrusive::constant_time_size< true >
- > node_list;
-
- //! A hash table bucket
- struct bucket
- {
- //! Points to the first element in the bucket
- node* first;
- //! Points to the last element in the bucket (not the one after the last!)
- node* last;
-
- bucket() : first(NULL), last(NULL) {}
- };
-
- //! A list of buckets
- typedef boost::array< bucket, 1u << BOOST_LOG_HASH_TABLE_SIZE_LOG > buckets;
-
- //! Element disposer
- struct disposer
- {
- typedef void result_type;
- void operator() (node* p) const BOOST_NOEXCEPT
- {
- if (!p->m_DynamicallyAllocated)
- p->~node();
- else
- delete p;
- }
- };
-
-private:
- //! Pointer to the source-specific attributes
- attribute_set_impl_type* m_pSourceAttributes;
- //! Pointer to the thread-specific attributes
- attribute_set_impl_type* m_pThreadAttributes;
- //! Pointer to the global attributes
- attribute_set_impl_type* m_pGlobalAttributes;
-
- //! The container with elements
- node_list m_Nodes;
- //! The pointer to the end of the allocated elements within the storage
- node* m_pEnd;
- //! The pointer to the end of storage
- node* m_pEOS;
-
- //! Hash table buckets
- buckets m_Buckets;
-
-private:
- //! Constructor
- implementation(
- node* storage,
- node* eos,
- attribute_set_impl_type* source_attrs,
- attribute_set_impl_type* thread_attrs,
- attribute_set_impl_type* global_attrs
- ) :
- m_pSourceAttributes(source_attrs),
- m_pThreadAttributes(thread_attrs),
- m_pGlobalAttributes(global_attrs),
- m_pEnd(storage),
- m_pEOS(eos)
- {
- }
-
- //! Destructor
- ~implementation()
- {
- m_Nodes.clear_and_dispose(disposer());
- }
-
- //! The function allocates memory and creates the object
- static implementation* create(
- size_type element_count,
- attribute_set_impl_type* source_attrs,
- attribute_set_impl_type* thread_attrs,
- attribute_set_impl_type* global_attrs)
- {
- // Calculate the buffer size
- const size_type header_size = sizeof(implementation) +
- aux::alignment_gap_between< implementation, node >::value;
- const size_type buffer_size = header_size + element_count * sizeof(node);
-
- implementation* p = reinterpret_cast< implementation* >(stateless_allocator().allocate(buffer_size));
- node* const storage = reinterpret_cast< node* >(reinterpret_cast< char* >(p) + header_size);
- new (p) implementation(storage, storage + element_count, source_attrs, thread_attrs, global_attrs);
-
- return p;
- }
-
-public:
- //! The function allocates memory and creates the object
- static implementation* create(
- attribute_set const& source_attrs,
- attribute_set const& thread_attrs,
- attribute_set const& global_attrs,
- size_type reserve_count)
- {
- return create(
- source_attrs.m_pImpl->size() + thread_attrs.m_pImpl->size() + global_attrs.m_pImpl->size() + reserve_count,
- source_attrs.m_pImpl,
- thread_attrs.m_pImpl,
- global_attrs.m_pImpl);
- }
-
- //! The function allocates memory and creates the object
- static implementation* create(
- attribute_value_set const& source_attrs,
- attribute_set const& thread_attrs,
- attribute_set const& global_attrs,
- size_type reserve_count)
- {
- implementation* p = create(
- source_attrs.m_pImpl->size() + thread_attrs.m_pImpl->size() + global_attrs.m_pImpl->size() + reserve_count,
- NULL,
- thread_attrs.m_pImpl,
- global_attrs.m_pImpl);
- p->copy_nodes_from(source_attrs.m_pImpl);
- return p;
- }
-
- //! The function allocates memory and creates the object
- static implementation* create(
- BOOST_RV_REF(attribute_value_set) source_attrs,
- attribute_set const& thread_attrs,
- attribute_set const& global_attrs,
- size_type reserve_count)
- {
- implementation* p = source_attrs.m_pImpl;
- source_attrs.m_pImpl = NULL;
- p->m_pThreadAttributes = thread_attrs.m_pImpl;
- p->m_pGlobalAttributes = global_attrs.m_pImpl;
- return p;
- }
-
- //! The function allocates memory and creates the object
- static implementation* create(size_type reserve_count)
- {
- return create(reserve_count, NULL, NULL, NULL);
- }
-
- //! Creates a copy of the object
- static implementation* copy(implementation* that)
- {
- // Create new object
- implementation* p = create(that->size(), NULL, NULL, NULL);
-
- // Copy all elements
- p->copy_nodes_from(that);
-
- return p;
- }
-
- //! Destroys the object and releases the memory
- static void destroy(implementation* p)
- {
- const size_type buffer_size = reinterpret_cast< char* >(p->m_pEOS) - reinterpret_cast< char* >(p);
- p->~implementation();
- stateless_allocator().deallocate(reinterpret_cast< stateless_allocator::pointer >(p), buffer_size);
- }
-
- //! Returns the pointer to the first element
- node_base* begin()
- {
- freeze();
- return m_Nodes.begin().pointed_node();
- }
- //! Returns the pointer after the last element
- node_base* end()
- {
- return m_Nodes.end().pointed_node();
- }
-
- //! Returns the number of elements in the container
- size_type size()
- {
- freeze();
- return m_Nodes.size();
- }
-
- //! Looks for the element with an equivalent key
- node_base* find(key_type key)
- {
- // First try to find an acquired element
- bucket& b = get_bucket(key.id());
- node* p = b.first;
- if (p)
- {
- // The bucket is not empty, search among the elements
- p = find_in_bucket(key, b);
- if (p->m_Value.first == key)
- return p;
- }
-
- // Element not found, try to acquire the value from attribute sets
- return freeze_node(key, b, p);
- }
-
- //! Freezes all elements of the container
- void freeze()
- {
- if (m_pSourceAttributes)
- {
- freeze_nodes_from(m_pSourceAttributes);
- m_pSourceAttributes = NULL;
- }
- if (m_pThreadAttributes)
- {
- freeze_nodes_from(m_pThreadAttributes);
- m_pThreadAttributes = NULL;
- }
- if (m_pGlobalAttributes)
- {
- freeze_nodes_from(m_pGlobalAttributes);
- m_pGlobalAttributes = NULL;
- }
- }
-
- //! Inserts an element
- std::pair< node*, bool > insert(key_type key, mapped_type const& mapped)
- {
- bucket& b = get_bucket(key.id());
- node* p = find_in_bucket(key, b);
- if (!p || p->m_Value.first != key)
- {
- p = insert_node(key, b, p, mapped);
- return std::pair< node*, bool >(p, true);
- }
- else
- {
- return std::pair< node*, bool >(p, false);
- }
- }
-
-private:
- //! The function returns a bucket for the specified element
- bucket& get_bucket(id_type id)
- {
- return m_Buckets[id & (buckets::static_size - 1u)];
- }
-
- //! Attempts to find an element with the specified key in the bucket
- node* find_in_bucket(key_type key, bucket const& b)
- {
- typedef node_list::node_traits node_traits;
- typedef node_list::value_traits value_traits;
-
- // All elements within the bucket are sorted to speedup the search.
- node* p = b.first;
- while (p != b.last && p->m_Value.first.id() < key.id())
- {
- p = value_traits::to_value_ptr(node_traits::get_next(p));
- }
-
- return p;
- }
-
- //! Acquires the attribute value from the attribute sets
- node_base* freeze_node(key_type key, bucket& b, node* where)
- {
- attribute_set::iterator it;
- if (m_pSourceAttributes)
- {
- it = m_pSourceAttributes->find(key);
- if (it != m_pSourceAttributes->end())
- {
- // The attribute is found, acquiring the value
- return insert_node(key, b, where, it->second.get_value());
- }
- }
-
- if (m_pThreadAttributes)
- {
- it = m_pThreadAttributes->find(key);
- if (it != m_pThreadAttributes->end())
- {
- // The attribute is found, acquiring the value
- return insert_node(key, b, where, it->second.get_value());
- }
- }
-
- if (m_pGlobalAttributes)
- {
- it = m_pGlobalAttributes->find(key);
- if (it != m_pGlobalAttributes->end())
- {
- // The attribute is found, acquiring the value
- return insert_node(key, b, where, it->second.get_value());
- }
- }
-
- // The attribute is not found
- return m_Nodes.end().pointed_node();
- }
-
- //! The function inserts a node into the container
- node* insert_node(key_type key, bucket& b, node* where, mapped_type data)
- {
- node* p;
- if (m_pEnd != m_pEOS)
- {
- p = m_pEnd++;
- new (p) node(key, data, false);
- }
- else
- {
- p = new node(key, data, true);
- }
-
- node_list::iterator it;
- if (b.first == NULL)
- {
- // The bucket is empty
- b.first = b.last = p;
- it = m_Nodes.end();
- }
- else if (where == b.last && key.id() > where->m_Value.first.id())
- {
- // The new element should become the last element of the bucket
- it = m_Nodes.iterator_to(*where);
- ++it;
- b.last = p;
- }
- else if (where == b.first)
- {
- // The new element should become the first element of the bucket
- it = m_Nodes.iterator_to(*where);
- b.first = p;
- }
- else
- {
- // The new element should be within the bucket
- it = m_Nodes.iterator_to(*where);
- }
-
- m_Nodes.insert(it, *p);
-
- return p;
- }
-
- //! Acquires attribute values from the set of attributes
- void freeze_nodes_from(attribute_set_impl_type* attrs)
- {
- attribute_set::const_iterator it = attrs->begin(), end = attrs->end();
- for (; it != end; ++it)
- {
- key_type key = it->first;
- bucket& b = get_bucket(key.id());
- node* p = b.first;
- if (p)
- {
- p = find_in_bucket(key, b);
- if (p->m_Value.first == key)
- continue; // the element is already frozen
- }
-
- insert_node(key, b, p, it->second.get_value());
- }
- }
-
- //! Copies nodes of the container
- void copy_nodes_from(implementation* from)
- {
- // Copy all elements
- node_list::iterator it = from->m_Nodes.begin(), end = from->m_Nodes.end();
- for (; it != end; ++it)
- {
- node* n = m_pEnd++;
- mapped_type data = it->m_Value.second;
- new (n) node(it->m_Value.first, data, false);
- m_Nodes.push_back(*n);
-
- // Since nodes within buckets are ordered, we can simply append the node to the end of the bucket
- bucket& b = get_bucket(n->m_Value.first.id());
- if (b.first == NULL)
- b.first = b.last = n;
- else
- b.last = n;
- }
- }
-};
-
-//! The constructor creates an empty set
-BOOST_LOG_API attribute_value_set::attribute_value_set(
- size_type reserve_count
-) :
- m_pImpl(implementation::create(reserve_count))
-{
-}
-
-//! The constructor adopts three attribute sets to the set
-BOOST_LOG_API attribute_value_set::attribute_value_set(
- attribute_set const& source_attrs,
- attribute_set const& thread_attrs,
- attribute_set const& global_attrs,
- size_type reserve_count
-) :
- m_pImpl(implementation::create(source_attrs, thread_attrs, global_attrs, reserve_count))
-{
-}
-
-//! The constructor adopts three attribute sets to the set
-BOOST_LOG_API attribute_value_set::attribute_value_set(
- attribute_value_set const& source_attrs,
- attribute_set const& thread_attrs,
- attribute_set const& global_attrs,
- size_type reserve_count
-) :
- m_pImpl(implementation::create(source_attrs, thread_attrs, global_attrs, reserve_count))
-{
-}
-
-//! The constructor adopts three attribute sets to the set
-BOOST_LOG_API void attribute_value_set::construct(
- attribute_value_set& source_attrs,
- attribute_set const& thread_attrs,
- attribute_set const& global_attrs,
- size_type reserve_count
-)
-{
- m_pImpl = implementation::create(boost::move(source_attrs), thread_attrs, global_attrs, reserve_count);
-}
-
-//! Copy constructor
-BOOST_LOG_API attribute_value_set::attribute_value_set(attribute_value_set const& that)
-{
- if (that.m_pImpl)
- m_pImpl = implementation::copy(that.m_pImpl);
- else
- m_pImpl = NULL;
-}
-
-//! Destructor
-BOOST_LOG_API attribute_value_set::~attribute_value_set() BOOST_NOEXCEPT
-{
- if (m_pImpl)
- {
- implementation::destroy(m_pImpl);
- m_pImpl = NULL;
- }
-}
-
-// Iterator generators
-BOOST_LOG_API attribute_value_set::const_iterator
-attribute_value_set::begin() const
-{
- return const_iterator(m_pImpl->begin(), const_cast< attribute_value_set* >(this));
-}
-
-BOOST_LOG_API attribute_value_set::const_iterator
-attribute_value_set::end() const
-{
- return const_iterator(m_pImpl->end(), const_cast< attribute_value_set* >(this));
-}
-
-//! The method returns number of elements in the container
-BOOST_LOG_API attribute_value_set::size_type
-attribute_value_set::size() const
-{
- return m_pImpl->size();
-}
-
-//! Internal lookup implementation
-BOOST_LOG_API attribute_value_set::const_iterator
-attribute_value_set::find(key_type key) const
-{
- return const_iterator(m_pImpl->find(key), const_cast< attribute_value_set* >(this));
-}
-
-//! The method acquires values of all adopted attributes. Users don't need to call it, since will always get an already frozen set.
-BOOST_LOG_API void attribute_value_set::freeze()
-{
- m_pImpl->freeze();
-}
-
-//! Inserts an element into the set
-BOOST_LOG_API std::pair< attribute_value_set::const_iterator, bool >
-attribute_value_set::insert(key_type key, mapped_type const& mapped)
-{
- std::pair< node*, bool > res = m_pImpl->insert(key, mapped);
- return std::pair< const_iterator, bool >(const_iterator(res.first, this), res.second);
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/bit_tools.hpp b/contrib/restricted/boost/libs/log/src/bit_tools.hpp
deleted file mode 100644
index db28c405ec..0000000000
--- a/contrib/restricted/boost/libs/log/src/bit_tools.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file bit_tools.hpp
- * \author Andrey Semashev
- * \date 16.01.2016
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_BIT_TOOLS_HPP_INCLUDED_
-#define BOOST_LOG_BIT_TOOLS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <cstddef>
-#include <boost/cstdint.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Checks that the integer is a power of 2.
-template< typename T >
-inline BOOST_CONSTEXPR bool is_power_of_2(T n) BOOST_NOEXCEPT
-{
- return n != (T)0 && (n & (n - (T)1)) == (T)0;
-}
-
-//! Returns an integer comprising the four characters
-inline BOOST_CONSTEXPR uint32_t make_fourcc(unsigned char c1, unsigned char c2, unsigned char c3, unsigned char c4) BOOST_NOEXCEPT
-{
- return (static_cast< uint32_t >(c1) << 24) | (static_cast< uint32_t >(c2) << 16) | (static_cast< uint32_t >(c3) << 8) | static_cast< uint32_t >(c4);
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_BIT_TOOLS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/libs/log/src/code_conversion.cpp b/contrib/restricted/boost/libs/log/src/code_conversion.cpp
deleted file mode 100644
index 2f253eda3d..0000000000
--- a/contrib/restricted/boost/libs/log/src/code_conversion.cpp
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file code_conversion.cpp
- * \author Andrey Semashev
- * \date 08.11.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <cstddef>
-#include <locale>
-#include <string>
-#include <stdexcept>
-#include <algorithm>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/detail/code_conversion.hpp>
-#if defined(BOOST_WINDOWS)
-#include <cstring>
-#include <limits>
-#include <boost/winapi/get_last_error.hpp>
-#include <boost/winapi/character_code_conversion.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! The function performs character conversion with the specified facet
-template< typename LocalCharT >
-inline std::codecvt_base::result convert(
- std::codecvt< LocalCharT, char, std::mbstate_t > const& fac,
- std::mbstate_t& state,
- const char*& pSrcBegin,
- const char* pSrcEnd,
- LocalCharT*& pDstBegin,
- LocalCharT* pDstEnd)
-{
- return fac.in(state, pSrcBegin, pSrcEnd, pSrcBegin, pDstBegin, pDstEnd, pDstBegin);
-}
-
-//! The function performs character conversion with the specified facet
-template< typename LocalCharT >
-inline std::codecvt_base::result convert(
- std::codecvt< LocalCharT, char, std::mbstate_t > const& fac,
- std::mbstate_t& state,
- const LocalCharT*& pSrcBegin,
- const LocalCharT* pSrcEnd,
- char*& pDstBegin,
- char* pDstEnd)
-{
- return fac.out(state, pSrcBegin, pSrcEnd, pSrcBegin, pDstBegin, pDstEnd, pDstBegin);
-}
-
-} // namespace
-
-template< typename SourceCharT, typename TargetCharT, typename FacetT >
-inline std::size_t code_convert(const SourceCharT* begin, const SourceCharT* end, std::basic_string< TargetCharT >& converted, std::size_t max_size, FacetT const& fac)
-{
- typedef typename FacetT::state_type state_type;
- TargetCharT converted_buffer[256];
-
- const SourceCharT* const original_begin = begin;
- state_type state = state_type();
- std::size_t buf_size = (std::min)(max_size, sizeof(converted_buffer) / sizeof(*converted_buffer));
- while (begin != end && buf_size > 0u)
- {
- TargetCharT* dest = converted_buffer;
- std::codecvt_base::result res = convert(
- fac,
- state,
- begin,
- end,
- dest,
- dest + buf_size);
-
- switch (res)
- {
- case std::codecvt_base::ok:
- // All characters were successfully converted
- // NOTE: MSVC 11 also returns ok when the source buffer was only partially consumed, so we also check that the begin pointer has reached the end.
- converted.append(converted_buffer, dest);
- max_size -= dest - converted_buffer;
- break;
-
- case std::codecvt_base::noconv:
- {
- // Not possible, unless both character types are actually equivalent
- const std::size_t size = (std::min)(max_size, static_cast< std::size_t >(end - begin));
- converted.append(begin, begin + size);
- begin += size;
- max_size -= size;
- }
- goto done;
-
- case std::codecvt_base::partial:
- // Some characters were converted, some were not
- if (dest != converted_buffer)
- {
- // Some conversion took place, so it seems like
- // the destination buffer might not have been long enough
- converted.append(converted_buffer, dest);
- max_size -= dest - converted_buffer;
-
- // ...and go on for the next part
- break;
- }
- else
- {
- // Nothing was converted
- if (begin == end)
- goto done;
-
- // Looks like the tail of the source buffer contains only part of the last character.
- // In this case we intentionally fall through to throw an exception.
- }
-
- default: // std::codecvt_base::error
- BOOST_LOG_THROW_DESCR(conversion_error, "Could not convert character encoding");
- }
-
- buf_size = (std::min)(max_size, sizeof(converted_buffer) / sizeof(*converted_buffer));
- }
-
-done:
- return static_cast< std::size_t >(begin - original_begin);
-}
-
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const wchar_t* str1, std::size_t len, std::string& str2, std::size_t max_size, std::locale const& loc)
-{
- return code_convert(str1, str1 + len, str2, max_size, std::use_facet< std::codecvt< wchar_t, char, std::mbstate_t > >(loc)) == len;
-}
-
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char* str1, std::size_t len, std::wstring& str2, std::size_t max_size, std::locale const& loc)
-{
- return code_convert(str1, str1 + len, str2, max_size, std::use_facet< std::codecvt< wchar_t, char, std::mbstate_t > >(loc)) == len;
-}
-
-#if !defined(BOOST_LOG_NO_CXX11_CODECVT_FACETS)
-
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
-
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char16_t* str1, std::size_t len, std::string& str2, std::size_t max_size, std::locale const& loc)
-{
- return code_convert(str1, str1 + len, str2, max_size, std::use_facet< std::codecvt< char16_t, char, std::mbstate_t > >(loc)) == len;
-}
-
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char* str1, std::size_t len, std::u16string& str2, std::size_t max_size, std::locale const& loc)
-{
- return code_convert(str1, str1 + len, str2, max_size, std::use_facet< std::codecvt< char16_t, char, std::mbstate_t > >(loc)) == len;
-}
-
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char16_t* str1, std::size_t len, std::wstring& str2, std::size_t max_size, std::locale const& loc)
-{
- std::string temp_str;
- code_convert(str1, str1 + len, temp_str, temp_str.max_size(), std::use_facet< std::codecvt< char16_t, char, std::mbstate_t > >(loc));
- const std::size_t temp_size = temp_str.size();
- return code_convert(temp_str.c_str(), temp_str.c_str() + temp_size, str2, max_size, std::use_facet< std::codecvt< wchar_t, char, std::mbstate_t > >(loc)) == temp_size;
-}
-
-#endif
-
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
-
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char32_t* str1, std::size_t len, std::string& str2, std::size_t max_size, std::locale const& loc)
-{
- return code_convert(str1, str1 + len, str2, max_size, std::use_facet< std::codecvt< char32_t, char, std::mbstate_t > >(loc)) == len;
-}
-
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char* str1, std::size_t len, std::u32string& str2, std::size_t max_size, std::locale const& loc)
-{
- return code_convert(str1, str1 + len, str2, max_size, std::use_facet< std::codecvt< char32_t, char, std::mbstate_t > >(loc)) == len;
-}
-
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char32_t* str1, std::size_t len, std::wstring& str2, std::size_t max_size, std::locale const& loc)
-{
- std::string temp_str;
- code_convert(str1, str1 + len, temp_str, temp_str.max_size(), std::use_facet< std::codecvt< char32_t, char, std::mbstate_t > >(loc));
- const std::size_t temp_size = temp_str.size();
- return code_convert(temp_str.c_str(), temp_str.c_str() + temp_size, str2, max_size, std::use_facet< std::codecvt< wchar_t, char, std::mbstate_t > >(loc)) == temp_size;
-}
-
-#endif
-
-#if !defined(BOOST_NO_CXX11_CHAR16_T) && !defined(BOOST_NO_CXX11_CHAR32_T)
-
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char16_t* str1, std::size_t len, std::u32string& str2, std::size_t max_size, std::locale const& loc)
-{
- std::string temp_str;
- code_convert(str1, str1 + len, temp_str, temp_str.max_size(), std::use_facet< std::codecvt< char16_t, char, std::mbstate_t > >(loc));
- const std::size_t temp_size = temp_str.size();
- return code_convert(temp_str.c_str(), temp_str.c_str() + temp_size, str2, max_size, std::use_facet< std::codecvt< char32_t, char, std::mbstate_t > >(loc)) == temp_size;
-}
-
-//! The function converts one string to the character type of another
-BOOST_LOG_API bool code_convert_impl(const char32_t* str1, std::size_t len, std::u16string& str2, std::size_t max_size, std::locale const& loc)
-{
- std::string temp_str;
- code_convert(str1, str1 + len, temp_str, temp_str.max_size(), std::use_facet< std::codecvt< char32_t, char, std::mbstate_t > >(loc));
- const std::size_t temp_size = temp_str.size();
- return code_convert(temp_str.c_str(), temp_str.c_str() + temp_size, str2, max_size, std::use_facet< std::codecvt< char16_t, char, std::mbstate_t > >(loc)) == temp_size;
-}
-
-#endif
-
-#endif // !defined(BOOST_LOG_NO_CXX11_CODECVT_FACETS)
-
-#if defined(BOOST_WINDOWS)
-
-//! Converts UTF-8 to UTF-16
-std::wstring utf8_to_utf16(const char* str)
-{
- std::size_t utf8_len = std::strlen(str);
- if (utf8_len == 0)
- return std::wstring();
- else if (BOOST_UNLIKELY(utf8_len > static_cast< std::size_t >((std::numeric_limits< int >::max)())))
- BOOST_LOG_THROW_DESCR(bad_alloc, "UTF-8 string too long");
-
- int len = boost::winapi::MultiByteToWideChar(boost::winapi::CP_UTF8_, boost::winapi::MB_ERR_INVALID_CHARS_, str, static_cast< int >(utf8_len), NULL, 0);
- if (BOOST_LIKELY(len > 0))
- {
- std::wstring wstr;
- wstr.resize(len);
-
- len = boost::winapi::MultiByteToWideChar(boost::winapi::CP_UTF8_, boost::winapi::MB_ERR_INVALID_CHARS_, str, static_cast< int >(utf8_len), &wstr[0], len);
- if (BOOST_LIKELY(len > 0))
- {
- return wstr;
- }
- }
-
- const boost::winapi::DWORD_ err = boost::winapi::GetLastError();
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to convert UTF-8 to UTF-16", (err));
- BOOST_LOG_UNREACHABLE_RETURN(std::wstring());
-}
-
-//! Converts UTF-16 to UTF-8
-std::string utf16_to_utf8(const wchar_t* wstr)
-{
- std::size_t utf16_len = std::wcslen(wstr);
- if (utf16_len == 0)
- return std::string();
- else if (BOOST_UNLIKELY(utf16_len > static_cast< std::size_t >((std::numeric_limits< int >::max)())))
- BOOST_LOG_THROW_DESCR(bad_alloc, "UTF-16 string too long");
-
- const boost::winapi::DWORD_ flags =
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
- boost::winapi::WC_ERR_INVALID_CHARS_;
-#else
- 0u;
-#endif
- int len = boost::winapi::WideCharToMultiByte(boost::winapi::CP_UTF8_, flags, wstr, static_cast< int >(utf16_len), NULL, 0, NULL, NULL);
- if (BOOST_LIKELY(len > 0))
- {
- std::string str;
- str.resize(len);
-
- len = boost::winapi::WideCharToMultiByte(boost::winapi::CP_UTF8_, flags, wstr, static_cast< int >(utf16_len), &str[0], len, NULL, NULL);
- if (BOOST_LIKELY(len > 0))
- {
- return str;
- }
- }
-
- const boost::winapi::DWORD_ err = boost::winapi::GetLastError();
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to convert UTF-16 to UTF-8", (err));
- BOOST_LOG_UNREACHABLE_RETURN(std::string());
-}
-
-#endif // defined(BOOST_WINDOWS)
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/core.cpp b/contrib/restricted/boost/libs/log/src/core.cpp
deleted file mode 100644
index 07f719962c..0000000000
--- a/contrib/restricted/boost/libs/log/src/core.cpp
+++ /dev/null
@@ -1,766 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file core.cpp
- * \author Andrey Semashev
- * \date 19.04.2007
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <cstddef>
-#include <new>
-#include <vector>
-#include <algorithm>
-#include <boost/cstdint.hpp>
-#include <boost/assert.hpp>
-#include <boost/core/swap.hpp>
-#include <boost/filesystem/path.hpp>
-#include <boost/smart_ptr/weak_ptr.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-#include <boost/random/taus88.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/log/core/core.hpp>
-#include <boost/log/core/record.hpp>
-#include <boost/log/core/record_view.hpp>
-#include <boost/log/sinks/sink.hpp>
-#include <boost/log/attributes/attribute_value_set.hpp>
-#include <boost/log/detail/singleton.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/thread/tss.hpp>
-#include <boost/thread/exceptions.hpp>
-#include <boost/log/detail/locks.hpp>
-#include <boost/log/detail/light_rw_mutex.hpp>
-#include <boost/log/detail/thread_id.hpp>
-#endif
-#include "unique_ptr.hpp"
-#include "default_sink.hpp"
-#include "stateless_allocator.hpp"
-#include "alignment_gap_between.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! Sequence shuffling algorithm. Very similar to std::random_shuffle, used for forward portability with compilers that removed it from the standard library (C++17).
-template< typename Iterator, typename RandomNumberGenerator >
-void random_shuffle(Iterator begin, Iterator end, RandomNumberGenerator& rng)
-{
- Iterator it = begin;
- ++it;
- while (it != end)
- {
- Iterator where = begin + rng() % (it - begin + 1u);
- if (where != it)
- boost::swap(*where, *it);
- ++it;
- }
-}
-
-} // namespace
-
-} // namespace aux
-
-//! Private record data information, with core-specific structures
-struct record_view::private_data :
- public public_data
-{
- //! Underlying memory allocator
- typedef boost::log::aux::stateless_allocator< char > stateless_allocator;
- //! Sink pointer type
- typedef weak_ptr< sinks::sink > sink_ptr;
- //! Iterator range with pointers to the accepting sinks
- typedef iterator_range< sink_ptr* > sink_list;
-
-private:
- //! Number of sinks accepting the record
- uint32_t m_accepting_sink_count;
- //! Maximum number of sinks accepting the record
- const uint32_t m_accepting_sink_capacity;
- //! The flag indicates that the record has to be detached from the current thread
- bool m_detach_from_thread_needed;
-
-private:
- //! Initializing constructor
- private_data(BOOST_RV_REF(attribute_value_set) values, uint32_t capacity) BOOST_NOEXCEPT :
- public_data(boost::move(values)),
- m_accepting_sink_count(0),
- m_accepting_sink_capacity(capacity),
- m_detach_from_thread_needed(false)
- {
- }
-
-public:
- //! Creates the object with the specified capacity
- static private_data* create(BOOST_RV_REF(attribute_value_set) values, uint32_t capacity)
- {
- private_data* p = reinterpret_cast< private_data* >(stateless_allocator().allocate
- (
- sizeof(private_data) +
- boost::log::aux::alignment_gap_between< private_data, sink_ptr >::value +
- capacity * sizeof(sink_ptr)
- ));
- new (p) private_data(boost::move(values), capacity);
- return p;
- }
-
- //! Destroys the object and frees the underlying storage
- void destroy() BOOST_NOEXCEPT
- {
- sink_ptr* psink = begin();
- for (uint32_t i = 0u, n = m_accepting_sink_count; i < n; ++i)
- {
- psink[i].~sink_ptr();
- }
-
- const uint32_t capacity = m_accepting_sink_capacity;
- this->~private_data();
-
- stateless_allocator().deallocate
- (
- reinterpret_cast< stateless_allocator::pointer >(this),
- sizeof(private_data) +
- boost::log::aux::alignment_gap_between< private_data, sink_ptr >::value +
- capacity * sizeof(sink_ptr)
- );
- }
-
- //! Returns iterator range with the pointers to the accepting sinks
- sink_list get_accepting_sinks() BOOST_NOEXCEPT
- {
- sink_ptr* p = begin();
- return sink_list(p, p + m_accepting_sink_count);
- }
-
- //! Adds an accepting sink
- void push_back_accepting_sink(shared_ptr< sinks::sink > const& sink)
- {
- BOOST_ASSERT(m_accepting_sink_count < m_accepting_sink_capacity);
- sink_ptr* p = begin() + m_accepting_sink_count;
- new (p) sink_ptr(sink);
- ++m_accepting_sink_count;
- m_detach_from_thread_needed |= sink->is_cross_thread();
- }
-
- //! Returns the number of accepting sinks
- uint32_t accepting_sink_count() const BOOST_NOEXCEPT { return m_accepting_sink_count; }
-
- //! Returns the flag indicating whether it is needed to detach the record from the current thread
- bool is_detach_from_thread_needed() const BOOST_NOEXCEPT { return m_detach_from_thread_needed; }
-
- BOOST_DELETED_FUNCTION(private_data(private_data const&))
- BOOST_DELETED_FUNCTION(private_data& operator= (private_data const&))
-
-private:
- //! Returns a pointer to the first accepting sink
- sink_ptr* begin() BOOST_NOEXCEPT
- {
- return reinterpret_cast< sink_ptr* >
- (
- reinterpret_cast< char* >(this) +
- sizeof(private_data) +
- boost::log::aux::alignment_gap_between< private_data, sink_ptr >::value
- );
- }
-};
-
-//! Destructor
-BOOST_LOG_API void record_view::public_data::destroy(const public_data* p) BOOST_NOEXCEPT
-{
- const_cast< private_data* >(static_cast< const private_data* >(p))->destroy();
-}
-
-//! The function ensures that the log record does not depend on any thread-specific data.
-BOOST_LOG_API record_view record::lock()
-{
- BOOST_ASSERT(m_impl != NULL);
-
- record_view::private_data* const impl = static_cast< record_view::private_data* >(m_impl);
- if (impl->is_detach_from_thread_needed())
- {
- attribute_value_set::const_iterator
- it = impl->m_attribute_values.begin(),
- end = impl->m_attribute_values.end();
- for (; it != end; ++it)
- {
- // Yep, a bit hackish. I'll need a better backdoor to do it gracefully.
- const_cast< attribute_value_set::mapped_type& >(it->second).detach_from_thread();
- }
- }
-
- // Move the implementation to the view
- m_impl = NULL;
- return record_view(impl);
-}
-
-//! Logging system implementation
-struct core::implementation :
- public log::aux::lazy_singleton<
- implementation,
- core_ptr
- >
-{
-public:
- //! Base type of singleton holder
- typedef log::aux::lazy_singleton<
- implementation,
- core_ptr
- > base_type;
-
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Read lock type
- typedef log::aux::shared_lock_guard< log::aux::light_rw_mutex > scoped_read_lock;
- //! Write lock type
- typedef log::aux::exclusive_lock_guard< log::aux::light_rw_mutex > scoped_write_lock;
-#endif
-
- //! Sinks container type
- typedef std::vector< shared_ptr< sinks::sink > > sink_list;
-
- //! Thread-specific data
- struct thread_data
- {
- //! Thread-specific attribute set
- attribute_set m_thread_attributes;
- //! Random number generator for shuffling
- random::taus88 m_rng;
-
- thread_data() : m_rng(get_random_seed())
- {
- }
-
- private:
- //! Creates a seed for RNG
- static uint32_t get_random_seed()
- {
- uint32_t seed = static_cast< uint32_t >(posix_time::microsec_clock::universal_time().time_of_day().ticks());
-#if !defined(BOOST_LOG_NO_THREADS)
- seed += static_cast< uint32_t >(log::aux::this_thread::get_id().native_id());
-#endif
- return seed;
- }
- };
-
-public:
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Synchronization mutex
- log::aux::light_rw_mutex m_mutex;
-#endif
-
- //! List of sinks involved into output
- sink_list m_sinks;
- //! Default sink
- const shared_ptr< sinks::sink > m_default_sink;
-
- //! Global attribute set
- attribute_set m_global_attributes;
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Thread-specific data
- thread_specific_ptr< thread_data > m_thread_data;
-
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
- //! Cached pointer to the thread-specific data
- static BOOST_LOG_TLS thread_data* m_thread_data_cache;
-#endif
-
-#else
- //! Thread-specific data
- log::aux::unique_ptr< thread_data > m_thread_data;
-#endif
-
- //! The global state of logging
- volatile bool m_enabled;
- //! Global filter
- filter m_filter;
-
- //! Exception handler
- exception_handler_type m_exception_handler;
-
-public:
- //! Constructor
- implementation() :
- m_default_sink(boost::make_shared< sinks::aux::default_sink >()),
- m_enabled(true)
- {
- }
-
- //! Opens a record
- template< typename SourceAttributesT >
- BOOST_FORCEINLINE record open_record(BOOST_FWD_REF(SourceAttributesT) source_attributes)
- {
- record_view::private_data* rec_impl = NULL;
- bool invoke_exception_handler = true;
-
- // Try a quick win first
- if (m_enabled) try
- {
- thread_data* tsd = get_thread_data();
-
- // Lock the core to be safe against any attribute or sink set modifications
- BOOST_LOG_EXPR_IF_MT(scoped_read_lock lock(m_mutex);)
-
- if (m_enabled)
- {
- // Compose a view of attribute values (unfrozen, yet)
- attribute_value_set attr_values(boost::forward< SourceAttributesT >(source_attributes), tsd->m_thread_attributes, m_global_attributes);
- if (m_filter(attr_values))
- {
- // The global filter passed, trying the sinks
- attribute_value_set* values = &attr_values;
-
- // apply_sink_filter will invoke the exception handler if it has to
- invoke_exception_handler = false;
-
- if (!m_sinks.empty())
- {
- uint32_t remaining_capacity = static_cast< uint32_t >(m_sinks.size());
- sink_list::iterator it = m_sinks.begin(), end = m_sinks.end();
- for (; it != end; ++it, --remaining_capacity)
- {
- apply_sink_filter(*it, rec_impl, values, remaining_capacity);
- }
- }
- else
- {
- // Use the default sink
- apply_sink_filter(m_default_sink, rec_impl, values, 1);
- }
-
- invoke_exception_handler = true;
-
- if (rec_impl && rec_impl->accepting_sink_count() == 0)
- {
- // No sinks accepted the record
- rec_impl->destroy();
- rec_impl = NULL;
- goto done;
- }
-
- // Some sinks have accepted the record
- values->freeze();
- }
- }
- }
-#if !defined(BOOST_LOG_NO_THREADS)
- catch (thread_interrupted&)
- {
- if (rec_impl)
- rec_impl->destroy();
- throw;
- }
-#endif // !defined(BOOST_LOG_NO_THREADS)
- catch (...)
- {
- if (rec_impl)
- {
- rec_impl->destroy();
- rec_impl = NULL;
- }
-
- if (invoke_exception_handler)
- {
- // Lock the core to be safe against any attribute or sink set modifications
- BOOST_LOG_EXPR_IF_MT(scoped_read_lock lock(m_mutex);)
- if (m_exception_handler.empty())
- throw;
-
- m_exception_handler();
- }
- else
- throw;
- }
-
- done:
- return record(rec_impl);
- }
-
- //! The method returns the current thread-specific data
- thread_data* get_thread_data()
- {
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
- thread_data* p = m_thread_data_cache;
-#else
- thread_data* p = m_thread_data.get();
-#endif
- if (!p)
- {
- init_thread_data();
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
- p = m_thread_data_cache;
-#else
- p = m_thread_data.get();
-#endif
- }
- return p;
- }
-
- //! The function initializes the logging system
- static void init_instance()
- {
- base_type::get_instance().reset(new core());
- }
-
-private:
- //! The method initializes thread-specific data
- void init_thread_data()
- {
- BOOST_LOG_EXPR_IF_MT(scoped_write_lock lock(m_mutex);)
- if (!m_thread_data.get())
- {
- log::aux::unique_ptr< thread_data > p(new thread_data());
- m_thread_data.reset(p.get());
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
- m_thread_data_cache = p.release();
-#else
- p.release();
-#endif
- }
- }
-
- //! Invokes sink-specific filter and adds the sink to the record if the filter passes the log record
- void apply_sink_filter(shared_ptr< sinks::sink > const& sink, record_view::private_data*& rec_impl, attribute_value_set*& attr_values, uint32_t remaining_capacity)
- {
- try
- {
- if (sink->will_consume(*attr_values))
- {
- // If at least one sink accepts the record, it's time to create it
- record_view::private_data* impl = rec_impl;
- if (!impl)
- {
- rec_impl = impl = record_view::private_data::create(boost::move(*attr_values), remaining_capacity);
- attr_values = &impl->m_attribute_values;
- }
-
- impl->push_back_accepting_sink(sink);
- }
- }
-#if !defined(BOOST_LOG_NO_THREADS)
- catch (thread_interrupted&)
- {
- throw;
- }
-#endif // !defined(BOOST_LOG_NO_THREADS)
- catch (...)
- {
- if (m_exception_handler.empty())
- throw;
- m_exception_handler();
- }
- }
-};
-
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
-//! Cached pointer to the thread-specific data
-BOOST_LOG_TLS core::implementation::thread_data* core::implementation::m_thread_data_cache = NULL;
-#endif // defined(BOOST_LOG_USE_COMPILER_TLS)
-
-//! Logging system constructor
-core::core() :
- m_impl(new implementation())
-{
-}
-
-//! Logging system destructor
-core::~core()
-{
- delete m_impl;
- m_impl = NULL;
-}
-
-//! The method returns a pointer to the logging system instance
-BOOST_LOG_API core_ptr core::get()
-{
- return implementation::get();
-}
-
-//! The method enables or disables logging and returns the previous state of logging flag
-BOOST_LOG_API bool core::set_logging_enabled(bool enabled)
-{
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_write_lock lock(m_impl->m_mutex);)
- const bool old_value = m_impl->m_enabled;
- m_impl->m_enabled = enabled;
- return old_value;
-}
-
-//! The method allows to detect if logging is enabled
-BOOST_LOG_API bool core::get_logging_enabled() const
-{
- // Should have a read barrier here, but for performance reasons it is omitted.
- // The function should be used as a quick check and doesn't need to be reliable.
- return m_impl->m_enabled;
-}
-
-//! The method adds a new sink
-BOOST_LOG_API void core::add_sink(shared_ptr< sinks::sink > const& s)
-{
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_write_lock lock(m_impl->m_mutex);)
- implementation::sink_list::iterator it =
- std::find(m_impl->m_sinks.begin(), m_impl->m_sinks.end(), s);
- if (it == m_impl->m_sinks.end())
- m_impl->m_sinks.push_back(s);
-}
-
-//! The method removes the sink from the output
-BOOST_LOG_API void core::remove_sink(shared_ptr< sinks::sink > const& s)
-{
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_write_lock lock(m_impl->m_mutex);)
- implementation::sink_list::iterator it =
- std::find(m_impl->m_sinks.begin(), m_impl->m_sinks.end(), s);
- if (it != m_impl->m_sinks.end())
- m_impl->m_sinks.erase(it);
-}
-
-//! The method removes all registered sinks from the output
-BOOST_LOG_API void core::remove_all_sinks()
-{
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_write_lock lock(m_impl->m_mutex);)
- m_impl->m_sinks.clear();
-}
-
-
-//! The method adds an attribute to the global attribute set
-BOOST_LOG_API std::pair< attribute_set::iterator, bool >
-core::add_global_attribute(attribute_name const& name, attribute const& attr)
-{
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_write_lock lock(m_impl->m_mutex);)
- return m_impl->m_global_attributes.insert(name, attr);
-}
-
-//! The method removes an attribute from the global attribute set
-BOOST_LOG_API void core::remove_global_attribute(attribute_set::iterator it)
-{
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_write_lock lock(m_impl->m_mutex);)
- m_impl->m_global_attributes.erase(it);
-}
-
-//! The method returns the complete set of currently registered global attributes
-BOOST_LOG_API attribute_set core::get_global_attributes() const
-{
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_read_lock lock(m_impl->m_mutex);)
- return m_impl->m_global_attributes;
-}
-
-//! The method replaces the complete set of currently registered global attributes with the provided set
-BOOST_LOG_API void core::set_global_attributes(attribute_set const& attrs)
-{
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_write_lock lock(m_impl->m_mutex);)
- m_impl->m_global_attributes = attrs;
-}
-
-//! The method adds an attribute to the thread-specific attribute set
-BOOST_LOG_API std::pair< attribute_set::iterator, bool >
-core::add_thread_attribute(attribute_name const& name, attribute const& attr)
-{
- implementation::thread_data* p = m_impl->get_thread_data();
- return p->m_thread_attributes.insert(name, attr);
-}
-
-//! The method removes an attribute from the thread-specific attribute set
-BOOST_LOG_API void core::remove_thread_attribute(attribute_set::iterator it)
-{
- implementation::thread_data* p = m_impl->get_thread_data();
- p->m_thread_attributes.erase(it);
-}
-
-//! The method returns the complete set of currently registered thread-specific attributes
-BOOST_LOG_API attribute_set core::get_thread_attributes() const
-{
- implementation::thread_data* p = m_impl->get_thread_data();
- return p->m_thread_attributes;
-}
-//! The method replaces the complete set of currently registered thread-specific attributes with the provided set
-BOOST_LOG_API void core::set_thread_attributes(attribute_set const& attrs)
-{
- implementation::thread_data* p = m_impl->get_thread_data();
- p->m_thread_attributes = attrs;
-}
-
-//! An internal method to set the global filter
-BOOST_LOG_API void core::set_filter(filter const& filter)
-{
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_write_lock lock(m_impl->m_mutex);)
- m_impl->m_filter = filter;
-}
-
-//! The method removes the global logging filter
-BOOST_LOG_API void core::reset_filter()
-{
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_write_lock lock(m_impl->m_mutex);)
- m_impl->m_filter.reset();
-}
-
-//! The method sets exception handler function
-BOOST_LOG_API void core::set_exception_handler(exception_handler_type const& handler)
-{
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_write_lock lock(m_impl->m_mutex);)
- m_impl->m_exception_handler = handler;
-}
-
-//! The method performs flush on all registered sinks.
-BOOST_LOG_API void core::flush()
-{
- // Acquire exclusive lock to prevent any logging attempts while flushing
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_write_lock lock(m_impl->m_mutex);)
- implementation::sink_list::iterator it = m_impl->m_sinks.begin(), end = m_impl->m_sinks.end();
- for (; it != end; ++it)
- {
- try
- {
- it->get()->flush();
- }
-#if !defined(BOOST_LOG_NO_THREADS)
- catch (thread_interrupted&)
- {
- throw;
- }
-#endif // !defined(BOOST_LOG_NO_THREADS)
- catch (...)
- {
- if (m_impl->m_exception_handler.empty())
- throw;
- m_impl->m_exception_handler();
- }
- }
-}
-
-//! The method attempts to open a new record to be written
-BOOST_LOG_API record core::open_record(attribute_set const& source_attributes)
-{
- return m_impl->open_record(source_attributes);
-}
-
-//! The method attempts to open a new record to be written
-BOOST_LOG_API record core::open_record(attribute_value_set const& source_attributes)
-{
- return m_impl->open_record(source_attributes);
-}
-
-//! The method attempts to open a new record to be written.
-BOOST_LOG_API record core::open_record_move(attribute_value_set& source_attributes)
-{
- return m_impl->open_record(boost::move(source_attributes));
-}
-
-//! The method pushes the record
-BOOST_LOG_API void core::push_record_move(record& rec)
-{
- try
- {
- record_view rec_view(rec.lock());
- record_view::private_data* data = static_cast< record_view::private_data* >(rec_view.m_impl.get());
-
- typedef std::vector< shared_ptr< sinks::sink > > accepting_sinks_t;
- accepting_sinks_t accepting_sinks(data->accepting_sink_count());
- shared_ptr< sinks::sink >* const begin = &*accepting_sinks.begin();
- shared_ptr< sinks::sink >* end = begin;
-
- // Lock sinks that are willing to consume the record
- record_view::private_data::sink_list weak_sinks = data->get_accepting_sinks();
- record_view::private_data::sink_list::iterator
- weak_it = weak_sinks.begin(),
- weak_end = weak_sinks.end();
- for (; weak_it != weak_end; ++weak_it)
- {
- shared_ptr< sinks::sink >& last = *end;
- weak_it->lock().swap(last);
- if (last.get())
- ++end;
- }
-
- bool shuffled = (end - begin) <= 1;
- shared_ptr< sinks::sink >* it = begin;
- while (true) try
- {
- // First try to distribute load between different sinks
- bool all_locked = true;
- while (it != end)
- {
- if (it->get()->try_consume(rec_view))
- {
- --end;
- end->swap(*it);
- all_locked = false;
- }
- else
- ++it;
- }
-
- it = begin;
- if (begin != end)
- {
- if (all_locked)
- {
- // If all sinks are busy then block on any
- if (!shuffled)
- {
- implementation::thread_data* tsd = m_impl->get_thread_data();
- log::aux::random_shuffle(begin, end, tsd->m_rng);
- shuffled = true;
- }
-
- it->get()->consume(rec_view);
- --end;
- end->swap(*it);
- }
- }
- else
- break;
- }
-#if !defined(BOOST_LOG_NO_THREADS)
- catch (thread_interrupted&)
- {
- throw;
- }
-#endif // !defined(BOOST_LOG_NO_THREADS)
- catch (...)
- {
- // Lock the core to be safe against any attribute or sink set modifications
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_read_lock lock(m_impl->m_mutex);)
- if (m_impl->m_exception_handler.empty())
- throw;
-
- m_impl->m_exception_handler();
-
- // Skip the sink that failed to consume the record
- --end;
- end->swap(*it);
- }
- }
-#if !defined(BOOST_LOG_NO_THREADS)
- catch (thread_interrupted&)
- {
- throw;
- }
-#endif // !defined(BOOST_LOG_NO_THREADS)
- catch (...)
- {
- // Lock the core to be safe against any attribute or sink set modifications
- BOOST_LOG_EXPR_IF_MT(implementation::scoped_read_lock lock(m_impl->m_mutex);)
- if (m_impl->m_exception_handler.empty())
- throw;
-
- m_impl->m_exception_handler();
- }
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/date_time_format_parser.cpp b/contrib/restricted/boost/libs/log/src/date_time_format_parser.cpp
deleted file mode 100644
index 5b1381ffee..0000000000
--- a/contrib/restricted/boost/libs/log/src/date_time_format_parser.cpp
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file date_time_format_parser.cpp
- * \author Andrey Semashev
- * \date 30.09.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <cstring>
-#include <string>
-#include <algorithm>
-#include <boost/spirit/include/karma_uint.hpp>
-#include <boost/spirit/include/karma_generate.hpp>
-#include <boost/range/iterator_range_core.hpp>
-#include <boost/log/detail/attachable_sstream_buf.hpp>
-#include <boost/log/detail/date_time_format_parser.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace karma = boost::spirit::karma;
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-template< typename CharT >
-struct string_constants;
-
-#ifdef BOOST_LOG_USE_CHAR
-
-template< >
-struct string_constants< char >
-{
- typedef char char_type;
-
- static const char_type* iso_date_format() { return "%Y%m%d"; }
- static const char_type* extended_iso_date_format() { return "%Y-%m-%d"; }
-
- static const char_type* iso_time_format() { return "%H%M%S"; }
- static const char_type* extended_iso_time_format() { return "%H:%M:%S"; }
- static const char_type* default_time_format() { return "%H:%M:%S.%f"; }
-};
-
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-template< >
-struct string_constants< wchar_t >
-{
- typedef wchar_t char_type;
-
- static const char_type* iso_date_format() { return L"%Y%m%d"; }
- static const char_type* extended_iso_date_format() { return L"%Y-%m-%d"; }
-
- static const char_type* iso_time_format() { return L"%H%M%S"; }
- static const char_type* extended_iso_time_format() { return L"%H:%M:%S"; }
- static const char_type* default_time_format() { return L"%H:%M:%S.%f"; }
-};
-
-#endif // BOOST_LOG_USE_WCHAR_T
-
-template< typename CallbackT >
-struct common_flags
-{
- typedef CallbackT callback_type;
- typedef typename callback_type::char_type char_type;
- typedef std::basic_string< char_type > string_type;
-
- const char_type* parse(const char_type* begin, const char_type* end, callback_type& callback)
- {
- switch (begin[1])
- {
- case '%':
- m_literal.push_back('%');
- break;
-
- default:
- flush(callback);
- callback.on_placeholder(iterator_range< const char_type* >(begin, begin + 2));
- break;
- }
-
- return begin + 2;
- }
-
- void add_literal(const char_type* begin, const char_type* end)
- {
- m_literal.append(begin, end);
- }
-
- void flush(callback_type& callback)
- {
- if (!m_literal.empty())
- {
- const char_type* p = m_literal.c_str();
- callback.on_literal(iterator_range< const char_type* >(p, p + m_literal.size()));
- m_literal.clear();
- }
- }
-
-private:
- string_type m_literal;
-};
-
-template< typename BaseT >
-struct date_flags :
- public BaseT
-{
- typedef typename BaseT::callback_type callback_type;
- typedef typename BaseT::char_type char_type;
-
- const char_type* parse(const char_type* begin, const char_type* end, callback_type& callback)
- {
- typedef string_constants< char_type > constants;
-
- switch (begin[1])
- {
- case 'Y':
- {
- this->flush(callback);
-
- std::size_t len = end - begin;
- if (len >= 8 && std::memcmp(begin, constants::extended_iso_date_format(), 8 * sizeof(char_type)) == 0)
- {
- callback.on_extended_iso_date();
- return begin + 8;
- }
- else if (len >= 6 && std::memcmp(begin, constants::iso_date_format(), 6 * sizeof(char_type)) == 0)
- {
- callback.on_iso_date();
- return begin + 6;
- }
- else
- {
- callback.on_full_year();
- }
- }
- break;
-
- case 'y':
- this->flush(callback);
- callback.on_short_year();
- break;
-
- case 'm':
- this->flush(callback);
- callback.on_numeric_month();
- break;
-
- case 'B':
- this->flush(callback);
- callback.on_full_month();
- break;
-
- case 'b':
- this->flush(callback);
- callback.on_short_month();
- break;
-
- case 'd':
- this->flush(callback);
- callback.on_month_day(true);
- break;
-
- case 'e':
- this->flush(callback);
- callback.on_month_day(false);
- break;
-
- case 'w':
- this->flush(callback);
- callback.on_numeric_week_day();
- break;
-
- case 'A':
- this->flush(callback);
- callback.on_full_week_day();
- break;
-
- case 'a':
- this->flush(callback);
- callback.on_short_week_day();
- break;
-
- default:
- return BaseT::parse(begin, end, callback);
- }
-
- return begin + 2;
- }
-};
-
-template< typename BaseT >
-struct time_flags :
- public BaseT
-{
- typedef typename BaseT::callback_type callback_type;
- typedef typename BaseT::char_type char_type;
-
- const char_type* parse(const char_type* begin, const char_type* end, callback_type& callback)
- {
- typedef string_constants< char_type > constants;
-
- switch (begin[1])
- {
- case 'O':
- case 'H':
- {
- this->flush(callback);
-
- std::size_t len = end - begin;
- if (len >= 11 && std::memcmp(begin, constants::default_time_format(), 11 * sizeof(char_type)) == 0)
- {
- callback.on_default_time();
- return begin + 11;
- }
- else if (len >= 8 && std::memcmp(begin, constants::extended_iso_time_format(), 8 * sizeof(char_type)) == 0)
- {
- callback.on_extended_iso_time();
- return begin + 8;
- }
- else if (len >= 6 && std::memcmp(begin, constants::iso_time_format(), 6 * sizeof(char_type)) == 0)
- {
- callback.on_iso_time();
- return begin + 6;
- }
- else
- {
- callback.on_hours(true);
- }
- }
- break;
-
- case 'T':
- this->flush(callback);
- callback.on_extended_iso_time();
- break;
-
- case 'k':
- this->flush(callback);
- callback.on_hours(false);
- break;
-
- case 'I':
- this->flush(callback);
- callback.on_hours_12(true);
- break;
-
- case 'l':
- this->flush(callback);
- callback.on_hours_12(false);
- break;
-
- case 'M':
- this->flush(callback);
- callback.on_minutes();
- break;
-
- case 'S':
- this->flush(callback);
- callback.on_seconds();
- break;
-
- case 'f':
- this->flush(callback);
- callback.on_fractional_seconds();
- break;
-
- case 'P':
- this->flush(callback);
- callback.on_am_pm(false);
- break;
-
- case 'p':
- this->flush(callback);
- callback.on_am_pm(true);
- break;
-
- case 'Q':
- this->flush(callback);
- callback.on_extended_iso_time_zone();
- break;
-
- case 'q':
- this->flush(callback);
- callback.on_iso_time_zone();
- break;
-
- case '-':
- this->flush(callback);
- callback.on_duration_sign(false);
- break;
-
- case '+':
- this->flush(callback);
- callback.on_duration_sign(true);
- break;
-
- default:
- return BaseT::parse(begin, end, callback);
- }
-
- return begin + 2;
- }
-};
-
-template< typename CharT, typename ParserT, typename CallbackT >
-inline void parse_format(const CharT* begin, const CharT* end, ParserT& parser, CallbackT& callback)
-{
- typedef CharT char_type;
-
- while (begin != end)
- {
- const char_type* p = std::find(begin, end, static_cast< char_type >('%'));
- parser.add_literal(begin, p);
-
- if ((end - p) >= 2)
- {
- begin = parser.parse(p, end, callback);
- }
- else
- {
- if (p != end)
- parser.add_literal(p, end); // a single '%' character at the end of the string
- begin = end;
- }
- }
-
- parser.flush(callback);
-}
-
-} // namespace
-
-//! Parses the date format string and invokes the callback object
-template< typename CharT >
-BOOST_LOG_API void parse_date_format(const CharT* begin, const CharT* end, date_format_parser_callback< CharT >& callback)
-{
- typedef CharT char_type;
- typedef date_format_parser_callback< char_type > callback_type;
- date_flags< common_flags< callback_type > > parser;
- parse_format(begin, end, parser, callback);
-}
-
-//! Parses the time format string and invokes the callback object
-template< typename CharT >
-BOOST_LOG_API void parse_time_format(const CharT* begin, const CharT* end, time_format_parser_callback< CharT >& callback)
-{
- typedef CharT char_type;
- typedef time_format_parser_callback< char_type > callback_type;
- time_flags< common_flags< callback_type > > parser;
- parse_format(begin, end, parser, callback);
-}
-
-//! Parses the date and time format string and invokes the callback object
-template< typename CharT >
-BOOST_LOG_API void parse_date_time_format(const CharT* begin, const CharT* end, date_time_format_parser_callback< CharT >& callback)
-{
- typedef CharT char_type;
- typedef date_time_format_parser_callback< char_type > callback_type;
- date_flags< time_flags< common_flags< callback_type > > > parser;
- parse_format(begin, end, parser, callback);
-}
-
-template< typename CharT >
-BOOST_LOG_API void put_integer(boost::log::aux::basic_ostringstreambuf< CharT >& strbuf, uint32_t value, unsigned int width, CharT fill_char)
-{
- typedef CharT char_type;
- char_type buf[std::numeric_limits< uint32_t >::digits10 + 2];
- char_type* p = buf;
-
- typedef karma::uint_generator< uint32_t, 10 > uint_gen;
- karma::generate(p, uint_gen(), value);
- const std::size_t len = p - buf;
- if (len < width)
- strbuf.append(width - len, fill_char);
- strbuf.append(buf, len);
-}
-
-#ifdef BOOST_LOG_USE_CHAR
-
-template BOOST_LOG_API
-void parse_date_format(const char* begin, const char* end, date_format_parser_callback< char >& callback);
-template BOOST_LOG_API
-void parse_time_format(const char* begin, const char* end, time_format_parser_callback< char >& callback);
-template BOOST_LOG_API
-void parse_date_time_format(const char* begin, const char* end, date_time_format_parser_callback< char >& callback);
-template BOOST_LOG_API
-void put_integer(boost::log::aux::basic_ostringstreambuf< char >& strbuf, uint32_t value, unsigned int width, char fill_char);
-
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-template BOOST_LOG_API
-void parse_date_format(const wchar_t* begin, const wchar_t* end, date_format_parser_callback< wchar_t >& callback);
-template BOOST_LOG_API
-void parse_time_format(const wchar_t* begin, const wchar_t* end, time_format_parser_callback< wchar_t >& callback);
-template BOOST_LOG_API
-void parse_date_time_format(const wchar_t* begin, const wchar_t* end, date_time_format_parser_callback< wchar_t >& callback);
-template BOOST_LOG_API
-void put_integer(boost::log::aux::basic_ostringstreambuf< wchar_t >& strbuf, uint32_t value, unsigned int width, wchar_t fill_char);
-
-#endif // BOOST_LOG_USE_WCHAR_T
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/default_attribute_names.cpp b/contrib/restricted/boost/libs/log/src/default_attribute_names.cpp
deleted file mode 100644
index 81bce3b9da..0000000000
--- a/contrib/restricted/boost/libs/log/src/default_attribute_names.cpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file default_attribute_names.cpp
- * \author Andrey Semashev
- * \date 13.07.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/log/detail/default_attribute_names.hpp>
-#include <boost/log/detail/singleton.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-namespace default_attribute_names {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
- class names :
- public lazy_singleton< names, shared_ptr< names > >
- {
- private:
- typedef lazy_singleton< names, shared_ptr< names > > base_type;
-
-#if !defined(BOOST_LOG_BROKEN_FRIEND_TEMPLATE_SPECIALIZATIONS)
- friend class lazy_singleton< names, shared_ptr< names > >;
-#else
- friend class base_type;
-#endif
-
- public:
- const attribute_name severity;
- const attribute_name channel;
- const attribute_name message;
- const attribute_name line_id;
- const attribute_name timestamp;
- const attribute_name process_id;
- const attribute_name thread_id;
-
- private:
- names() :
- severity("Severity"),
- channel("Channel"),
- message("Message"),
- line_id("LineID"),
- timestamp("TimeStamp"),
- process_id("ProcessID"),
- thread_id("ThreadID")
- {
- }
-
- static void init_instance()
- {
- get_instance().reset(new names());
- }
-
- public:
- static names& get()
- {
- return *base_type::get();
- }
- };
-
-} // namespace
-
-BOOST_LOG_API attribute_name severity()
-{
- return names::get().severity;
-}
-
-BOOST_LOG_API attribute_name channel()
-{
- return names::get().channel;
-}
-
-BOOST_LOG_API attribute_name message()
-{
- return names::get().message;
-}
-
-BOOST_LOG_API attribute_name line_id()
-{
- return names::get().line_id;
-}
-
-BOOST_LOG_API attribute_name timestamp()
-{
- return names::get().timestamp;
-}
-
-BOOST_LOG_API attribute_name process_id()
-{
- return names::get().process_id;
-}
-
-BOOST_LOG_API attribute_name thread_id()
-{
- return names::get().thread_id;
-}
-
-} // namespace default_attribute_names
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/default_sink.cpp b/contrib/restricted/boost/libs/log/src/default_sink.cpp
deleted file mode 100644
index 9258754658..0000000000
--- a/contrib/restricted/boost/libs/log/src/default_sink.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file default_sink.cpp
- * \author Andrey Semashev
- * \date 19.04.2007
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <cstdio>
-#include <boost/optional/optional.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/thread/locks.hpp>
-#include <boost/log/detail/thread_id.hpp>
-#endif
-#include <boost/log/detail/default_attribute_names.hpp>
-#include <boost/date_time/microsec_time_clock.hpp>
-#include <boost/date_time/time_resolution_traits.hpp>
-#include <boost/date_time/gregorian/gregorian_types.hpp>
-#include "default_sink.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-namespace aux {
-
-// Defined in thread_id.cpp
-void format_thread_id(char* buf, std::size_t size, thread::id tid);
-
-} // namespace aux
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-namespace sinks {
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! A special time point type that contains decomposed date and time to avoid excessive calculations
-struct decomposed_time_point
-{
- struct date_type :
- public gregorian::greg_year_month_day
- {
- date_type(year_type y, month_type m, day_type d) :
- gregorian::greg_year_month_day(y, m, d)
- {
- }
- };
-
- struct time_duration_type :
- public date_time::micro_res
- {
- typedef date_time::micro_res rep_type;
-
- hour_type hours;
- min_type minutes;
- sec_type seconds;
- fractional_seconds_type useconds;
-
- time_duration_type(hour_type h, min_type m, sec_type s, fractional_seconds_type u) :
- hours(h),
- minutes(m),
- seconds(s),
- useconds(u)
- {
- }
- };
-
- date_type date;
- time_duration_type time;
-
- decomposed_time_point(date_type const& d, time_duration_type const& t) :
- date(d),
- time(t)
- {
- }
-};
-
-inline const char* severity_level_to_string(boost::log::trivial::severity_level lvl)
-{
- switch (lvl)
- {
- case boost::log::trivial::trace:
- return "[trace] ";
- case boost::log::trivial::debug:
- return "[debug] ";
- case boost::log::trivial::info:
- return "[info] ";
- case boost::log::trivial::warning:
- return "[warning]";
- case boost::log::trivial::error:
- return "[error] ";
- case boost::log::trivial::fatal:
- return "[fatal] ";
- default:
- return "[-] ";
- }
-}
-
-struct message_printer
-{
- typedef void result_type;
-
- explicit message_printer(boost::log::trivial::severity_level lvl) : m_level(lvl)
- {
- }
-
-#ifdef BOOST_LOG_USE_CHAR
-
- result_type operator() (std::string const& msg) const
- {
-#if !defined(BOOST_LOG_NO_THREADS)
- char thread_id_buf[64];
- boost::log::aux::format_thread_id(thread_id_buf, sizeof(thread_id_buf), boost::log::aux::this_thread::get_id());
-#endif
-
- const decomposed_time_point now = date_time::microsec_clock< decomposed_time_point >::local_time();
-
- std::printf("[%04u-%02u-%02u %02u:%02u:%02u.%06u] "
-#if !defined(BOOST_LOG_NO_THREADS)
- "[%s] "
-#endif
- "%s %s\n",
- static_cast< unsigned int >(now.date.year),
- static_cast< unsigned int >(now.date.month),
- static_cast< unsigned int >(now.date.day),
- static_cast< unsigned int >(now.time.hours),
- static_cast< unsigned int >(now.time.minutes),
- static_cast< unsigned int >(now.time.seconds),
- static_cast< unsigned int >(now.time.useconds),
-#if !defined(BOOST_LOG_NO_THREADS)
- thread_id_buf,
-#endif
- severity_level_to_string(m_level),
- msg.c_str());
- }
-
-#endif
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
- result_type operator() (std::wstring const& msg) const
- {
-#if !defined(BOOST_LOG_NO_THREADS)
- char thread_id_buf[64];
- boost::log::aux::format_thread_id(thread_id_buf, sizeof(thread_id_buf), boost::log::aux::this_thread::get_id());
-#endif
-
- const decomposed_time_point now = date_time::microsec_clock< decomposed_time_point >::local_time();
-
- std::printf("[%04u-%02u-%02u %02u:%02u:%02u.%06u] "
-#if !defined(BOOST_LOG_NO_THREADS)
- "[%s] "
-#endif
- "%s %ls\n",
- static_cast< unsigned int >(now.date.year),
- static_cast< unsigned int >(now.date.month),
- static_cast< unsigned int >(now.date.day),
- static_cast< unsigned int >(now.time.hours),
- static_cast< unsigned int >(now.time.minutes),
- static_cast< unsigned int >(now.time.seconds),
- static_cast< unsigned int >(now.time.useconds),
-#if !defined(BOOST_LOG_NO_THREADS)
- thread_id_buf,
-#endif
- severity_level_to_string(m_level),
- msg.c_str());
- }
-
-#endif
-
-private:
- const boost::log::trivial::severity_level m_level;
-};
-
-} // namespace
-
-default_sink::default_sink() :
- sink(false),
- m_severity_name(boost::log::aux::default_attribute_names::severity()),
- m_message_name(boost::log::aux::default_attribute_names::message()),
- m_severity_extractor(boost::log::trivial::info)
-{
-}
-
-default_sink::~default_sink()
-{
-}
-
-bool default_sink::will_consume(attribute_value_set const&)
-{
- return true;
-}
-
-void default_sink::consume(record_view const& rec)
-{
- BOOST_LOG_EXPR_IF_MT(lock_guard< mutex_type > lock(m_mutex);)
- m_message_visitor(m_message_name, rec.attribute_values(), message_printer(m_severity_extractor(m_severity_name, rec).get()));
-}
-
-void default_sink::flush()
-{
- BOOST_LOG_EXPR_IF_MT(lock_guard< mutex_type > lock(m_mutex);)
- std::fflush(stdout);
-}
-
-} // namespace aux
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/default_sink.hpp b/contrib/restricted/boost/libs/log/src/default_sink.hpp
deleted file mode 100644
index bdcd3f46f0..0000000000
--- a/contrib/restricted/boost/libs/log/src/default_sink.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file default_sink.hpp
- * \author Andrey Semashev
- * \date 08.01.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_DEFAULT_SINK_HPP_INCLUDED_
-#define BOOST_LOG_DEFAULT_SINK_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/sinks/sink.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/value_extraction.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/attributes/fallback_policy.hpp>
-#include <boost/log/expressions/message.hpp>
-#include <boost/log/trivial.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/thread/mutex.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-namespace aux {
-
-//! The default sink to be used when no sinks are registered in the logging core
-class default_sink :
- public sink
-{
-private:
-#if !defined(BOOST_LOG_NO_THREADS)
- typedef mutex mutex_type;
- mutex_type m_mutex;
-#endif
- attribute_name const m_severity_name, m_message_name;
- value_extractor< boost::log::trivial::severity_level, fallback_to_default< boost::log::trivial::severity_level > > const m_severity_extractor;
- value_visitor_invoker< expressions::tag::message::value_type > m_message_visitor;
-
-public:
- default_sink();
- ~default_sink();
- bool will_consume(attribute_value_set const&);
- void consume(record_view const& rec);
- void flush();
-};
-
-} // namespace aux
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_DEFAULT_SINK_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/libs/log/src/dump.cpp b/contrib/restricted/boost/libs/log/src/dump.cpp
deleted file mode 100644
index 95b1265226..0000000000
--- a/contrib/restricted/boost/libs/log/src/dump.cpp
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file dump.cpp
- * \author Andrey Semashev
- * \date 03.05.2013
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <ostream>
-#include <boost/cstdint.hpp>
-#include <boost/log/utility/manipulators/dump.hpp>
-#if defined(_MSC_VER) && (defined(BOOST_LOG_USE_SSSE3) || defined(BOOST_LOG_USE_AVX2))
-#include <boost/winapi/dll.hpp>
-#include <intrin.h> // __cpuid
-#endif
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-#if defined(BOOST_LOG_USE_SSSE3)
-extern dump_data_char_t dump_data_char_ssse3;
-extern dump_data_wchar_t dump_data_wchar_ssse3;
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
-extern dump_data_char16_t dump_data_char16_ssse3;
-#endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
-extern dump_data_char32_t dump_data_char32_ssse3;
-#endif
-#endif
-#if defined(BOOST_LOG_USE_AVX2)
-extern dump_data_char_t dump_data_char_avx2;
-extern dump_data_wchar_t dump_data_wchar_avx2;
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
-extern dump_data_char16_t dump_data_char16_avx2;
-#endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
-extern dump_data_char32_t dump_data_char32_avx2;
-#endif
-#endif
-
-enum { stride = 256 };
-
-extern const char g_hex_char_table[2][16] =
-{
- { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' },
- { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }
-};
-
-template< typename CharT >
-void dump_data_generic(const void* data, std::size_t size, std::basic_ostream< CharT >& strm)
-{
- typedef CharT char_type;
-
- char_type buf[stride * 3u];
-
- const char* const char_table = g_hex_char_table[(strm.flags() & std::ios_base::uppercase) != 0];
- const std::size_t stride_count = size / stride, tail_size = size % stride;
-
- const uint8_t* p = static_cast< const uint8_t* >(data);
- char_type* buf_begin = buf + 1u; // skip the first space of the first chunk
- char_type* buf_end = buf + sizeof(buf) / sizeof(*buf);
-
- for (std::size_t i = 0; i < stride_count; ++i)
- {
- char_type* b = buf;
- for (unsigned int j = 0; j < stride; ++j, b += 3u, ++p)
- {
- uint32_t n = *p;
- b[0] = static_cast< char_type >(' ');
- b[1] = static_cast< char_type >(char_table[n >> 4]);
- b[2] = static_cast< char_type >(char_table[n & 0x0F]);
- }
-
- strm.write(buf_begin, buf_end - buf_begin);
- buf_begin = buf;
- }
-
- if (tail_size > 0)
- {
- char_type* b = buf;
- unsigned int i = 0;
- do
- {
- uint32_t n = *p;
- b[0] = static_cast< char_type >(' ');
- b[1] = static_cast< char_type >(char_table[n >> 4]);
- b[2] = static_cast< char_type >(char_table[n & 0x0F]);
- ++i;
- ++p;
- b += 3u;
- }
- while (i < tail_size);
-
- strm.write(buf_begin, b - buf_begin);
- }
-}
-
-BOOST_LOG_API dump_data_char_t* dump_data_char = &dump_data_generic< char >;
-BOOST_LOG_API dump_data_wchar_t* dump_data_wchar = &dump_data_generic< wchar_t >;
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
-BOOST_LOG_API dump_data_char16_t* dump_data_char16 = &dump_data_generic< char16_t >;
-#endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
-BOOST_LOG_API dump_data_char32_t* dump_data_char32 = &dump_data_generic< char32_t >;
-#endif
-
-#if defined(BOOST_LOG_USE_SSSE3) || defined(BOOST_LOG_USE_AVX2)
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-struct function_pointer_initializer
-{
- function_pointer_initializer()
- {
- // First, let's check for the max supported cpuid function
- uint32_t eax = 0, ebx = 0, ecx = 0, edx = 0;
- cpuid(eax, ebx, ecx, edx);
-
- const uint32_t max_cpuid_function = eax;
- if (max_cpuid_function >= 1)
- {
- eax = 1;
- ebx = ecx = edx = 0;
- cpuid(eax, ebx, ecx, edx);
-
- // Check for SSSE3 support
- if (ecx & (1u << 9))
- enable_ssse3();
-
-#if defined(BOOST_LOG_USE_AVX2)
- if (max_cpuid_function >= 7)
- {
- // To check for AVX2 availability we also need to verify that OS supports it
- // Check that OSXSAVE is supported by CPU
- if (ecx & (1u << 27))
- {
- // Check that it is used by the OS
- bool mmstate = false;
-#if defined(__GNUC__)
- // Get the XFEATURE_ENABLED_MASK register
- __asm__ __volatile__
- (
- "xgetbv\n\t"
- : "=a" (eax), "=d" (edx)
- : "c" (0)
- );
- mmstate = (eax & 6U) == 6U;
-#elif defined(BOOST_WINDOWS)
- // MSVC does not have an intrinsic for xgetbv, we have to query OS
- boost::winapi::HMODULE_ hKernel32 = boost::winapi::GetModuleHandleW(L"kernel32.dll");
- if (hKernel32)
- {
- typedef uint64_t (WINAPI* get_enabled_extended_features_t)(uint64_t);
- get_enabled_extended_features_t get_enabled_extended_features = (get_enabled_extended_features_t)boost::winapi::get_proc_address(hKernel32, "GetEnabledExtendedFeatures");
- if (get_enabled_extended_features)
- {
- // XSTATE_MASK_LEGACY_SSE | XSTATE_MASK_GSSE == 6
- mmstate = get_enabled_extended_features(6u) == 6u;
- }
- }
-#endif
-
- if (mmstate)
- {
- // Finally, check for AVX2 support in CPU
- eax = 7;
- ebx = ecx = edx = 0;
- cpuid(eax, ebx, ecx, edx);
-
- if (ebx & (1U << 5))
- enable_avx2();
- }
- }
- }
-#endif // defined(BOOST_LOG_USE_AVX2)
- }
- }
-
-private:
- static void cpuid(uint32_t& eax, uint32_t& ebx, uint32_t& ecx, uint32_t& edx)
- {
-#if defined(__GNUC__)
-#if defined(__i386__) && defined(__PIC__) && __PIC__ != 0
- // We have to backup ebx in 32 bit PIC code because it is reserved by the ABI
- uint32_t ebx_backup;
- __asm__ __volatile__
- (
- "movl %%ebx, %0\n\t"
- "movl %1, %%ebx\n\t"
- "cpuid\n\t"
- "movl %%ebx, %1\n\t"
- "movl %0, %%ebx\n\t"
- : "=m" (ebx_backup), "+m" (ebx), "+a" (eax), "+c" (ecx), "+d" (edx)
- );
-#else
- __asm__ __volatile__
- (
- "cpuid\n\t"
- : "+a" (eax), "+b" (ebx), "+c" (ecx), "+d" (edx)
- );
-#endif
-#elif defined(_MSC_VER)
- int regs[4] = {};
- __cpuid(regs, eax);
- eax = regs[0];
- ebx = regs[1];
- ecx = regs[2];
- edx = regs[3];
-#else
-#error Boost.Log: Unexpected compiler
-#endif
- }
-
- static void enable_ssse3()
- {
- dump_data_char = &dump_data_char_ssse3;
- dump_data_wchar = &dump_data_wchar_ssse3;
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
- dump_data_char16 = &dump_data_char16_ssse3;
-#endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
- dump_data_char32 = &dump_data_char32_ssse3;
-#endif
- }
-
-#if defined(BOOST_LOG_USE_AVX2)
- static void enable_avx2()
- {
- dump_data_char = &dump_data_char_avx2;
- dump_data_wchar = &dump_data_wchar_avx2;
-#if !defined(BOOST_NO_CXX11_CHAR16_T)
- dump_data_char16 = &dump_data_char16_avx2;
-#endif
-#if !defined(BOOST_NO_CXX11_CHAR32_T)
- dump_data_char32 = &dump_data_char32_avx2;
-#endif
- }
-#endif // defined(BOOST_LOG_USE_AVX2)
-};
-
-static function_pointer_initializer g_function_pointer_initializer;
-
-} // namespace
-
-#endif // defined(BOOST_LOG_USE_SSSE3) || defined(BOOST_LOG_USE_AVX2)
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/event.cpp b/contrib/restricted/boost/libs/log/src/event.cpp
deleted file mode 100644
index ea9eee2fc0..0000000000
--- a/contrib/restricted/boost/libs/log/src/event.cpp
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file event.cpp
- * \author Andrey Semashev
- * \date 24.07.2011
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-
-#ifndef BOOST_LOG_NO_THREADS
-
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/log/detail/event.hpp>
-#include <boost/log/exceptions.hpp>
-
-#if defined(BOOST_LOG_EVENT_USE_FUTEX)
-
-#include <stddef.h>
-#include <errno.h>
-#include <sys/syscall.h>
-#include <linux/futex.h>
-#include <boost/memory_order.hpp>
-
-// Some Android NDKs (Google NDK and older Crystax.NET NDK versions) don't define SYS_futex
-#if defined(SYS_futex)
-#define BOOST_LOG_SYS_FUTEX SYS_futex
-#else
-#define BOOST_LOG_SYS_FUTEX __NR_futex
-#endif
-
-#if defined(FUTEX_WAIT_PRIVATE)
-#define BOOST_LOG_FUTEX_WAIT FUTEX_WAIT_PRIVATE
-#else
-#define BOOST_LOG_FUTEX_WAIT FUTEX_WAIT
-#endif
-
-#if defined(FUTEX_WAKE_PRIVATE)
-#define BOOST_LOG_FUTEX_WAKE FUTEX_WAKE_PRIVATE
-#else
-#define BOOST_LOG_FUTEX_WAKE FUTEX_WAKE
-#endif
-
-#elif defined(BOOST_LOG_EVENT_USE_POSIX_SEMAPHORE)
-
-#include <errno.h>
-#include <semaphore.h>
-#include <boost/memory_order.hpp>
-#include <boost/atomic/fences.hpp>
-
-#elif defined(BOOST_LOG_EVENT_USE_WINAPI)
-
-#include <windows.h>
-#include <boost/detail/interlocked.hpp>
-
-#else
-
-#include <boost/thread/locks.hpp>
-
-#endif
-
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-#if defined(BOOST_LOG_EVENT_USE_FUTEX)
-
-//! Default constructor
-BOOST_LOG_API futex_based_event::futex_based_event() : m_state(0)
-{
-}
-
-//! Destructor
-BOOST_LOG_API futex_based_event::~futex_based_event()
-{
-}
-
-//! Waits for the object to become signalled
-BOOST_LOG_API void futex_based_event::wait()
-{
- if (m_state.exchange(0, boost::memory_order_acq_rel) == 0)
- {
- while (true)
- {
- if (::syscall(BOOST_LOG_SYS_FUTEX, &m_state.storage(), BOOST_LOG_FUTEX_WAIT, 0, NULL, NULL, 0) == 0)
- {
- // Another thread has set the event while sleeping
- break;
- }
-
- const int err = errno;
- if (err == EWOULDBLOCK)
- {
- // Another thread has set the event before sleeping
- break;
- }
- else if (BOOST_UNLIKELY(err != EINTR))
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to block on the futex", (err));
- }
- }
-
- m_state.store(0, boost::memory_order_relaxed);
- }
-}
-
-//! Sets the object to a signalled state
-BOOST_LOG_API void futex_based_event::set_signalled()
-{
- if (m_state.exchange(1, boost::memory_order_release) == 0)
- {
- if (BOOST_UNLIKELY(::syscall(BOOST_LOG_SYS_FUTEX, &m_state.storage(), BOOST_LOG_FUTEX_WAKE, 1, NULL, NULL, 0) < 0))
- {
- const int err = errno;
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to wake threads blocked on the futex", (err));
- }
- }
-}
-
-#elif defined(BOOST_LOG_EVENT_USE_POSIX_SEMAPHORE)
-
-//! Default constructor
-BOOST_LOG_API sem_based_event::sem_based_event() : m_state()
-{
- if (BOOST_UNLIKELY(sem_init(&m_semaphore, 0, 0) != 0))
- {
- const int err = errno;
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to initialize semaphore", (err));
- }
-}
-
-//! Destructor
-BOOST_LOG_API sem_based_event::~sem_based_event()
-{
- BOOST_VERIFY(sem_destroy(&m_semaphore) == 0);
-}
-
-//! Waits for the object to become signalled
-BOOST_LOG_API void sem_based_event::wait()
-{
- boost::atomic_thread_fence(boost::memory_order_acq_rel);
- while (true)
- {
- if (sem_wait(&m_semaphore) != 0)
- {
- const int err = errno;
- if (BOOST_UNLIKELY(err != EINTR))
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to block on the semaphore", (err));
- }
- }
- else
- break;
- }
- m_state.clear(boost::memory_order_relaxed);
-}
-
-//! Sets the object to a signalled state
-BOOST_LOG_API void sem_based_event::set_signalled()
-{
- if (!m_state.test_and_set(boost::memory_order_release))
- {
- if (BOOST_UNLIKELY(sem_post(&m_semaphore) != 0))
- {
- const int err = errno;
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to wake the blocked thread", (err));
- }
- }
-}
-
-#elif defined(BOOST_LOG_EVENT_USE_WINAPI)
-
-//! Default constructor
-BOOST_LOG_API winapi_based_event::winapi_based_event() :
- m_state(0),
- m_event(CreateEventA(NULL, false, false, NULL))
-{
- if (BOOST_UNLIKELY(!m_event))
- {
- const DWORD err = GetLastError();
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to create Windows event", (err));
- }
-}
-
-//! Destructor
-BOOST_LOG_API winapi_based_event::~winapi_based_event()
-{
- BOOST_VERIFY(CloseHandle(m_event) != 0);
-}
-
-//! Waits for the object to become signalled
-BOOST_LOG_API void winapi_based_event::wait()
-{
- // On Windows we assume that memory view is always actual (Intel x86 and x86_64 arch)
- if (const_cast< volatile boost::uint32_t& >(m_state) == 0)
- {
- if (BOOST_UNLIKELY(WaitForSingleObject(m_event, INFINITE) != 0))
- {
- const DWORD err = GetLastError();
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to block on Windows event", (err));
- }
- }
- const_cast< volatile boost::uint32_t& >(m_state) = 0;
-}
-
-//! Sets the object to a signalled state
-BOOST_LOG_API void winapi_based_event::set_signalled()
-{
- if (BOOST_INTERLOCKED_COMPARE_EXCHANGE(reinterpret_cast< long* >(&m_state), 1, 0) == 0)
- {
- if (BOOST_UNLIKELY(SetEvent(m_event) == 0))
- {
- const DWORD err = GetLastError();
- const_cast< volatile boost::uint32_t& >(m_state) = 0;
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to wake the blocked thread", (err));
- }
- }
-}
-
-#else
-
-//! Default constructor
-BOOST_LOG_API generic_event::generic_event() : m_state(false)
-{
-}
-
-//! Destructor
-BOOST_LOG_API generic_event::~generic_event()
-{
-}
-
-//! Waits for the object to become signalled
-BOOST_LOG_API void generic_event::wait()
-{
- boost::unique_lock< boost::mutex > lock(m_mutex);
- while (!m_state)
- {
- m_cond.wait(lock);
- }
- m_state = false;
-}
-
-//! Sets the object to a signalled state
-BOOST_LOG_API void generic_event::set_signalled()
-{
- boost::lock_guard< boost::mutex > lock(m_mutex);
- if (!m_state)
- {
- m_state = true;
- m_cond.notify_one();
- }
-}
-
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_NO_THREADS
diff --git a/contrib/restricted/boost/libs/log/src/exceptions.cpp b/contrib/restricted/boost/libs/log/src/exceptions.cpp
deleted file mode 100644
index 693881b11a..0000000000
--- a/contrib/restricted/boost/libs/log/src/exceptions.cpp
+++ /dev/null
@@ -1,646 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file exceptions.cpp
- * \author Andrey Semashev
- * \date 31.10.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/exception/exception.hpp>
-#include <boost/exception/errinfo_at_line.hpp>
-#include <boost/exception/info.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/support/exception.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef _MSC_VER
-#pragma warning(push)
-// conversion from 'size_t' to 'boost::error_info<boost::throw_line_,int>::value_type', possible loss of data
-// No idea why line number is stored as a signed integer in the error info...
-#pragma warning(disable: 4267)
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Attaches attribute name exception information
-BOOST_LOG_API void attach_attribute_name_info(exception& e, attribute_name const& name)
-{
- e << attribute_name_info(name);
-}
-
-} // namespace aux
-
-bad_alloc::bad_alloc(const char* descr) :
- m_message(descr)
-{
-}
-
-bad_alloc::bad_alloc(std::string const& descr) :
- m_message(descr)
-{
-}
-
-bad_alloc::~bad_alloc()
-{
-}
-
-const char* bad_alloc::what() const noexcept
-{
- return m_message.c_str();
-}
-
-void bad_alloc::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(bad_alloc(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void bad_alloc::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(bad_alloc(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-capacity_limit_reached::capacity_limit_reached(const char* descr) :
- bad_alloc(descr)
-{
-}
-
-capacity_limit_reached::capacity_limit_reached(std::string const& descr) :
- bad_alloc(descr)
-{
-}
-
-capacity_limit_reached::~capacity_limit_reached()
-{
-}
-
-void capacity_limit_reached::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(capacity_limit_reached(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void capacity_limit_reached::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(capacity_limit_reached(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-runtime_error::runtime_error(std::string const& descr) :
- std::runtime_error(descr)
-{
-}
-
-runtime_error::~runtime_error()
-{
-}
-
-missing_value::missing_value() :
- runtime_error("Requested value not found")
-{
-}
-
-missing_value::missing_value(std::string const& descr) :
- runtime_error(descr)
-{
-}
-
-missing_value::~missing_value()
-{
-}
-
-void missing_value::throw_(const char* file, std::size_t line)
-{
- boost::throw_exception(boost::enable_error_info(missing_value())
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void missing_value::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(missing_value(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void missing_value::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(missing_value(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void missing_value::throw_(const char* file, std::size_t line, const char* descr, attribute_name const& name)
-{
- boost::throw_exception(boost::enable_error_info(missing_value(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << attribute_name_info(name)
- );
-}
-
-void missing_value::throw_(const char* file, std::size_t line, std::string const& descr, attribute_name const& name)
-{
- boost::throw_exception(boost::enable_error_info(missing_value(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << attribute_name_info(name)
- );
-}
-
-invalid_type::invalid_type() :
- runtime_error("Requested value has invalid type")
-{
-}
-
-invalid_type::invalid_type(std::string const& descr) :
- runtime_error(descr)
-{
-}
-
-invalid_type::~invalid_type()
-{
-}
-
-void invalid_type::throw_(const char* file, std::size_t line)
-{
- boost::throw_exception(boost::enable_error_info(invalid_type())
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void invalid_type::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(invalid_type(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void invalid_type::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(invalid_type(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void invalid_type::throw_(const char* file, std::size_t line, const char* descr, attribute_name const& name)
-{
- boost::throw_exception(boost::enable_error_info(invalid_type(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << attribute_name_info(name)
- );
-}
-
-void invalid_type::throw_(const char* file, std::size_t line, std::string const& descr, attribute_name const& name)
-{
- boost::throw_exception(boost::enable_error_info(invalid_type(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << attribute_name_info(name)
- );
-}
-
-void invalid_type::throw_(const char* file, std::size_t line, const char* descr, typeindex::type_index const& type)
-{
- boost::throw_exception(boost::enable_error_info(invalid_type(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << type_info_info(type)
- );
-}
-
-void invalid_type::throw_(const char* file, std::size_t line, std::string const& descr, typeindex::type_index const& type)
-{
- boost::throw_exception(boost::enable_error_info(invalid_type(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << type_info_info(type)
- );
-}
-
-void invalid_type::throw_(const char* file, std::size_t line, const char* descr, attribute_name const& name, typeindex::type_index const& type)
-{
- boost::throw_exception(boost::enable_error_info(invalid_type(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << attribute_name_info(name)
- << type_info_info(type)
- );
-}
-
-void invalid_type::throw_(const char* file, std::size_t line, std::string const& descr, attribute_name const& name, typeindex::type_index const& type)
-{
- boost::throw_exception(boost::enable_error_info(invalid_type(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << attribute_name_info(name)
- << type_info_info(type)
- );
-}
-
-invalid_value::invalid_value() :
- runtime_error("The value is invalid")
-{
-}
-
-invalid_value::invalid_value(std::string const& descr) :
- runtime_error(descr)
-{
-}
-
-invalid_value::~invalid_value()
-{
-}
-
-void invalid_value::throw_(const char* file, std::size_t line)
-{
- boost::throw_exception(boost::enable_error_info(invalid_value())
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void invalid_value::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(invalid_value(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void invalid_value::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(invalid_value(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-parse_error::parse_error() :
- runtime_error("Failed to parse content")
-{
-}
-
-parse_error::parse_error(std::string const& descr) :
- runtime_error(descr)
-{
-}
-
-parse_error::~parse_error()
-{
-}
-
-void parse_error::throw_(const char* file, std::size_t line)
-{
- boost::throw_exception(boost::enable_error_info(parse_error())
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void parse_error::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(parse_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void parse_error::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(parse_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void parse_error::throw_(const char* file, std::size_t line, const char* descr, std::size_t content_line)
-{
- boost::throw_exception(boost::enable_error_info(parse_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << boost::errinfo_at_line(content_line)
- );
-}
-
-void parse_error::throw_(const char* file, std::size_t line, std::string const& descr, std::size_t content_line)
-{
- boost::throw_exception(boost::enable_error_info(parse_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << boost::errinfo_at_line(content_line)
- );
-}
-
-void parse_error::throw_(const char* file, std::size_t line, const char* descr, attribute_name const& name)
-{
- boost::throw_exception(boost::enable_error_info(parse_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << attribute_name_info(name)
- );
-}
-
-void parse_error::throw_(const char* file, std::size_t line, std::string const& descr, attribute_name const& name)
-{
- boost::throw_exception(boost::enable_error_info(parse_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- << attribute_name_info(name)
- );
-}
-
-conversion_error::conversion_error() :
- runtime_error("Failed to perform conversion")
-{
-}
-
-conversion_error::conversion_error(std::string const& descr) :
- runtime_error(descr)
-{
-}
-
-conversion_error::~conversion_error()
-{
-}
-
-void conversion_error::throw_(const char* file, std::size_t line)
-{
- boost::throw_exception(boost::enable_error_info(conversion_error())
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void conversion_error::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(conversion_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void conversion_error::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(conversion_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-system_error::system_error(boost::system::error_code code, std::string const& descr) :
- boost::system::system_error(code, descr)
-{
-}
-
-system_error::~system_error()
-{
-}
-
-void system_error::throw_(const char* file, std::size_t line, const char* descr, int system_error_code)
-{
- boost::throw_exception(boost::enable_error_info(system_error(boost::system::error_code(system_error_code, boost::system::system_category()), descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void system_error::throw_(const char* file, std::size_t line, std::string const& descr, int system_error_code)
-{
- boost::throw_exception(boost::enable_error_info(system_error(boost::system::error_code(system_error_code, boost::system::system_category()), descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void system_error::throw_(const char* file, std::size_t line, const char* descr, boost::system::error_code code)
-{
- boost::throw_exception(boost::enable_error_info(system_error(code, descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void system_error::throw_(const char* file, std::size_t line, std::string const& descr, boost::system::error_code code)
-{
- boost::throw_exception(boost::enable_error_info(system_error(code, descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-logic_error::logic_error(std::string const& descr) :
- std::logic_error(descr)
-{
-}
-
-logic_error::~logic_error()
-{
-}
-
-void logic_error::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(logic_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void logic_error::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(logic_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-odr_violation::odr_violation() :
- logic_error("ODR violation detected")
-{
-}
-
-odr_violation::odr_violation(std::string const& descr) :
- logic_error(descr)
-{
-}
-
-odr_violation::~odr_violation()
-{
-}
-
-void odr_violation::throw_(const char* file, std::size_t line)
-{
- boost::throw_exception(boost::enable_error_info(odr_violation())
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void odr_violation::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(odr_violation(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void odr_violation::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(odr_violation(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-unexpected_call::unexpected_call() :
- logic_error("Invalid call sequence")
-{
-}
-
-unexpected_call::unexpected_call(std::string const& descr) :
- logic_error(descr)
-{
-}
-
-unexpected_call::~unexpected_call()
-{
-}
-
-void unexpected_call::throw_(const char* file, std::size_t line)
-{
- boost::throw_exception(boost::enable_error_info(unexpected_call())
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void unexpected_call::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(unexpected_call(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void unexpected_call::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(unexpected_call(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-setup_error::setup_error() :
- logic_error("The library is not initialized properly")
-{
-}
-
-setup_error::setup_error(std::string const& descr) :
- logic_error(descr)
-{
-}
-
-setup_error::~setup_error()
-{
-}
-
-void setup_error::throw_(const char* file, std::size_t line)
-{
- boost::throw_exception(boost::enable_error_info(setup_error())
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void setup_error::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(setup_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void setup_error::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(setup_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-limitation_error::limitation_error() :
- logic_error("Boost.Log library limit reached")
-{
-}
-
-limitation_error::limitation_error(std::string const& descr) :
- logic_error(descr)
-{
-}
-
-limitation_error::~limitation_error()
-{
-}
-
-void limitation_error::throw_(const char* file, std::size_t line)
-{
- boost::throw_exception(boost::enable_error_info(limitation_error())
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void limitation_error::throw_(const char* file, std::size_t line, const char* descr)
-{
- boost::throw_exception(boost::enable_error_info(limitation_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-void limitation_error::throw_(const char* file, std::size_t line, std::string const& descr)
-{
- boost::throw_exception(boost::enable_error_info(limitation_error(descr))
- << boost::throw_file(file)
- << boost::throw_line(line)
- );
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/format_parser.cpp b/contrib/restricted/boost/libs/log/src/format_parser.cpp
deleted file mode 100644
index 1215d6b2c6..0000000000
--- a/contrib/restricted/boost/libs/log/src/format_parser.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file format_parser.cpp
- * \author Andrey Semashev
- * \date 16.11.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <string>
-#include <algorithm>
-#include <boost/throw_exception.hpp>
-#include <boost/exception/exception.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/spirit/include/qi_uint.hpp>
-#include <boost/spirit/include/qi_parse.hpp>
-#include <boost/log/detail/format.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/support/exception.hpp>
-#include "spirit_encoding.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace qi = boost::spirit::qi;
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename CharT >
-BOOST_LOG_API format_description< CharT > parse_format(const CharT* begin, const CharT* end)
-{
- typedef CharT char_type;
- typedef format_description< char_type > description;
- typedef typename encoding< char_type >::type traits;
-
- const char_type* original_begin = begin;
- description descr;
- unsigned int literal_start_pos = 0;
-
- while (begin != end)
- {
- const char_type* p = std::find(begin, end, static_cast< char_type >('%'));
- descr.literal_chars.append(begin, p);
-
- if ((end - p) >= 2)
- {
- // Check for a percent placeholder
- char_type c = p[1];
- if (c == static_cast< char_type >('%'))
- {
- descr.literal_chars.push_back(static_cast< char_type >('%'));
- begin = p + 2;
- continue;
- }
-
- // From here on, no more literals are possible. Append the literal element.
- {
- const unsigned int literal_chars_size = static_cast< unsigned int >(descr.literal_chars.size());
- if (literal_start_pos < literal_chars_size)
- {
- descr.format_elements.push_back(format_element::literal(literal_start_pos, literal_chars_size - literal_start_pos));
- literal_start_pos = literal_chars_size;
- }
- }
-
- // Check if this is a positional argument
- if (traits::isdigit(c))
- {
- if (c != static_cast< char_type >('0'))
- {
- // Positional argument in the form "%N%"
- unsigned int n = 0;
- const char_type* pp = p + 1;
- qi::parse(pp, end, qi::uint_, n);
- if (n == 0 || pp == end || *pp != static_cast< char_type >('%'))
- {
- boost::throw_exception(boost::enable_error_info(parse_error("Invalid positional format placeholder")) << boost::throw_file(__FILE__) << boost::throw_line(__LINE__)
- << boost::log::position_info(static_cast< unsigned int >(p - original_begin))
- );
- }
-
- // Safety check against ridiculously large argument numbers which would lead to excessive memory consumption.
- // This could be useful if the format string is gathered from an external source (e.g. a config file).
- if (n > 1000)
- {
- boost::throw_exception(boost::enable_error_info(limitation_error("Positional format placeholder too big")) << boost::throw_file(__FILE__) << boost::throw_line(__LINE__)
- << boost::log::position_info(static_cast< unsigned int >(p - original_begin))
- );
- }
-
- // We count positional arguments from 0, not from 1 as in format strings
- descr.format_elements.push_back(format_element::positional_argument(n - 1));
- begin = pp + 1; // skip the closing '%'
-
- continue;
- }
- else
- {
- // This must be the filler character, not supported yet
- }
- }
-
- // This must be something else, not supported yet
- boost::throw_exception(boost::enable_error_info(parse_error("Unsupported format placeholder")) << boost::throw_file(__FILE__) << boost::throw_line(__LINE__)
- << boost::log::position_info(static_cast< unsigned int >(p - original_begin))
- );
- }
- else
- {
- if (p != end)
- descr.literal_chars.push_back(static_cast< char_type >('%')); // a single '%' character at the end of the string
- begin = end;
- }
- }
-
- const unsigned int literal_chars_size = static_cast< unsigned int >(descr.literal_chars.size());
- if (literal_start_pos < literal_chars_size)
- descr.format_elements.push_back(format_element::literal(literal_start_pos, literal_chars_size - literal_start_pos));
-
- return BOOST_LOG_NRVO_RESULT(descr);
-}
-
-
-#ifdef BOOST_LOG_USE_CHAR
-
-template BOOST_LOG_API
-format_description< char > parse_format(const char* begin, const char* end);
-
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-template BOOST_LOG_API
-format_description< wchar_t > parse_format(const wchar_t* begin, const wchar_t* end);
-
-#endif // BOOST_LOG_USE_WCHAR_T
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/global_logger_storage.cpp b/contrib/restricted/boost/libs/log/src/global_logger_storage.cpp
deleted file mode 100644
index 6ddcc1b7ce..0000000000
--- a/contrib/restricted/boost/libs/log/src/global_logger_storage.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file global_logger_storage.cpp
- * \author Andrey Semashev
- * \date 21.04.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <map>
-#include <string>
-#include <boost/limits.hpp>
-#include <boost/type_index.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/detail/snprintf.hpp>
-#include <boost/log/detail/singleton.hpp>
-#include <boost/log/sources/global_logger_storage.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/thread/mutex.hpp>
-#include <boost/log/detail/locks.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! The loggers repository singleton
-struct loggers_repository :
- public log::aux::lazy_singleton< loggers_repository >
-{
- //! Repository map type
- typedef std::map< typeindex::type_index, shared_ptr< logger_holder_base > > loggers_map_t;
-
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Synchronization primitive
- mutable mutex m_Mutex;
-#endif
- //! Map of logger holders
- loggers_map_t m_Loggers;
-};
-
-} // namespace
-
-//! Finds or creates the logger and returns its holder
-BOOST_LOG_API shared_ptr< logger_holder_base > global_storage::get_or_init(typeindex::type_index key, initializer_t initializer)
-{
- typedef loggers_repository::loggers_map_t loggers_map_t;
- loggers_repository& repo = loggers_repository::get();
-
- BOOST_LOG_EXPR_IF_MT(log::aux::exclusive_lock_guard< mutex > lock(repo.m_Mutex);)
- loggers_map_t::iterator it = repo.m_Loggers.find(key);
- if (it != repo.m_Loggers.end())
- {
- // There is an instance
- return it->second;
- }
- else
- {
- // We have to create a logger instance
- shared_ptr< logger_holder_base > inst = initializer();
- repo.m_Loggers[key] = inst;
- return inst;
- }
-}
-
-//! Throws the \c odr_violation exception
-BOOST_LOG_API BOOST_LOG_NORETURN void throw_odr_violation(
- typeindex::type_index tag_type,
- typeindex::type_index logger_type,
- logger_holder_base const& registered)
-{
- char buf[std::numeric_limits< unsigned int >::digits10 + 3];
- if (log::aux::snprintf(buf, sizeof(buf), "%u", registered.m_RegistrationLine) < 0)
- buf[0] = '\0';
- std::string str =
- std::string("Could not initialize global logger with tag \"") +
- tag_type.pretty_name() +
- "\" and type \"" +
- logger_type.pretty_name() +
- "\". A logger of type \"" +
- registered.m_LoggerType.pretty_name() +
- "\" with the same tag has already been registered at " +
- registered.m_RegistrationFile + ":" + buf + ".";
-
- BOOST_LOG_THROW_DESCR(odr_violation, str);
-}
-
-} // namespace aux
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/id_formatting.hpp b/contrib/restricted/boost/libs/log/src/id_formatting.hpp
deleted file mode 100644
index b42c5128f6..0000000000
--- a/contrib/restricted/boost/libs/log/src/id_formatting.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file id_formatting.hpp
- * \author Andrey Semashev
- * \date 25.01.2015
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_ID_FORMATTING_HPP_INCLUDED_
-#define BOOST_LOG_ID_FORMATTING_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <cstddef>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-// Defined in dump.cpp
-extern const char g_hex_char_table[2][16];
-
-template< std::size_t IdSize, typename CharT, typename IdT >
-inline void format_id(CharT* buf, std::size_t size, IdT id, bool uppercase) BOOST_NOEXCEPT
-{
- const char* const char_table = g_hex_char_table[uppercase];
-
- // Input buffer is assumed to be always larger than 2 chars
- *buf++ = static_cast< CharT >(char_table[0]); // '0'
- *buf++ = static_cast< CharT >(char_table[10] + ('x' - 'a')); // 'x'
-
- size -= 3; // reserve space for the terminating 0
- std::size_t i = 0;
- const std::size_t n = (size > (IdSize * 2u)) ? IdSize * 2u : size;
- for (std::size_t shift = n * 4u - 4u; i < n; ++i, shift -= 4u)
- {
- buf[i] = static_cast< CharT >(char_table[(id >> shift) & 15u]);
- }
-
- buf[i] = static_cast< CharT >('\0');
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_ID_FORMATTING_HPP_INCLUDED_
-
diff --git a/contrib/restricted/boost/libs/log/src/murmur3.hpp b/contrib/restricted/boost/libs/log/src/murmur3.hpp
deleted file mode 100644
index 2968c084cd..0000000000
--- a/contrib/restricted/boost/libs/log/src/murmur3.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file murmur3.hpp
- * \author Andrey Semashev
- * \date 16.01.2016
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- *
- * This file implements MurmurHash3 hash function implementation. See https://en.wikipedia.org/wiki/MurmurHash.
- */
-
-#ifndef BOOST_LOG_MURMUR3_HPP_INCLUDED_
-#define BOOST_LOG_MURMUR3_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! 32-bit MurmurHash3 algorithm implementation (https://en.wikipedia.org/wiki/MurmurHash)
-class murmur3_32
-{
-private:
- uint32_t m_state;
- uint32_t m_len;
-
- static BOOST_CONSTEXPR_OR_CONST uint32_t c1 = 0xcc9e2d51;
- static BOOST_CONSTEXPR_OR_CONST uint32_t c2 = 0x1b873593;
- static BOOST_CONSTEXPR_OR_CONST uint32_t r1 = 15;
- static BOOST_CONSTEXPR_OR_CONST uint32_t r2 = 13;
- static BOOST_CONSTEXPR_OR_CONST uint32_t m = 5;
- static BOOST_CONSTEXPR_OR_CONST uint32_t n = 0xe6546b64;
-
-public:
- explicit BOOST_CONSTEXPR murmur3_32(uint32_t seed) BOOST_NOEXCEPT : m_state(seed), m_len(0u)
- {
- }
-
- //! Mixing stage of the 32-bit MurmurHash3 algorithm
- void mix(uint32_t value) BOOST_NOEXCEPT
- {
- value *= c1;
- value = (value << r1) | (value >> (32u - r1));
- value *= c2;
-
- uint32_t h = m_state ^ value;
- m_state = ((h << r2) | (h >> (32u - r2))) * m + n;
- m_len += 4u;
- }
-
- //! Finalization stage of the 32-bit MurmurHash3 algorithm
- uint32_t finalize() BOOST_NOEXCEPT
- {
- uint32_t h = m_state ^ m_len;
- h ^= h >> 16u;
- h *= 0x85ebca6bu;
- h ^= h >> 13u;
- h *= 0xc2b2ae35u;
- h ^= h >> 16u;
- m_state = h;
- return h;
- }
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_MURMUR3_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/libs/log/src/named_scope.cpp b/contrib/restricted/boost/libs/log/src/named_scope.cpp
deleted file mode 100644
index c59a9aebef..0000000000
--- a/contrib/restricted/boost/libs/log/src/named_scope.cpp
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file named_scope.cpp
- * \author Andrey Semashev
- * \date 24.06.2007
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <utility>
-#include <algorithm>
-#include <boost/type_index.hpp>
-#include <boost/optional/optional.hpp>
-#include <boost/log/attributes/attribute.hpp>
-#include <boost/log/attributes/attribute_value.hpp>
-#include <boost/log/attributes/named_scope.hpp>
-#include <boost/log/utility/type_dispatch/type_dispatcher.hpp>
-#include <boost/log/detail/singleton.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/thread/tss.hpp>
-#endif
-#include "unique_ptr.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
- //! Actual implementation of the named scope list
- class writeable_named_scope_list :
- public named_scope_list
- {
- //! Base type
- typedef named_scope_list base_type;
-
- public:
- //! Const reference type
- typedef base_type::const_reference const_reference;
-
- public:
- //! The method pushes the scope to the back of the list
- BOOST_FORCEINLINE void push_back(const_reference entry) BOOST_NOEXCEPT
- {
- aux::named_scope_list_node* top = this->m_RootNode._m_pPrev;
- entry._m_pPrev = top;
- entry._m_pNext = &this->m_RootNode;
-
- BOOST_LOG_ASSUME(&entry != 0);
- this->m_RootNode._m_pPrev = top->_m_pNext =
- const_cast< aux::named_scope_list_node* >(
- static_cast< const aux::named_scope_list_node* >(&entry));
-
- ++this->m_Size;
- }
- //! The method removes the top scope entry from the list
- BOOST_FORCEINLINE void pop_back() BOOST_NOEXCEPT
- {
- aux::named_scope_list_node* top = this->m_RootNode._m_pPrev;
- top->_m_pPrev->_m_pNext = top->_m_pNext;
- top->_m_pNext->_m_pPrev = top->_m_pPrev;
- --this->m_Size;
- }
- };
-
- //! Named scope attribute value
- class named_scope_value :
- public attribute_value::impl
- {
- //! Scope names stack
- typedef named_scope_list scope_stack;
-
- //! Pointer to the actual scope value
- scope_stack* m_pValue;
- //! A thread-independent value
- optional< scope_stack > m_DetachedValue;
-
- public:
- //! Constructor
- explicit named_scope_value(scope_stack* p) : m_pValue(p) {}
-
- //! The method dispatches the value to the given object. It returns true if the
- //! object was capable to consume the real attribute value type and false otherwise.
- bool dispatch(type_dispatcher& dispatcher)
- {
- type_dispatcher::callback< scope_stack > callback =
- dispatcher.get_callback< scope_stack >();
- if (callback)
- {
- callback(*m_pValue);
- return true;
- }
- else
- return false;
- }
-
- /*!
- * \return The attribute value type
- */
- typeindex::type_index get_type() const { return typeindex::type_id< scope_stack >(); }
-
- //! The method is called when the attribute value is passed to another thread (e.g.
- //! in case of asynchronous logging). The value should ensure it properly owns all thread-specific data.
- intrusive_ptr< attribute_value::impl > detach_from_thread()
- {
- if (!m_DetachedValue)
- {
- m_DetachedValue = *m_pValue;
- m_pValue = m_DetachedValue.get_ptr();
- }
-
- return this;
- }
- };
-
-} // namespace
-
-//! Named scope attribute implementation
-struct BOOST_SYMBOL_VISIBLE named_scope::impl :
- public attribute::impl,
- public log::aux::singleton<
- impl,
- intrusive_ptr< impl >
- >
-{
- //! Singleton base type
- typedef log::aux::singleton<
- impl,
- intrusive_ptr< impl >
- > singleton_base_type;
-
- //! Writable scope list type
- typedef writeable_named_scope_list scope_list;
-
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Pointer to the thread-specific scope stack
- thread_specific_ptr< scope_list > pScopes;
-
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
- //! Cached pointer to the thread-specific scope stack
- static BOOST_LOG_TLS scope_list* pScopesCache;
-#endif
-
-#else
- //! Pointer to the scope stack
- log::aux::unique_ptr< scope_list > pScopes;
-#endif
-
- //! The method returns current thread scope stack
- scope_list& get_scope_list()
- {
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
- scope_list* p = pScopesCache;
-#else
- scope_list* p = pScopes.get();
-#endif
- if (!p)
- {
- log::aux::unique_ptr< scope_list > pNew(new scope_list());
- pScopes.reset(pNew.get());
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
- pScopesCache = p = pNew.release();
-#else
- p = pNew.release();
-#endif
- }
-
- return *p;
- }
-
- //! Instance initializer
- static void init_instance()
- {
- singleton_base_type::get_instance().reset(new impl());
- }
-
- //! The method returns the actual attribute value. It must not return NULL.
- attribute_value get_value()
- {
- return attribute_value(new named_scope_value(&get_scope_list()));
- }
-
-private:
- impl() {}
-};
-
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
-//! Cached pointer to the thread-specific scope stack
-BOOST_LOG_TLS named_scope::impl::scope_list*
-named_scope::impl::pScopesCache = NULL;
-#endif // defined(BOOST_LOG_USE_COMPILER_TLS)
-
-
-//! Copy constructor
-BOOST_LOG_API named_scope_list::named_scope_list(named_scope_list const& that) :
- allocator_type(static_cast< allocator_type const& >(that)),
- m_Size(that.size()),
- m_fNeedToDeallocate(!that.empty())
-{
- if (m_Size > 0)
- {
- // Copy the container contents
- pointer p = allocator_type::allocate(that.size());
- aux::named_scope_list_node* prev = &m_RootNode;
- for (const_iterator src = that.begin(), end = that.end(); src != end; ++src, ++p)
- {
- new((void*)p) value_type(*src); // won't throw
- p->_m_pPrev = prev;
- prev->_m_pNext = p;
- prev = p;
- }
- m_RootNode._m_pPrev = prev;
- prev->_m_pNext = &m_RootNode;
- }
-}
-
-//! Destructor
-BOOST_LOG_API named_scope_list::~named_scope_list()
-{
- if (m_fNeedToDeallocate)
- {
- iterator it(m_RootNode._m_pNext);
- iterator end(&m_RootNode);
- while (it != end)
- it->~value_type();
- allocator_type::deallocate(static_cast< pointer >(m_RootNode._m_pNext), m_Size);
- }
-}
-
-//! Swaps two instances of the container
-BOOST_LOG_API void named_scope_list::swap(named_scope_list& that)
-{
- if (!this->empty())
- {
- if (!that.empty())
- {
- // both containers are not empty
- std::swap(m_RootNode._m_pNext->_m_pPrev, that.m_RootNode._m_pNext->_m_pPrev);
- std::swap(m_RootNode._m_pPrev->_m_pNext, that.m_RootNode._m_pPrev->_m_pNext);
- std::swap(m_RootNode, that.m_RootNode);
- std::swap(m_Size, that.m_Size);
- std::swap(m_fNeedToDeallocate, that.m_fNeedToDeallocate);
- }
- else
- {
- // this is not empty
- m_RootNode._m_pNext->_m_pPrev = m_RootNode._m_pPrev->_m_pNext = &that.m_RootNode;
- that.m_RootNode = m_RootNode;
- m_RootNode._m_pNext = m_RootNode._m_pPrev = &m_RootNode;
- std::swap(m_Size, that.m_Size);
- std::swap(m_fNeedToDeallocate, that.m_fNeedToDeallocate);
- }
- }
- else if (!that.empty())
- {
- // that is not empty
- that.m_RootNode._m_pNext->_m_pPrev = that.m_RootNode._m_pPrev->_m_pNext = &m_RootNode;
- m_RootNode = that.m_RootNode;
- that.m_RootNode._m_pNext = that.m_RootNode._m_pPrev = &that.m_RootNode;
- std::swap(m_Size, that.m_Size);
- std::swap(m_fNeedToDeallocate, that.m_fNeedToDeallocate);
- }
-}
-
-//! Constructor
-named_scope::named_scope() :
- attribute(impl::instance)
-{
-}
-
-//! Constructor for casting support
-named_scope::named_scope(cast_source const& source) :
- attribute(source.as< impl >())
-{
-}
-
-//! The method pushes the scope to the stack
-void named_scope::push_scope(scope_entry const& entry) BOOST_NOEXCEPT
-{
- impl::scope_list& s = impl::instance->get_scope_list();
- s.push_back(entry);
-}
-
-//! The method pops the top scope
-void named_scope::pop_scope() BOOST_NOEXCEPT
-{
- impl::scope_list& s = impl::instance->get_scope_list();
- s.pop_back();
-}
-
-//! Returns the current thread's scope stack
-named_scope::value_type const& named_scope::get_scopes()
-{
- return impl::instance->get_scope_list();
-}
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/named_scope_format_parser.cpp b/contrib/restricted/boost/libs/log/src/named_scope_format_parser.cpp
deleted file mode 100644
index 729f1fb2f4..0000000000
--- a/contrib/restricted/boost/libs/log/src/named_scope_format_parser.cpp
+++ /dev/null
@@ -1,751 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file named_scope_format_parser.cpp
- * \author Andrey Semashev
- * \date 14.11.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <cstddef>
-#include <cstring>
-#include <string>
-#include <vector>
-#include <limits>
-#include <algorithm>
-#include <boost/cstdint.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/spirit/include/karma_uint.hpp>
-#include <boost/spirit/include/karma_generate.hpp>
-#include <boost/log/attributes/named_scope.hpp>
-#include <boost/log/expressions/formatters/named_scope.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace karma = boost::spirit::karma;
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace expressions {
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! The function skips any spaces from the current position
-BOOST_FORCEINLINE const char* skip_spaces(const char* p, const char* end)
-{
- while (p < end && *p == ' ')
- ++p;
- return p;
-}
-
-//! The function checks if the given character can be part of a function/type/namespace name
-BOOST_FORCEINLINE bool is_name_character(char c)
-{
- return (c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || c == '_' || (c >= 'a' && c <= 'z');
-}
-
-//! The function checks if there is 'operator' keyword at the specified position
-BOOST_FORCEINLINE bool is_operator_keyword(const char* p)
-{
-#if defined(__i386__) || defined(__x86_64__) || defined(_M_AMD64) || defined(_M_IX86)
- // Intel architecture allows unaligned accesses, so just compare with the whole keyword at once
- return *reinterpret_cast< const uint64_t* >(p) == UINT64_C(0x726f74617265706f);
-#else
- return std::memcmp(p, "operator", 8) == 0;
-#endif
-}
-
-//! The function tries to parse operator signature
-bool detect_operator(const char* begin, const char* end, const char* operator_keyword, const char*& operator_end)
-{
- if (end - operator_keyword < 9 || !is_operator_keyword(operator_keyword))
- return false;
- // Check that it's not a function name ending with 'operator', like detect_operator
- if (operator_keyword > begin && is_name_character(*(operator_keyword - 1)))
- return false;
-
- const char* p = skip_spaces(operator_keyword + 8, end);
- if (p == end)
- return false;
-
- // Check to see where the operator token ends
- switch (*p)
- {
- case '(':
- // Handle operator()
- p = skip_spaces(++p, end);
- if (p < end && *p == ')')
- {
- operator_end = p + 1;
- return true;
- }
-
- return false;
-
- case '[':
- // Handle operator[]
- p = skip_spaces(++p, end);
- if (p < end && *p == ']')
- {
- operator_end = p + 1;
- return true;
- }
-
- return false;
-
- case '>':
- case '<':
- // Handle operator<=, operator>=, operator<<, operator>>, operator<<=, operator>>=
- if (end - p >= 3 && (p[0] == p[1] && p[2] == '='))
- operator_end = p + 3;
- else if (end - p >= 2 && (p[0] == p[1] || p[1] == '='))
- operator_end = p + 2;
- else
- operator_end = p + 1;
-
- return true;
-
- case '-':
- // Handle operator->, operator->*
- if (end - p >= 2 && p[1] == '>')
- {
- if (end - p >= 3 && p[2] == '*')
- operator_end = p + 3;
- else
- operator_end = p + 2;
-
- return true;
- }
- // Fall through to other cases involving '-'
-
- case '=':
- case '|':
- case '&':
- case '+':
- // Handle operator=, operator==, operator+=, operator++, operator||, opeartor&&, etc.
- if (end - p >= 2 && (p[0] == p[1] || p[1] == '='))
- operator_end = p + 2;
- else
- operator_end = p + 1;
-
- return true;
-
- case '*':
- case '/':
- case '%':
- case '^':
- // Handle operator*, operator*=, etc.
- if (end - p >= 2 && p[1] == '=')
- operator_end = p + 2;
- else
- operator_end = p + 1;
-
- return true;
-
- case ',':
- case '~':
- case '!':
- // Handle operator,, operator~, etc.
- operator_end = p + 1;
- return true;
-
- case '"':
- // Handle operator""
- if (end - p >= 2 && p[0] == p[1])
- {
- p = skip_spaces(p + 2, end);
- // Skip through the literal suffix
- while (p < end && is_name_character(*p))
- ++p;
- operator_end = p;
- return true;
- }
-
- return false;
-
- default:
- // Handle type conversion operators. We can't find the end of the type reliably here.
- operator_end = p;
- return true;
- }
-}
-
-//! The function skips all template parameters
-inline const char* skip_template_parameters(const char* begin, const char* end)
-{
- unsigned int depth = 1;
- const char* p = begin;
- while (depth > 0 && p != end)
- {
- switch (*p)
- {
- case '>':
- --depth;
- break;
-
- case '<':
- ++depth;
- break;
-
- case 'o':
- {
- // Skip operators (e.g. when an operator is a non-type template parameter)
- const char* operator_end;
- if (detect_operator(begin, end, p, operator_end))
- {
- p = operator_end;
- continue;
- }
- }
- break;
-
- default:
- break;
- }
-
- ++p;
- }
-
- return p;
-}
-
-//! The function seeks for the opening parenthesis and also tries to find the function name beginning
-inline const char* find_opening_parenthesis(const char* begin, const char* end, const char*& first_name_begin, const char*& last_name_begin)
-{
- enum sequence_state
- {
- not_started, // no significant (non-space) characters have been encountered so far
- started, // some name has started; the name is a contiguous sequence of characters that may constitute a function or scope name
- continued, // the previous characters were the scope operator ("::"), so the name is not finished yet
- ended, // the name has ended; in particular, this means that there were significant characters previously in the string
- operator_detected // operator has been found in the string, don't parse for scopes anymore; this is needed for conversion operators
- };
- sequence_state state = not_started;
-
- const char* p = begin;
- while (p != end)
- {
- char c = *p;
- switch (c)
- {
- case '(':
- if (state == not_started)
- {
- // If the opening brace is the first meaningful character in the string then this can't be a function signature.
- // Pretend we didn't find the paranthesis to fail the parsing process.
- return end;
- }
- return p;
-
- case '<':
- if (state == not_started)
- {
- // Template parameters cannot start as the first meaningful character in the signature.
- // Pretend we didn't find the paranthesis to fail the parsing process.
- return end;
- }
- p = skip_template_parameters(p + 1, end);
- if (state != operator_detected)
- state = ended;
- continue;
-
- case ' ':
- if (state == started)
- state = ended;
- break;
-
- case ':':
- ++p;
- if (p != end && *p == ':')
- {
- if (state == not_started)
- {
- // Include the starting "::" in the full name
- first_name_begin = p - 1;
- }
- if (state != operator_detected)
- state = continued;
- ++p;
- }
- else if (state != operator_detected)
- {
- // Weird case, a single colon. Maybe, some compilers would put things like "public:" in front of the signature.
- state = ended;
- }
- continue;
-
- case 'o':
- {
- const char* operator_end;
- if (detect_operator(begin, end, p, operator_end))
- {
- if (state == not_started || state == ended)
- first_name_begin = p;
- last_name_begin = p;
- p = operator_end;
- state = operator_detected;
- continue;
- }
- }
- // Fall through to process this character as other characters
-
- default:
- if (state != operator_detected)
- {
- if (is_name_character(c) || c == '~') // check for '~' in case of a destructor
- {
- if (state != started)
- {
- if (state == not_started || state == ended)
- first_name_begin = p;
- last_name_begin = p;
- state = started;
- }
- }
- else
- {
- state = ended;
- }
- }
- break;
- }
-
- ++p;
- }
-
- return p;
-}
-
-//! The function seeks for the closing parenthesis
-inline const char* find_closing_parenthesis(const char* begin, const char* end, char& first_char)
-{
- bool found_first_meaningful_char = false;
- unsigned int depth = 1;
- const char* p = begin;
- while (p != end)
- {
- char c = *p;
- switch (c)
- {
- case ')':
- --depth;
- if (depth == 0)
- return p;
- break;
-
- case '(':
- ++depth;
- break;
-
- case '<':
- p = skip_template_parameters(p + 1, end);
- continue;
-
- case 'o':
- {
- const char* operator_end;
- if (detect_operator(begin, end, p, operator_end))
- {
- p = operator_end;
- continue;
- }
- }
- // Fall through to process this character as other characters
-
- default:
- if (!found_first_meaningful_char && c != ' ')
- {
- found_first_meaningful_char = true;
- first_char = c;
- }
- break;
- }
-
- ++p;
- }
-
- return p;
-}
-
-bool parse_function_name(const char*& begin, const char*& end, bool include_scope)
-{
- // The algorithm tries to match several patterns to recognize function signatures. The most obvious is:
- //
- // A B(C)
- //
- // or just:
- //
- // B(C)
- //
- // in case of constructors, destructors and type conversion operators. The algorithm looks for the opening parenthesis and while doing that
- // it detects the beginning of B. As a result B is the function name.
- //
- // The first significant complication is function and array return types, in which case the syntax becomes nested:
- //
- // A (*B(C))(D)
- // A (&B(C))[D]
- //
- // In addition to that MSVC adds calling convention, such as __cdecl, to function types. In order to detect these cases the algorithm
- // seeks for the closing parenthesis after the opening one. If there is an opening parenthesis or square bracket after the closing parenthesis
- // then this is a function or array return type. The case of arrays is additionally complicated by GCC output:
- //
- // A B(C) [D]
- //
- // where D is template parameters description and is not part of the signature. To discern this special case from the array return type, the algorithm
- // checks for the first significant character within the parenthesis. This character is '&' in case of arrays and something else otherwise.
- //
- // Speaking of template parameters, the parsing algorithm ignores them completely, assuming they are part of the name being parsed. This includes
- // any possible parenthesis, nested template parameters and even operators, which may be present there as non-type template parameters.
- //
- // Operators pose another problem. This is especially the case for type conversion operators, and even more so for conversion operators to
- // function types. In this latter case at least MSVC is known to produce incomprehensible strings which we cannot parse. In other cases it is
- // too difficult to parse the type correctly. So we cheat a little. Whenever we find "operator", we know that we've found the function name
- // already, and the name ends at the opening parenthesis. For other operators we are able to parse them correctly but that doesn't really matter.
- //
- // Note that the algorithm should be tolerant to different flavors of the input strings from different compilers, so we can't rely on spaces
- // delimiting function names and other elements. Also, the algorithm should behave well in case of the fallback string generated by
- // BOOST_CURRENT_FUNCTION (which is "(unknown)" currently). In case of any parsing failure the algorithm should return false, in which case the
- // full original string will be used as the output.
-
- const char* b = begin;
- const char* e = end;
- while (b != e)
- {
- // Find the opening parenthesis. While looking for it, also find the function name.
- // first_name_begin is the beginning of the function scope, last_name_begin is the actual function name.
- const char* first_name_begin = NULL, *last_name_begin = NULL;
- const char* paren_open = find_opening_parenthesis(b, e, first_name_begin, last_name_begin);
- if (paren_open == e)
- return false;
- // Find the closing parenthesis. Also peek at the first character in the parenthesis, which we'll use to detect array return types.
- char first_char_in_parenthesis = 0;
- const char* paren_close = find_closing_parenthesis(paren_open + 1, e, first_char_in_parenthesis);
- if (paren_close == e)
- return false;
-
- const char* p = skip_spaces(paren_close + 1, e);
-
- // Detect function and array return types
- if (p < e && (*p == '(' || (*p == '[' && first_char_in_parenthesis == '&')))
- {
- // This is a function or array return type, the actual function name is within the parenthesis.
- // Re-parse the string within the parenthesis as a function signature.
- b = paren_open + 1;
- e = paren_close;
- continue;
- }
-
- // We found something that looks like a function signature
- if (include_scope)
- {
- if (!first_name_begin)
- return false;
-
- begin = first_name_begin;
- }
- else
- {
- if (!last_name_begin)
- return false;
-
- begin = last_name_begin;
- }
-
- end = paren_open;
-
- return true;
- }
-
- return false;
-}
-
-template< typename CharT >
-class named_scope_formatter
-{
- BOOST_COPYABLE_AND_MOVABLE_ALT(named_scope_formatter)
-
-public:
- typedef void result_type;
-
- typedef CharT char_type;
- typedef std::basic_string< char_type > string_type;
- typedef basic_formatting_ostream< char_type > stream_type;
- typedef attributes::named_scope::value_type::value_type value_type;
-
- struct literal
- {
- typedef void result_type;
-
- explicit literal(string_type& lit) { m_literal.swap(lit); }
-
- result_type operator() (stream_type& strm, value_type const&) const
- {
- strm << m_literal;
- }
-
- private:
- string_type m_literal;
- };
-
- struct scope_name
- {
- typedef void result_type;
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- strm << value.scope_name;
- }
- };
-
- struct function_name
- {
- typedef void result_type;
-
- explicit function_name(bool include_scope) : m_include_scope(include_scope)
- {
- }
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- if (value.type == attributes::named_scope_entry::function)
- {
- const char* begin = value.scope_name.c_str();
- const char* end = begin + value.scope_name.size();
- if (parse_function_name(begin, end, m_include_scope))
- {
- strm.write(begin, end - begin);
- return;
- }
- }
-
- strm << value.scope_name;
- }
-
- private:
- const bool m_include_scope;
- };
-
- struct full_file_name
- {
- typedef void result_type;
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- strm << value.file_name;
- }
- };
-
- struct file_name
- {
- typedef void result_type;
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- std::size_t n = value.file_name.size(), i = n;
- for (; i > 0; --i)
- {
- const char c = value.file_name[i - 1];
-#if defined(BOOST_WINDOWS)
- if (c == '\\')
- break;
-#endif
- if (c == '/')
- break;
- }
- strm.write(value.file_name.c_str() + i, n - i);
- }
- };
-
- struct line_number
- {
- typedef void result_type;
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- strm.flush();
-
- char_type buf[std::numeric_limits< unsigned int >::digits10 + 2];
- char_type* p = buf;
-
- typedef karma::uint_generator< unsigned int, 10 > uint_gen;
- karma::generate(p, uint_gen(), value.line);
-
- typedef typename stream_type::streambuf_type streambuf_type;
- static_cast< streambuf_type* >(strm.rdbuf())->append(buf, static_cast< std::size_t >(p - buf));
- }
- };
-
-private:
- typedef boost::log::aux::light_function< void (stream_type&, value_type const&) > formatter_type;
- typedef std::vector< formatter_type > formatters;
-
-private:
- formatters m_formatters;
-
-public:
- BOOST_DEFAULTED_FUNCTION(named_scope_formatter(), {})
- named_scope_formatter(named_scope_formatter const& that) : m_formatters(that.m_formatters) {}
- named_scope_formatter(BOOST_RV_REF(named_scope_formatter) that) { m_formatters.swap(that.m_formatters); }
-
- named_scope_formatter& operator= (named_scope_formatter that)
- {
- this->swap(that);
- return *this;
- }
-
- result_type operator() (stream_type& strm, value_type const& value) const
- {
- for (typename formatters::const_iterator it = m_formatters.begin(), end = m_formatters.end(); strm.good() && it != end; ++it)
- {
- (*it)(strm, value);
- }
- }
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- template< typename FunT >
- void add_formatter(FunT&& fun)
- {
- m_formatters.emplace_back(boost::forward< FunT >(fun));
- }
-#else
- template< typename FunT >
- void add_formatter(FunT const& fun)
- {
- m_formatters.push_back(formatter_type(fun));
- }
-#endif
-
- void swap(named_scope_formatter& that)
- {
- m_formatters.swap(that.m_formatters);
- }
-};
-
-//! Parses the named scope format string and constructs the formatter function
-template< typename CharT >
-BOOST_FORCEINLINE boost::log::aux::light_function< void (basic_formatting_ostream< CharT >&, attributes::named_scope::value_type::value_type const&) >
-do_parse_named_scope_format(const CharT* begin, const CharT* end)
-{
- typedef CharT char_type;
- typedef boost::log::aux::light_function< void (basic_formatting_ostream< char_type >&, attributes::named_scope::value_type::value_type const&) > result_type;
- typedef named_scope_formatter< char_type > formatter_type;
- formatter_type fmt;
-
- std::basic_string< char_type > literal;
-
- while (begin != end)
- {
- const char_type* p = std::find(begin, end, static_cast< char_type >('%'));
- literal.append(begin, p);
-
- if ((end - p) >= 2)
- {
- switch (p[1])
- {
- case '%':
- literal.push_back(static_cast< char_type >('%'));
- break;
-
- case 'n':
- if (!literal.empty())
- fmt.add_formatter(typename formatter_type::literal(literal));
- fmt.add_formatter(typename formatter_type::scope_name());
- break;
-
- case 'c':
- if (!literal.empty())
- fmt.add_formatter(typename formatter_type::literal(literal));
- fmt.add_formatter(typename formatter_type::function_name(true));
- break;
-
- case 'C':
- if (!literal.empty())
- fmt.add_formatter(typename formatter_type::literal(literal));
- fmt.add_formatter(typename formatter_type::function_name(false));
- break;
-
- case 'f':
- if (!literal.empty())
- fmt.add_formatter(typename formatter_type::literal(literal));
- fmt.add_formatter(typename formatter_type::full_file_name());
- break;
-
- case 'F':
- if (!literal.empty())
- fmt.add_formatter(typename formatter_type::literal(literal));
- fmt.add_formatter(typename formatter_type::file_name());
- break;
-
- case 'l':
- if (!literal.empty())
- fmt.add_formatter(typename formatter_type::literal(literal));
- fmt.add_formatter(typename formatter_type::line_number());
- break;
-
- default:
- literal.append(p, p + 2);
- break;
- }
-
- begin = p + 2;
- }
- else
- {
- if (p != end)
- literal.push_back(static_cast< char_type >('%')); // a single '%' character at the end of the string
- begin = end;
- }
- }
-
- if (!literal.empty())
- fmt.add_formatter(typename formatter_type::literal(literal));
-
- return result_type(boost::move(fmt));
-}
-
-} // namespace
-
-
-#ifdef BOOST_LOG_USE_CHAR
-
-//! Parses the named scope format string and constructs the formatter function
-BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< char >&, attributes::named_scope::value_type::value_type const&) >
-parse_named_scope_format(const char* begin, const char* end)
-{
- return do_parse_named_scope_format(begin, end);
-}
-
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-//! Parses the named scope format string and constructs the formatter function
-BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< wchar_t >&, attributes::named_scope::value_type::value_type const&) >
-parse_named_scope_format(const wchar_t* begin, const wchar_t* end)
-{
- return do_parse_named_scope_format(begin, end);
-}
-
-#endif // BOOST_LOG_USE_WCHAR_T
-
-} // namespace aux
-
-} // namespace expressions
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/once_block.cpp b/contrib/restricted/boost/libs/log/src/once_block.cpp
deleted file mode 100644
index 8e7d157c9c..0000000000
--- a/contrib/restricted/boost/libs/log/src/once_block.cpp
+++ /dev/null
@@ -1,471 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file once_block.cpp
- * \author Andrey Semashev
- * \date 23.06.2010
- *
- * \brief This file is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- *
- * The code in this file is based on the \c call_once function implementation in Boost.Thread.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/once_block.hpp>
-#ifndef BOOST_LOG_NO_THREADS
-
-#include <cstdlib>
-#include <boost/assert.hpp>
-
-#if defined(BOOST_THREAD_PLATFORM_WIN32)
-
-#include <boost/winapi/wait.hpp> // INFINITE
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-#include <boost/winapi/srw_lock.hpp>
-#include <boost/winapi/condition_variable.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-boost::winapi::SRWLOCK_ g_OnceBlockMutex = BOOST_WINAPI_SRWLOCK_INIT;
-boost::winapi::CONDITION_VARIABLE_ g_OnceBlockCond = BOOST_WINAPI_CONDITION_VARIABLE_INIT;
-
-} // namespace
-
-BOOST_LOG_API bool once_block_sentry::enter_once_block() const BOOST_NOEXCEPT
-{
- boost::winapi::AcquireSRWLockExclusive(&g_OnceBlockMutex);
-
- once_block_flag volatile& flag = m_flag;
- while (flag.status != once_block_flag::initialized)
- {
- if (flag.status == once_block_flag::uninitialized)
- {
- flag.status = once_block_flag::being_initialized;
- boost::winapi::ReleaseSRWLockExclusive(&g_OnceBlockMutex);
-
- // Invoke the initializer block
- return false;
- }
- else
- {
- while (flag.status == once_block_flag::being_initialized)
- {
- BOOST_VERIFY(boost::winapi::SleepConditionVariableSRW(
- &g_OnceBlockCond, &g_OnceBlockMutex, boost::winapi::INFINITE_, 0));
- }
- }
- }
-
- boost::winapi::ReleaseSRWLockExclusive(&g_OnceBlockMutex);
-
- return true;
-}
-
-BOOST_LOG_API void once_block_sentry::commit() BOOST_NOEXCEPT
-{
- boost::winapi::AcquireSRWLockExclusive(&g_OnceBlockMutex);
-
- // The initializer executed successfully
- m_flag.status = once_block_flag::initialized;
-
- boost::winapi::ReleaseSRWLockExclusive(&g_OnceBlockMutex);
- boost::winapi::WakeAllConditionVariable(&g_OnceBlockCond);
-}
-
-BOOST_LOG_API void once_block_sentry::rollback() BOOST_NOEXCEPT
-{
- boost::winapi::AcquireSRWLockExclusive(&g_OnceBlockMutex);
-
- // The initializer failed, marking the flag as if it hasn't run at all
- m_flag.status = once_block_flag::uninitialized;
-
- boost::winapi::ReleaseSRWLockExclusive(&g_OnceBlockMutex);
- boost::winapi::WakeAllConditionVariable(&g_OnceBlockCond);
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#else // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-#include <cstdlib> // atexit
-#include <boost/detail/interlocked.hpp>
-#include <boost/winapi/basic_types.hpp>
-#include <boost/winapi/dll.hpp>
-#include <boost/thread/mutex.hpp>
-#include <boost/thread/locks.hpp>
-#include <boost/thread/condition_variable.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
- struct BOOST_LOG_NO_VTABLE once_block_impl_base
- {
- virtual ~once_block_impl_base() {}
- virtual bool enter_once_block(once_block_flag volatile& flag) = 0;
- virtual void commit(once_block_flag& flag) = 0;
- virtual void rollback(once_block_flag& flag) = 0;
- };
-
- class once_block_impl_nt6 :
- public once_block_impl_base
- {
- public:
- struct winapi_srwlock { void* p; };
- struct winapi_condition_variable { void* p; };
-
- typedef void (WINAPI *InitializeSRWLock_t)(winapi_srwlock*);
- typedef void (WINAPI *AcquireSRWLockExclusive_t)(winapi_srwlock*);
- typedef void (WINAPI *ReleaseSRWLockExclusive_t)(winapi_srwlock*);
- typedef void (WINAPI *InitializeConditionVariable_t)(winapi_condition_variable*);
- typedef boost::winapi::BOOL_ (WINAPI *SleepConditionVariableSRW_t)(winapi_condition_variable*, winapi_srwlock*, boost::winapi::DWORD_, boost::winapi::ULONG_);
- typedef void (WINAPI *WakeAllConditionVariable_t)(winapi_condition_variable*);
-
- private:
- winapi_srwlock m_Mutex;
- winapi_condition_variable m_Cond;
-
- AcquireSRWLockExclusive_t m_pAcquireSRWLockExclusive;
- ReleaseSRWLockExclusive_t m_pReleaseSRWLockExclusive;
- SleepConditionVariableSRW_t m_pSleepConditionVariableSRW;
- WakeAllConditionVariable_t m_pWakeAllConditionVariable;
-
- public:
- once_block_impl_nt6(
- InitializeSRWLock_t pInitializeSRWLock,
- AcquireSRWLockExclusive_t pAcquireSRWLockExclusive,
- ReleaseSRWLockExclusive_t pReleaseSRWLockExclusive,
- InitializeConditionVariable_t pInitializeConditionVariable,
- SleepConditionVariableSRW_t pSleepConditionVariableSRW,
- WakeAllConditionVariable_t pWakeAllConditionVariable
- ) :
- m_pAcquireSRWLockExclusive(pAcquireSRWLockExclusive),
- m_pReleaseSRWLockExclusive(pReleaseSRWLockExclusive),
- m_pSleepConditionVariableSRW(pSleepConditionVariableSRW),
- m_pWakeAllConditionVariable(pWakeAllConditionVariable)
- {
- pInitializeSRWLock(&m_Mutex);
- pInitializeConditionVariable(&m_Cond);
- }
-
- bool enter_once_block(once_block_flag volatile& flag)
- {
- m_pAcquireSRWLockExclusive(&m_Mutex);
-
- while (flag.status != once_block_flag::initialized)
- {
- if (flag.status == once_block_flag::uninitialized)
- {
- flag.status = once_block_flag::being_initialized;
- m_pReleaseSRWLockExclusive(&m_Mutex);
-
- // Invoke the initializer block
- return false;
- }
- else
- {
- while (flag.status == once_block_flag::being_initialized)
- {
- BOOST_VERIFY(m_pSleepConditionVariableSRW(
- &m_Cond, &m_Mutex, boost::winapi::INFINITE_, 0));
- }
- }
- }
-
- m_pReleaseSRWLockExclusive(&m_Mutex);
-
- return true;
- }
-
- void commit(once_block_flag& flag)
- {
- m_pAcquireSRWLockExclusive(&m_Mutex);
-
- // The initializer executed successfully
- flag.status = once_block_flag::initialized;
-
- m_pReleaseSRWLockExclusive(&m_Mutex);
- m_pWakeAllConditionVariable(&m_Cond);
- }
-
- void rollback(once_block_flag& flag)
- {
- m_pAcquireSRWLockExclusive(&m_Mutex);
-
- // The initializer failed, marking the flag as if it hasn't run at all
- flag.status = once_block_flag::uninitialized;
-
- m_pReleaseSRWLockExclusive(&m_Mutex);
- m_pWakeAllConditionVariable(&m_Cond);
- }
- };
-
- class once_block_impl_nt5 :
- public once_block_impl_base
- {
- private:
- mutex m_Mutex;
- condition_variable m_Cond;
-
- public:
- bool enter_once_block(once_block_flag volatile& flag)
- {
- unique_lock< mutex > lock(m_Mutex);
-
- while (flag.status != once_block_flag::initialized)
- {
- if (flag.status == once_block_flag::uninitialized)
- {
- flag.status = once_block_flag::being_initialized;
-
- // Invoke the initializer block
- return false;
- }
- else
- {
- while (flag.status == once_block_flag::being_initialized)
- {
- m_Cond.wait(lock);
- }
- }
- }
-
- return true;
- }
-
- void commit(once_block_flag& flag)
- {
- {
- lock_guard< mutex > lock(m_Mutex);
- flag.status = once_block_flag::initialized;
- }
- m_Cond.notify_all();
- }
-
- void rollback(once_block_flag& flag)
- {
- {
- lock_guard< mutex > lock(m_Mutex);
- flag.status = once_block_flag::uninitialized;
- }
- m_Cond.notify_all();
- }
- };
-
- once_block_impl_base* create_once_block_impl()
- {
- boost::winapi::HMODULE_ hKernel32 = boost::winapi::GetModuleHandleW(L"kernel32.dll");
- if (hKernel32)
- {
- once_block_impl_nt6::InitializeSRWLock_t pInitializeSRWLock =
- (once_block_impl_nt6::InitializeSRWLock_t)boost::winapi::get_proc_address(hKernel32, "InitializeSRWLock");
- if (pInitializeSRWLock)
- {
- once_block_impl_nt6::AcquireSRWLockExclusive_t pAcquireSRWLockExclusive =
- (once_block_impl_nt6::AcquireSRWLockExclusive_t)boost::winapi::get_proc_address(hKernel32, "AcquireSRWLockExclusive");
- if (pAcquireSRWLockExclusive)
- {
- once_block_impl_nt6::ReleaseSRWLockExclusive_t pReleaseSRWLockExclusive =
- (once_block_impl_nt6::ReleaseSRWLockExclusive_t)boost::winapi::get_proc_address(hKernel32, "ReleaseSRWLockExclusive");
- if (pReleaseSRWLockExclusive)
- {
- once_block_impl_nt6::InitializeConditionVariable_t pInitializeConditionVariable =
- (once_block_impl_nt6::InitializeConditionVariable_t)boost::winapi::get_proc_address(hKernel32, "InitializeConditionVariable");
- if (pInitializeConditionVariable)
- {
- once_block_impl_nt6::SleepConditionVariableSRW_t pSleepConditionVariableSRW =
- (once_block_impl_nt6::SleepConditionVariableSRW_t)boost::winapi::get_proc_address(hKernel32, "SleepConditionVariableSRW");
- if (pSleepConditionVariableSRW)
- {
- once_block_impl_nt6::WakeAllConditionVariable_t pWakeAllConditionVariable =
- (once_block_impl_nt6::WakeAllConditionVariable_t)boost::winapi::get_proc_address(hKernel32, "WakeAllConditionVariable");
- if (pWakeAllConditionVariable)
- {
- return new once_block_impl_nt6(
- pInitializeSRWLock,
- pAcquireSRWLockExclusive,
- pReleaseSRWLockExclusive,
- pInitializeConditionVariable,
- pSleepConditionVariableSRW,
- pWakeAllConditionVariable);
- }
- }
- }
- }
- }
- }
- }
-
- return new once_block_impl_nt5();
- }
-
- once_block_impl_base* g_pOnceBlockImpl = NULL;
-
- void destroy_once_block_impl()
- {
- once_block_impl_base* impl = (once_block_impl_base*)
- BOOST_INTERLOCKED_EXCHANGE_POINTER((void**)&g_pOnceBlockImpl, NULL);
- delete impl;
- }
-
- once_block_impl_base* get_once_block_impl() BOOST_NOEXCEPT
- {
- once_block_impl_base* impl = g_pOnceBlockImpl;
- if (!impl) try
- {
- once_block_impl_base* new_impl = create_once_block_impl();
- impl = (once_block_impl_base*)
- BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER((void**)&g_pOnceBlockImpl, (void*)new_impl, NULL);
- if (impl)
- {
- delete new_impl;
- }
- else
- {
- std::atexit(&destroy_once_block_impl);
- return new_impl;
- }
- }
- catch (...)
- {
- BOOST_ASSERT_MSG(false, "Boost.Log: Failed to initialize the once block thread synchronization structures");
- std::abort();
- }
-
- return impl;
- }
-
-} // namespace
-
-BOOST_LOG_API bool once_block_sentry::enter_once_block() const BOOST_NOEXCEPT
-{
- return get_once_block_impl()->enter_once_block(m_flag);
-}
-
-BOOST_LOG_API void once_block_sentry::commit() BOOST_NOEXCEPT
-{
- get_once_block_impl()->commit(m_flag);
-}
-
-BOOST_LOG_API void once_block_sentry::rollback() BOOST_NOEXCEPT
-{
- get_once_block_impl()->rollback(m_flag);
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-#elif defined(BOOST_THREAD_PLATFORM_PTHREAD)
-
-#include <pthread.h>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-static pthread_mutex_t g_OnceBlockMutex = PTHREAD_MUTEX_INITIALIZER;
-static pthread_cond_t g_OnceBlockCond = PTHREAD_COND_INITIALIZER;
-
-} // namespace
-
-BOOST_LOG_API bool once_block_sentry::enter_once_block() const BOOST_NOEXCEPT
-{
- BOOST_VERIFY(!pthread_mutex_lock(&g_OnceBlockMutex));
-
- once_block_flag volatile& flag = m_flag;
- while (flag.status != once_block_flag::initialized)
- {
- if (flag.status == once_block_flag::uninitialized)
- {
- flag.status = once_block_flag::being_initialized;
- BOOST_VERIFY(!pthread_mutex_unlock(&g_OnceBlockMutex));
-
- // Invoke the initializer block
- return false;
- }
- else
- {
- while (flag.status == once_block_flag::being_initialized)
- {
- BOOST_VERIFY(!pthread_cond_wait(&g_OnceBlockCond, &g_OnceBlockMutex));
- }
- }
- }
-
- BOOST_VERIFY(!pthread_mutex_unlock(&g_OnceBlockMutex));
-
- return true;
-}
-
-BOOST_LOG_API void once_block_sentry::commit() BOOST_NOEXCEPT
-{
- BOOST_VERIFY(!pthread_mutex_lock(&g_OnceBlockMutex));
-
- // The initializer executed successfully
- m_flag.status = once_block_flag::initialized;
-
- BOOST_VERIFY(!pthread_mutex_unlock(&g_OnceBlockMutex));
- BOOST_VERIFY(!pthread_cond_broadcast(&g_OnceBlockCond));
-}
-
-BOOST_LOG_API void once_block_sentry::rollback() BOOST_NOEXCEPT
-{
- BOOST_VERIFY(!pthread_mutex_lock(&g_OnceBlockMutex));
-
- // The initializer failed, marking the flag as if it hasn't run at all
- m_flag.status = once_block_flag::uninitialized;
-
- BOOST_VERIFY(!pthread_mutex_unlock(&g_OnceBlockMutex));
- BOOST_VERIFY(!pthread_cond_broadcast(&g_OnceBlockCond));
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#else
-#error Boost.Log: unsupported threading API
-#endif
-
-#endif // BOOST_LOG_NO_THREADS
diff --git a/contrib/restricted/boost/libs/log/src/permissions.cpp b/contrib/restricted/boost/libs/log/src/permissions.cpp
deleted file mode 100644
index 9bf80964a3..0000000000
--- a/contrib/restricted/boost/libs/log/src/permissions.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright Andrey Semashev 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)
- */
-/*!
- * \file permissions.cpp
- * \author Andrey Semashev
- * \date 26.12.2015
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/utility/permissions.hpp>
-#include <boost/interprocess/permissions.hpp>
-
-#if defined(BOOST_WINDOWS)
-
-#include <boost/log/exceptions.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/log/utility/once_block.hpp>
-#include <windows.h>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-static ::SECURITY_DESCRIPTOR g_unrestricted_security_descriptor;
-static ::SECURITY_ATTRIBUTES g_unrestricted_security_attributes;
-
-} // namespace
-
-BOOST_LOG_API permissions::native_type permissions::get_unrestricted_security_attributes()
-{
- BOOST_LOG_ONCE_BLOCK()
- {
- if (!InitializeSecurityDescriptor(&g_unrestricted_security_descriptor, SECURITY_DESCRIPTOR_REVISION))
- {
- DWORD err = GetLastError();
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to initialize security descriptor", (err));
- }
-
- if (!SetSecurityDescriptorDacl(&g_unrestricted_security_descriptor, TRUE, NULL, FALSE))
- {
- DWORD err = GetLastError();
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to set null DACL to a security descriptor", (err));
- }
-
- g_unrestricted_security_attributes.nLength = sizeof(g_unrestricted_security_attributes);
- g_unrestricted_security_attributes.lpSecurityDescriptor = &g_unrestricted_security_descriptor;
- g_unrestricted_security_attributes.bInheritHandle = FALSE;
- }
-
- return &g_unrestricted_security_attributes;
-}
-
-//! Initializing constructor
-BOOST_LOG_API permissions::permissions(boost::interprocess::permissions const& perms) BOOST_NOEXCEPT :
- m_perms(reinterpret_cast< native_type >(perms.get_permissions()))
-{
-}
-
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#else // defined(BOOST_WINDOWS)
-
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! Initializing constructor
-BOOST_LOG_API permissions::permissions(boost::interprocess::permissions const& perms) BOOST_NOEXCEPT :
- m_perms(static_cast< native_type >(perms.get_permissions()))
-{
-}
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // defined(BOOST_WINDOWS)
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/posix/ipc_reliable_message_queue.cpp b/contrib/restricted/boost/libs/log/src/posix/ipc_reliable_message_queue.cpp
deleted file mode 100644
index 07d61fa55f..0000000000
--- a/contrib/restricted/boost/libs/log/src/posix/ipc_reliable_message_queue.cpp
+++ /dev/null
@@ -1,881 +0,0 @@
-/*
- * Copyright Lingxi Li 2015.
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file posix/ipc_reliable_message_queue.cpp
- * \author Lingxi Li
- * \author Andrey Semashev
- * \date 17.11.2015
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- *
- * This file provides an interprocess message queue implementation on POSIX platforms.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <cstddef>
-#include <cerrno>
-#include <cstring>
-#include <new>
-#include <string>
-#include <stdexcept>
-#include <algorithm>
-#include <unistd.h>
-#if defined(BOOST_HAS_SCHED_YIELD)
-#include <sched.h>
-#elif defined(BOOST_HAS_PTHREAD_YIELD)
-#include <pthread.h>
-#elif defined(BOOST_HAS_NANOSLEEP)
-#include <time.h>
-#endif
-#include <boost/assert.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/atomic/atomic.hpp>
-#include <boost/atomic/capabilities.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/utility/ipc/reliable_message_queue.hpp>
-#include <boost/log/support/exception.hpp>
-#include <boost/log/detail/pause.hpp>
-#include <boost/exception/info.hpp>
-#include <boost/exception/enable_error_info.hpp>
-#include <boost/interprocess/creation_tags.hpp>
-#include <boost/interprocess/exceptions.hpp>
-#include <boost/interprocess/permissions.hpp>
-#include <boost/interprocess/mapped_region.hpp>
-#include <boost/interprocess/shared_memory_object.hpp>
-#include <boost/align/align_up.hpp>
-#include "ipc_sync_wrappers.hpp"
-#include "murmur3.hpp"
-#include "bit_tools.hpp"
-#include <boost/log/detail/header.hpp>
-
-#if BOOST_ATOMIC_INT32_LOCK_FREE != 2
-// 32-bit atomic ops are required to be able to place atomic<uint32_t> in the process-shared memory
-#error Boost.Log: Native 32-bit atomic operations are required but not supported by Boost.Atomic on the target platform
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace ipc {
-
-//! Message queue implementation data
-struct reliable_message_queue::implementation
-{
-private:
- //! Header of an allocation block within the message queue. Placed at the beginning of the block within the shared memory segment.
- struct block_header
- {
- // Element data alignment, in bytes
- enum { data_alignment = 32u };
-
- //! Size of the element data, in bytes
- size_type m_size;
-
- //! Returns the block header overhead, in bytes
- static BOOST_CONSTEXPR size_type get_header_overhead() BOOST_NOEXCEPT
- {
- return static_cast< size_type >(boost::alignment::align_up(sizeof(block_header), data_alignment));
- }
-
- //! Returns a pointer to the element data
- void* get_data() const BOOST_NOEXCEPT
- {
- return const_cast< unsigned char* >(reinterpret_cast< const unsigned char* >(this)) + get_header_overhead();
- }
- };
-
- //! Header of the message queue. Placed at the beginning of the shared memory segment.
- struct header
- {
- // Increment this constant whenever you change the binary layout of the queue (apart from this header structure)
- enum { abi_version = 0 };
-
- // !!! Whenever you add/remove members in this structure, also modify get_abi_tag() function accordingly !!!
-
- //! A tag value to ensure the correct binary layout of the message queue data structures. Must be placed first and always have a fixed size and alignment.
- uint32_t m_abi_tag;
- //! Padding to protect against alignment changes in Boost.Atomic. Don't use BOOST_ALIGNMENT to ensure portability.
- unsigned char m_padding[BOOST_LOG_CPU_CACHE_LINE_SIZE - sizeof(uint32_t)];
- //! Reference counter. Also acts as a flag indicating that the queue is constructed (i.e. the queue is constructed when the counter is not 0).
- boost::atomic< uint32_t > m_ref_count;
- //! Number of allocation blocks in the queue.
- const uint32_t m_capacity;
- //! Size of an allocation block, in bytes.
- const size_type m_block_size;
- //! Mutex for protecting queue data structures.
- boost::log::ipc::aux::interprocess_mutex m_mutex;
- //! Condition variable used to block readers when the queue is empty.
- boost::log::ipc::aux::interprocess_condition_variable m_nonempty_queue;
- //! Condition variable used to block writers when the queue is full.
- boost::log::ipc::aux::interprocess_condition_variable m_nonfull_queue;
- //! The current number of allocated blocks in the queue.
- uint32_t m_size;
- //! The current writing position (allocation block index).
- uint32_t m_put_pos;
- //! The current reading position (allocation block index).
- uint32_t m_get_pos;
-
- header(uint32_t capacity, size_type block_size) :
- m_abi_tag(get_abi_tag()),
- m_capacity(capacity),
- m_block_size(block_size),
- m_size(0u),
- m_put_pos(0u),
- m_get_pos(0u)
- {
- // Must be initialized last. m_ref_count is zero-initialized initially.
- m_ref_count.fetch_add(1u, boost::memory_order_release);
- }
-
- //! Returns the header structure ABI tag
- static uint32_t get_abi_tag() BOOST_NOEXCEPT
- {
- // This FOURCC identifies the queue type
- boost::log::aux::murmur3_32 hash(boost::log::aux::make_fourcc('r', 'e', 'l', 'q'));
-
- // This FOURCC identifies the queue implementation
- hash.mix(boost::log::aux::make_fourcc('p', 't', 'h', 'r'));
- hash.mix(abi_version);
-
- // We will use these constants to align pointers
- hash.mix(BOOST_LOG_CPU_CACHE_LINE_SIZE);
- hash.mix(block_header::data_alignment);
-
- // The members in the sequence below must be enumerated in the same order as they are declared in the header structure.
- // The ABI tag is supposed change whenever a member changes size or offset from the beginning of the header.
-
-#define BOOST_LOG_MIX_HEADER_MEMBER(name)\
- hash.mix(static_cast< uint32_t >(sizeof(((header*)NULL)->name)));\
- hash.mix(static_cast< uint32_t >(offsetof(header, name)))
-
- BOOST_LOG_MIX_HEADER_MEMBER(m_abi_tag);
- BOOST_LOG_MIX_HEADER_MEMBER(m_padding);
- BOOST_LOG_MIX_HEADER_MEMBER(m_ref_count);
- BOOST_LOG_MIX_HEADER_MEMBER(m_capacity);
- BOOST_LOG_MIX_HEADER_MEMBER(m_block_size);
- BOOST_LOG_MIX_HEADER_MEMBER(m_mutex);
- BOOST_LOG_MIX_HEADER_MEMBER(m_nonempty_queue);
- BOOST_LOG_MIX_HEADER_MEMBER(m_nonfull_queue);
- BOOST_LOG_MIX_HEADER_MEMBER(m_size);
- BOOST_LOG_MIX_HEADER_MEMBER(m_put_pos);
- BOOST_LOG_MIX_HEADER_MEMBER(m_get_pos);
-
-#undef BOOST_LOG_MIX_HEADER_MEMBER
-
- return hash.finalize();
- }
-
- //! Returns an element header at the specified index
- block_header* get_block(uint32_t index) const BOOST_NOEXCEPT
- {
- BOOST_ASSERT(index < m_capacity);
- unsigned char* p = const_cast< unsigned char* >(reinterpret_cast< const unsigned char* >(this)) + boost::alignment::align_up(sizeof(header), BOOST_LOG_CPU_CACHE_LINE_SIZE);
- p += static_cast< std::size_t >(m_block_size) * static_cast< std::size_t >(index);
- return reinterpret_cast< block_header* >(p);
- }
-
- BOOST_DELETED_FUNCTION(header(header const&))
- BOOST_DELETED_FUNCTION(header& operator=(header const&))
- };
-
-private:
- //! Shared memory object
- boost::interprocess::shared_memory_object m_shared_memory;
- //! Shared memory mapping into the process address space
- boost::interprocess::mapped_region m_region;
- //! Queue overflow handling policy
- const overflow_policy m_overflow_policy;
- //! The mask for selecting bits that constitute size values from 0 to (block_size - 1)
- size_type m_block_size_mask;
- //! The number of the bit set in block_size (i.e. log base 2 of block_size)
- uint32_t m_block_size_log2;
- //! The flag indicates that stop has been requested
- bool m_stop;
-
- //! Queue shared memory object name
- const object_name m_name;
-
-public:
- //! The constructor creates a new shared memory segment
- implementation
- (
- open_mode::create_only_tag,
- object_name const& name,
- uint32_t capacity,
- size_type block_size,
- overflow_policy oflow_policy,
- permissions const& perms
- ) :
- m_shared_memory(boost::interprocess::create_only, name.c_str(), boost::interprocess::read_write, boost::interprocess::permissions(perms.get_native())),
- m_region(),
- m_overflow_policy(oflow_policy),
- m_block_size_mask(0u),
- m_block_size_log2(0u),
- m_stop(false),
- m_name(name)
- {
- create_region(capacity, block_size);
- }
-
- //! The constructor creates a new shared memory segment or opens the existing one
- implementation
- (
- open_mode::open_or_create_tag,
- object_name const& name,
- uint32_t capacity,
- size_type block_size,
- overflow_policy oflow_policy,
- permissions const& perms
- ) :
- m_shared_memory(boost::interprocess::open_or_create, name.c_str(), boost::interprocess::read_write, boost::interprocess::permissions(perms.get_native())),
- m_region(),
- m_overflow_policy(oflow_policy),
- m_block_size_mask(0u),
- m_block_size_log2(0u),
- m_stop(false),
- m_name(name)
- {
- boost::interprocess::offset_t shmem_size = 0;
- if (!m_shared_memory.get_size(shmem_size) || shmem_size == 0)
- create_region(capacity, block_size);
- else
- adopt_region(shmem_size);
- }
-
- //! The constructor opens the existing shared memory segment
- implementation
- (
- open_mode::open_only_tag,
- object_name const& name,
- overflow_policy oflow_policy
- ) :
- m_shared_memory(boost::interprocess::open_only, name.c_str(), boost::interprocess::read_write),
- m_region(),
- m_overflow_policy(oflow_policy),
- m_block_size_mask(0u),
- m_block_size_log2(0u),
- m_stop(false),
- m_name(name)
- {
- boost::interprocess::offset_t shmem_size = 0;
- if (!m_shared_memory.get_size(shmem_size))
- BOOST_LOG_THROW_DESCR(setup_error, "Boost.Log interprocess message queue cannot be opened: shared memory segment not found");
-
- adopt_region(shmem_size);
- }
-
- ~implementation()
- {
- close_region();
- }
-
- object_name const& name() const BOOST_NOEXCEPT
- {
- return m_name;
- }
-
- uint32_t capacity() const BOOST_NOEXCEPT
- {
- return get_header()->m_capacity;
- }
-
- size_type block_size() const BOOST_NOEXCEPT
- {
- return get_header()->m_block_size;
- }
-
- operation_result send(void const* message_data, size_type message_size)
- {
- const uint32_t block_count = estimate_block_count(message_size);
-
- header* const hdr = get_header();
-
- if (BOOST_UNLIKELY(block_count > hdr->m_capacity))
- BOOST_LOG_THROW_DESCR(logic_error, "Message size exceeds the interprocess queue capacity");
-
- if (m_stop)
- return aborted;
-
- lock_queue();
- boost::log::ipc::aux::interprocess_mutex::auto_unlock unlock(hdr->m_mutex);
-
- while (true)
- {
- if (m_stop)
- return aborted;
-
- if ((hdr->m_capacity - hdr->m_size) >= block_count)
- break;
-
- const overflow_policy oflow_policy = m_overflow_policy;
- if (oflow_policy == fail_on_overflow)
- return no_space;
- else if (BOOST_UNLIKELY(oflow_policy == throw_on_overflow))
- BOOST_LOG_THROW_DESCR(capacity_limit_reached, "Interprocess queue is full");
-
- hdr->m_nonfull_queue.wait(hdr->m_mutex);
- }
-
- enqueue_message(message_data, message_size, block_count);
-
- return succeeded;
- }
-
- bool try_send(void const* message_data, size_type message_size)
- {
- const uint32_t block_count = estimate_block_count(message_size);
-
- header* const hdr = get_header();
-
- if (BOOST_UNLIKELY(block_count > hdr->m_capacity))
- BOOST_LOG_THROW_DESCR(logic_error, "Message size exceeds the interprocess queue capacity");
-
- if (m_stop)
- return false;
-
- lock_queue();
- boost::log::ipc::aux::interprocess_mutex::auto_unlock unlock(hdr->m_mutex);
-
- if (m_stop)
- return false;
-
- if ((hdr->m_capacity - hdr->m_size) < block_count)
- return false;
-
- enqueue_message(message_data, message_size, block_count);
-
- return true;
- }
-
- operation_result receive(receive_handler handler, void* state)
- {
- if (m_stop)
- return aborted;
-
- lock_queue();
- header* const hdr = get_header();
- boost::log::ipc::aux::interprocess_mutex::auto_unlock unlock(hdr->m_mutex);
-
- while (true)
- {
- if (m_stop)
- return aborted;
-
- if (hdr->m_size > 0u)
- break;
-
- hdr->m_nonempty_queue.wait(hdr->m_mutex);
- }
-
- dequeue_message(handler, state);
-
- return succeeded;
- }
-
- bool try_receive(receive_handler handler, void* state)
- {
- if (m_stop)
- return false;
-
- lock_queue();
- header* const hdr = get_header();
- boost::log::ipc::aux::interprocess_mutex::auto_unlock unlock(hdr->m_mutex);
-
- if (hdr->m_size == 0u)
- return false;
-
- dequeue_message(handler, state);
-
- return true;
- }
-
- void stop_local()
- {
- if (m_stop)
- return;
-
- lock_queue();
- header* const hdr = get_header();
- boost::log::ipc::aux::interprocess_mutex::auto_unlock unlock(hdr->m_mutex);
-
- m_stop = true;
-
- hdr->m_nonempty_queue.notify_all();
- hdr->m_nonfull_queue.notify_all();
- }
-
- void reset_local()
- {
- m_stop = false;
- }
-
- void clear()
- {
- lock_queue();
- header* const hdr = get_header();
- boost::log::ipc::aux::interprocess_mutex::auto_unlock unlock(hdr->m_mutex);
- clear_queue();
- }
-
-private:
- header* get_header() const BOOST_NOEXCEPT
- {
- return static_cast< header* >(m_region.get_address());
- }
-
- static std::size_t estimate_region_size(uint32_t capacity, size_type block_size) BOOST_NOEXCEPT
- {
- return boost::alignment::align_up(sizeof(header), BOOST_LOG_CPU_CACHE_LINE_SIZE) + static_cast< std::size_t >(capacity) * static_cast< std::size_t >(block_size);
- }
-
- void create_region(uint32_t capacity, size_type block_size)
- {
- const std::size_t shmem_size = estimate_region_size(capacity, block_size);
- m_shared_memory.truncate(shmem_size);
- boost::interprocess::mapped_region(m_shared_memory, boost::interprocess::read_write, 0u, shmem_size).swap(m_region);
-
- new (m_region.get_address()) header(capacity, block_size);
-
- init_block_size(block_size);
- }
-
- void adopt_region(std::size_t shmem_size)
- {
- if (shmem_size < sizeof(header))
- BOOST_LOG_THROW_DESCR(setup_error, "Boost.Log interprocess message queue cannot be opened: shared memory segment size too small");
-
- boost::interprocess::mapped_region(m_shared_memory, boost::interprocess::read_write, 0u, shmem_size).swap(m_region);
-
- // Wait until the mapped region becomes initialized
- header* const hdr = get_header();
- BOOST_CONSTEXPR_OR_CONST unsigned int wait_loops = 200u, spin_loops = 16u, spins = 16u;
- for (unsigned int i = 0; i < wait_loops; ++i)
- {
- uint32_t ref_count = hdr->m_ref_count.load(boost::memory_order_acquire);
- while (ref_count > 0u)
- {
- if (hdr->m_ref_count.compare_exchange_weak(ref_count, ref_count + 1u, boost::memory_order_acq_rel, boost::memory_order_acquire))
- goto done;
- }
-
- if (i < spin_loops)
- {
- for (unsigned int j = 0; j < spins; ++j)
- {
- boost::log::aux::pause();
- }
- }
- else
- {
-#if defined(BOOST_HAS_SCHED_YIELD)
- sched_yield();
-#elif defined(BOOST_HAS_PTHREAD_YIELD)
- pthread_yield();
-#elif defined(BOOST_HAS_NANOSLEEP)
- timespec ts = {};
- ts.tv_sec = 0;
- ts.tv_nsec = 1000;
- nanosleep(&ts, NULL);
-#else
- usleep(1);
-#endif
- }
- }
-
- BOOST_LOG_THROW_DESCR(setup_error, "Boost.Log interprocess message queue cannot be opened: shared memory segment is not initialized by creator for too long");
-
- done:
- try
- {
- // Check that the queue layout matches the current process ABI
- if (hdr->m_abi_tag != header::get_abi_tag())
- BOOST_LOG_THROW_DESCR(setup_error, "Boost.Log interprocess message queue cannot be opened: the queue ABI is incompatible");
-
- if (!boost::log::aux::is_power_of_2(hdr->m_block_size))
- BOOST_LOG_THROW_DESCR(setup_error, "Boost.Log interprocess message queue cannot be opened: the queue block size is not a power of 2");
-
- init_block_size(hdr->m_block_size);
- }
- catch (...)
- {
- close_region();
- throw;
- }
- }
-
- void close_region() BOOST_NOEXCEPT
- {
- header* const hdr = get_header();
-
- if (hdr->m_ref_count.fetch_sub(1u, boost::memory_order_acq_rel) == 1u)
- {
- boost::interprocess::shared_memory_object::remove(m_shared_memory.get_name());
-
- hdr->~header();
-
- boost::interprocess::mapped_region().swap(m_region);
- boost::interprocess::shared_memory_object().swap(m_shared_memory);
-
- m_block_size_mask = 0u;
- m_block_size_log2 = 0u;
- }
- }
-
- void init_block_size(size_type block_size)
- {
- m_block_size_mask = block_size - 1u;
-
- uint32_t block_size_log2 = 0u;
- if ((block_size & 0x0000ffff) == 0u)
- {
- block_size >>= 16u;
- block_size_log2 += 16u;
- }
- if ((block_size & 0x000000ff) == 0u)
- {
- block_size >>= 8u;
- block_size_log2 += 8u;
- }
- if ((block_size & 0x0000000f) == 0u)
- {
- block_size >>= 4u;
- block_size_log2 += 4u;
- }
- if ((block_size & 0x00000003) == 0u)
- {
- block_size >>= 2u;
- block_size_log2 += 2u;
- }
- if ((block_size & 0x00000001) == 0u)
- {
- ++block_size_log2;
- }
- m_block_size_log2 = block_size_log2;
- }
-
- void lock_queue()
- {
- header* const hdr = get_header();
-
-#if defined(BOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST)
- try
- {
-#endif
- hdr->m_mutex.lock();
-#if defined(BOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST)
- }
- catch (boost::log::ipc::aux::lock_owner_dead&)
- {
- // The mutex is locked by the current thread, but the previous owner terminated without releasing the lock
- try
- {
- clear_queue();
- hdr->m_mutex.recover();
- }
- catch (...)
- {
- hdr->m_mutex.unlock();
- throw;
- }
- }
-#endif
- }
-
- void clear_queue()
- {
- header* const hdr = get_header();
- hdr->m_size = 0u;
- hdr->m_put_pos = 0u;
- hdr->m_get_pos = 0u;
- hdr->m_nonfull_queue.notify_all();
- }
-
- //! Returns the number of allocation blocks that are required to store user's payload of the specified size
- uint32_t estimate_block_count(size_type size) const BOOST_NOEXCEPT
- {
- // ceil((size + get_header_overhead()) / block_size)
- return static_cast< uint32_t >((size + block_header::get_header_overhead() + m_block_size_mask) >> m_block_size_log2);
- }
-
- //! Puts the message to the back of the queue
- void enqueue_message(void const* message_data, size_type message_size, uint32_t block_count)
- {
- header* const hdr = get_header();
-
- const uint32_t capacity = hdr->m_capacity;
- const size_type block_size = hdr->m_block_size;
- uint32_t pos = hdr->m_put_pos;
-
- block_header* block = hdr->get_block(pos);
- block->m_size = message_size;
-
- size_type write_size = (std::min)(static_cast< size_type >((capacity - pos) * block_size - block_header::get_header_overhead()), message_size);
- std::memcpy(block->get_data(), message_data, write_size);
-
- pos += block_count;
- if (BOOST_UNLIKELY(pos >= capacity))
- {
- // Write the rest of the message at the beginning of the queue
- pos -= capacity;
- message_data = static_cast< const unsigned char* >(message_data) + write_size;
- write_size = message_size - write_size;
- if (write_size > 0u)
- std::memcpy(hdr->get_block(0u), message_data, write_size);
- }
-
- hdr->m_put_pos = pos;
-
- const uint32_t old_queue_size = hdr->m_size;
- hdr->m_size = old_queue_size + block_count;
- if (old_queue_size == 0u)
- hdr->m_nonempty_queue.notify_one();
- }
-
- //! Retrieves the next message and invokes the handler to store the message contents
- void dequeue_message(receive_handler handler, void* state)
- {
- header* const hdr = get_header();
-
- const uint32_t capacity = hdr->m_capacity;
- const size_type block_size = hdr->m_block_size;
- uint32_t pos = hdr->m_get_pos;
-
- block_header* block = hdr->get_block(pos);
- size_type message_size = block->m_size;
- uint32_t block_count = estimate_block_count(message_size);
-
- BOOST_ASSERT(block_count <= hdr->m_size);
-
- size_type read_size = (std::min)(static_cast< size_type >((capacity - pos) * block_size - block_header::get_header_overhead()), message_size);
- handler(state, block->get_data(), read_size);
-
- pos += block_count;
- if (BOOST_UNLIKELY(pos >= capacity))
- {
- // Read the tail of the message
- pos -= capacity;
- read_size = message_size - read_size;
- if (read_size > 0u)
- handler(state, hdr->get_block(0u), read_size);
- }
-
- hdr->m_get_pos = pos;
- hdr->m_size -= block_count;
-
- hdr->m_nonfull_queue.notify_all();
- }
-};
-
-BOOST_LOG_API void reliable_message_queue::create(object_name const& name, uint32_t capacity, size_type block_size, overflow_policy oflow_policy, permissions const& perms)
-{
- BOOST_ASSERT(m_impl == NULL);
- if (!boost::log::aux::is_power_of_2(block_size))
- BOOST_THROW_EXCEPTION(std::invalid_argument("Interprocess message queue block size is not a power of 2"));
- try
- {
- m_impl = new implementation(open_mode::create_only, name, capacity, static_cast< size_type >(boost::alignment::align_up(block_size, BOOST_LOG_CPU_CACHE_LINE_SIZE)), oflow_policy, perms);
- }
- catch (boost::exception& e)
- {
- e << boost::log::ipc::object_name_info(name);
- throw;
- }
- catch (boost::interprocess::interprocess_exception& e)
- {
- BOOST_THROW_EXCEPTION(boost::enable_error_info(system_error(boost::system::error_code(e.get_native_error(), boost::system::system_category()), e.what())) << boost::log::ipc::object_name_info(name));
- }
-}
-
-BOOST_LOG_API void reliable_message_queue::open_or_create(object_name const& name, uint32_t capacity, size_type block_size, overflow_policy oflow_policy, permissions const& perms)
-{
- BOOST_ASSERT(m_impl == NULL);
- if (!boost::log::aux::is_power_of_2(block_size))
- BOOST_THROW_EXCEPTION(std::invalid_argument("Interprocess message queue block size is not a power of 2"));
- try
- {
- m_impl = new implementation(open_mode::open_or_create, name, capacity, static_cast< size_type >(boost::alignment::align_up(block_size, BOOST_LOG_CPU_CACHE_LINE_SIZE)), oflow_policy, perms);
- }
- catch (boost::exception& e)
- {
- e << boost::log::ipc::object_name_info(name);
- throw;
- }
- catch (boost::interprocess::interprocess_exception& e)
- {
- BOOST_THROW_EXCEPTION(boost::enable_error_info(system_error(boost::system::error_code(e.get_native_error(), boost::system::system_category()), e.what())) << boost::log::ipc::object_name_info(name));
- }
-}
-
-BOOST_LOG_API void reliable_message_queue::open(object_name const& name, overflow_policy oflow_policy, permissions const&)
-{
- BOOST_ASSERT(m_impl == NULL);
- try
- {
- m_impl = new implementation(open_mode::open_only, name, oflow_policy);
- }
- catch (boost::exception& e)
- {
- e << boost::log::ipc::object_name_info(name);
- throw;
- }
- catch (boost::interprocess::interprocess_exception& e)
- {
- BOOST_THROW_EXCEPTION(boost::enable_error_info(system_error(boost::system::error_code(e.get_native_error(), boost::system::system_category()), e.what())) << boost::log::ipc::object_name_info(name));
- }
-}
-
-BOOST_LOG_API void reliable_message_queue::clear()
-{
- BOOST_ASSERT(m_impl != NULL);
- try
- {
- m_impl->clear();
- }
- catch (boost::exception& e)
- {
- e << boost::log::ipc::object_name_info(m_impl->name());
- throw;
- }
-}
-
-BOOST_LOG_API object_name const& reliable_message_queue::name() const
-{
- BOOST_ASSERT(m_impl != NULL);
- return m_impl->name();
-}
-
-BOOST_LOG_API uint32_t reliable_message_queue::capacity() const
-{
- BOOST_ASSERT(m_impl != NULL);
- return m_impl->capacity();
-}
-
-BOOST_LOG_API reliable_message_queue::size_type reliable_message_queue::block_size() const
-{
- BOOST_ASSERT(m_impl != NULL);
- return m_impl->block_size();
-}
-
-BOOST_LOG_API void reliable_message_queue::stop_local()
-{
- BOOST_ASSERT(m_impl != NULL);
- try
- {
- m_impl->stop_local();
- }
- catch (boost::exception& e)
- {
- e << boost::log::ipc::object_name_info(m_impl->name());
- throw;
- }
-}
-
-BOOST_LOG_API void reliable_message_queue::reset_local()
-{
- BOOST_ASSERT(m_impl != NULL);
- try
- {
- m_impl->reset_local();
- }
- catch (boost::exception& e)
- {
- e << boost::log::ipc::object_name_info(m_impl->name());
- throw;
- }
-}
-
-BOOST_LOG_API void reliable_message_queue::do_close() BOOST_NOEXCEPT
-{
- delete m_impl;
- m_impl = NULL;
-}
-
-BOOST_LOG_API reliable_message_queue::operation_result reliable_message_queue::send(void const* message_data, size_type message_size)
-{
- BOOST_ASSERT(m_impl != NULL);
- try
- {
- return m_impl->send(message_data, message_size);
- }
- catch (boost::exception& e)
- {
- e << boost::log::ipc::object_name_info(m_impl->name());
- throw;
- }
-}
-
-BOOST_LOG_API bool reliable_message_queue::try_send(void const* message_data, size_type message_size)
-{
- BOOST_ASSERT(m_impl != NULL);
- try
- {
- return m_impl->try_send(message_data, message_size);
- }
- catch (boost::exception& e)
- {
- e << boost::log::ipc::object_name_info(m_impl->name());
- throw;
- }
-}
-
-BOOST_LOG_API reliable_message_queue::operation_result reliable_message_queue::do_receive(receive_handler handler, void* state)
-{
- BOOST_ASSERT(m_impl != NULL);
- try
- {
- return m_impl->receive(handler, state);
- }
- catch (boost::exception& e)
- {
- e << boost::log::ipc::object_name_info(m_impl->name());
- throw;
- }
-}
-
-BOOST_LOG_API bool reliable_message_queue::do_try_receive(receive_handler handler, void* state)
-{
- BOOST_ASSERT(m_impl != NULL);
- try
- {
- return m_impl->try_receive(handler, state);
- }
- catch (boost::exception& e)
- {
- e << boost::log::ipc::object_name_info(m_impl->name());
- throw;
- }
-}
-
-//! Fixed buffer receive handler
-BOOST_LOG_API void reliable_message_queue::fixed_buffer_receive_handler(void* state, const void* data, size_type size)
-{
- fixed_buffer_state* p = static_cast< fixed_buffer_state* >(state);
- if (BOOST_UNLIKELY(size > p->size))
- BOOST_THROW_EXCEPTION(bad_alloc("Buffer too small to receive the message"));
-
- std::memcpy(p->data, data, size);
- p->data += size;
- p->size -= size;
-}
-
-BOOST_LOG_API void reliable_message_queue::remove(object_name const& name)
-{
- boost::interprocess::shared_memory_object::remove(name.c_str());
-}
-
-} // namespace ipc
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/posix/ipc_sync_wrappers.hpp b/contrib/restricted/boost/libs/log/src/posix/ipc_sync_wrappers.hpp
deleted file mode 100644
index b32acba22a..0000000000
--- a/contrib/restricted/boost/libs/log/src/posix/ipc_sync_wrappers.hpp
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file posix/ipc_sync_wrappers.hpp
- * \author Andrey Semashev
- * \date 05.01.2016
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_POSIX_IPC_SYNC_WRAPPERS_HPP_INCLUDED_
-#define BOOST_LOG_POSIX_IPC_SYNC_WRAPPERS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <pthread.h>
-#include <cerrno>
-#include <cstddef>
-#include <boost/assert.hpp>
-#include <boost/throw_exception.hpp>
-// Use Boost.Interprocess to detect if process-shared pthread primitives are supported
-#include <boost/interprocess/detail/workaround.hpp>
-#if !defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
-#include <boost/core/explicit_operator_bool.hpp>
-#include <boost/interprocess/sync/interprocess_mutex.hpp>
-#include <boost/interprocess/sync/interprocess_condition.hpp>
-#undef BOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST
-#endif
-#include <boost/log/exceptions.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace ipc {
-
-namespace aux {
-
-#if defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
-
-#if defined(BOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST)
-struct BOOST_SYMBOL_VISIBLE lock_owner_dead {};
-#endif
-
-//! Pthread mutex attributes
-struct pthread_mutex_attributes
-{
- pthread_mutexattr_t attrs;
-
- pthread_mutex_attributes()
- {
- int err = pthread_mutexattr_init(&this->attrs);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to initialize pthread mutex attributes", (err));
- }
-
- ~pthread_mutex_attributes()
- {
- BOOST_VERIFY(pthread_mutexattr_destroy(&this->attrs) == 0);
- }
-
- BOOST_DELETED_FUNCTION(pthread_mutex_attributes(pthread_mutex_attributes const&))
- BOOST_DELETED_FUNCTION(pthread_mutex_attributes& operator=(pthread_mutex_attributes const&))
-};
-
-//! Pthread condifion variable attributes
-struct pthread_condition_variable_attributes
-{
- pthread_condattr_t attrs;
-
- pthread_condition_variable_attributes()
- {
- int err = pthread_condattr_init(&this->attrs);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to initialize pthread condition variable attributes", (err));
- }
-
- ~pthread_condition_variable_attributes()
- {
- BOOST_VERIFY(pthread_condattr_destroy(&this->attrs) == 0);
- }
-
- BOOST_DELETED_FUNCTION(pthread_condition_variable_attributes(pthread_condition_variable_attributes const&))
- BOOST_DELETED_FUNCTION(pthread_condition_variable_attributes& operator=(pthread_condition_variable_attributes const&))
-};
-
-//! Interprocess mutex wrapper
-struct interprocess_mutex
-{
- struct auto_unlock
- {
- explicit auto_unlock(interprocess_mutex& mutex) BOOST_NOEXCEPT : m_mutex(mutex) {}
- ~auto_unlock() { m_mutex.unlock(); }
-
- BOOST_DELETED_FUNCTION(auto_unlock(auto_unlock const&))
- BOOST_DELETED_FUNCTION(auto_unlock& operator=(auto_unlock const&))
-
- private:
- interprocess_mutex& m_mutex;
- };
-
- pthread_mutex_t mutex;
-
- interprocess_mutex()
- {
- pthread_mutex_attributes attrs;
- int err = pthread_mutexattr_settype(&attrs.attrs, PTHREAD_MUTEX_NORMAL);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to set pthread mutex type", (err));
- err = pthread_mutexattr_setpshared(&attrs.attrs, PTHREAD_PROCESS_SHARED);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to make pthread mutex process-shared", (err));
-#if defined(BOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST)
- err = pthread_mutexattr_setrobust(&attrs.attrs, PTHREAD_MUTEX_ROBUST);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to make pthread mutex robust", (err));
-#endif
-
- err = pthread_mutex_init(&this->mutex, &attrs.attrs);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to initialize pthread mutex", (err));
- }
-
- ~interprocess_mutex()
- {
- BOOST_VERIFY(pthread_mutex_destroy(&this->mutex) == 0);
- }
-
- void lock()
- {
- int err = pthread_mutex_lock(&this->mutex);
-#if defined(BOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST)
- if (BOOST_UNLIKELY(err == EOWNERDEAD))
- throw lock_owner_dead();
-#endif
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to lock pthread mutex", (err));
- }
-
- void unlock() BOOST_NOEXCEPT
- {
- BOOST_VERIFY(pthread_mutex_unlock(&this->mutex) == 0);
- }
-
-#if defined(BOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST)
- void recover()
- {
- int err = pthread_mutex_consistent(&this->mutex);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to recover pthread mutex from a crashed thread", (err));
- }
-#endif
-
- BOOST_DELETED_FUNCTION(interprocess_mutex(interprocess_mutex const&))
- BOOST_DELETED_FUNCTION(interprocess_mutex& operator=(interprocess_mutex const&))
-};
-
-//! Interprocess condition variable wrapper
-struct interprocess_condition_variable
-{
- pthread_cond_t cond;
-
- interprocess_condition_variable()
- {
- pthread_condition_variable_attributes attrs;
- int err = pthread_condattr_setpshared(&attrs.attrs, PTHREAD_PROCESS_SHARED);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to make pthread condition variable process-shared", (err));
-
- err = pthread_cond_init(&this->cond, &attrs.attrs);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to initialize pthread condition variable", (err));
- }
-
- ~interprocess_condition_variable()
- {
- BOOST_VERIFY(pthread_cond_destroy(&this->cond) == 0);
- }
-
- void notify_one()
- {
- int err = pthread_cond_signal(&this->cond);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to notify one thread on a pthread condition variable", (err));
- }
-
- void notify_all()
- {
- int err = pthread_cond_broadcast(&this->cond);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to notify all threads on a pthread condition variable", (err));
- }
-
- void wait(interprocess_mutex& mutex)
- {
- int err = pthread_cond_wait(&this->cond, &mutex.mutex);
- if (BOOST_UNLIKELY(err != 0))
- BOOST_LOG_THROW_DESCR_PARAMS(boost::log::system_error, "Failed to wait on a pthread condition variable", (err));
- }
-
- BOOST_DELETED_FUNCTION(interprocess_condition_variable(interprocess_condition_variable const&))
- BOOST_DELETED_FUNCTION(interprocess_condition_variable& operator=(interprocess_condition_variable const&))
-};
-
-#else // defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
-
-// If there are no process-shared pthread primitives, use whatever emulation Boost.Interprocess implements
-struct interprocess_mutex
-{
- struct auto_unlock
- {
- explicit auto_unlock(interprocess_mutex& mutex) BOOST_NOEXCEPT : m_mutex(mutex) {}
- ~auto_unlock() { m_mutex.unlock(); }
-
- BOOST_DELETED_FUNCTION(auto_unlock(auto_unlock const&))
- BOOST_DELETED_FUNCTION(auto_unlock& operator=(auto_unlock const&))
-
- private:
- interprocess_mutex& m_mutex;
- };
-
- BOOST_DEFAULTED_FUNCTION(interprocess_mutex(), {})
-
- // Members to emulate a lock interface
- typedef boost::interprocess::interprocess_mutex mutex_type;
-
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
- bool operator! () const BOOST_NOEXCEPT { return false; }
- mutex_type* mutex() BOOST_NOEXCEPT { return &m_mutex; }
-
- void lock()
- {
- m_mutex.lock();
- }
-
- void unlock() BOOST_NOEXCEPT
- {
- m_mutex.unlock();
- }
-
- mutex_type m_mutex;
-
- BOOST_DELETED_FUNCTION(interprocess_mutex(interprocess_mutex const&))
- BOOST_DELETED_FUNCTION(interprocess_mutex& operator=(interprocess_mutex const&))
-};
-
-
-typedef boost::interprocess::interprocess_condition interprocess_condition_variable;
-
-#endif // defined(BOOST_INTERPROCESS_POSIX_PROCESS_SHARED)
-
-} // namespace aux
-
-} // namespace ipc
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_POSIX_IPC_SYNC_WRAPPERS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/libs/log/src/posix/object_name.cpp b/contrib/restricted/boost/libs/log/src/posix/object_name.cpp
deleted file mode 100644
index 0dfd7d4c59..0000000000
--- a/contrib/restricted/boost/libs/log/src/posix/object_name.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright Andrey Semashev 2016.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file posix/object_name.cpp
- * \author Andrey Semashev
- * \date 06.03.2016
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <unistd.h>
-#include <sys/types.h>
-#if defined(__ANDROID__) && (__ANDROID_API__+0) < 21
-#include <sys/syscall.h>
-#if !defined(__CRYSTAX__)
-// Until Android API version 21 Google NDK does not provide getpwuid_r
-#define BOOST_LOG_NO_GETPWUID_R
-#endif
-#endif
-#if !defined(BOOST_LOG_NO_GETPWUID_R)
-#include <pwd.h>
-#endif
-#include <cstddef>
-#include <cstring>
-#include <limits>
-#include <string>
-#include <vector>
-#include <boost/move/utility_core.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/spirit/include/karma_uint.hpp>
-#include <boost/spirit/include/karma_generate.hpp>
-#include <boost/log/utility/ipc/object_name.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace karma = boost::spirit::karma;
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace ipc {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-#if defined(__ANDROID__) && (__ANDROID_API__+0) < 21
-// Until Android API version 21 NDK does not define getsid wrapper in libc, although there is the corresponding syscall
-inline pid_t getsid(pid_t pid) BOOST_NOEXCEPT
-{
- return static_cast< pid_t >(::syscall(__NR_getsid, pid));
-}
-#endif
-
-//! Formats an integer identifier into the string
-template< typename Identifier >
-inline void format_id(Identifier id, std::string& str)
-{
- // Note: in the code below, avoid involving locale for string formatting to make sure the names are as stable as possible
- typedef typename boost::make_unsigned< Identifier >::type unsigned_id_t;
- char buf[std::numeric_limits< unsigned_id_t >::digits10 + 2];
- char* p = buf;
-
- typedef karma::uint_generator< unsigned_id_t, 10 > unsigned_id_gen;
- karma::generate(p, unsigned_id_gen(), static_cast< unsigned_id_t >(id));
- str.append(buf, p);
-}
-
-//! Returns a prefix string for a shared resource according to the scope
-std::string get_scope_prefix(object_name::scope ns)
-{
- std::string prefix = "/boost.log.";
- switch (ns)
- {
- case object_name::process_group:
- {
- prefix.append("pgid.");
- format_id(getpgrp(), prefix);
- }
- break;
-
- case object_name::session:
- {
- prefix.append("sid.");
- format_id(getsid(0), prefix);
- }
- break;
-
- case object_name::user:
- {
- const uid_t uid = getuid();
-
-#if !defined(BOOST_LOG_NO_GETPWUID_R)
- long limit = sysconf(_SC_GETPW_R_SIZE_MAX);
- if (limit <= 0)
- limit = 65536;
- std::vector< char > string_storage;
- string_storage.resize(static_cast< std::size_t >(limit));
- passwd pwd = {}, *result = NULL;
-
- try
- {
- const int err = getpwuid_r(uid, &pwd, &string_storage[0], string_storage.size(), &result);
- if (err == 0 && result && result->pw_name)
- {
- prefix += "user.";
- prefix += result->pw_name;
- }
- else
- {
- prefix += "uid.";
- format_id(uid, prefix);
- }
-
- // Avoid leaving sensitive data in memory, if there is any
- std::memset(&pwd, 0, sizeof(pwd));
- std::memset(&string_storage[0], 0, string_storage.size());
- }
- catch (...)
- {
- std::memset(&pwd, 0, sizeof(pwd));
- std::memset(&string_storage[0], 0, string_storage.size());
- throw;
- }
-#else
- prefix += "uid.";
- format_id(uid, prefix);
-#endif
- }
- break;
-
- default:
- prefix += "global";
- break;
- }
-
- prefix.push_back('.');
-
- return BOOST_LOG_NRVO_RESULT(prefix);
-}
-
-} // namespace
-
-//! Constructor from the object name
-BOOST_LOG_API object_name::object_name(scope ns, const char* str) :
- m_name(get_scope_prefix(ns) + str)
-{
-}
-
-//! Constructor from the object name
-BOOST_LOG_API object_name::object_name(scope ns, std::string const& str) :
- m_name(get_scope_prefix(ns) + str)
-{
-}
-
-} // namespace ipc
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/process_id.cpp b/contrib/restricted/boost/libs/log/src/process_id.cpp
deleted file mode 100644
index e5dfd77b96..0000000000
--- a/contrib/restricted/boost/libs/log/src/process_id.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file process_id.cpp
- * \author Andrey Semashev
- * \date 12.09.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <iostream>
-#include <boost/log/detail/process_id.hpp>
-#include "id_formatting.hpp"
-
-#if defined(BOOST_WINDOWS)
-
-#include <windows.h>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-enum { pid_size = sizeof(GetCurrentProcessId()) };
-
-namespace this_process {
-
- //! The function returns current process identifier
- BOOST_LOG_API process::id get_id()
- {
- return process::id(GetCurrentProcessId());
- }
-
-} // namespace this_process
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#else // defined(BOOST_WINDOWS)
-
-#include <unistd.h>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-namespace this_process {
-
- //! The function returns current process identifier
- BOOST_LOG_API process::id get_id()
- {
- // According to POSIX, pid_t should always be an integer type:
- // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/types.h.html
- return process::id(getpid());
- }
-
-} // namespace this_process
-
-enum { pid_size = sizeof(pid_t) };
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // defined(BOOST_WINDOWS)
-
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename CharT, typename TraitsT >
-BOOST_LOG_API std::basic_ostream< CharT, TraitsT >&
-operator<< (std::basic_ostream< CharT, TraitsT >& strm, process::id const& pid)
-{
- if (strm.good())
- {
- CharT buf[pid_size * 2 + 3]; // 2 chars per byte + 3 chars for the leading 0x and terminating zero
- format_id< pid_size >(buf, sizeof(buf) / sizeof(*buf), pid.native_id(), (strm.flags() & std::ios_base::uppercase) != 0);
-
- strm << buf;
- }
-
- return strm;
-}
-
-#if defined(BOOST_LOG_USE_CHAR)
-template BOOST_LOG_API
-std::basic_ostream< char, std::char_traits< char > >&
-operator<< (std::basic_ostream< char, std::char_traits< char > >& strm, process::id const& pid);
-#endif // defined(BOOST_LOG_USE_CHAR)
-
-#if defined(BOOST_LOG_USE_WCHAR_T)
-template BOOST_LOG_API
-std::basic_ostream< wchar_t, std::char_traits< wchar_t > >&
-operator<< (std::basic_ostream< wchar_t, std::char_traits< wchar_t > >& strm, process::id const& pid);
-#endif // defined(BOOST_LOG_USE_WCHAR_T)
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/process_name.cpp b/contrib/restricted/boost/libs/log/src/process_name.cpp
deleted file mode 100644
index 864defacaa..0000000000
--- a/contrib/restricted/boost/libs/log/src/process_name.cpp
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file process_name.cpp
- * \author Andrey Semashev
- * \date 29.07.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- *
- * The code in this file is based on information on this page:
- *
- * http://stackoverflow.com/questions/1023306/finding-current-executables-path-without-proc-self-exe
- */
-
-#include <boost/log/detail/config.hpp>
-#include <climits> // PATH_MAX
-#include <boost/log/attributes/current_process_name.hpp>
-#include <boost/filesystem/path.hpp>
-
-#ifndef PATH_MAX
-#define PATH_MAX 1024
-#endif
-
-#if defined(BOOST_WINDOWS)
-
-#include <windows.h>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The function returns the current process name
-BOOST_LOG_API std::string get_process_name()
-{
- std::wstring buf;
- buf.resize(PATH_MAX);
- do
- {
- unsigned int len = GetModuleFileNameW(NULL, &buf[0], static_cast< unsigned int >(buf.size()));
- if (len < buf.size())
- {
- buf.resize(len);
- break;
- }
-
- buf.resize(buf.size() * 2);
- }
- while (buf.size() < 65536);
-
- return filesystem::path(buf).filename().string();
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
-
-#include <cstring>
-#include <mach-o/dyld.h>
-#include <boost/cstdint.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The function returns the current process name
-BOOST_LOG_API std::string get_process_name()
-{
- std::string buf;
- buf.resize(PATH_MAX);
- while (true)
- {
- uint32_t size = static_cast< uint32_t >(buf.size());
- if (_NSGetExecutablePath(&buf[0], &size) == 0)
- {
- buf.resize(std::strlen(&buf[0]));
- break;
- }
-
- buf.resize(size);
- }
-
- return filesystem::path(buf).filename().string();
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#elif defined(__FreeBSD__)
-
-#include <stddef.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/sysctl.h>
-#include <boost/lexical_cast.hpp>
-#include <boost/filesystem/operations.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The function returns the current process name
-BOOST_LOG_API std::string get_process_name()
-{
-#if defined(KERN_PROC_PATHNAME)
- int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
- char buf[PATH_MAX] = {};
- size_t cb = sizeof(buf);
- if (sysctl(mib, 4, buf, &cb, NULL, 0) == 0)
- return filesystem::path(buf).filename().string();
-#endif
-
- if (filesystem::exists("/proc/curproc/file"))
- return filesystem::read_symlink("/proc/curproc/file").filename().string();
-
- return boost::lexical_cast< std::string >(getpid());
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#else
-
-#include <unistd.h>
-#include <boost/lexical_cast.hpp>
-#include <boost/filesystem/operations.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The function returns the current process name
-BOOST_LOG_API std::string get_process_name()
-{
- if (filesystem::exists("/proc/self/exe"))
- return filesystem::read_symlink("/proc/self/exe").filename().string();
-
- if (filesystem::exists("/proc/curproc/file"))
- return filesystem::read_symlink("/proc/curproc/file").filename().string();
-
- if (filesystem::exists("/proc/curproc/exe"))
- return filesystem::read_symlink("/proc/curproc/exe").filename().string();
-
- return boost::lexical_cast< std::string >(getpid());
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/libs/log/src/record_ostream.cpp b/contrib/restricted/boost/libs/log/src/record_ostream.cpp
deleted file mode 100644
index 27ed3d09b2..0000000000
--- a/contrib/restricted/boost/libs/log/src/record_ostream.cpp
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file record_ostream.cpp
- * \author Andrey Semashev
- * \date 17.04.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <locale>
-#include <utility>
-#include <boost/log/sources/record_ostream.hpp>
-#include <boost/log/detail/singleton.hpp>
-#include <boost/log/attributes/attribute_value_impl.hpp>
-#include <boost/log/expressions/message.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/thread/tss.hpp>
-#endif
-#include "unique_ptr.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! The function initializes the stream and the stream buffer
-template< typename CharT >
-BOOST_LOG_API void basic_record_ostream< CharT >::init_stream()
-{
- base_type::init_stream();
- base_type::imbue(std::locale());
- if (m_record)
- {
- typedef attributes::attribute_value_impl< string_type > message_impl_type;
- intrusive_ptr< message_impl_type > p = new message_impl_type(string_type());
- attribute_value value(p);
-
- // This may fail if the record already has Message attribute
- std::pair< attribute_value_set::const_iterator, bool > res =
- m_record->attribute_values().insert(expressions::tag::message::get_name(), value);
- if (!res.second)
- const_cast< attribute_value& >(res.first->second).swap(value);
-
- base_type::attach(const_cast< string_type& >(p->get()));
- }
-}
-//! The function resets the stream into a detached (default initialized) state
-template< typename CharT >
-BOOST_LOG_API void basic_record_ostream< CharT >::detach_from_record() BOOST_NOEXCEPT
-{
- if (m_record)
- {
- base_type::detach();
- m_record = NULL;
- base_type::exceptions(base_type::goodbit);
- }
-}
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! The pool of stream compounds
-template< typename CharT >
-class stream_compound_pool :
- public log::aux::lazy_singleton<
- stream_compound_pool< CharT >,
-#if !defined(BOOST_LOG_NO_THREADS)
- thread_specific_ptr< stream_compound_pool< CharT > >
-#else
- log::aux::unique_ptr< stream_compound_pool< CharT > >
-#endif
- >
-{
- //! Self type
- typedef stream_compound_pool< CharT > this_type;
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Thread-specific pointer type
- typedef thread_specific_ptr< this_type > tls_ptr_type;
-#else
- //! Thread-specific pointer type
- typedef log::aux::unique_ptr< this_type > tls_ptr_type;
-#endif
- //! Singleton base type
- typedef log::aux::lazy_singleton<
- this_type,
- tls_ptr_type
- > base_type;
- //! Stream compound type
- typedef typename stream_provider< CharT >::stream_compound stream_compound_t;
-
-public:
- //! Pooled stream compounds
- stream_compound_t* m_Top;
-
- ~stream_compound_pool()
- {
- stream_compound_t* p = NULL;
- while ((p = m_Top) != NULL)
- {
- m_Top = p->next;
- delete p;
- }
- }
-
- //! The method returns pool instance
- static stream_compound_pool& get()
- {
- tls_ptr_type& ptr = base_type::get();
- this_type* p = ptr.get();
- if (!p)
- {
- log::aux::unique_ptr< this_type > pNew(new this_type());
- ptr.reset(pNew.get());
- p = pNew.release();
- }
- return *p;
- }
-
-private:
- stream_compound_pool() : m_Top(NULL) {}
-};
-
-} // namespace
-
-//! The method returns an allocated stream compound
-template< typename CharT >
-BOOST_LOG_API typename stream_provider< CharT >::stream_compound*
-stream_provider< CharT >::allocate_compound(record& rec)
-{
- stream_compound_pool< char_type >& pool = stream_compound_pool< char_type >::get();
- if (pool.m_Top)
- {
- stream_compound* p = pool.m_Top;
- pool.m_Top = p->next;
- p->next = NULL;
- p->stream.attach_record(rec);
- return p;
- }
- else
- return new stream_compound(rec);
-}
-
-//! The method releases a compound
-template< typename CharT >
-BOOST_LOG_API void stream_provider< CharT >::release_compound(stream_compound* compound) BOOST_NOEXCEPT
-{
- stream_compound_pool< char_type >& pool = stream_compound_pool< char_type >::get();
- compound->next = pool.m_Top;
- pool.m_Top = compound;
- compound->stream.detach_from_record();
-}
-
-//! Explicitly instantiate stream_provider implementation
-#ifdef BOOST_LOG_USE_CHAR
-template struct stream_provider< char >;
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-template struct stream_provider< wchar_t >;
-#endif
-
-} // namespace aux
-
-//! Explicitly instantiate basic_record_ostream implementation
-#ifdef BOOST_LOG_USE_CHAR
-template class basic_record_ostream< char >;
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-template class basic_record_ostream< wchar_t >;
-#endif
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/setup/default_filter_factory.cpp b/contrib/restricted/boost/libs/log/src/setup/default_filter_factory.cpp
deleted file mode 100644
index 225e5d4f48..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/default_filter_factory.cpp
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file default_filter_factory.hpp
- * \author Andrey Semashev
- * \date 29.05.2010
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#if !defined(BOOST_LOG_WITHOUT_SETTINGS_PARSERS) && !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
-
-#include <boost/log/detail/setup_config.hpp>
-#include <string>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/spirit/include/qi_core.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/expressions/predicates/has_attr.hpp>
-#include <boost/log/utility/type_dispatch/standard_types.hpp>
-#include <boost/log/utility/string_literal.hpp>
-#include <boost/log/utility/functional/logical.hpp>
-#include <boost/log/utility/functional/begins_with.hpp>
-#include <boost/log/utility/functional/ends_with.hpp>
-#include <boost/log/utility/functional/contains.hpp>
-#include <boost/log/detail/code_conversion.hpp>
-#if defined(BOOST_LOG_USE_CHAR) && defined(BOOST_LOG_USE_WCHAR_T)
-#include <boost/fusion/container/set.hpp>
-#include <boost/fusion/sequence/intrinsic/at_key.hpp>
-#include <boost/fusion/algorithm/iteration/for_each.hpp>
-#endif
-#include "default_filter_factory.hpp"
-#include "parser_utils.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace qi = boost::spirit::qi;
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-#if defined(BOOST_LOG_USE_CHAR) && defined(BOOST_LOG_USE_WCHAR_T)
-
-//! A special filtering predicate that adopts the string operand to the attribute value character type
-template< typename RelationT >
-class string_predicate :
- public RelationT
-{
-private:
- template< typename StringT >
- struct initializer
- {
- typedef void result_type;
-
- explicit initializer(StringT const& val) : m_initializer(val)
- {
- }
-
- template< typename T >
- result_type operator() (T& val) const
- {
- try
- {
- log::aux::code_convert(m_initializer, val);
- }
- catch (...)
- {
- val.clear();
- }
- }
-
- private:
- StringT const& m_initializer;
- };
-
-public:
- typedef RelationT relation_type;
- typedef typename relation_type::result_type result_type;
-
- template< typename StringT >
- string_predicate(relation_type const& rel, StringT const& operand) : relation_type(rel)
- {
- fusion::for_each(m_operands, initializer< StringT >(operand));
- }
-
- template< typename T >
- result_type operator() (T const& val) const
- {
- typedef std::basic_string< typename T::value_type > operand_type;
- return relation_type::operator() (val, fusion::at_key< operand_type >(m_operands));
- }
-
-private:
- fusion::set< std::string, std::wstring > m_operands;
-};
-
-#else // defined(BOOST_LOG_USE_CHAR) && defined(BOOST_LOG_USE_WCHAR_T)
-
-//! A special filtering predicate that adopts the string operand to the attribute value character type
-template< typename RelationT >
-class string_predicate :
- public RelationT
-{
-private:
-#if defined(BOOST_LOG_USE_CHAR)
- typedef std::basic_string< char > string_type;
-#elif defined(BOOST_LOG_USE_WCHAR_T)
- typedef std::basic_string< wchar_t > string_type;
-#else
-#error Boost.Log: Inconsistent character configuration
-#endif
-
-public:
- typedef RelationT relation_type;
- typedef typename relation_type::result_type result_type;
-
-public:
- string_predicate(relation_type const& rel, string_type const& operand) : relation_type(rel), m_operand(operand)
- {
- }
-
- template< typename T >
- result_type operator() (T const& val) const
- {
- return relation_type::operator() (val, m_operand);
- }
-
-private:
- const string_type m_operand;
-};
-
-#endif // defined(BOOST_LOG_USE_CHAR) && defined(BOOST_LOG_USE_WCHAR_T)
-
-//! A filtering predicate for numeric relations
-template< typename NumericT, typename RelationT >
-class numeric_predicate :
- public string_predicate< RelationT >
-{
- typedef string_predicate< RelationT > base_type;
-
-public:
- typedef NumericT numeric_type;
- typedef typename base_type::relation_type relation_type;
- typedef typename base_type::result_type result_type;
-
-public:
- template< typename StringT >
- numeric_predicate(relation_type const& rel, StringT const& string_operand, numeric_type numeric_operand) :
- base_type(rel, string_operand),
- m_numeric_operand(numeric_operand)
- {
- }
-
- template< typename CharT, typename TraitsT, typename AllocatorT >
- result_type operator() (std::basic_string< CharT, TraitsT, AllocatorT > const& val) const
- {
- return base_type::operator() (val);
- }
-
- template< typename CharT, typename TraitsT >
- result_type operator() (basic_string_literal< CharT, TraitsT > const& val) const
- {
- return base_type::operator() (val);
- }
-
- template< typename T >
- result_type operator() (T const& val) const
- {
- return relation_type::operator() (val, m_numeric_operand);
- }
-
-private:
- const numeric_type m_numeric_operand;
-};
-
-typedef mpl::vector<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_STANDARD_FLOATING_POINT_TYPES()BOOST_LOG_STANDARD_STRING_TYPES())
-> floating_point_and_string_types;
-
-} // namespace
-
-//! The callback for equality relation filter
-template< typename CharT >
-filter default_filter_factory< CharT >::on_equality_relation(attribute_name const& name, string_type const& arg)
-{
- return parse_argument< equal_to >(name, arg);
-}
-
-//! The callback for inequality relation filter
-template< typename CharT >
-filter default_filter_factory< CharT >::on_inequality_relation(attribute_name const& name, string_type const& arg)
-{
- return parse_argument< not_equal_to >(name, arg);
-}
-
-//! The callback for less relation filter
-template< typename CharT >
-filter default_filter_factory< CharT >::on_less_relation(attribute_name const& name, string_type const& arg)
-{
- return parse_argument< less >(name, arg);
-}
-
-//! The callback for greater relation filter
-template< typename CharT >
-filter default_filter_factory< CharT >::on_greater_relation(attribute_name const& name, string_type const& arg)
-{
- return parse_argument< greater >(name, arg);
-}
-
-//! The callback for less or equal relation filter
-template< typename CharT >
-filter default_filter_factory< CharT >::on_less_or_equal_relation(attribute_name const& name, string_type const& arg)
-{
- return parse_argument< less_equal >(name, arg);
-}
-
-//! The callback for greater or equal relation filter
-template< typename CharT >
-filter default_filter_factory< CharT >::on_greater_or_equal_relation(attribute_name const& name, string_type const& arg)
-{
- return parse_argument< greater_equal >(name, arg);
-}
-
-//! The callback for custom relation filter
-template< typename CharT >
-filter default_filter_factory< CharT >::on_custom_relation(attribute_name const& name, string_type const& rel, string_type const& arg)
-{
- typedef log::aux::char_constants< char_type > constants;
-
- if (rel == constants::begins_with_keyword())
- {
- typedef string_predicate< begins_with_fun > predicate;
- return predicate_wrapper< log::string_types, predicate >(name, predicate(begins_with_fun(), arg));
- }
- else if (rel == constants::ends_with_keyword())
- {
- typedef string_predicate< ends_with_fun > predicate;
- return predicate_wrapper< log::string_types, predicate >(name, predicate(ends_with_fun(), arg));
- }
- else if (rel == constants::contains_keyword())
- {
- typedef string_predicate< contains_fun > predicate;
- return predicate_wrapper< log::string_types, predicate >(name, predicate(contains_fun(), arg));
- }
- else if (rel != constants::matches_keyword())
- {
- BOOST_LOG_THROW_DESCR(parse_error, "The custom attribute relation \"" + log::aux::to_narrow(rel) + "\" is not supported");
- }
-
- return parse_matches_relation(name, arg);
-}
-
-
-//! The function parses the argument value for a binary relation and constructs the corresponding filter
-template< typename CharT >
-template< typename RelationT >
-filter default_filter_factory< CharT >::parse_argument(attribute_name const& name, string_type const& arg)
-{
- const char_type* begin = arg.c_str();
- const char_type* const end = begin + arg.size();
-
- double real_val = 0.0;
- const qi::real_parser< double, qi::strict_real_policies< double > > real_;
- if (qi::parse(begin, end, real_, real_val) && begin == end)
- {
- typedef numeric_predicate< double, RelationT > predicate;
- typedef floating_point_and_string_types value_types;
- return predicate_wrapper< value_types, predicate >(name, predicate(RelationT(), arg, real_val));
- }
- else
- {
- begin = arg.c_str();
- long int_val = 0;
- if (qi::parse(begin, end, qi::long_, int_val) && begin == end)
- {
- typedef numeric_predicate< long, RelationT > predicate;
- typedef default_attribute_types value_types;
- return predicate_wrapper< value_types, predicate >(name, predicate(RelationT(), arg, int_val));
- }
- else
- {
- typedef string_predicate< RelationT > predicate;
- return predicate_wrapper< log::string_types, predicate >(name, predicate(RelationT(), arg));
- }
- }
-}
-
-// Explicitly instantiate factory implementation
-#ifdef BOOST_LOG_USE_CHAR
-template class default_filter_factory< char >;
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-template class default_filter_factory< wchar_t >;
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // !defined(BOOST_LOG_WITHOUT_SETTINGS_PARSERS) && !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
diff --git a/contrib/restricted/boost/libs/log/src/setup/default_filter_factory.hpp b/contrib/restricted/boost/libs/log/src/setup/default_filter_factory.hpp
deleted file mode 100644
index 455eb42434..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/default_filter_factory.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file default_filter_factory.hpp
- * \author Andrey Semashev
- * \date 29.05.2010
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_DEFAULT_FILTER_FACTORY_HPP_INCLUDED_
-#define BOOST_DEFAULT_FILTER_FACTORY_HPP_INCLUDED_
-
-#include <boost/log/detail/setup_config.hpp>
-#include <cstddef>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/utility/setup/filter_parser.hpp>
-#include <boost/log/utility/functional/save_result.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Relation predicate wrapper
-template< typename ValueT, typename PredicateT >
-struct predicate_wrapper
-{
- typedef typename PredicateT::result_type result_type;
-
- explicit predicate_wrapper(attribute_name const& name, PredicateT const& pred) : m_name(name), m_visitor(pred)
- {
- }
-
- template< typename T >
- result_type operator() (T const& arg) const
- {
- bool res = false;
- boost::log::visit< ValueT >(m_name, arg, save_result_wrapper< PredicateT const&, bool >(m_visitor, res));
- return res;
- }
-
-private:
- attribute_name m_name;
- const PredicateT m_visitor;
-};
-
-//! The default filter factory that supports creating filters for the standard types (see utility/type_dispatch/standard_types.hpp)
-template< typename CharT >
-class default_filter_factory :
- public filter_factory< CharT >
-{
-private:
- //! Base type
- typedef filter_factory< CharT > base_type;
- //! Self type
- typedef default_filter_factory< CharT > this_type;
-
-public:
- // Type imports
- typedef typename base_type::char_type char_type;
- typedef typename base_type::string_type string_type;
-
- //! The callback for equality relation filter
- virtual filter on_equality_relation(attribute_name const& name, string_type const& arg);
- //! The callback for inequality relation filter
- virtual filter on_inequality_relation(attribute_name const& name, string_type const& arg);
- //! The callback for less relation filter
- virtual filter on_less_relation(attribute_name const& name, string_type const& arg);
- //! The callback for greater relation filter
- virtual filter on_greater_relation(attribute_name const& name, string_type const& arg);
- //! The callback for less or equal relation filter
- virtual filter on_less_or_equal_relation(attribute_name const& name, string_type const& arg);
- //! The callback for greater or equal relation filter
- virtual filter on_greater_or_equal_relation(attribute_name const& name, string_type const& arg);
-
- //! The callback for custom relation filter
- virtual filter on_custom_relation(attribute_name const& name, string_type const& rel, string_type const& arg);
-
-private:
- //! The function parses the argument value for a binary relation and constructs the corresponding filter
- template< typename RelationT >
- static filter parse_argument(attribute_name const& name, string_type const& arg);
-};
-
-//! The function parses the "matches" relation
-template< typename CharT >
-filter parse_matches_relation(attribute_name const& name, std::basic_string< CharT > const& operand);
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_DEFAULT_FILTER_FACTORY_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/libs/log/src/setup/default_formatter_factory.cpp b/contrib/restricted/boost/libs/log/src/setup/default_formatter_factory.cpp
deleted file mode 100644
index 1f4cda1484..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/default_formatter_factory.cpp
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file default_formatter_factory.cpp
- * \author Andrey Semashev
- * \date 14.07.2013
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#if !defined(BOOST_LOG_WITHOUT_SETTINGS_PARSERS) && !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
-
-#include <boost/log/detail/setup_config.hpp>
-#include <cstddef>
-#include <ctime>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/vector/vector40.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/date_time/special_defs.hpp>
-#include <boost/date_time/gregorian/gregorian_types.hpp>
-#include <boost/date_time/local_time/local_time_types.hpp>
-#include <boost/date_time/posix_time/posix_time_types.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/attributes/value_visitation.hpp>
-#include <boost/log/utility/type_dispatch/standard_types.hpp>
-#include <boost/log/utility/type_dispatch/date_time_types.hpp>
-#include <boost/log/utility/string_literal.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/detail/code_conversion.hpp>
-#include <boost/log/detail/snprintf.hpp>
-#include <boost/log/detail/process_id.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/thread_id.hpp>
-#endif
-#include <boost/log/attributes/named_scope.hpp>
-#include "default_formatter_factory.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-#if !defined(BOOST_LOG_NO_THREADS)
-#define BOOST_LOG_AUX_THREAD_ID_TYPE() (boost::log::aux::thread::id)
-#else
-#define BOOST_LOG_AUX_THREAD_ID_TYPE()
-#endif
-
-#define BOOST_LOG_AUX_LOG_ATTRIBUTE_VALUE_TYPES()\
- (boost::log::attributes::named_scope_list)(boost::log::aux::process::id)BOOST_LOG_AUX_THREAD_ID_TYPE()
-
-// The list of the attribute value types supported by the default formatter. Note that we have to exclude std::time_t
-// as it is an integral type, as well as double from the native time duration types - these are part of arithmetic types already.
-#define BOOST_LOG_AUX_LOG_DEFAULT_VALUE_TYPES()\
- BOOST_LOG_DEFAULT_ATTRIBUTE_VALUE_TYPES()\
- (std::tm)\
- BOOST_LOG_BOOST_DATE_TYPES()\
- BOOST_LOG_BOOST_TIME_DURATION_TYPES()\
- BOOST_LOG_BOOST_TIME_PERIOD_TYPES()\
- BOOST_LOG_AUX_LOG_ATTRIBUTE_VALUE_TYPES()
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! The default formatter generated by the default formatter factory
-template< typename CharT >
-class default_formatter
-{
-public:
- typedef void result_type;
-
-private:
- //! Attribute value visitor
- struct visitor
- {
- typedef void result_type;
-
- explicit visitor(basic_formatting_ostream< CharT >& strm) : m_strm(strm)
- {
- }
-
- template< typename T >
- void operator() (T const& value) const
- {
- m_strm << value;
- }
-
- void operator() (std::tm const& value) const
- {
- char buf[32];
- std::size_t len = std::strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", &value);
- m_strm.write(buf, len);
- }
-
- void operator() (boost::posix_time::ptime const& value) const
- {
- if (!value.is_special())
- {
- std::tm t = boost::posix_time::to_tm(value);
- char buf[32];
- std::size_t len = std::strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", &t);
- std::size_t size = sizeof(buf) - len;
- int res = boost::log::aux::snprintf(buf + len, size, ".%.6u", static_cast< unsigned int >(value.time_of_day().total_microseconds() % 1000000));
- if (res < 0)
- buf[len] = '\0';
- else if (static_cast< std::size_t >(res) >= size)
- len += size - 1;
- else
- len += res;
-
- m_strm.write(buf, len);
- }
- else
- {
- format_special_date_time(value);
- }
- }
-
- void operator() (boost::local_time::local_date_time const& value) const
- {
- if (!value.is_special())
- {
- this->operator()(value.local_time());
- m_strm << ' ' << value.zone_as_posix_string();
- }
- else
- {
- format_special_date_time(value);
- }
- }
-
- void operator() (boost::gregorian::date const& value) const
- {
- if (!value.is_special())
- {
- std::tm t = boost::gregorian::to_tm(value);
- char buf[32];
- std::size_t len = std::strftime(buf, sizeof(buf), "%Y-%m-%d", &t);
- m_strm.write(buf, len);
- }
- else
- {
- format_special_date_time(value.as_special());
- }
- }
-
- void operator() (boost::posix_time::time_duration const& value) const
- {
- if (!value.is_special())
- {
- boost::posix_time::time_duration val = value;
- if (val.is_negative())
- {
- m_strm << '-';
- val = -val;
- }
- unsigned long long total_useconds = value.total_microseconds();
- unsigned long long hours = total_useconds / (3600ull * 1000000ull);
- unsigned int minutes = static_cast< unsigned int >(total_useconds / (60ull * 1000000ull) % 60ull);
- unsigned int seconds = static_cast< unsigned int >(total_useconds / 1000000ull % 60ull);
- unsigned int useconds = static_cast< unsigned int >(total_useconds % 1000000ull);
- char buf[64];
- int len = boost::log::aux::snprintf(buf, sizeof(buf), "%.2llu:%.2u:%.2u.%.6u", hours, minutes, seconds, useconds);
- if (len > 0)
- {
- unsigned int size = static_cast< unsigned int >(len) >= sizeof(buf) ? static_cast< unsigned int >(sizeof(buf)) : static_cast< unsigned int >(len);
- m_strm.write(buf, size);
- }
- }
- else
- {
- format_special_date_time(value);
- }
- }
-
- void operator() (boost::gregorian::date_duration const& value) const
- {
- if (!value.is_special())
- {
- m_strm << value.get_rep().as_number();
- }
- else
- {
- format_special_date_time(value.get_rep().as_special());
- }
- }
-
- template< typename PointRepT, typename DurationRepT >
- void operator() (boost::date_time::period< PointRepT, DurationRepT > const& value) const
- {
- m_strm << '[';
- this->operator()(value.begin());
- m_strm << '/';
- this->operator()(value.last());
- m_strm << ']';
- }
-
- private:
- template< typename T >
- void format_special_date_time(T const& value) const
- {
- if (value.is_not_a_date_time())
- m_strm << "not-a-date-time";
- else if (value.is_pos_infinity())
- m_strm << "+infinity";
- else if (value.is_neg_infinity())
- m_strm << "-infinity";
- }
-
- void format_special_date_time(boost::date_time::special_values value) const
- {
- switch (value)
- {
- case boost::date_time::not_a_date_time:
- m_strm << "not-a-date-time";
- break;
- case boost::date_time::pos_infin:
- m_strm << "+infinity";
- break;
- case boost::date_time::neg_infin:
- m_strm << "-infinity";
- break;
- default:
- break;
- }
- }
-
- private:
- basic_formatting_ostream< CharT >& m_strm;
- };
-
-public:
- explicit default_formatter(attribute_name name) : m_attribute_name(name)
- {
- }
-
- result_type operator() (record_view const& rec, basic_formatting_ostream< CharT >& strm) const
- {
- typedef BOOST_PP_CAT(mpl::vector, BOOST_PP_SEQ_SIZE(BOOST_LOG_AUX_LOG_DEFAULT_VALUE_TYPES()))<
- BOOST_PP_SEQ_ENUM(BOOST_LOG_AUX_LOG_DEFAULT_VALUE_TYPES())
- > value_types;
-
- boost::log::visit< value_types >(m_attribute_name, rec, visitor(strm));
- }
-
-private:
- const attribute_name m_attribute_name;
-};
-
-} // namespace
-
-//! The callback for equality relation filter
-template< typename CharT >
-typename default_formatter_factory< CharT >::formatter_type
-default_formatter_factory< CharT >::create_formatter(attribute_name const& name, args_map const& args)
-{
- // No user-defined factory, shall use the most generic formatter we can ever imagine at this point
- return formatter_type(default_formatter< CharT >(name));
-}
-
-// Explicitly instantiate factory implementation
-#ifdef BOOST_LOG_USE_CHAR
-template class default_formatter_factory< char >;
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-template class default_formatter_factory< wchar_t >;
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // !defined(BOOST_LOG_WITHOUT_SETTINGS_PARSERS) && !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
diff --git a/contrib/restricted/boost/libs/log/src/setup/default_formatter_factory.hpp b/contrib/restricted/boost/libs/log/src/setup/default_formatter_factory.hpp
deleted file mode 100644
index 6359b3be8b..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/default_formatter_factory.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file default_formatter_factory.hpp
- * \author Andrey Semashev
- * \date 14.07.2013
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_DEFAULT_FORMATTER_FACTORY_HPP_INCLUDED_
-#define BOOST_DEFAULT_FORMATTER_FACTORY_HPP_INCLUDED_
-
-#include <boost/log/detail/setup_config.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/utility/setup/formatter_parser.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! The default filter factory that supports creating filters for the standard types (see utility/type_dispatch/standard_types.hpp)
-template< typename CharT >
-class default_formatter_factory :
- public formatter_factory< CharT >
-{
- //! Base type
- typedef formatter_factory< CharT > base_type;
- //! Self type
- typedef default_formatter_factory< CharT > this_type;
-
-public:
- // Type imports
- typedef typename base_type::char_type char_type;
- typedef typename base_type::string_type string_type;
- typedef typename base_type::formatter_type formatter_type;
- typedef typename base_type::args_map args_map;
-
- //! The function creates a formatter for the specified attribute.
- virtual formatter_type create_formatter(attribute_name const& name, args_map const& args);
-};
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_DEFAULT_FORMATTER_FACTORY_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/libs/log/src/setup/filter_parser.cpp b/contrib/restricted/boost/libs/log/src/setup/filter_parser.cpp
deleted file mode 100644
index cf41bca023..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/filter_parser.cpp
+++ /dev/null
@@ -1,531 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file filter_parser.cpp
- * \author Andrey Semashev
- * \date 31.03.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_WITHOUT_SETTINGS_PARSERS
-
-#include <boost/log/detail/setup_config.hpp>
-#include <cstddef>
-#include <map>
-#include <stack>
-#include <string>
-#include <sstream>
-#include <stdexcept>
-#include <utility>
-#include <boost/assert.hpp>
-#include <boost/none.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/optional/optional.hpp>
-#include <boost/utility/in_place_factory.hpp>
-#include <boost/phoenix/core.hpp>
-#include <boost/phoenix/bind/bind_function_object.hpp>
-#include <boost/phoenix/operator/logical.hpp>
-#include <boost/log/detail/singleton.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/utility/setup/filter_parser.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/locks.hpp>
-#include <boost/log/detail/light_rw_mutex.hpp>
-#endif // !defined(BOOST_LOG_NO_THREADS)
-#include "parser_utils.hpp"
-#if !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
-#include "default_filter_factory.hpp"
-#endif
-#include "spirit_encoding.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! Filter factories repository
-template< typename CharT >
-struct filters_repository :
- public log::aux::lazy_singleton< filters_repository< CharT > >
-{
- typedef CharT char_type;
- typedef log::aux::lazy_singleton< filters_repository< char_type > > base_type;
- typedef std::basic_string< char_type > string_type;
- typedef filter_factory< char_type > filter_factory_type;
-
- //! Attribute name ordering predicate
- struct attribute_name_order
- {
- typedef bool result_type;
- result_type operator() (attribute_name const& left, attribute_name const& right) const
- {
- return left.id() < right.id();
- }
- };
-
- typedef std::map< attribute_name, shared_ptr< filter_factory_type >, attribute_name_order > factories_map;
-
-#if !defined(BOOST_LOG_BROKEN_FRIEND_TEMPLATE_SPECIALIZATIONS)
- friend class log::aux::lazy_singleton< filters_repository< char_type > >;
-#else
- friend class base_type;
-#endif
-
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Synchronization mutex
- mutable log::aux::light_rw_mutex m_Mutex;
-#endif
- //! The map of filter factories
- factories_map m_Map;
-#if !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
- //! Default factory
- mutable aux::default_filter_factory< char_type > m_DefaultFactory;
-#endif
-
- //! The method returns the filter factory for the specified attribute name
- filter_factory_type& get_factory(attribute_name const& name) const
- {
- typename factories_map::const_iterator it = m_Map.find(name);
- if (it != m_Map.end())
- {
- return *it->second;
- }
- else
- {
-#if !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
- return m_DefaultFactory;
-#else
- BOOST_LOG_THROW_DESCR(setup_error, "No filter factory registered for attribute " + name.string());
-#endif
- }
- }
-
-private:
- filters_repository()
- {
- }
-};
-
-//! Filter parser
-template< typename CharT >
-class filter_parser
-{
-private:
- typedef CharT char_type;
- typedef const char_type* iterator_type;
- typedef typename log::aux::encoding< char_type >::type encoding;
- typedef log::aux::encoding_specific< encoding > encoding_specific;
- typedef std::basic_string< char_type > string_type;
- typedef log::aux::char_constants< char_type > constants;
- typedef filter_factory< char_type > filter_factory_type;
-
- typedef filter (filter_factory_type::*comparison_relation_handler_t)(attribute_name const&, string_type const&);
-
-private:
- //! Parsed attribute name
- mutable attribute_name m_AttributeName;
- //! The second operand of a relation
- mutable optional< string_type > m_Operand;
- //! Comparison relation handler
- comparison_relation_handler_t m_ComparisonRelation;
- //! The custom relation string
- mutable string_type m_CustomRelation;
-
- //! Filter subexpressions as they are parsed
- mutable std::stack< filter > m_Subexpressions;
-
-public:
- //! Constructor
- filter_parser() :
- m_ComparisonRelation(NULL)
- {
- }
-
- //! The method returns the constructed filter
- filter get_filter()
- {
- if (m_Subexpressions.empty())
- return filter();
- return boost::move(m_Subexpressions.top());
- }
-
- //! The pethod parses filter from the string
- void parse(iterator_type& begin, iterator_type end, unsigned int depth = 0)
- {
- typedef void (filter_parser::*logical_op_t)();
- logical_op_t logical_op = NULL;
- iterator_type p = constants::trim_spaces_left(begin, end);
- while (p != end)
- {
- // Parse subexpression
- parse_subexpression(p, end, depth);
- if (logical_op)
- {
- // This was the right-hand subexpression. Compose the two top subexpressions into a single filter.
- (this->*logical_op)();
- logical_op = NULL;
- }
-
- p = constants::trim_spaces_left(p, end);
- if (p != end)
- {
- char_type c = *p;
- iterator_type next = p + 1;
- if (c == constants::char_paren_bracket_right)
- {
- // The subexpression has ended
- if (depth == 0)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid filter definition: unmatched closing parenthesis");
-
- p = next;
- --depth;
- break;
- }
- else if (c == constants::char_and || scan_keyword(p, end, next, constants::and_keyword()))
- {
- logical_op = &filter_parser::on_and;
- }
- else if (c == constants::char_or || scan_keyword(p, end, next, constants::or_keyword()))
- {
- logical_op = &filter_parser::on_or;
- }
- else
- {
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid filter definition: unexpected character encountered");
- }
-
- p = constants::trim_spaces_left(next, end);
- }
- else
- break;
- }
-
- if (logical_op)
- {
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid filter definition: logical operation without the right-hand subexpression");
- }
-
- if (p == end && depth > 0)
- {
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid filter definition: unterminated parenthesis");
- }
-
- begin = p;
- }
-
-private:
- //! The method parses a single subexpression
- void parse_subexpression(iterator_type& begin, iterator_type end, unsigned int depth)
- {
- bool negated = false, negation_present = false, done = false;
- iterator_type p = begin;
-
- while (p != end)
- {
- char_type c = *p;
- iterator_type next = p + 1;
- if (c == constants::char_percent)
- {
- // We found an attribute placeholder
- iterator_type start = constants::trim_spaces_left(next, end);
- p = constants::scan_attr_placeholder(start, end);
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid attribute placeholder in the filter string");
-
- on_attribute_name(start, p);
-
- p = constants::trim_spaces_left(p, end);
- if (p == end || *p != constants::char_percent)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid attribute placeholder in the filter string");
-
- // Skip the closing char_percent
- p = constants::trim_spaces_left(++p, end);
-
- // If the filter has negation operator, do not expect a relation (i.e. "!%attr% > 1" is not valid because "!%attr%" is interpreted as an attribute presence test)
- if (!negation_present)
- p = parse_relation(p, end);
- else
- on_relation_complete();
- }
- else if (c == constants::char_exclamation || scan_keyword(p, end, next, constants::not_keyword()))
- {
- // We found negation operation. Parse the subexpression to be negated.
- negated ^= true;
- negation_present = true;
- p = constants::trim_spaces_left(next, end);
- continue;
- }
- else if (c == constants::char_paren_bracket_left)
- {
- // We found a nested subexpression
- parse(next, end, depth + 1);
- p = next;
- }
- else
- {
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid filter definition: unexpected character");
- }
-
- if (negated)
- on_negation();
-
- done = true;
-
- break;
- }
-
- if (negation_present && !done)
- {
- // This would happen if a filter consists of a single '!'
- BOOST_LOG_THROW_DESCR(parse_error, "Filter parsing error: negation operator applied to nothingness");
- }
-
- begin = p;
- }
-
- //! Parses filtering relation
- iterator_type parse_relation(iterator_type begin, iterator_type end)
- {
- iterator_type p = begin;
- if (p != end)
- {
- iterator_type next = p;
- if (scan_keyword(p, end, next, constants::equal_keyword()))
- m_ComparisonRelation = &filter_factory_type::on_equality_relation;
- else if (scan_keyword(p, end, next, constants::not_equal_keyword()))
- m_ComparisonRelation = &filter_factory_type::on_inequality_relation;
- else if (scan_keyword(p, end, next, constants::greater_keyword()))
- m_ComparisonRelation = &filter_factory_type::on_greater_relation;
- else if (scan_keyword(p, end, next, constants::less_keyword()))
- m_ComparisonRelation = &filter_factory_type::on_less_relation;
- else if (scan_keyword(p, end, next, constants::greater_or_equal_keyword()))
- m_ComparisonRelation = &filter_factory_type::on_greater_or_equal_relation;
- else if (scan_keyword(p, end, next, constants::less_or_equal_keyword()))
- m_ComparisonRelation = &filter_factory_type::on_less_or_equal_relation;
- else
- {
- // Check for custom relation
- while (next != end && (encoding::isalnum(*next) || *next == constants::char_underline))
- ++next;
- if (p == next)
- goto DoneL;
- m_CustomRelation.assign(p, next);
- }
-
- // We have parsed a relation operator, there must be an operand
- next = constants::trim_spaces_left(next, end);
- string_type operand;
- p = constants::parse_operand(next, end, operand);
- if (next == p)
- BOOST_LOG_THROW_DESCR(parse_error, "Missing operand for a relation in the filter string");
-
- m_Operand = boost::in_place(operand);
- }
-
- DoneL:
- // The relation can be as simple as a sole attribute placeholder (which means that only attribute presence has to be checked).
- // So regardless how we get here, the relation is parsed completely.
- on_relation_complete();
-
- return p;
- }
-
- //! Checks if the string contains a keyword
- static bool scan_keyword(iterator_type begin, iterator_type end, iterator_type& next, iterator_type keyword)
- {
- for (iterator_type p = begin; p != end; ++p, ++keyword)
- {
- char_type c1 = *p, c2 = *keyword;
- if (c2 == 0)
- {
- if (encoding::isspace(c1))
- {
- next = p;
- return true;
- }
- break;
- }
- if (c1 != c2)
- break;
- }
-
- return false;
- }
-
- //! The attribute name handler
- void on_attribute_name(iterator_type begin, iterator_type end)
- {
- if (begin == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Empty attribute name encountered");
- m_AttributeName = attribute_name(log::aux::to_narrow(string_type(begin, end)));
- }
-
- //! The comparison relation handler
- void on_relation_complete()
- {
- if (!!m_AttributeName)
- {
- filters_repository< char_type > const& repo = filters_repository< char_type >::get();
- filter_factory_type& factory = repo.get_factory(m_AttributeName);
-
- if (!!m_Operand)
- {
- if (!!m_ComparisonRelation)
- {
- m_Subexpressions.push((factory.*m_ComparisonRelation)(m_AttributeName, m_Operand.get()));
- m_ComparisonRelation = NULL;
- }
- else if (!m_CustomRelation.empty())
- {
- m_Subexpressions.push(factory.on_custom_relation(m_AttributeName, m_CustomRelation, m_Operand.get()));
- m_CustomRelation.clear();
- }
- else
- {
- // This should never happen
- BOOST_ASSERT_MSG(false, "Filter parser internal error: the attribute name or subexpression operation is not set while trying to construct a relation");
- BOOST_LOG_THROW_DESCR(parse_error, "Filter parser internal error: the attribute name or subexpression operation is not set while trying to construct a subexpression");
- }
-
- m_Operand = none;
- }
- else
- {
- // This branch is taken if the relation is a single attribute name, which is recognized as the attribute presence check
- BOOST_ASSERT_MSG(!m_ComparisonRelation && m_CustomRelation.empty(), "Filter parser internal error: the relation operation is set while operand is not");
- m_Subexpressions.push(factory.on_exists_test(m_AttributeName));
- }
-
- m_AttributeName = attribute_name();
- }
- else
- {
- // This should never happen
- BOOST_ASSERT_MSG(false, "Filter parser internal error: the attribute name is not set while trying to construct a relation");
- BOOST_LOG_THROW_DESCR(parse_error, "Filter parser internal error: the attribute name is not set while trying to construct a relation");
- }
- }
-
- //! The negation operation handler
- void on_negation()
- {
- if (!m_Subexpressions.empty())
- {
- m_Subexpressions.top() = !phoenix::bind(m_Subexpressions.top(), phoenix::placeholders::_1);
- }
- else
- {
- // This would happen if a filter consists of "!()"
- BOOST_LOG_THROW_DESCR(parse_error, "Filter parsing error: negation operator applied to an empty subexpression");
- }
- }
-
- //! The logical AND operation handler
- void on_and()
- {
- if (!m_Subexpressions.empty())
- {
- filter right = boost::move(m_Subexpressions.top());
- m_Subexpressions.pop();
- if (!m_Subexpressions.empty())
- {
- filter const& left = m_Subexpressions.top();
- m_Subexpressions.top() = phoenix::bind(left, phoenix::placeholders::_1) && phoenix::bind(right, phoenix::placeholders::_1);
- return;
- }
- }
-
- // This should never happen
- BOOST_LOG_THROW_DESCR(parse_error, "Filter parser internal error: the subexpression is not set while trying to construct a filter");
- }
-
- //! The logical OR operation handler
- void on_or()
- {
- if (!m_Subexpressions.empty())
- {
- filter right = boost::move(m_Subexpressions.top());
- m_Subexpressions.pop();
- if (!m_Subexpressions.empty())
- {
- filter const& left = m_Subexpressions.top();
- m_Subexpressions.top() = phoenix::bind(left, phoenix::placeholders::_1) || phoenix::bind(right, phoenix::placeholders::_1);
- return;
- }
- }
-
- // This should never happen
- BOOST_LOG_THROW_DESCR(parse_error, "Filter parser internal error: the subexpression is not set while trying to construct a filter");
- }
-
- // Assignment and copying are prohibited
- BOOST_DELETED_FUNCTION(filter_parser(filter_parser const&))
- BOOST_DELETED_FUNCTION(filter_parser& operator= (filter_parser const&))
-};
-
-} // namespace
-
-//! The function registers a filter factory object for the specified attribute name
-template< typename CharT >
-BOOST_LOG_SETUP_API void register_filter_factory(attribute_name const& name, shared_ptr< filter_factory< CharT > > const& factory)
-{
- BOOST_ASSERT(!!name);
- BOOST_ASSERT(!!factory);
-
- filters_repository< CharT >& repo = filters_repository< CharT >::get();
-
- BOOST_LOG_EXPR_IF_MT(log::aux::exclusive_lock_guard< log::aux::light_rw_mutex > lock(repo.m_Mutex);)
- repo.m_Map[name] = factory;
-}
-
-//! The function parses a filter from the string
-template< typename CharT >
-BOOST_LOG_SETUP_API filter parse_filter(const CharT* begin, const CharT* end)
-{
- typedef CharT char_type;
-
- filter_parser< char_type > parser;
- const char_type* p = begin;
-
- BOOST_LOG_EXPR_IF_MT(filters_repository< CharT >& repo = filters_repository< CharT >::get();)
- BOOST_LOG_EXPR_IF_MT(log::aux::shared_lock_guard< log::aux::light_rw_mutex > lock(repo.m_Mutex);)
-
- parser.parse(p, end);
-
- return parser.get_filter();
-}
-
-#ifdef BOOST_LOG_USE_CHAR
-
-template BOOST_LOG_SETUP_API
-void register_filter_factory< char >(attribute_name const& name, shared_ptr< filter_factory< char > > const& factory);
-template BOOST_LOG_SETUP_API
-filter parse_filter< char >(const char* begin, const char* end);
-
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-template BOOST_LOG_SETUP_API
-void register_filter_factory< wchar_t >(attribute_name const& name, shared_ptr< filter_factory< wchar_t > > const& factory);
-template BOOST_LOG_SETUP_API
-filter parse_filter< wchar_t >(const wchar_t* begin, const wchar_t* end);
-
-#endif // BOOST_LOG_USE_WCHAR_T
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_WITHOUT_SETTINGS_PARSERS
diff --git a/contrib/restricted/boost/libs/log/src/setup/formatter_parser.cpp b/contrib/restricted/boost/libs/log/src/setup/formatter_parser.cpp
deleted file mode 100644
index 09ab8ee618..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/formatter_parser.cpp
+++ /dev/null
@@ -1,486 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file formatter_parser.cpp
- * \author Andrey Semashev
- * \date 07.04.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_WITHOUT_SETTINGS_PARSERS
-
-#include <boost/log/detail/setup_config.hpp>
-#include <map>
-#include <string>
-#include <sstream>
-#include <stdexcept>
-#include <boost/assert.hpp>
-#include <boost/bind.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/optional/optional.hpp>
-#include <boost/utility/in_place_factory.hpp>
-#include <boost/log/expressions/formatter.hpp>
-#include <boost/log/attributes/attribute_name.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/detail/singleton.hpp>
-#include <boost/log/detail/code_conversion.hpp>
-#include <boost/log/detail/default_attribute_names.hpp>
-#include <boost/log/utility/formatting_ostream.hpp>
-#include <boost/log/utility/functional/nop.hpp>
-#include <boost/log/utility/setup/formatter_parser.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/locks.hpp>
-#include <boost/log/detail/light_rw_mutex.hpp>
-#endif
-#include "parser_utils.hpp"
-#include "spirit_encoding.hpp"
-#if !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
-#include "default_formatter_factory.hpp"
-#endif
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! The structure contains formatter factories repository
-template< typename CharT >
-struct formatters_repository :
- public log::aux::lazy_singleton< formatters_repository< CharT > >
-{
- //! Base class type
- typedef log::aux::lazy_singleton< formatters_repository< CharT > > base_type;
-
-#if !defined(BOOST_LOG_BROKEN_FRIEND_TEMPLATE_SPECIALIZATIONS)
- friend class log::aux::lazy_singleton< formatters_repository< CharT > >;
-#else
- friend class base_type;
-#endif
-
- typedef CharT char_type;
- typedef formatter_factory< char_type > formatter_factory_type;
-
- //! Attribute name ordering predicate
- struct attribute_name_order
- {
- typedef bool result_type;
- result_type operator() (attribute_name const& left, attribute_name const& right) const
- {
- return left.id() < right.id();
- }
- };
-
- //! Map of formatter factories
- typedef std::map< attribute_name, shared_ptr< formatter_factory_type >, attribute_name_order > factories_map;
-
-
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Synchronization mutex
- mutable log::aux::light_rw_mutex m_Mutex;
-#endif
- //! The map of formatter factories
- factories_map m_Map;
-#if !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
- //! Default factory
- mutable aux::default_formatter_factory< char_type > m_DefaultFactory;
-#endif
-
- //! The method returns the filter factory for the specified attribute name
- formatter_factory_type& get_factory(attribute_name const& name) const
- {
- typename factories_map::const_iterator it = m_Map.find(name);
- if (it != m_Map.end())
- {
- return *it->second;
- }
- else
- {
-#if !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
- return m_DefaultFactory;
-#else
- BOOST_LOG_THROW_DESCR(setup_error, "No formatter factory registered for attribute " + name.string());
-#endif
- }
- }
-
-private:
- formatters_repository()
- {
- }
-};
-
-//! Function object for formatter chaining
-template< typename CharT, typename SecondT >
-struct chained_formatter
-{
- typedef void result_type;
- typedef basic_formatter< CharT > formatter_type;
- typedef typename formatter_type::stream_type stream_type;
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- explicit chained_formatter(formatter_type&& first, SecondT&& second) :
-#else
- template< typename T >
- explicit chained_formatter(BOOST_RV_REF(formatter_type) first, T const& second) :
-#endif
- m_first(boost::move(first)), m_second(boost::move(second))
- {
- }
-
- result_type operator() (record_view const& rec, stream_type& strm) const
- {
- m_first(rec, strm);
- m_second(rec, strm);
- }
-
-private:
- formatter_type m_first;
- SecondT m_second;
-};
-
-//! String literal formatter
-template< typename CharT >
-struct literal_formatter
-{
- typedef void result_type;
- typedef CharT char_type;
- typedef std::basic_string< char_type > string_type;
- typedef basic_formatting_ostream< char_type > stream_type;
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- explicit literal_formatter(string_type&& str) : m_str(boost::move(str))
-#else
- explicit literal_formatter(string_type const& str) : m_str(str)
-#endif
- {
- }
-
- result_type operator() (record_view const& rec, stream_type& strm) const
- {
- strm << m_str;
- }
-
-private:
- const string_type m_str;
-};
-
-//! Formatter parsing grammar
-template< typename CharT >
-class formatter_parser
-{
-private:
- typedef CharT char_type;
- typedef const char_type* iterator_type;
- typedef std::basic_string< char_type > string_type;
- typedef basic_formatter< char_type > formatter_type;
- typedef boost::log::aux::char_constants< char_type > constants;
- typedef typename log::aux::encoding< char_type >::type encoding;
- typedef log::aux::encoding_specific< encoding > encoding_specific;
- typedef formatter_factory< char_type > formatter_factory_type;
- typedef typename formatter_factory_type::args_map args_map;
-
-private:
- //! The formatter being constructed
- optional< formatter_type > m_Formatter;
-
- //! Attribute name
- attribute_name m_AttrName;
- //! Formatter factory arguments
- args_map m_FactoryArgs;
-
- //! Formatter argument name
- mutable string_type m_ArgName;
- //! Argument value
- mutable string_type m_ArgValue;
-
-public:
- //! Constructor
- formatter_parser()
- {
- }
-
- //! Parses formatter
- void parse(iterator_type& begin, iterator_type end)
- {
- iterator_type p = begin;
-
- while (p != end)
- {
- // Find the end of a string literal
- iterator_type start = p;
- for (; p != end; ++p)
- {
- char_type c = *p;
- if (c == constants::char_backslash)
- {
- // We found an escaped character
- ++p;
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid escape sequence in the formatter string");
- }
- else if (c == constants::char_percent)
- {
- // We found an attribute
- break;
- }
- }
-
- if (start != p)
- push_string(start, p);
-
- if (p != end)
- {
- // We found an attribute placeholder
- iterator_type start = constants::trim_spaces_left(++p, end);
- p = constants::scan_attr_placeholder(start, end);
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid attribute placeholder in the formatter string");
-
- on_attribute_name(start, p);
-
- p = constants::trim_spaces_left(p, end);
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid attribute placeholder in the formatter string");
-
- if (*p == constants::char_paren_bracket_left)
- {
- // We found formatter arguments
- p = parse_args(constants::trim_spaces_left(++p, end), end);
- p = constants::trim_spaces_left(p, end);
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid attribute placeholder in the formatter string");
- }
-
- if (*p != constants::char_percent)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid attribute placeholder in the formatter string");
-
- ++p;
-
- push_attr();
- }
- }
-
- begin = p;
- }
-
- //! Returns the parsed formatter
- formatter_type get_formatter()
- {
- if (!m_Formatter)
- {
- // This may happen if parser input is an empty string
- return formatter_type(nop());
- }
-
- return boost::move(m_Formatter.get());
- }
-
-private:
- //! The method parses formatter arguments
- iterator_type parse_args(iterator_type begin, iterator_type end)
- {
- iterator_type p = begin;
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid attribute placeholder arguments description in the formatter string");
- if (*p == constants::char_paren_bracket_right)
- return ++p;
-
- while (true)
- {
- char_type c = *p;
-
- // Read argument name
- iterator_type start = p;
- if (!encoding::isalpha(*p))
- BOOST_LOG_THROW_DESCR(parse_error, "Placeholder argument name is invalid");
- for (++p; p != end; ++p)
- {
- c = *p;
- if (encoding::isspace(c) || c == constants::char_equal)
- break;
- if (!encoding::isalnum(c) && c != constants::char_underline)
- BOOST_LOG_THROW_DESCR(parse_error, "Placeholder argument name is invalid");
- }
-
- if (start == p)
- BOOST_LOG_THROW_DESCR(parse_error, "Placeholder argument name is empty");
-
- on_arg_name(start, p);
-
- p = constants::trim_spaces_left(p, end);
- if (p == end || *p != constants::char_equal)
- BOOST_LOG_THROW_DESCR(parse_error, "Placeholder argument description is not valid");
-
- // Read argument value
- start = p = constants::trim_spaces_left(++p, end);
- p = constants::parse_operand(p, end, m_ArgValue);
- if (p == start)
- BOOST_LOG_THROW_DESCR(parse_error, "Placeholder argument value is not specified");
-
- push_arg();
-
- p = constants::trim_spaces_left(p, end);
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid attribute placeholder arguments description in the formatter string");
-
- c = *p;
- if (c == constants::char_paren_bracket_right)
- {
- break;
- }
- else if (c == constants::char_comma)
- {
- p = constants::trim_spaces_left(++p, end);
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Placeholder argument name is invalid");
- }
- else
- {
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid attribute placeholder arguments description in the formatter string");
- }
- }
-
- return ++p;
- }
-
- //! The method is called when an argument name is discovered
- void on_arg_name(iterator_type begin, iterator_type end)
- {
- m_ArgName.assign(begin, end);
- }
-
- //! The method is called when an argument is filled
- void push_arg()
- {
- m_FactoryArgs[m_ArgName] = m_ArgValue;
- m_ArgName.clear();
- m_ArgValue.clear();
- }
-
- //! The method is called when an attribute name is discovered
- void on_attribute_name(iterator_type begin, iterator_type end)
- {
- if (begin == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Empty attribute name encountered");
-
- // For compatibility with Boost.Log v1 we recognize %_% as the message attribute name
- const std::size_t len = end - begin;
- if (std::char_traits< char_type >::length(constants::message_text_keyword()) == len &&
- std::char_traits< char_type >::compare(constants::message_text_keyword(), begin, len) == 0)
- {
- m_AttrName = log::aux::default_attribute_names::message();
- }
- else
- {
- m_AttrName = attribute_name(log::aux::to_narrow(string_type(begin, end)));
- }
- }
- //! The method is called when an attribute is filled
- void push_attr()
- {
- BOOST_ASSERT_MSG(!!m_AttrName, "Attribute name is not set");
-
- if (m_AttrName == log::aux::default_attribute_names::message())
- {
- // We make a special treatment for the message text formatter
- append_formatter(expressions::aux::message_formatter());
- }
- else
- {
- // Use the factory to create the formatter
- formatters_repository< char_type > const& repo = formatters_repository< char_type >::get();
- formatter_factory_type& factory = repo.get_factory(m_AttrName);
- append_formatter(factory.create_formatter(m_AttrName, m_FactoryArgs));
- }
-
- // Eventually, clear all the auxiliary data
- m_AttrName = attribute_name();
- m_FactoryArgs.clear();
- }
-
- //! The method is called when a string literal is discovered
- void push_string(iterator_type begin, iterator_type end)
- {
- string_type s(begin, end);
- constants::translate_escape_sequences(s);
- append_formatter(literal_formatter< char_type >(boost::move(s)));
- }
-
- //! The method appends a formatter part to the final formatter
- template< typename FormatterT >
- void append_formatter(FormatterT fmt)
- {
- if (!!m_Formatter)
- m_Formatter = boost::in_place(chained_formatter< char_type, FormatterT >(boost::move(m_Formatter.get()), boost::move(fmt)));
- else
- m_Formatter = boost::in_place(boost::move(fmt));
- }
-
- // Assignment and copying are prohibited
- BOOST_DELETED_FUNCTION(formatter_parser(formatter_parser const&))
- BOOST_DELETED_FUNCTION(formatter_parser& operator= (formatter_parser const&))
-};
-
-} // namespace
-
-//! The function registers a user-defined formatter factory
-template< typename CharT >
-BOOST_LOG_SETUP_API void register_formatter_factory(attribute_name const& name, shared_ptr< formatter_factory< CharT > > const& factory)
-{
- BOOST_ASSERT(!!name);
- BOOST_ASSERT(!!factory);
-
- formatters_repository< CharT >& repo = formatters_repository< CharT >::get();
- BOOST_LOG_EXPR_IF_MT(log::aux::exclusive_lock_guard< log::aux::light_rw_mutex > lock(repo.m_Mutex);)
- repo.m_Map[name] = factory;
-}
-
-//! The function parses a formatter from the string
-template< typename CharT >
-BOOST_LOG_SETUP_API basic_formatter< CharT > parse_formatter(const CharT* begin, const CharT* end)
-{
- typedef CharT char_type;
-
- formatter_parser< char_type > parser;
- const char_type* p = begin;
-
- BOOST_LOG_EXPR_IF_MT(formatters_repository< CharT >& repo = formatters_repository< CharT >::get();)
- BOOST_LOG_EXPR_IF_MT(log::aux::shared_lock_guard< log::aux::light_rw_mutex > lock(repo.m_Mutex);)
-
- parser.parse(p, end);
-
- return parser.get_formatter();
-}
-
-#ifdef BOOST_LOG_USE_CHAR
-template BOOST_LOG_SETUP_API
-void register_formatter_factory< char >(
- attribute_name const& attr_name, shared_ptr< formatter_factory< char > > const& factory);
-template BOOST_LOG_SETUP_API
-basic_formatter< char > parse_formatter< char >(const char* begin, const char* end);
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-template BOOST_LOG_SETUP_API
-void register_formatter_factory< wchar_t >(
- attribute_name const& attr_name, shared_ptr< formatter_factory< wchar_t > > const& factory);
-template BOOST_LOG_SETUP_API
-basic_formatter< wchar_t > parse_formatter< wchar_t >(const wchar_t* begin, const wchar_t* end);
-#endif // BOOST_LOG_USE_WCHAR_T
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_WITHOUT_SETTINGS_PARSERS
diff --git a/contrib/restricted/boost/libs/log/src/setup/init_from_settings.cpp b/contrib/restricted/boost/libs/log/src/setup/init_from_settings.cpp
deleted file mode 100644
index 67d341a259..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/init_from_settings.cpp
+++ /dev/null
@@ -1,847 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file init_from_settings.cpp
- * \author Andrey Semashev
- * \date 11.10.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_WITHOUT_SETTINGS_PARSERS
-
-#if defined(__GNUC__) && !(defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)) \
- && (__GNUC__ * 100 + __GNUC_MINOR__) >= 407
-// This warning is caused by a compiler bug which is exposed when boost::optional is used: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47679
-// It has to be disabled here, before any code is included, since otherwise it doesn't help and the warning is still emitted.
-// '*((void*)& foo +2)' may be used uninitialized in this function
-#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
-#endif
-
-#include <boost/log/detail/setup_config.hpp>
-#include <cstddef>
-#include <ios>
-#include <map>
-#include <vector>
-#include <string>
-#include <utility>
-#include <iostream>
-#include <typeinfo>
-#include <stdexcept>
-#include <algorithm>
-#include <boost/type.hpp>
-#include <boost/bind.hpp>
-#include <boost/limits.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/core/null_deleter.hpp>
-#include <boost/optional/optional.hpp>
-#include <boost/filesystem/path.hpp>
-#include <boost/date_time/date_defs.hpp>
-#include <boost/property_tree/ptree.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_unsigned.hpp>
-#include <boost/spirit/home/qi/numeric/numeric_utils.hpp>
-#include <boost/log/detail/code_conversion.hpp>
-#include <boost/log/detail/singleton.hpp>
-#include <boost/log/detail/default_attribute_names.hpp>
-#include <boost/log/core.hpp>
-#include <boost/log/sinks.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/sinks/frontend_requirements.hpp>
-#include <boost/log/expressions/filter.hpp>
-#include <boost/log/expressions/formatter.hpp>
-#include <boost/log/utility/string_literal.hpp>
-#include <boost/log/utility/functional/nop.hpp>
-#include <boost/log/utility/setup/from_settings.hpp>
-#include <boost/log/utility/setup/filter_parser.hpp>
-#include <boost/log/utility/setup/formatter_parser.hpp>
-#if !defined(BOOST_LOG_NO_ASIO)
-#include <boost/asio/ip/address.hpp>
-#endif
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/locks.hpp>
-#include <boost/log/detail/light_rw_mutex.hpp>
-#endif
-#include "parser_utils.hpp"
-#include "spirit_encoding.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace qi = boost::spirit::qi;
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! Throws an exception when a parameter value is not valid
-BOOST_LOG_NORETURN void throw_invalid_value(const char* param_name)
-{
- std::string descr = std::string("Invalid parameter \"")
- + param_name
- + "\" value";
- BOOST_LOG_THROW_DESCR(invalid_value, descr);
-}
-
-//! Extracts an integral value from parameter value
-template< typename IntT, typename CharT >
-inline IntT param_cast_to_int(const char* param_name, std::basic_string< CharT > const& value)
-{
- IntT res = 0;
- typedef typename mpl::if_<
- is_unsigned< IntT >,
- qi::extract_uint< IntT, 10, 1, -1 >,
- qi::extract_int< IntT, 10, 1, -1 >
- >::type extract;
- const CharT* begin = value.c_str(), *end = begin + value.size();
- if (extract::call(begin, end, res) && begin == end)
- return res;
- else
- throw_invalid_value(param_name);
-}
-
-//! Case-insensitive character comparison predicate
-struct is_case_insensitive_equal
-{
- typedef bool result_type;
-
- template< typename CharT >
- result_type operator() (CharT left, CharT right) const BOOST_NOEXCEPT
- {
- typedef typename boost::log::aux::encoding< CharT >::type encoding;
- return encoding::tolower(left) == encoding::tolower(right);
- }
-};
-
-//! Extracts a boolean value from parameter value
-template< typename CharT >
-inline bool param_cast_to_bool(const char* param_name, std::basic_string< CharT > const& value)
-{
- typedef CharT char_type;
- typedef boost::log::aux::char_constants< char_type > constants;
- typedef boost::log::basic_string_literal< char_type > literal_type;
-
- const char_type* begin = value.c_str(), *end = begin + value.size();
- std::size_t len = end - begin;
-
- literal_type keyword = constants::true_keyword();
- if (keyword.size() == len && std::equal(begin, end, keyword.c_str(), is_case_insensitive_equal()))
- {
- return true;
- }
- else
- {
- keyword = constants::false_keyword();
- if (keyword.size() == len && std::equal(begin, end, keyword.c_str(), is_case_insensitive_equal()))
- {
- return false;
- }
- else
- {
- return param_cast_to_int< unsigned int >(param_name, value) != 0;
- }
- }
-}
-
-#if !defined(BOOST_LOG_NO_ASIO)
-//! Extracts a network address from parameter value
-template< typename CharT >
-inline std::string param_cast_to_address(const char* param_name, std::basic_string< CharT > const& value)
-{
- return log::aux::to_narrow(value);
-}
-#endif // !defined(BOOST_LOG_NO_ASIO)
-
-template< typename CharT >
-inline bool is_weekday(const CharT* str, std::size_t len, boost::log::basic_string_literal< CharT > const& weekday, boost::log::basic_string_literal< CharT > const& short_weekday)
-{
- return (len == weekday.size() && std::equal(weekday.begin(), weekday.end(), str)) ||
- (len == short_weekday.size() && std::equal(short_weekday.begin(), short_weekday.end(), str));
-}
-
-//! The function extracts the file rotation time point predicate from the parameter
-template< typename CharT >
-sinks::file::rotation_at_time_point param_cast_to_rotation_time_point(const char* param_name, std::basic_string< CharT > const& value)
-{
- typedef CharT char_type;
- typedef boost::log::aux::char_constants< char_type > constants;
- typedef typename boost::log::aux::encoding< char_type >::type encoding;
- typedef qi::extract_uint< unsigned short, 10, 1, 2 > day_extract;
- typedef qi::extract_uint< unsigned char, 10, 2, 2 > time_component_extract;
-
- const char_type colon = static_cast< char_type >(':');
- optional< date_time::weekdays > weekday;
- optional< unsigned short > day;
- unsigned char hour = 0, minute = 0, second = 0;
- const char_type* begin = value.c_str(), *end = begin + value.size();
-
- if (!encoding::isalnum(*begin)) // begin is null-terminated, so we also check that the string is not empty here
- throw_invalid_value(param_name);
-
- const char_type* p = begin + 1;
- if (encoding::isalpha(*begin))
- {
- // This must be a weekday
- while (encoding::isalpha(*p))
- ++p;
-
- std::size_t len = p - begin;
- if (is_weekday(begin, len, constants::monday_keyword(), constants::short_monday_keyword()))
- weekday = date_time::Monday;
- else if (is_weekday(begin, len, constants::tuesday_keyword(), constants::short_tuesday_keyword()))
- weekday = date_time::Tuesday;
- else if (is_weekday(begin, len, constants::wednesday_keyword(), constants::short_wednesday_keyword()))
- weekday = date_time::Wednesday;
- else if (is_weekday(begin, len, constants::thursday_keyword(), constants::short_thursday_keyword()))
- weekday = date_time::Thursday;
- else if (is_weekday(begin, len, constants::friday_keyword(), constants::short_friday_keyword()))
- weekday = date_time::Friday;
- else if (is_weekday(begin, len, constants::saturday_keyword(), constants::short_saturday_keyword()))
- weekday = date_time::Saturday;
- else if (is_weekday(begin, len, constants::sunday_keyword(), constants::short_sunday_keyword()))
- weekday = date_time::Sunday;
- else
- throw_invalid_value(param_name);
- }
- else
- {
- // This may be either a month day or an hour
- while (encoding::isdigit(*p))
- ++p;
-
- if (encoding::isspace(*p))
- {
- // This is a month day
- unsigned short mday = 0;
- const char_type* b = begin;
- if (!day_extract::call(b, p, mday) || b != p)
- throw_invalid_value(param_name);
-
- day = mday;
- }
- else if (*p == colon)
- {
- // This is an hour, reset the pointer
- p = begin;
- }
- else
- throw_invalid_value(param_name);
- }
-
- // Skip spaces
- while (encoding::isspace(*p))
- ++p;
-
- // Parse hour
- if (!time_component_extract::call(p, end, hour) || *p != colon)
- throw_invalid_value(param_name);
- ++p;
-
- // Parse minute
- if (!time_component_extract::call(p, end, minute) || *p != colon)
- throw_invalid_value(param_name);
- ++p;
-
- // Parse second
- if (!time_component_extract::call(p, end, second) || p != end)
- throw_invalid_value(param_name);
-
- // Construct the predicate
- if (weekday)
- return sinks::file::rotation_at_time_point(weekday.get(), hour, minute, second);
- else if (day)
- return sinks::file::rotation_at_time_point(gregorian::greg_day(day.get()), hour, minute, second);
- else
- return sinks::file::rotation_at_time_point(hour, minute, second);
-}
-
-//! Base class for default sink factories
-template< typename CharT >
-class basic_default_sink_factory :
- public sink_factory< CharT >
-{
-public:
- typedef sink_factory< CharT > base_type;
- typedef typename base_type::char_type char_type;
- typedef typename base_type::string_type string_type;
- typedef typename base_type::settings_section settings_section;
- typedef boost::log::aux::char_constants< char_type > constants;
-
-protected:
- //! Sink backend character selection function
- template< typename InitializerT >
- static shared_ptr< sinks::sink > select_backend_character_type(settings_section const& params, InitializerT initializer)
- {
-#if defined(BOOST_LOG_USE_CHAR) && defined(BOOST_LOG_USE_WCHAR_T)
- if (optional< string_type > wide_param = params["Wide"])
- {
- if (param_cast_to_bool("Wide", wide_param.get()))
- return initializer(params, type< wchar_t >());
- }
-
- return initializer(params, type< char >());
-#elif defined(BOOST_LOG_USE_CHAR)
- return initializer(params, type< char >());
-#elif defined(BOOST_LOG_USE_WCHAR_T)
- return initializer(params, type< wchar_t >());
-#endif
- }
-
- //! The function initializes common parameters of a formatting sink and returns the constructed sink
- template< typename BackendT >
- static shared_ptr< sinks::sink > init_sink(shared_ptr< BackendT > const& backend, settings_section const& params)
- {
- typedef BackendT backend_t;
- typedef typename sinks::has_requirement<
- typename backend_t::frontend_requirements,
- sinks::formatted_records
- >::type is_formatting_t;
-
- // Filter
- filter filt;
- if (optional< string_type > filter_param = params["Filter"])
- {
- filt = parse_filter(filter_param.get());
- }
-
- shared_ptr< sinks::basic_sink_frontend > p;
-
-#if !defined(BOOST_LOG_NO_THREADS)
- // Asynchronous. TODO: make it more flexible.
- bool async = false;
- if (optional< string_type > async_param = params["Asynchronous"])
- {
- async = param_cast_to_bool("Asynchronous", async_param.get());
- }
-
- // Construct the frontend, considering Asynchronous parameter
- if (!async)
- {
- p = init_formatter(boost::make_shared< sinks::synchronous_sink< backend_t > >(backend), params, is_formatting_t());
- }
- else
- {
- p = init_formatter(boost::make_shared< sinks::asynchronous_sink< backend_t > >(backend), params, is_formatting_t());
-
- // https://svn.boost.org/trac/boost/ticket/10638
- // The user doesn't have a way to process excaptions from the dedicated thread anyway, so just suppress them instead of
- // terminating the application.
- p->set_exception_handler(nop());
- }
-#else
- // When multithreading is disabled we always use the unlocked sink frontend
- p = init_formatter(boost::make_shared< sinks::unlocked_sink< backend_t > >(backend), params, is_formatting_t());
-#endif
-
- p->set_filter(filt);
-
- return p;
- }
-
-private:
- //! The function initializes formatter for the sinks that support formatting
- template< typename SinkT >
- static shared_ptr< SinkT > init_formatter(shared_ptr< SinkT > const& sink, settings_section const& params, mpl::true_)
- {
- // Formatter
- if (optional< string_type > format_param = params["Format"])
- {
- typedef typename SinkT::char_type sink_char_type;
- std::basic_string< sink_char_type > format_str;
- log::aux::code_convert(format_param.get(), format_str);
- sink->set_formatter(parse_formatter(format_str));
- }
- return sink;
- }
- template< typename SinkT >
- static shared_ptr< SinkT > init_formatter(shared_ptr< SinkT > const& sink, settings_section const& params, mpl::false_)
- {
- return sink;
- }
-};
-
-//! Default console sink factory
-template< typename CharT >
-class default_console_sink_factory :
- public basic_default_sink_factory< CharT >
-{
-public:
- typedef basic_default_sink_factory< CharT > base_type;
- typedef typename base_type::char_type char_type;
- typedef typename base_type::string_type string_type;
- typedef typename base_type::settings_section settings_section;
- typedef typename base_type::constants constants;
-
-private:
- struct impl;
- friend struct impl;
- struct impl
- {
- typedef shared_ptr< sinks::sink > result_type;
-
- template< typename BackendCharT >
- result_type operator() (settings_section const& params, type< BackendCharT >) const
- {
- // Construct the backend
- typedef boost::log::aux::char_constants< BackendCharT > constants;
- typedef sinks::basic_text_ostream_backend< BackendCharT > backend_t;
- shared_ptr< backend_t > backend = boost::make_shared< backend_t >();
- backend->add_stream(shared_ptr< typename backend_t::stream_type >(&constants::get_console_log_stream(), boost::null_deleter()));
-
- // Auto flush
- if (optional< string_type > auto_flush_param = params["AutoFlush"])
- {
- backend->auto_flush(param_cast_to_bool("AutoFlush", auto_flush_param.get()));
- }
-
- return base_type::init_sink(backend, params);
- }
- };
-
-public:
- //! The function constructs a sink that writes log records to the console
- shared_ptr< sinks::sink > create_sink(settings_section const& params)
- {
- return base_type::select_backend_character_type(params, impl());
- }
-};
-
-//! Default text file sink factory
-template< typename CharT >
-class default_text_file_sink_factory :
- public basic_default_sink_factory< CharT >
-{
-public:
- typedef basic_default_sink_factory< CharT > base_type;
- typedef typename base_type::char_type char_type;
- typedef typename base_type::string_type string_type;
- typedef typename base_type::settings_section settings_section;
- typedef typename base_type::constants constants;
-
-public:
- //! The function constructs a sink that writes log records to a text file
- shared_ptr< sinks::sink > create_sink(settings_section const& params)
- {
- typedef sinks::text_file_backend backend_t;
- shared_ptr< backend_t > backend = boost::make_shared< backend_t >();
-
- // FileName
- if (optional< string_type > file_name_param = params["FileName"])
- {
- backend->set_file_name_pattern(filesystem::path(file_name_param.get()));
- }
- else
- BOOST_LOG_THROW_DESCR(missing_value, "File name is not specified");
-
- // File rotation size
- if (optional< string_type > rotation_size_param = params["RotationSize"])
- {
- backend->set_rotation_size(param_cast_to_int< uintmax_t >("RotationSize", rotation_size_param.get()));
- }
-
- // File rotation interval
- if (optional< string_type > rotation_interval_param = params["RotationInterval"])
- {
- backend->set_time_based_rotation(sinks::file::rotation_at_time_interval(
- posix_time::seconds(param_cast_to_int< unsigned int >("RotationInterval", rotation_interval_param.get()))));
- }
- else if (optional< string_type > rotation_time_point_param = params["RotationTimePoint"])
- {
- // File rotation time point
- backend->set_time_based_rotation(param_cast_to_rotation_time_point("RotationTimePoint", rotation_time_point_param.get()));
- }
-
- // Final rotation
- if (optional< string_type > enable_final_rotation_param = params["EnableFinalRotation"])
- {
- backend->enable_final_rotation(param_cast_to_bool("EnableFinalRotation", enable_final_rotation_param.get()));
- }
-
- // Auto flush
- if (optional< string_type > auto_flush_param = params["AutoFlush"])
- {
- backend->auto_flush(param_cast_to_bool("AutoFlush", auto_flush_param.get()));
- }
-
- // Append
- if (optional< string_type > append_param = params["Append"])
- {
- if (param_cast_to_bool("Append", append_param.get()))
- backend->set_open_mode(std::ios_base::out | std::ios_base::app);
- }
-
- // File collector parameters
- // Target directory
- if (optional< string_type > target_param = params["Target"])
- {
- filesystem::path target_dir(target_param.get());
-
- // Max total size
- uintmax_t max_size = (std::numeric_limits< uintmax_t >::max)();
- if (optional< string_type > max_size_param = params["MaxSize"])
- max_size = param_cast_to_int< uintmax_t >("MaxSize", max_size_param.get());
-
- // Min free space
- uintmax_t space = 0;
- if (optional< string_type > min_space_param = params["MinFreeSpace"])
- space = param_cast_to_int< uintmax_t >("MinFreeSpace", min_space_param.get());
-
- // Max number of files
- uintmax_t max_files = (std::numeric_limits< uintmax_t >::max)();
- if (optional< string_type > max_files_param = params["MaxFiles"])
- max_files = param_cast_to_int< uintmax_t >("MaxFiles", max_files_param.get());
-
- backend->set_file_collector(sinks::file::make_collector(
- keywords::target = target_dir,
- keywords::max_size = max_size,
- keywords::min_free_space = space,
- keywords::max_files = max_files));
-
- // Scan for log files
- if (optional< string_type > scan_param = params["ScanForFiles"])
- {
- string_type const& value = scan_param.get();
- if (value == constants::scan_method_all())
- backend->scan_for_files(sinks::file::scan_all);
- else if (value == constants::scan_method_matching())
- backend->scan_for_files(sinks::file::scan_matching);
- else
- {
- BOOST_LOG_THROW_DESCR(invalid_value,
- "File scan method \"" + boost::log::aux::to_narrow(value) + "\" is not supported");
- }
- }
- }
-
- return base_type::init_sink(backend, params);
- }
-};
-
-#ifndef BOOST_LOG_WITHOUT_SYSLOG
-
-//! Default syslog sink factory
-template< typename CharT >
-class default_syslog_sink_factory :
- public basic_default_sink_factory< CharT >
-{
-public:
- typedef basic_default_sink_factory< CharT > base_type;
- typedef typename base_type::char_type char_type;
- typedef typename base_type::string_type string_type;
- typedef typename base_type::settings_section settings_section;
- typedef typename base_type::constants constants;
-
-public:
- //! The function constructs a sink that writes log records to syslog
- shared_ptr< sinks::sink > create_sink(settings_section const& params)
- {
- // Construct the backend
- typedef sinks::syslog_backend backend_t;
- shared_ptr< backend_t > backend = boost::make_shared< backend_t >();
-
- // For now we use only the default level mapping. Will add support for configuration later.
- backend->set_severity_mapper(sinks::syslog::direct_severity_mapping< >(log::aux::default_attribute_names::severity()));
-
-#if !defined(BOOST_LOG_NO_ASIO)
- // Setup local and remote addresses
- if (optional< string_type > local_address_param = params["LocalAddress"])
- backend->set_local_address(param_cast_to_address("LocalAddress", local_address_param.get()));
-
- if (optional< string_type > target_address_param = params["TargetAddress"])
- backend->set_target_address(param_cast_to_address("TargetAddress", target_address_param.get()));
-#endif // !defined(BOOST_LOG_NO_ASIO)
-
- return base_type::init_sink(backend, params);
- }
-};
-
-#endif // !defined(BOOST_LOG_WITHOUT_SYSLOG)
-
-#ifndef BOOST_LOG_WITHOUT_DEBUG_OUTPUT
-
-//! Default debugger sink factory
-template< typename CharT >
-class default_debugger_sink_factory :
- public basic_default_sink_factory< CharT >
-{
-public:
- typedef basic_default_sink_factory< CharT > base_type;
- typedef typename base_type::char_type char_type;
- typedef typename base_type::string_type string_type;
- typedef typename base_type::settings_section settings_section;
- typedef typename base_type::constants constants;
-
-private:
- struct impl;
- friend struct impl;
- struct impl
- {
- typedef shared_ptr< sinks::sink > result_type;
-
- template< typename BackendCharT >
- result_type operator() (settings_section const& params, type< BackendCharT >) const
- {
- // Construct the backend
- typedef sinks::basic_debug_output_backend< BackendCharT > backend_t;
- shared_ptr< backend_t > backend = boost::make_shared< backend_t >();
-
- return base_type::init_sink(backend, params);
- }
- };
-
-public:
- //! The function constructs a sink that writes log records to the debugger
- shared_ptr< sinks::sink > create_sink(settings_section const& params)
- {
- return base_type::select_backend_character_type(params, impl());
- }
-};
-
-#endif // !defined(BOOST_LOG_WITHOUT_DEBUG_OUTPUT)
-
-#ifndef BOOST_LOG_WITHOUT_EVENT_LOG
-
-//! Default simple event log sink factory
-template< typename CharT >
-class default_simple_event_log_sink_factory :
- public basic_default_sink_factory< CharT >
-{
-public:
- typedef basic_default_sink_factory< CharT > base_type;
- typedef typename base_type::char_type char_type;
- typedef typename base_type::string_type string_type;
- typedef typename base_type::settings_section settings_section;
- typedef typename base_type::constants constants;
-
-private:
- struct impl;
- friend struct impl;
- struct impl
- {
- typedef shared_ptr< sinks::sink > result_type;
-
- template< typename BackendCharT >
- result_type operator() (settings_section const& params, type< BackendCharT >) const
- {
- typedef sinks::basic_simple_event_log_backend< BackendCharT > backend_t;
- typedef typename backend_t::string_type backend_string_type;
-
- // Determine the log name
- backend_string_type log_name;
- if (optional< string_type > log_name_param = params["LogName"])
- log::aux::code_convert(log_name_param.get(), log_name);
- else
- log_name = backend_t::get_default_log_name();
-
- // Determine the log source name
- backend_string_type source_name;
- if (optional< string_type > log_source_param = params["LogSource"])
- log::aux::code_convert(log_source_param.get(), source_name);
- else
- source_name = backend_t::get_default_source_name();
-
- // Determine the registration mode
- sinks::event_log::registration_mode reg_mode = sinks::event_log::on_demand;
- if (optional< string_type > registration_param = params["Registration"])
- {
- string_type const& value = registration_param.get();
- if (value == constants::registration_never())
- reg_mode = sinks::event_log::never;
- else if (value == constants::registration_on_demand())
- reg_mode = sinks::event_log::on_demand;
- else if (value == constants::registration_forced())
- reg_mode = sinks::event_log::forced;
- else
- {
- BOOST_LOG_THROW_DESCR(invalid_value,
- "The registration mode \"" + log::aux::to_narrow(value) + "\" is not supported");
- }
- }
-
- // Construct the backend
- shared_ptr< backend_t > backend(boost::make_shared< backend_t >((
- keywords::log_name = log_name,
- keywords::log_source = source_name,
- keywords::registration = reg_mode)));
-
- // For now we use only the default event type mapping. Will add support for configuration later.
- backend->set_event_type_mapper(sinks::event_log::direct_event_type_mapping< >(log::aux::default_attribute_names::severity()));
-
- return base_type::init_sink(backend, params);
- }
- };
-
-public:
- //! The function constructs a sink that writes log records to the Windows NT Event Log
- shared_ptr< sinks::sink > create_sink(settings_section const& params)
- {
- return base_type::select_backend_character_type(params, impl());
- }
-};
-
-#endif // !defined(BOOST_LOG_WITHOUT_EVENT_LOG)
-
-
-//! The supported sinks repository
-template< typename CharT >
-struct sinks_repository :
- public log::aux::lazy_singleton< sinks_repository< CharT > >
-{
- typedef log::aux::lazy_singleton< sinks_repository< CharT > > base_type;
-
-#if !defined(BOOST_LOG_BROKEN_FRIEND_TEMPLATE_SPECIALIZATIONS)
- friend class log::aux::lazy_singleton< sinks_repository< CharT > >;
-#else
- friend class base_type;
-#endif
-
- typedef CharT char_type;
- typedef std::basic_string< char_type > string_type;
- typedef basic_settings_section< char_type > settings_section;
- typedef boost::log::aux::char_constants< char_type > constants;
- typedef boost::shared_ptr< sink_factory< char_type > > sink_factory_ptr;
- typedef std::map< std::string, sink_factory_ptr > sink_factories;
-
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Synchronization mutex
- log::aux::light_rw_mutex m_Mutex;
-#endif
- //! Map of the sink factories
- sink_factories m_Factories;
-
- //! The function constructs a sink from the settings
- shared_ptr< sinks::sink > construct_sink_from_settings(settings_section const& params)
- {
- typedef typename settings_section::const_reference param_const_reference;
- if (param_const_reference dest_node = params["Destination"])
- {
- std::string dest = log::aux::to_narrow(dest_node.get().get());
-
- BOOST_LOG_EXPR_IF_MT(log::aux::shared_lock_guard< log::aux::light_rw_mutex > lock(m_Mutex);)
- typename sink_factories::const_iterator it = m_Factories.find(dest);
- if (it != m_Factories.end())
- {
- return it->second->create_sink(params);
- }
- else
- {
- BOOST_LOG_THROW_DESCR(invalid_value, "The sink destination is not supported: " + dest);
- }
- }
- else
- {
- BOOST_LOG_THROW_DESCR(missing_value, "The sink destination is not set");
- }
- }
-
- static void init_instance()
- {
- sinks_repository& instance = base_type::get_instance();
- instance.m_Factories["TextFile"] = boost::make_shared< default_text_file_sink_factory< char_type > >();
- instance.m_Factories["Console"] = boost::make_shared< default_console_sink_factory< char_type > >();
-#ifndef BOOST_LOG_WITHOUT_SYSLOG
- instance.m_Factories["Syslog"] = boost::make_shared< default_syslog_sink_factory< char_type > >();
-#endif
-#ifndef BOOST_LOG_WITHOUT_DEBUG_OUTPUT
- instance.m_Factories["Debugger"] = boost::make_shared< default_debugger_sink_factory< char_type > >();
-#endif
-#ifndef BOOST_LOG_WITHOUT_EVENT_LOG
- instance.m_Factories["SimpleEventLog"] = boost::make_shared< default_simple_event_log_sink_factory< char_type > >();
-#endif
- }
-
-private:
- sinks_repository() {}
-};
-
-//! The function applies the settings to the logging core
-template< typename CharT >
-void apply_core_settings(basic_settings_section< CharT > const& params)
-{
- typedef CharT char_type;
- typedef std::basic_string< char_type > string_type;
-
- core_ptr core = boost::log::core::get();
-
- // Filter
- if (optional< string_type > filter_param = params["Filter"])
- core->set_filter(parse_filter(filter_param.get()));
- else
- core->reset_filter();
-
- // DisableLogging
- if (optional< string_type > disable_logging_param = params["DisableLogging"])
- core->set_logging_enabled(!param_cast_to_bool("DisableLogging", disable_logging_param.get()));
- else
- core->set_logging_enabled(true);
-}
-
-} // namespace
-
-
-//! The function initializes the logging library from a settings container
-template< typename CharT >
-BOOST_LOG_SETUP_API void init_from_settings(basic_settings_section< CharT > const& setts)
-{
- typedef basic_settings_section< CharT > section;
- typedef typename section::char_type char_type;
- typedef sinks_repository< char_type > sinks_repo_t;
-
- // Apply core settings
- if (section core_params = setts["Core"])
- apply_core_settings(core_params);
-
- // Construct and initialize sinks
- if (section sink_params = setts["Sinks"])
- {
- sinks_repo_t& sinks_repo = sinks_repo_t::get();
- std::vector< shared_ptr< sinks::sink > > new_sinks;
-
- for (typename section::const_iterator it = sink_params.begin(), end = sink_params.end(); it != end; ++it)
- {
- section sink_params = *it;
-
- // Ignore empty sections as they are most likely individual parameters (which should not be here anyway)
- if (!sink_params.empty())
- {
- new_sinks.push_back(sinks_repo.construct_sink_from_settings(sink_params));
- }
- }
-
- std::for_each(new_sinks.begin(), new_sinks.end(), boost::bind(&core::add_sink, core::get(), _1));
- }
-}
-
-
-//! The function registers a factory for a sink
-template< typename CharT >
-BOOST_LOG_SETUP_API void register_sink_factory(const char* sink_name, shared_ptr< sink_factory< CharT > > const& factory)
-{
- sinks_repository< CharT >& repo = sinks_repository< CharT >::get();
- BOOST_LOG_EXPR_IF_MT(lock_guard< log::aux::light_rw_mutex > lock(repo.m_Mutex);)
- repo.m_Factories[sink_name] = factory;
-}
-
-#ifdef BOOST_LOG_USE_CHAR
-template BOOST_LOG_SETUP_API void register_sink_factory< char >(const char* sink_name, shared_ptr< sink_factory< char > > const& factory);
-template BOOST_LOG_SETUP_API void init_from_settings< char >(basic_settings_section< char > const& setts);
-#endif
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-template BOOST_LOG_SETUP_API void register_sink_factory< wchar_t >(const char* sink_name, shared_ptr< sink_factory< wchar_t > > const& factory);
-template BOOST_LOG_SETUP_API void init_from_settings< wchar_t >(basic_settings_section< wchar_t > const& setts);
-#endif
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_WITHOUT_SETTINGS_PARSERS
diff --git a/contrib/restricted/boost/libs/log/src/setup/init_from_stream.cpp b/contrib/restricted/boost/libs/log/src/setup/init_from_stream.cpp
deleted file mode 100644
index 1bf518b75f..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/init_from_stream.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file init_from_stream.cpp
- * \author Andrey Semashev
- * \date 22.03.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_WITHOUT_SETTINGS_PARSERS
-
-#include <boost/log/detail/setup_config.hpp>
-#include <boost/log/utility/setup/from_settings.hpp>
-#include <boost/log/utility/setup/settings_parser.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-//! The function initializes the logging library from a stream containing logging settings
-template< typename CharT >
-BOOST_LOG_SETUP_API void init_from_stream(std::basic_istream< CharT >& strm)
-{
- init_from_settings(parse_settings(strm));
-}
-
-#ifdef BOOST_LOG_USE_CHAR
-template BOOST_LOG_SETUP_API void init_from_stream< char >(std::basic_istream< char >& strm);
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-template BOOST_LOG_SETUP_API void init_from_stream< wchar_t >(std::basic_istream< wchar_t >& strm);
-#endif
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_WITHOUT_SETTINGS_PARSERS
diff --git a/contrib/restricted/boost/libs/log/src/setup/matches_relation_factory.cpp b/contrib/restricted/boost/libs/log/src/setup/matches_relation_factory.cpp
deleted file mode 100644
index ba8abe269d..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/matches_relation_factory.cpp
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file matches_relation_factory.hpp
- * \author Andrey Semashev
- * \date 03.08.2013
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#if !defined(BOOST_LOG_WITHOUT_SETTINGS_PARSERS) && !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
-
-#include <boost/log/detail/setup_config.hpp>
-
-#if defined(BOOST_LOG_USE_STD_REGEX) && defined(BOOST_NO_CXX11_HDR_REGEX)
-#error "Boost.Log: Cannot use std::regex because it is not supported by the standard library."
-#endif
-
-#if !defined(BOOST_LOG_USE_BOOST_REGEX) && !defined(BOOST_LOG_USE_STD_REGEX) && !defined(BOOST_LOG_USE_BOOST_XPRESSIVE)
-// Use Boost.Regex backend by default. It produces smaller executables and also has the best performance for small string matching.
-// Note: This default has to be in sync with Boost.Log Jamfile.v2.
-#define BOOST_LOG_USE_BOOST_REGEX
-#endif
-
-#include <string>
-#if defined(BOOST_LOG_USE_STD_REGEX)
-#include <regex>
-#include <boost/log/support/std_regex.hpp>
-#elif defined(BOOST_LOG_USE_BOOST_REGEX)
-#include <boost/regex.hpp>
-#include <boost/log/support/regex.hpp>
-#else
-#include <boost/xpressive/xpressive_dynamic.hpp>
-#include <boost/log/support/xpressive.hpp>
-#endif
-#include <boost/log/utility/string_literal.hpp>
-#include <boost/log/utility/functional/matches.hpp>
-#include <boost/log/utility/type_dispatch/standard_types.hpp>
-#include <boost/log/detail/code_conversion.hpp>
-#if defined(BOOST_LOG_USE_CHAR) && defined(BOOST_LOG_USE_WCHAR_T)
-#include <boost/fusion/container/set.hpp>
-#include <boost/fusion/sequence/intrinsic/at_key.hpp>
-#include <boost/fusion/algorithm/iteration/for_each.hpp>
-#endif
-#include "default_filter_factory.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-#if defined(BOOST_LOG_USE_STD_REGEX) || defined(BOOST_LOG_USE_BOOST_REGEX)
-
-#if defined(BOOST_LOG_USE_STD_REGEX)
-namespace regex_namespace = std;
-#else
-namespace regex_namespace = boost;
-#endif
-
-#if defined(BOOST_LOG_USE_CHAR) && defined(BOOST_LOG_USE_WCHAR_T)
-
-//! A special filtering predicate that adopts the string operand to the attribute value character type
-struct matches_predicate :
- public matches_fun
-{
- template< typename CharT >
- struct initializer
- {
- typedef void result_type;
- typedef CharT char_type;
- typedef std::basic_string< char_type > string_type;
-
- explicit initializer(string_type const& val) : m_initializer(val)
- {
- }
-
- template< typename T >
- result_type operator() (T& val) const
- {
- try
- {
- typedef typename T::value_type target_char_type;
- std::basic_string< target_char_type > str;
- log::aux::code_convert(m_initializer, str);
- val.assign(str, T::ECMAScript | T::optimize);
- }
- catch (...)
- {
- }
- }
-
- private:
- string_type const& m_initializer;
- };
-
- typedef matches_fun::result_type result_type;
-
- template< typename CharT >
- explicit matches_predicate(std::basic_string< CharT > const& operand)
- {
- fusion::for_each(m_operands, initializer< CharT >(operand));
- }
-
- template< typename T >
- result_type operator() (T const& val) const
- {
- typedef typename T::value_type char_type;
- typedef regex_namespace::basic_regex< char_type > regex_type;
- return matches_fun::operator() (val, fusion::at_key< regex_type >(m_operands));
- }
-
-private:
- fusion::set< regex_namespace::regex, regex_namespace::wregex > m_operands;
-};
-
-#else
-
-//! A special filtering predicate that adopts the string operand to the attribute value character type
-template< typename CharT >
-struct matches_predicate :
- public matches_fun
-{
- typedef typename matches_fun::result_type result_type;
- typedef CharT char_type;
- typedef std::basic_string< char_type > string_type;
- typedef regex_namespace::basic_regex< char_type > regex_type;
-
- explicit matches_predicate(string_type const& operand) :
- m_operand(operand, regex_type::ECMAScript | regex_type::optimize)
- {
- }
-
- template< typename T >
- result_type operator() (T const& val) const
- {
- return matches_fun::operator() (val, m_operand);
- }
-
-private:
- regex_type m_operand;
-};
-
-#endif
-
-#else // defined(BOOST_LOG_USE_STD_REGEX) || defined(BOOST_LOG_USE_BOOST_REGEX)
-
-#if defined(BOOST_LOG_USE_CHAR) && defined(BOOST_LOG_USE_WCHAR_T)
-
-//! A special filtering predicate that adopts the string operand to the attribute value character type
-struct matches_predicate :
- public matches_fun
-{
- template< typename CharT >
- struct initializer
- {
- typedef void result_type;
- typedef CharT char_type;
- typedef std::basic_string< char_type > string_type;
-
- explicit initializer(string_type const& val) : m_initializer(val)
- {
- }
-
- template< typename T >
- result_type operator() (T& val) const
- {
- try
- {
- typedef typename T::char_type target_char_type;
- std::basic_string< target_char_type > str;
- log::aux::code_convert(m_initializer, str);
- val = T::compile(str.c_str(), str.size(), T::ECMAScript | T::optimize);
- }
- catch (...)
- {
- }
- }
-
- private:
- string_type const& m_initializer;
- };
-
- typedef matches_fun::result_type result_type;
-
- template< typename CharT >
- explicit matches_predicate(std::basic_string< CharT > const& operand)
- {
- fusion::for_each(m_operands, initializer< CharT >(operand));
- }
-
- template< typename T >
- result_type operator() (T const& val) const
- {
- typedef typename T::value_type char_type;
- typedef xpressive::basic_regex< const char_type* > regex_type;
- return matches_fun::operator() (val, fusion::at_key< regex_type >(m_operands));
- }
-
-private:
- fusion::set< xpressive::cregex, xpressive::wcregex > m_operands;
-};
-
-#else
-
-//! A special filtering predicate that adopts the string operand to the attribute value character type
-template< typename CharT >
-struct matches_predicate :
- public matches_fun
-{
- typedef typename matches_fun::result_type result_type;
- typedef CharT char_type;
- typedef std::basic_string< char_type > string_type;
- typedef xpressive::basic_regex< const char_type* > regex_type;
-
- explicit matches_predicate(string_type const& operand) :
- m_operand(regex_type::compile(operand.c_str(), operand.size(), regex_type::ECMAScript | regex_type::optimize))
- {
- }
-
- template< typename T >
- result_type operator() (T const& val) const
- {
- return matches_fun::operator() (val, m_operand);
- }
-
-private:
- regex_type m_operand;
-};
-
-#endif
-
-#endif // defined(BOOST_LOG_USE_STD_REGEX) || defined(BOOST_LOG_USE_BOOST_REGEX)
-
-} // namespace
-
-//! The function parses the "matches" relation
-template< typename CharT >
-filter parse_matches_relation(attribute_name const& name, std::basic_string< CharT > const& operand)
-{
-#if defined(BOOST_LOG_USE_CHAR) && defined(BOOST_LOG_USE_WCHAR_T)
- return predicate_wrapper< log::string_types::type, matches_predicate >(name, matches_predicate(operand));
-#else
- return predicate_wrapper< std::basic_string< CharT >, matches_predicate< CharT > >(name, matches_predicate< CharT >(operand));
-#endif
-}
-
-// Explicitly instantiate factory implementation
-#ifdef BOOST_LOG_USE_CHAR
-template
-filter parse_matches_relation< char >(attribute_name const& name, std::basic_string< char > const& operand);
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-template
-filter parse_matches_relation< wchar_t >(attribute_name const& name, std::basic_string< wchar_t > const& operand);
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // !defined(BOOST_LOG_WITHOUT_SETTINGS_PARSERS) && !defined(BOOST_LOG_WITHOUT_DEFAULT_FACTORIES)
diff --git a/contrib/restricted/boost/libs/log/src/setup/parser_utils.cpp b/contrib/restricted/boost/libs/log/src/setup/parser_utils.cpp
deleted file mode 100644
index 08a5de8b06..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/parser_utils.cpp
+++ /dev/null
@@ -1,431 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file parser_utils.cpp
- * \author Andrey Semashev
- * \date 31.03.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_WITHOUT_SETTINGS_PARSERS
-
-#include <boost/log/detail/setup_config.hpp>
-#include <cctype>
-#include <iterator>
-#include <algorithm>
-#include <boost/log/exceptions.hpp>
-#include "parser_utils.hpp"
-#include <boost/log/detail/header.hpp>
-#ifdef BOOST_LOG_USE_WCHAR_T
-#include <cwctype>
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-#ifdef BOOST_LOG_USE_CHAR
-
-#ifndef BOOST_LOG_BROKEN_STATIC_CONSTANTS_LINKAGE
-
-const char_constants< char >::char_type char_constants< char >::char_comment;
-const char_constants< char >::char_type char_constants< char >::char_comma;
-const char_constants< char >::char_type char_constants< char >::char_dot;
-const char_constants< char >::char_type char_constants< char >::char_quote;
-const char_constants< char >::char_type char_constants< char >::char_percent;
-const char_constants< char >::char_type char_constants< char >::char_exclamation;
-const char_constants< char >::char_type char_constants< char >::char_and;
-const char_constants< char >::char_type char_constants< char >::char_or;
-const char_constants< char >::char_type char_constants< char >::char_equal;
-const char_constants< char >::char_type char_constants< char >::char_greater;
-const char_constants< char >::char_type char_constants< char >::char_less;
-const char_constants< char >::char_type char_constants< char >::char_underline;
-const char_constants< char >::char_type char_constants< char >::char_backslash;
-const char_constants< char >::char_type char_constants< char >::char_section_bracket_left;
-const char_constants< char >::char_type char_constants< char >::char_section_bracket_right;
-const char_constants< char >::char_type char_constants< char >::char_paren_bracket_left;
-const char_constants< char >::char_type char_constants< char >::char_paren_bracket_right;
-
-#endif // BOOST_LOG_BROKEN_STATIC_CONSTANTS_LINKAGE
-
-//! Skips spaces in the beginning of the input
-const char* char_constants< char >::trim_spaces_left(const char_type* begin, const char_type* end)
-{
- using namespace std;
- while (begin != end && isspace(*begin))
- ++begin;
- return begin;
-}
-
-//! Skips spaces in the end of the input
-const char* char_constants< char >::trim_spaces_right(const char_type* begin, const char_type* end)
-{
- using namespace std;
- while (begin != end && isspace(*(end - 1)))
- --end;
- return end;
-}
-
-//! Scans for the attribute name placeholder in the input
-const char* char_constants< char >::scan_attr_placeholder(const char_type* begin, const char_type* end)
-{
- using namespace std;
- while (begin != end)
- {
- char_type c = *begin;
- if (!isalnum(c) && c != char_underline)
- break;
- ++begin;
- }
-
- return begin;
-}
-
-//! Parses an operand string (possibly quoted) from the input
-const char* char_constants< char >::parse_operand(const char_type* begin, const char_type* end, string_type& operand)
-{
- using namespace std; // to make sure we can use C functions unqualified
-
- const char_type* p = begin;
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Operand value is empty");
-
- char_type c = *p;
- if (c == char_quote)
- {
- // The value is specified as a quoted string
- const char_type* start = ++p;
- for (; p != end; ++p)
- {
- c = *p;
- if (c == char_quote)
- {
- break;
- }
- else if (c == char_backslash)
- {
- ++p;
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid escape sequence in the argument value");
- }
- }
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Unterminated quoted string in the argument value");
-
- operand.assign(start, p);
- translate_escape_sequences(operand);
-
- ++p; // skip the closing quote
- }
- else
- {
- // The value is specified as a single word
- const char_type* start = p;
- for (++p; p != end; ++p)
- {
- c = *p;
- if (!isalnum(c) && c != '_' && c != '-' && c != '+' && c != '.')
- break;
- }
-
- operand.assign(start, p);
- }
-
- return p;
-}
-
-//! Converts escape sequences to the corresponding characters
-void char_constants< char >::translate_escape_sequences(string_type& str)
-{
- using namespace std; // to make sure we can use C functions unqualified
-
- string_type::iterator it = str.begin();
- while (it != str.end())
- {
- it = std::find(it, str.end(), '\\');
- if (std::distance(it, str.end()) >= 2)
- {
- it = str.erase(it);
- switch (*it)
- {
- case 'n':
- *it = '\n'; break;
- case 'r':
- *it = '\r'; break;
- case 'a':
- *it = '\a'; break;
- case '\\':
- ++it; break;
- case 't':
- *it = '\t'; break;
- case 'b':
- *it = '\b'; break;
- case 'x':
- {
- string_type::iterator b = it;
- if (std::distance(++b, str.end()) >= 2)
- {
- char_type c1 = *b++, c2 = *b++;
- if (isxdigit(c1) && isxdigit(c2))
- {
- *it++ = char_type((to_number(c1) << 4) | to_number(c2));
- it = str.erase(it, b);
- }
- }
- break;
- }
- default:
- {
- if (*it >= '0' && *it <= '7')
- {
- string_type::iterator b = it;
- int c = (*b++) - '0';
- if (*b >= '0' && *b <= '7')
- c = c * 8 + (*b++) - '0';
- if (*b >= '0' && *b <= '7')
- c = c * 8 + (*b++) - '0';
-
- *it++ = char_type(c);
- it = str.erase(it, b);
- }
- break;
- }
- }
- }
- }
-}
-
-#endif // BOOST_LOG_USE_CHAR
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-
-#ifndef BOOST_LOG_BROKEN_STATIC_CONSTANTS_LINKAGE
-
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_comment;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_comma;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_dot;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_quote;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_percent;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_exclamation;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_and;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_or;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_equal;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_greater;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_less;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_underline;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_backslash;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_section_bracket_left;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_section_bracket_right;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_paren_bracket_left;
-const char_constants< wchar_t >::char_type char_constants< wchar_t >::char_paren_bracket_right;
-
-#endif // BOOST_LOG_BROKEN_STATIC_CONSTANTS_LINKAGE
-
-//! Skips spaces in the beginning of the input
-const wchar_t* char_constants< wchar_t >::trim_spaces_left(const char_type* begin, const char_type* end)
-{
- using namespace std;
- while (begin != end && iswspace(*begin))
- ++begin;
- return begin;
-}
-
-//! Skips spaces in the end of the input
-const wchar_t* char_constants< wchar_t >::trim_spaces_right(const char_type* begin, const char_type* end)
-{
- using namespace std;
- while (begin != end && iswspace(*(end - 1)))
- --end;
- return end;
-}
-
-//! Scans for the attribute name placeholder in the input
-const wchar_t* char_constants< wchar_t >::scan_attr_placeholder(const char_type* begin, const char_type* end)
-{
- using namespace std;
- while (begin != end)
- {
- char_type c = *begin;
- if (!iswalnum(c) && c != char_underline)
- break;
- ++begin;
- }
-
- return begin;
-}
-
-//! Parses an operand string (possibly quoted) from the input
-const wchar_t* char_constants< wchar_t >::parse_operand(const char_type* begin, const char_type* end, string_type& operand)
-{
- using namespace std; // to make sure we can use C functions unqualified
-
- const char_type* p = begin;
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Operand value is empty");
-
- char_type c = *p;
- if (c == char_quote)
- {
- // The value is specified as a quoted string
- const char_type* start = ++p;
- for (; p != end; ++p)
- {
- c = *p;
- if (c == char_quote)
- {
- break;
- }
- else if (c == char_backslash)
- {
- ++p;
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Invalid escape sequence in the argument value");
- }
- }
- if (p == end)
- BOOST_LOG_THROW_DESCR(parse_error, "Unterminated quoted string in the argument value");
-
- operand.assign(start, p);
- translate_escape_sequences(operand);
-
- ++p; // skip the closing quote
- }
- else
- {
- // The value is specified as a single word
- const char_type* start = p;
- for (++p; p != end; ++p)
- {
- c = *p;
- if (!iswalnum(c) && c != L'_' && c != L'-' && c != L'+' && c != L'.')
- break;
- }
-
- operand.assign(start, p);
- }
-
- return p;
-}
-
-//! Converts escape sequences to the corresponding characters
-void char_constants< wchar_t >::translate_escape_sequences(string_type& str)
-{
- using namespace std; // to make sure we can use C functions unqualified
-
- string_type::iterator it = str.begin();
- while (it != str.end())
- {
- it = std::find(it, str.end(), L'\\');
- if (std::distance(it, str.end()) >= 2)
- {
- it = str.erase(it);
- switch (*it)
- {
- case L'n':
- *it = L'\n'; break;
- case L'r':
- *it = L'\r'; break;
- case L'a':
- *it = L'\a'; break;
- case L'\\':
- ++it; break;
- case L't':
- *it = L'\t'; break;
- case L'b':
- *it = L'\b'; break;
- case L'x':
- {
- string_type::iterator b = it;
- if (std::distance(++b, str.end()) >= 2)
- {
- char_type c1 = *b++, c2 = *b++;
- if (iswxdigit(c1) && iswxdigit(c2))
- {
- *it++ = char_type((to_number(c1) << 4) | to_number(c2));
- it = str.erase(it, b);
- }
- }
- break;
- }
- case L'u':
- {
- string_type::iterator b = it;
- if (std::distance(++b, str.end()) >= 4)
- {
- char_type c1 = *b++, c2 = *b++, c3 = *b++, c4 = *b++;
- if (iswxdigit(c1) && iswxdigit(c2) && iswxdigit(c3) && iswxdigit(c4))
- {
- *it++ = char_type(
- (to_number(c1) << 12) |
- (to_number(c2) << 8) |
- (to_number(c3) << 4) |
- to_number(c4));
- it = str.erase(it, b);
- }
- }
- break;
- }
- case L'U':
- {
- string_type::iterator b = it;
- if (std::distance(++b, str.end()) >= 8)
- {
- char_type c1 = *b++, c2 = *b++, c3 = *b++, c4 = *b++;
- char_type c5 = *b++, c6 = *b++, c7 = *b++, c8 = *b++;
- if (iswxdigit(c1) && iswxdigit(c2) && iswxdigit(c3) && iswxdigit(c4) &&
- iswxdigit(c5) && iswxdigit(c6) && iswxdigit(c7) && iswxdigit(c8))
- {
- *it++ = char_type(
- (to_number(c1) << 28) |
- (to_number(c2) << 24) |
- (to_number(c3) << 20) |
- (to_number(c4) << 16) |
- (to_number(c5) << 12) |
- (to_number(c6) << 8) |
- (to_number(c7) << 4) |
- to_number(c8));
- it = str.erase(it, b);
- }
- }
- break;
- }
- default:
- {
- if (*it >= L'0' && *it <= L'7')
- {
- string_type::iterator b = it;
- int c = (*b++) - L'0';
- if (*b >= L'0' && *b <= L'7')
- c = c * 8 + (*b++) - L'0';
- if (*b >= L'0' && *b <= L'7')
- c = c * 8 + (*b++) - L'0';
-
- *it++ = char_type(c);
- it = str.erase(it, b);
- }
- break;
- }
- }
- }
- }
-}
-
-#endif // BOOST_LOG_USE_WCHAR_T
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_WITHOUT_SETTINGS_PARSERS
diff --git a/contrib/restricted/boost/libs/log/src/setup/parser_utils.hpp b/contrib/restricted/boost/libs/log/src/setup/parser_utils.hpp
deleted file mode 100644
index 94f5ffb56c..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/parser_utils.hpp
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file parser_utils.hpp
- * \author Andrey Semashev
- * \date 31.03.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_PARSER_UTILS_HPP_INCLUDED_
-#define BOOST_LOG_PARSER_UTILS_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <string>
-#include <iostream>
-#include <cctype>
-#include <boost/log/utility/string_literal.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Some constants and algorithms needed for parsing
-template< typename > struct char_constants;
-
-#ifdef BOOST_LOG_USE_CHAR
-template< >
-struct char_constants< char >
-{
- typedef char char_type;
- typedef std::basic_string< char_type > string_type;
- typedef boost::log::basic_string_literal< char_type > literal_type;
-
- static const char_type char_comment = '#';
- static const char_type char_comma = ',';
- static const char_type char_dot = '.';
- static const char_type char_quote = '"';
- static const char_type char_percent = '%';
- static const char_type char_exclamation = '!';
- static const char_type char_and = '&';
- static const char_type char_or = '|';
- static const char_type char_equal = '=';
- static const char_type char_greater = '>';
- static const char_type char_less = '<';
- static const char_type char_underline = '_';
- static const char_type char_backslash = '\\';
- static const char_type char_section_bracket_left = '[';
- static const char_type char_section_bracket_right = ']';
- static const char_type char_paren_bracket_left = '(';
- static const char_type char_paren_bracket_right = ')';
-
- static const char_type* not_keyword() { return "not"; }
- static const char_type* and_keyword() { return "and"; }
- static const char_type* or_keyword() { return "or"; }
- static const char_type* equal_keyword() { return "="; }
- static const char_type* greater_keyword() { return ">"; }
- static const char_type* less_keyword() { return "<"; }
- static const char_type* not_equal_keyword() { return "!="; }
- static const char_type* greater_or_equal_keyword() { return ">="; }
- static const char_type* less_or_equal_keyword() { return "<="; }
- static const char_type* begins_with_keyword() { return "begins_with"; }
- static const char_type* ends_with_keyword() { return "ends_with"; }
- static const char_type* contains_keyword() { return "contains"; }
- static const char_type* matches_keyword() { return "matches"; }
-
- static const char_type* message_text_keyword() { return "_"; }
-
- static literal_type true_keyword() { return literal_type("true"); }
- static literal_type false_keyword() { return literal_type("false"); }
-
- static const char_type* default_level_attribute_name() { return "Severity"; }
-
- static const char_type* core_section_name() { return "Core"; }
- static const char_type* sink_section_name_prefix() { return "Sink:"; }
-
- static const char_type* core_disable_logging_param_name() { return "DisableLogging"; }
- static const char_type* filter_param_name() { return "Filter"; }
-
- static const char_type* sink_destination_param_name() { return "Destination"; }
- static const char_type* file_name_param_name() { return "FileName"; }
- static const char_type* rotation_size_param_name() { return "RotationSize"; }
- static const char_type* rotation_interval_param_name() { return "RotationInterval"; }
- static const char_type* rotation_time_point_param_name() { return "RotationTimePoint"; }
- static const char_type* append_param_name() { return "Append"; }
- static const char_type* enable_final_rotation_param_name() { return "EnableFinalRotation"; }
- static const char_type* auto_flush_param_name() { return "AutoFlush"; }
- static const char_type* asynchronous_param_name() { return "Asynchronous"; }
- static const char_type* format_param_name() { return "Format"; }
- static const char_type* provider_id_param_name() { return "ProviderID"; }
- static const char_type* log_name_param_name() { return "LogName"; }
- static const char_type* source_name_param_name() { return "LogSource"; }
- static const char_type* registration_param_name() { return "Registration"; }
- static const char_type* local_address_param_name() { return "LocalAddress"; }
- static const char_type* target_address_param_name() { return "TargetAddress"; }
- static const char_type* target_param_name() { return "Target"; }
- static const char_type* max_size_param_name() { return "MaxSize"; }
- static const char_type* max_files_param_name() { return "MaxFiles"; }
- static const char_type* min_free_space_param_name() { return "MinFreeSpace"; }
- static const char_type* scan_for_files_param_name() { return "ScanForFiles"; }
-
- static const char_type* scan_method_all() { return "All"; }
- static const char_type* scan_method_matching() { return "Matching"; }
-
- static const char_type* registration_never() { return "Never"; }
- static const char_type* registration_on_demand() { return "OnDemand"; }
- static const char_type* registration_forced() { return "Forced"; }
-
- static const char_type* text_file_destination() { return "TextFile"; }
- static const char_type* console_destination() { return "Console"; }
- static const char_type* syslog_destination() { return "Syslog"; }
- static const char_type* simple_event_log_destination() { return "SimpleEventLog"; }
- static const char_type* debugger_destination() { return "Debugger"; }
-
- static literal_type monday_keyword() { return literal_type("Monday"); }
- static literal_type short_monday_keyword() { return literal_type("Mon"); }
- static literal_type tuesday_keyword() { return literal_type("Tuesday"); }
- static literal_type short_tuesday_keyword() { return literal_type("Tue"); }
- static literal_type wednesday_keyword() { return literal_type("Wednesday"); }
- static literal_type short_wednesday_keyword() { return literal_type("Wed"); }
- static literal_type thursday_keyword() { return literal_type("Thursday"); }
- static literal_type short_thursday_keyword() { return literal_type("Thu"); }
- static literal_type friday_keyword() { return literal_type("Friday"); }
- static literal_type short_friday_keyword() { return literal_type("Fri"); }
- static literal_type saturday_keyword() { return literal_type("Saturday"); }
- static literal_type short_saturday_keyword() { return literal_type("Sat"); }
- static literal_type sunday_keyword() { return literal_type("Sunday"); }
- static literal_type short_sunday_keyword() { return literal_type("Sun"); }
-
- static std::ostream& get_console_log_stream() { return std::clog; }
-
- static int to_number(char_type c)
- {
- using namespace std; // to make sure we can use C functions unqualified
- int n = 0;
- if (isdigit(c))
- n = c - '0';
- else if (c >= 'a' && c <= 'f')
- n = c - 'a' + 10;
- else if (c >= 'A' && c <= 'F')
- n = c - 'A' + 10;
- return n;
- }
-
- //! Skips spaces in the beginning of the input
- static const char_type* trim_spaces_left(const char_type* begin, const char_type* end);
- //! Skips spaces in the end of the input
- static const char_type* trim_spaces_right(const char_type* begin, const char_type* end);
- //! Scans for the attribute name placeholder in the input
- static const char_type* scan_attr_placeholder(const char_type* begin, const char_type* end);
- //! Parses an operand string (possibly quoted) from the input
- static const char_type* parse_operand(const char_type* begin, const char_type* end, string_type& operand);
- //! Converts escape sequences to the corresponding characters
- static void translate_escape_sequences(string_type& str);
-};
-#endif
-
-#ifdef BOOST_LOG_USE_WCHAR_T
-template< >
-struct char_constants< wchar_t >
-{
- typedef wchar_t char_type;
- typedef std::basic_string< char_type > string_type;
- typedef boost::log::basic_string_literal< char_type > literal_type;
-
- static const char_type char_comment = L'#';
- static const char_type char_comma = L',';
- static const char_type char_dot = L'.';
- static const char_type char_quote = L'"';
- static const char_type char_percent = L'%';
- static const char_type char_exclamation = L'!';
- static const char_type char_and = L'&';
- static const char_type char_or = L'|';
- static const char_type char_equal = L'=';
- static const char_type char_greater = L'>';
- static const char_type char_less = L'<';
- static const char_type char_underline = L'_';
- static const char_type char_backslash = L'\\';
- static const char_type char_section_bracket_left = L'[';
- static const char_type char_section_bracket_right = L']';
- static const char_type char_paren_bracket_left = L'(';
- static const char_type char_paren_bracket_right = L')';
-
- static const char_type* not_keyword() { return L"not"; }
- static const char_type* and_keyword() { return L"and"; }
- static const char_type* or_keyword() { return L"or"; }
- static const char_type* equal_keyword() { return L"="; }
- static const char_type* greater_keyword() { return L">"; }
- static const char_type* less_keyword() { return L"<"; }
- static const char_type* not_equal_keyword() { return L"!="; }
- static const char_type* greater_or_equal_keyword() { return L">="; }
- static const char_type* less_or_equal_keyword() { return L"<="; }
- static const char_type* begins_with_keyword() { return L"begins_with"; }
- static const char_type* ends_with_keyword() { return L"ends_with"; }
- static const char_type* contains_keyword() { return L"contains"; }
- static const char_type* matches_keyword() { return L"matches"; }
-
- static const char_type* message_text_keyword() { return L"_"; }
-
- static literal_type true_keyword() { return literal_type(L"true"); }
- static literal_type false_keyword() { return literal_type(L"false"); }
-
- static const char_type* default_level_attribute_name() { return L"Severity"; }
-
- static const char_type* core_section_name() { return L"Core"; }
- static const char_type* sink_section_name_prefix() { return L"Sink:"; }
-
- static const char_type* core_disable_logging_param_name() { return L"DisableLogging"; }
- static const char_type* filter_param_name() { return L"Filter"; }
-
- static const char_type* sink_destination_param_name() { return L"Destination"; }
- static const char_type* file_name_param_name() { return L"FileName"; }
- static const char_type* rotation_size_param_name() { return L"RotationSize"; }
- static const char_type* rotation_interval_param_name() { return L"RotationInterval"; }
- static const char_type* rotation_time_point_param_name() { return L"RotationTimePoint"; }
- static const char_type* append_param_name() { return L"Append"; }
- static const char_type* enable_final_rotation_param_name() { return L"EnableFinalRotation"; }
- static const char_type* auto_flush_param_name() { return L"AutoFlush"; }
- static const char_type* asynchronous_param_name() { return L"Asynchronous"; }
- static const char_type* format_param_name() { return L"Format"; }
- static const char_type* provider_id_param_name() { return L"ProviderID"; }
- static const char_type* log_name_param_name() { return L"LogName"; }
- static const char_type* source_name_param_name() { return L"LogSource"; }
- static const char_type* registration_param_name() { return L"Registration"; }
- static const char_type* local_address_param_name() { return L"LocalAddress"; }
- static const char_type* target_address_param_name() { return L"TargetAddress"; }
- static const char_type* target_param_name() { return L"Target"; }
- static const char_type* max_size_param_name() { return L"MaxSize"; }
- static const char_type* max_files_param_name() { return L"MaxFiles"; }
- static const char_type* min_free_space_param_name() { return L"MinFreeSpace"; }
- static const char_type* scan_for_files_param_name() { return L"ScanForFiles"; }
-
- static const char_type* scan_method_all() { return L"All"; }
- static const char_type* scan_method_matching() { return L"Matching"; }
-
- static const char_type* registration_never() { return L"Never"; }
- static const char_type* registration_on_demand() { return L"OnDemand"; }
- static const char_type* registration_forced() { return L"Forced"; }
-
- static const char_type* text_file_destination() { return L"TextFile"; }
- static const char_type* console_destination() { return L"Console"; }
- static const char_type* syslog_destination() { return L"Syslog"; }
- static const char_type* simple_event_log_destination() { return L"SimpleEventLog"; }
- static const char_type* debugger_destination() { return L"Debugger"; }
-
- static literal_type monday_keyword() { return literal_type(L"Monday"); }
- static literal_type short_monday_keyword() { return literal_type(L"Mon"); }
- static literal_type tuesday_keyword() { return literal_type(L"Tuesday"); }
- static literal_type short_tuesday_keyword() { return literal_type(L"Tue"); }
- static literal_type wednesday_keyword() { return literal_type(L"Wednesday"); }
- static literal_type short_wednesday_keyword() { return literal_type(L"Wed"); }
- static literal_type thursday_keyword() { return literal_type(L"Thursday"); }
- static literal_type short_thursday_keyword() { return literal_type(L"Thu"); }
- static literal_type friday_keyword() { return literal_type(L"Friday"); }
- static literal_type short_friday_keyword() { return literal_type(L"Fri"); }
- static literal_type saturday_keyword() { return literal_type(L"Saturday"); }
- static literal_type short_saturday_keyword() { return literal_type(L"Sat"); }
- static literal_type sunday_keyword() { return literal_type(L"Sunday"); }
- static literal_type short_sunday_keyword() { return literal_type(L"Sun"); }
-
- static std::wostream& get_console_log_stream() { return std::wclog; }
-
- static int to_number(char_type c)
- {
- int n = 0;
- if (c >= L'0' && c <= L'9')
- n = c - L'0';
- else if (c >= L'a' && c <= L'f')
- n = c - L'a' + 10;
- else if (c >= L'A' && c <= L'F')
- n = c - L'A' + 10;
- return n;
- }
-
- static bool iswxdigit(char_type c)
- {
- return (c >= L'0' && c <= L'9') || (c >= L'a' && c <= L'f') || (c >= L'A' && c <= L'F');
- }
-
- //! Skips spaces in the beginning of the input
- static const char_type* trim_spaces_left(const char_type* begin, const char_type* end);
- //! Skips spaces in the end of the input
- static const char_type* trim_spaces_right(const char_type* begin, const char_type* end);
- //! Scans for the attribute name placeholder in the input
- static const char_type* scan_attr_placeholder(const char_type* begin, const char_type* end);
- //! Parses an operand string (possibly quoted) from the input
- static const char_type* parse_operand(const char_type* begin, const char_type* end, string_type& operand);
- //! Converts escape sequences to the corresponding characters
- static void translate_escape_sequences(string_type& str);
-};
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_PARSER_UTILS_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/libs/log/src/setup/settings_parser.cpp b/contrib/restricted/boost/libs/log/src/setup/settings_parser.cpp
deleted file mode 100644
index d0ebe6fede..0000000000
--- a/contrib/restricted/boost/libs/log/src/setup/settings_parser.cpp
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file settings_parser.cpp
- * \author Andrey Semashev
- * \date 20.07.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_WITHOUT_SETTINGS_PARSERS
-
-#include <boost/log/detail/setup_config.hpp>
-#include <string>
-#include <locale>
-#include <iostream>
-#include <stdexcept>
-#include <algorithm>
-#include <boost/throw_exception.hpp>
-#include <boost/exception/exception.hpp>
-#include <boost/exception/info.hpp>
-#include <boost/exception/errinfo_at_line.hpp>
-#include <boost/io/ios_state.hpp>
-#include <boost/move/core.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/log/detail/code_conversion.hpp>
-#include <boost/log/utility/setup/settings_parser.hpp>
-#include <boost/log/exceptions.hpp>
-#include "parser_utils.hpp"
-#include "spirit_encoding.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! Settings parser
-template< typename CharT >
-class settings_parser
-{
-private:
- typedef CharT char_type;
- typedef const char_type* iterator_type;
- typedef typename log::aux::encoding< char_type >::type encoding;
- typedef settings_parser< char_type > this_type;
-
- typedef std::basic_string< char_type > string_type;
- typedef log::aux::char_constants< char_type > constants;
- typedef basic_settings< char_type > settings_type;
-
-private:
- //! Current section name
- std::string m_SectionName;
- //! Current parameter name
- std::string m_ParameterName;
- //! Settings instance
- settings_type& m_Settings;
- //! Locale from the source stream
- std::locale m_Locale;
- //! Current line number
- unsigned int& m_LineCounter;
-
-public:
- //! Constructor
- explicit settings_parser(settings_type& setts, unsigned int& line_counter, std::locale const& loc) :
- m_Settings(setts),
- m_Locale(loc),
- m_LineCounter(line_counter)
- {
- }
-
- //! Parses a line of the input
- void parse_line(iterator_type& begin, iterator_type end)
- {
- iterator_type p = begin;
- p = constants::trim_spaces_left(p, end);
- if (p != end)
- {
- char_type c = *p;
- if (c == constants::char_section_bracket_left)
- {
- // We have a section name
- iterator_type start = ++p;
- start = constants::trim_spaces_left(start, end);
- iterator_type stop = std::find(start, end, constants::char_section_bracket_right);
- if (stop == end)
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "Section header is invalid", (m_LineCounter));
-
- p = stop + 1;
- stop = constants::trim_spaces_right(start, stop);
-
- set_section_name(start, stop);
- }
- else if (c != constants::char_comment)
- {
- // We have a parameter
- iterator_type eq = std::find(p, end, constants::char_equal);
- if (eq == end)
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "Parameter description is invalid", (m_LineCounter));
-
- // Parameter name
- set_parameter_name(p, constants::trim_spaces_right(p, eq));
-
- // Parameter value
- p = constants::trim_spaces_left(eq + 1, end);
- if (p == end || *p == constants::char_comment)
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "Parameter value is not specified", (m_LineCounter));
-
- try
- {
- string_type value;
- p = constants::parse_operand(p, end, value);
- set_parameter_value(value);
- }
- catch (parse_error& e)
- {
- throw boost::enable_error_info(e) << boost::errinfo_at_line(m_LineCounter);
- }
- }
-
- // In the end of the line we may have a comment
- p = constants::trim_spaces_left(p, end);
- if (p != end)
- {
- c = *p;
- if (c == constants::char_comment)
- {
- // The comment spans until the end of the line
- p = end;
- }
- else
- {
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "Unexpected characters in the end of the line", (m_LineCounter));
- }
- }
- }
-
- begin = p;
- }
-
-private:
- //! The method sets the parsed section name
- void set_section_name(iterator_type begin, iterator_type end)
- {
- // Check that the section name is valid
- if (begin == end)
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "Section name is empty", (m_LineCounter));
-
- for (iterator_type p = begin; p != end; ++p)
- {
- char_type c = *p;
- if (c != constants::char_dot && !encoding::isalnum(c))
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "Section name is invalid", (m_LineCounter));
- }
-
- m_SectionName = log::aux::to_narrow(string_type(begin, end), m_Locale);
-
- // For compatibility with Boost.Log v1, we replace the "Sink:" prefix with "Sinks."
- // so that all sink parameters are placed in the common Sinks section.
- if (m_SectionName.compare(0, 5, "Sink:") == 0)
- m_SectionName = "Sinks." + m_SectionName.substr(5);
- }
-
- //! The method sets the parsed parameter name
- void set_parameter_name(iterator_type begin, iterator_type end)
- {
- if (m_SectionName.empty())
- {
- // The parameter encountered before any section starter
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "Parameters are only allowed within sections", (m_LineCounter));
- }
-
- // Check that the parameter name is valid
- if (begin == end)
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "Parameter name is empty", (m_LineCounter));
-
- iterator_type p = begin;
- if (!encoding::isalpha(*p))
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "Parameter name is invalid", (m_LineCounter));
- for (++p; p != end; ++p)
- {
- char_type c = *p;
- if (!encoding::isgraph(c))
- BOOST_LOG_THROW_DESCR_PARAMS(parse_error, "Parameter name is invalid", (m_LineCounter));
- }
-
- m_ParameterName = log::aux::to_narrow(string_type(begin, end), m_Locale);
- }
-
- //! The method sets the parsed parameter value (non-quoted)
- void set_parameter_value(string_type const& value)
- {
- m_Settings[m_SectionName][m_ParameterName] = value;
- m_ParameterName.clear();
- }
-
- // Assignment and copying are prohibited
- BOOST_DELETED_FUNCTION(settings_parser(settings_parser const&))
- BOOST_DELETED_FUNCTION(settings_parser& operator= (settings_parser const&))
-};
-
-} // namespace
-
-//! The function parses library settings from an input stream
-template< typename CharT >
-BOOST_LOG_SETUP_API basic_settings< CharT > parse_settings(std::basic_istream< CharT >& strm)
-{
- typedef CharT char_type;
- typedef std::basic_string< char_type > string_type;
- typedef settings_parser< char_type > settings_parser_type;
- typedef basic_settings< char_type > settings_type;
-
- if (!strm.good())
- BOOST_THROW_EXCEPTION(std::invalid_argument("The input stream for parsing settings is not valid"));
-
- io::basic_ios_exception_saver< char_type > exceptions_guard(strm, std::ios_base::badbit);
-
- // Engage parsing
- settings_type settings;
- unsigned int line_number = 1;
- std::locale loc = strm.getloc();
- settings_parser_type parser(settings, line_number, loc);
-
- string_type line;
- while (!strm.eof())
- {
- std::getline(strm, line);
-
- const char_type* p = line.c_str();
- parser.parse_line(p, p + line.size());
-
- line.clear();
- ++line_number;
- }
-
- return BOOST_LOG_NRVO_RESULT(settings);
-}
-
-
-#ifdef BOOST_LOG_USE_CHAR
-template BOOST_LOG_SETUP_API basic_settings< char > parse_settings< char >(std::basic_istream< char >& strm);
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-template BOOST_LOG_SETUP_API basic_settings< wchar_t > parse_settings< wchar_t >(std::basic_istream< wchar_t >& strm);
-#endif
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_WITHOUT_SETTINGS_PARSERS
diff --git a/contrib/restricted/boost/libs/log/src/severity_level.cpp b/contrib/restricted/boost/libs/log/src/severity_level.cpp
deleted file mode 100644
index 25b7c7d548..0000000000
--- a/contrib/restricted/boost/libs/log/src/severity_level.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file severity_level.cpp
- * \author Andrey Semashev
- * \date 10.05.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/log/sources/severity_feature.hpp>
-
-#if !defined(BOOST_LOG_NO_THREADS) && !defined(BOOST_LOG_USE_COMPILER_TLS)
-#include <boost/bind.hpp>
-#include <boost/checked_delete.hpp>
-#include <boost/thread/thread.hpp> // at_thread_exit
-#include <boost/log/detail/singleton.hpp>
-#include <boost/log/detail/thread_specific.hpp>
-#endif
-#include "unique_ptr.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sources {
-
-namespace aux {
-
-#if defined(BOOST_LOG_NO_THREADS)
-
-static uintmax_t g_Severity = 0;
-
-#elif defined(BOOST_LOG_USE_COMPILER_TLS)
-
-static BOOST_LOG_TLS uintmax_t g_Severity = 0;
-
-#else
-
-//! Severity level storage class
-class severity_level_holder :
- public boost::log::aux::lazy_singleton< severity_level_holder, boost::log::aux::thread_specific< uintmax_t* > >
-{
-};
-
-#endif
-
-
-#if !defined(BOOST_LOG_NO_THREADS) && !defined(BOOST_LOG_USE_COMPILER_TLS)
-
-//! The method returns the severity level for the current thread
-BOOST_LOG_API uintmax_t& get_severity_level()
-{
- boost::log::aux::thread_specific< uintmax_t* >& tss = severity_level_holder::get();
- uintmax_t* p = tss.get();
- if (BOOST_UNLIKELY(!p))
- {
- log::aux::unique_ptr< uintmax_t > ptr(new uintmax_t(0));
- tss.set(ptr.get());
- p = ptr.release();
- boost::this_thread::at_thread_exit(boost::bind(checked_deleter< uintmax_t >(), p));
- }
- return *p;
-}
-
-#else // !defined(BOOST_LOG_NO_THREADS) && !defined(BOOST_LOG_USE_COMPILER_TLS)
-
-//! The method returns the severity level for the current thread
-BOOST_LOG_API uintmax_t& get_severity_level()
-{
- return g_Severity;
-}
-
-#endif // !defined(BOOST_LOG_NO_THREADS) && !defined(BOOST_LOG_USE_COMPILER_TLS)
-
-} // namespace aux
-
-} // namespace sources
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/spirit_encoding.cpp b/contrib/restricted/boost/libs/log/src/spirit_encoding.cpp
deleted file mode 100644
index 1222435ee0..0000000000
--- a/contrib/restricted/boost/libs/log/src/spirit_encoding.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file spirit_encoding.cpp
- * \author Andrey Semashev
- * \date 20.07.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/preprocessor/seq/for_each.hpp>
-#include "spirit_encoding.hpp"
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-#define BOOST_LOG_DEFINE_CHARSET_PARSER(r, charset, parser)\
- BOOST_LOG_API encoding_specific< spirit::char_encoding::charset >::BOOST_PP_TUPLE_ELEM(2, 0, parser) const&\
- encoding_specific< spirit::char_encoding::charset >::BOOST_PP_TUPLE_ELEM(2, 1, parser) =\
- spirit::charset::BOOST_PP_TUPLE_ELEM(2, 1, parser);
-
-#define BOOST_LOG_DEFINE_CHARSET_PARSERS(charset)\
- BOOST_PP_SEQ_FOR_EACH(BOOST_LOG_DEFINE_CHARSET_PARSER, charset, BOOST_LOG_CHARSET_PARSERS)
-
-BOOST_LOG_DEFINE_CHARSET_PARSERS(standard)
-BOOST_LOG_DEFINE_CHARSET_PARSERS(standard_wide)
-
-#undef BOOST_LOG_DEFINE_CHARSET_PARSERS
-#undef BOOST_LOG_DEFINE_CHARSET_PARSER
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/spirit_encoding.hpp b/contrib/restricted/boost/libs/log/src/spirit_encoding.hpp
deleted file mode 100644
index 654290788a..0000000000
--- a/contrib/restricted/boost/libs/log/src/spirit_encoding.hpp
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file spirit_encoding.hpp
- * \author Andrey Semashev
- * \date 20.07.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_SPIRIT_ENCODING_HPP_INCLUDED_
-#define BOOST_LOG_SPIRIT_ENCODING_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/preprocessor/seq/for_each.hpp>
-#include <boost/spirit/include/support_standard.hpp>
-#include <boost/spirit/include/support_standard_wide.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-template< typename >
-struct encoding;
-
-template< >
-struct encoding< char >
-{
- typedef spirit::char_encoding::standard type;
-};
-template< >
-struct encoding< wchar_t >
-{
- typedef spirit::char_encoding::standard_wide type;
-};
-
-//! A simple trait that allows to use charset-specific Qi parsers in a generic way
-template< typename EncodingT >
-struct encoding_specific;
-
-#define BOOST_LOG_CHARSET_PARSERS\
- ((char_type, char_))\
- ((string_type, string))\
- ((alnum_type, alnum))\
- ((alpha_type, alpha))\
- ((blank_type, blank))\
- ((cntrl_type, cntrl))\
- ((digit_type, digit))\
- ((graph_type, graph))\
- ((print_type, print))\
- ((punct_type, punct))\
- ((space_type, space))\
- ((xdigit_type, xdigit))\
- ((no_case_type, no_case))\
- ((lower_type, lower))\
- ((upper_type, upper))\
- ((lowernum_type, lowernum))\
- ((uppernum_type, uppernum))
-
-#define BOOST_LOG_DECLARE_CHARSET_PARSER(r, charset, parser)\
- typedef spirit::charset::BOOST_PP_TUPLE_ELEM(2, 0, parser) BOOST_PP_TUPLE_ELEM(2, 0, parser);\
- BOOST_LOG_API static BOOST_PP_TUPLE_ELEM(2, 0, parser) const& BOOST_PP_TUPLE_ELEM(2, 1, parser);
-
-#define BOOST_LOG_DECLARE_CHARSET_PARSERS(charset)\
- BOOST_PP_SEQ_FOR_EACH(BOOST_LOG_DECLARE_CHARSET_PARSER, charset, BOOST_LOG_CHARSET_PARSERS)
-
-template< >
-struct encoding_specific< spirit::char_encoding::standard >
-{
- BOOST_LOG_DECLARE_CHARSET_PARSERS(standard)
-};
-
-template< >
-struct encoding_specific< spirit::char_encoding::standard_wide >
-{
- BOOST_LOG_DECLARE_CHARSET_PARSERS(standard_wide)
-};
-
-#undef BOOST_LOG_DECLARE_CHARSET_PARSERS
-#undef BOOST_LOG_DECLARE_CHARSET_PARSER
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_SPIRIT_ENCODING_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/libs/log/src/stateless_allocator.hpp b/contrib/restricted/boost/libs/log/src/stateless_allocator.hpp
deleted file mode 100644
index 3377f0831b..0000000000
--- a/contrib/restricted/boost/libs/log/src/stateless_allocator.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file stateless_allocator.hpp
- * \author Andrey Semashev
- * \date 11.02.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_STATELESS_ALLOCATOR_HPP_INCLUDED_
-#define BOOST_LOG_STATELESS_ALLOCATOR_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-#include <cstddef>
-#include <cstdlib>
-#include <memory>
-#include <boost/log/detail/header.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-#if defined(_STLPORT_VERSION)
-
-#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
-
-template< typename T >
-using stateless_allocator = std::allocator< T >;
-
-#else
-
-template< typename T >
-struct stateless_allocator :
- public std::allocator< T >
-{
-};
-
-#endif
-
-#else
-
-template< typename T >
-struct stateless_allocator
-{
- template< typename U >
- struct rebind
- {
- typedef stateless_allocator< U > other;
- };
-
- typedef T value_type;
- typedef value_type* pointer;
- typedef value_type const* const_pointer;
- typedef value_type& reference;
- typedef value_type const& const_reference;
- typedef std::size_t size_type;
- typedef std::ptrdiff_t difference_type;
-
- static pointer allocate(size_type n, const void* = NULL)
- {
- pointer p = static_cast< pointer >(std::malloc(n * sizeof(value_type)));
- if (p)
- return p;
- else
- throw std::bad_alloc();
- }
- static void deallocate(pointer p, size_type)
- {
- std::free(p);
- }
-};
-
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_STATELESS_ALLOCATOR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/libs/log/src/syslog_backend.cpp b/contrib/restricted/boost/libs/log/src/syslog_backend.cpp
deleted file mode 100644
index a1202be3f0..0000000000
--- a/contrib/restricted/boost/libs/log/src/syslog_backend.cpp
+++ /dev/null
@@ -1,594 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file syslog_backend.cpp
- * \author Andrey Semashev
- * \date 08.01.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_WITHOUT_SYSLOG
-
-#include <boost/log/detail/config.hpp>
-#include <ctime>
-#include <algorithm>
-#include <stdexcept>
-#include <boost/limits.hpp>
-#include <boost/assert.hpp>
-#include <boost/smart_ptr/weak_ptr.hpp>
-#include <boost/smart_ptr/shared_ptr.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/throw_exception.hpp>
-#if !defined(BOOST_LOG_NO_ASIO)
-#include <boost/asio/buffer.hpp>
-#include <boost/asio/socket_base.hpp>
-#include <boost/asio/io_service.hpp>
-#include <boost/asio/ip/udp.hpp>
-#include <boost/asio/ip/address.hpp>
-#include <boost/asio/ip/host_name.hpp>
-#endif
-#include <boost/system/error_code.hpp>
-#include <boost/date_time/c_time.hpp>
-#include <boost/log/sinks/syslog_backend.hpp>
-#include <boost/log/sinks/syslog_constants.hpp>
-#include <boost/log/detail/singleton.hpp>
-#include <boost/log/detail/snprintf.hpp>
-#include <boost/log/exceptions.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/thread/locks.hpp>
-#include <boost/thread/mutex.hpp>
-#endif
-#include "unique_ptr.hpp"
-
-#ifdef BOOST_LOG_USE_NATIVE_SYSLOG
-#include <syslog.h>
-#endif // BOOST_LOG_USE_NATIVE_SYSLOG
-
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-namespace syslog {
-
- //! The function constructs log record level from an integer
- BOOST_LOG_API level make_level(int lev)
- {
- if (static_cast< unsigned int >(lev) >= 8)
- BOOST_THROW_EXCEPTION(std::out_of_range("syslog level value is out of range"));
- return static_cast< level >(lev);
- }
-
- //! The function constructs log source facility from an integer
- BOOST_LOG_API facility make_facility(int fac)
- {
- if ((static_cast< unsigned int >(fac) & 7U) != 0
- || static_cast< unsigned int >(fac) > (23U * 8U))
- {
- BOOST_THROW_EXCEPTION(std::out_of_range("syslog facility code value is out of range"));
- }
- return static_cast< facility >(fac);
- }
-
-} // namespace syslog
-
-////////////////////////////////////////////////////////////////////////////////
-//! Syslog sink backend implementation
-////////////////////////////////////////////////////////////////////////////////
-struct syslog_backend::implementation
-{
-#ifdef BOOST_LOG_USE_NATIVE_SYSLOG
- struct native;
-#endif // BOOST_LOG_USE_NATIVE_SYSLOG
-#if !defined(BOOST_LOG_NO_ASIO)
- struct udp_socket_based;
-#endif
-
- //! Level mapper
- severity_mapper_type m_LevelMapper;
-
- //! Logging facility (portable or native, depending on the backend implementation)
- const int m_Facility;
-
- //! Constructor
- explicit implementation(int facility) :
- m_Facility(facility)
- {
- }
- //! Virtual destructor
- virtual ~implementation() {}
-
- //! The method sends the formatted message to the syslog host
- virtual void send(syslog::level lev, string_type const& formatted_message) = 0;
-};
-
-
-////////////////////////////////////////////////////////////////////////////////
-// Native syslog API support
-////////////////////////////////////////////////////////////////////////////////
-
-#ifdef BOOST_LOG_USE_NATIVE_SYSLOG
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
- //! Syslog service initializer (implemented as a weak singleton)
-#if !defined(BOOST_LOG_NO_THREADS)
- class native_syslog_initializer :
- private log::aux::lazy_singleton< native_syslog_initializer, mutex >
-#else
- class native_syslog_initializer
-#endif
- {
-#if !defined(BOOST_LOG_NO_THREADS)
- friend class log::aux::lazy_singleton< native_syslog_initializer, mutex >;
- typedef log::aux::lazy_singleton< native_syslog_initializer, mutex > mutex_holder;
-#endif
-
- public:
- native_syslog_initializer(std::string const& ident, int facility)
- {
- ::openlog((ident.empty() ? static_cast< const char* >(NULL) : ident.c_str()), 0, facility);
- }
- ~native_syslog_initializer()
- {
- ::closelog();
- }
-
- static shared_ptr< native_syslog_initializer > get_instance(std::string const& ident, int facility)
- {
-#if !defined(BOOST_LOG_NO_THREADS)
- lock_guard< mutex > lock(mutex_holder::get());
-#endif
- static weak_ptr< native_syslog_initializer > instance;
- shared_ptr< native_syslog_initializer > p(instance.lock());
- if (!p)
- {
- p = boost::make_shared< native_syslog_initializer >(ident, facility);
- instance = p;
- }
- return p;
- }
- };
-
-} // namespace
-
-struct syslog_backend::implementation::native :
- public implementation
-{
- //! Reference to the syslog service initializer
- const shared_ptr< native_syslog_initializer > m_pSyslogInitializer;
-
- //! Constructor
- native(syslog::facility const& fac, std::string const& ident) :
- implementation(convert_facility(fac)),
- m_pSyslogInitializer(native_syslog_initializer::get_instance(ident, this->m_Facility))
- {
- }
-
- //! The method sends the formatted message to the syslog host
- void send(syslog::level lev, string_type const& formatted_message)
- {
- int native_level;
- switch (lev)
- {
- case syslog::emergency:
- native_level = LOG_EMERG; break;
- case syslog::alert:
- native_level = LOG_ALERT; break;
- case syslog::critical:
- native_level = LOG_CRIT; break;
- case syslog::error:
- native_level = LOG_ERR; break;
- case syslog::warning:
- native_level = LOG_WARNING; break;
- case syslog::notice:
- native_level = LOG_NOTICE; break;
- case syslog::debug:
- native_level = LOG_DEBUG; break;
- default:
- native_level = LOG_INFO; break;
- }
-
- ::syslog(this->m_Facility | native_level, "%s", formatted_message.c_str());
- }
-
-private:
- //! The function converts portable facility codes to the native codes
- static int convert_facility(syslog::facility const& fac)
- {
- // POSIX does not specify anything except for LOG_USER and LOG_LOCAL*
- #ifndef LOG_KERN
- #define LOG_KERN LOG_USER
- #endif
- #ifndef LOG_DAEMON
- #define LOG_DAEMON LOG_KERN
- #endif
- #ifndef LOG_MAIL
- #define LOG_MAIL LOG_USER
- #endif
- #ifndef LOG_AUTH
- #define LOG_AUTH LOG_DAEMON
- #endif
- #ifndef LOG_SYSLOG
- #define LOG_SYSLOG LOG_DAEMON
- #endif
- #ifndef LOG_LPR
- #define LOG_LPR LOG_DAEMON
- #endif
- #ifndef LOG_NEWS
- #define LOG_NEWS LOG_USER
- #endif
- #ifndef LOG_UUCP
- #define LOG_UUCP LOG_USER
- #endif
- #ifndef LOG_CRON
- #define LOG_CRON LOG_DAEMON
- #endif
- #ifndef LOG_AUTHPRIV
- #define LOG_AUTHPRIV LOG_AUTH
- #endif
- #ifndef LOG_FTP
- #define LOG_FTP LOG_DAEMON
- #endif
-
- static const int native_facilities[24] =
- {
- LOG_KERN,
- LOG_USER,
- LOG_MAIL,
- LOG_DAEMON,
- LOG_AUTH,
- LOG_SYSLOG,
- LOG_LPR,
- LOG_NEWS,
- LOG_UUCP,
- LOG_CRON,
- LOG_AUTHPRIV,
- LOG_FTP,
-
- // reserved values
- LOG_USER,
- LOG_USER,
- LOG_USER,
- LOG_USER,
-
- LOG_LOCAL0,
- LOG_LOCAL1,
- LOG_LOCAL2,
- LOG_LOCAL3,
- LOG_LOCAL4,
- LOG_LOCAL5,
- LOG_LOCAL6,
- LOG_LOCAL7
- };
-
- std::size_t n = static_cast< unsigned int >(fac) / 8U;
- BOOST_ASSERT(n < sizeof(native_facilities) / sizeof(*native_facilities));
- return native_facilities[n];
- }
-};
-
-#endif // BOOST_LOG_USE_NATIVE_SYSLOG
-
-
-////////////////////////////////////////////////////////////////////////////////
-// Socket-based implementation
-////////////////////////////////////////////////////////////////////////////////
-
-#if !defined(BOOST_LOG_NO_ASIO)
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
- //! The shared UDP socket
- struct syslog_udp_socket
- {
- private:
- //! The socket primitive
- asio::ip::udp::socket m_Socket;
-
- public:
- //! The constructor creates a socket bound to the specified local address and port
- explicit syslog_udp_socket(asio::io_service& service, asio::ip::udp const& protocol, asio::ip::udp::endpoint const& local_address) :
- m_Socket(service)
- {
- m_Socket.open(protocol);
- m_Socket.set_option(asio::socket_base::reuse_address(true));
- m_Socket.bind(local_address);
- }
- //! The destructor closes the socket
- ~syslog_udp_socket()
- {
- boost::system::error_code ec;
- m_Socket.shutdown(asio::socket_base::shutdown_both, ec);
- m_Socket.close(ec);
- }
-
- //! The method sends the syslog message to the specified endpoint
- void send_message(int pri, const char* local_host_name, asio::ip::udp::endpoint const& target, const char* message);
-
- private:
- syslog_udp_socket(syslog_udp_socket const&);
- syslog_udp_socket& operator= (syslog_udp_socket const&);
- };
-
- //! The class contains the UDP service for syslog sockets to function
- class syslog_udp_service :
- public log::aux::lazy_singleton< syslog_udp_service, shared_ptr< syslog_udp_service > >
- {
- friend class log::aux::lazy_singleton< syslog_udp_service, shared_ptr< syslog_udp_service > >;
- typedef log::aux::lazy_singleton< syslog_udp_service, shared_ptr< syslog_udp_service > > base_type;
-
- public:
- //! The core IO service instance
- asio::io_service m_IOService;
- //! The local host name to put into log message
- std::string m_LocalHostName;
-
-#if !defined(BOOST_LOG_NO_THREADS)
- //! A synchronization primitive to protect the host name resolver
- mutex m_Mutex;
- //! The resolver is used to acquire connection endpoints
- asio::ip::udp::resolver m_HostNameResolver;
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
- private:
- //! Default constructor
- syslog_udp_service()
-#if !defined(BOOST_LOG_NO_THREADS)
- : m_HostNameResolver(m_IOService)
-#endif // !defined(BOOST_LOG_NO_THREADS)
- {
- boost::system::error_code err;
- m_LocalHostName = asio::ip::host_name(err);
- }
- //! Initializes the singleton instance
- static void init_instance()
- {
- base_type::get_instance().reset(new syslog_udp_service());
- }
- };
-
- //! The method sends the syslog message to the specified endpoint
- void syslog_udp_socket::send_message(
- int pri, const char* local_host_name, asio::ip::udp::endpoint const& target, const char* message)
- {
- std::time_t t = std::time(NULL);
- std::tm ts;
- std::tm* time_stamp = boost::date_time::c_time::localtime(&t, &ts);
-
- // Month will have to be injected separately, as involving locale won't do here
- static const char months[12][4] =
- {
- "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
- };
-
- // The packet size is mandated in RFC3164, plus one for the terminating zero
- char packet[1025];
- int n = boost::log::aux::snprintf
- (
- packet,
- sizeof(packet),
- "<%d>%s %2d %02d:%02d:%02d %s %s",
- pri,
- months[time_stamp->tm_mon],
- time_stamp->tm_mday,
- time_stamp->tm_hour,
- time_stamp->tm_min,
- time_stamp->tm_sec,
- local_host_name,
- message
- );
- if (n > 0)
- {
- std::size_t packet_size = static_cast< std::size_t >(n) >= sizeof(packet) ? sizeof(packet) - 1u : static_cast< std::size_t >(n);
- m_Socket.send_to(asio::buffer(packet, packet_size), target);
- }
- }
-
-} // namespace
-
-struct syslog_backend::implementation::udp_socket_based :
- public implementation
-{
- //! Protocol to be used
- asio::ip::udp m_Protocol;
- //! Pointer to the list of sockets
- shared_ptr< syslog_udp_service > m_pService;
- //! Pointer to the socket being used
- log::aux::unique_ptr< syslog_udp_socket > m_pSocket;
- //! The target host to send packets to
- asio::ip::udp::endpoint m_TargetHost;
-
- //! Constructor
- explicit udp_socket_based(syslog::facility const& fac, asio::ip::udp const& protocol) :
- implementation(fac),
- m_Protocol(protocol),
- m_pService(syslog_udp_service::get())
- {
- if (m_Protocol == asio::ip::udp::v4())
- {
- m_TargetHost = asio::ip::udp::endpoint(asio::ip::address_v4(0x7F000001), 514); // 127.0.0.1:514
- }
- else
- {
- // ::1, port 514
- asio::ip::address_v6::bytes_type addr;
- std::fill_n(addr.data(), addr.size() - 1, static_cast< unsigned char >(0));
- addr[addr.size() - 1] = 1;
- m_TargetHost = asio::ip::udp::endpoint(asio::ip::address_v6(addr), 514);
- }
- }
-
- //! The method sends the formatted message to the syslog host
- void send(syslog::level lev, string_type const& formatted_message)
- {
- if (!m_pSocket.get())
- {
- asio::ip::udp::endpoint any_local_address;
- m_pSocket.reset(new syslog_udp_socket(m_pService->m_IOService, m_Protocol, any_local_address));
- }
-
- m_pSocket->send_message(
- this->m_Facility | static_cast< int >(lev),
- m_pService->m_LocalHostName.c_str(),
- m_TargetHost,
- formatted_message.c_str());
- }
-};
-
-#endif // !defined(BOOST_LOG_NO_ASIO)
-
-////////////////////////////////////////////////////////////////////////////////
-// Sink backend implementation
-////////////////////////////////////////////////////////////////////////////////
-BOOST_LOG_API syslog_backend::syslog_backend()
-{
- construct(log::aux::empty_arg_list());
-}
-
-//! Destructor
-BOOST_LOG_API syslog_backend::~syslog_backend()
-{
- delete m_pImpl;
-}
-
-//! The method installs the function object that maps application severity levels to Syslog levels
-BOOST_LOG_API void syslog_backend::set_severity_mapper(severity_mapper_type const& mapper)
-{
- m_pImpl->m_LevelMapper = mapper;
-}
-
-//! The method writes the message to the sink
-BOOST_LOG_API void syslog_backend::consume(record_view const& rec, string_type const& formatted_message)
-{
- m_pImpl->send(
- m_pImpl->m_LevelMapper.empty() ? syslog::info : m_pImpl->m_LevelMapper(rec),
- formatted_message);
-}
-
-
-//! The method creates the backend implementation
-BOOST_LOG_API void syslog_backend::construct(syslog::facility fac, syslog::impl_types use_impl, ip_versions ip_version, std::string const& ident)
-{
-#ifdef BOOST_LOG_USE_NATIVE_SYSLOG
- if (use_impl == syslog::native)
- {
- typedef implementation::native native_impl;
- m_pImpl = new native_impl(fac, ident);
- return;
- }
-#endif // BOOST_LOG_USE_NATIVE_SYSLOG
-
-#if !defined(BOOST_LOG_NO_ASIO)
- typedef implementation::udp_socket_based udp_socket_based_impl;
- switch (ip_version)
- {
- case v4:
- m_pImpl = new udp_socket_based_impl(fac, asio::ip::udp::v4());
- break;
- case v6:
- m_pImpl = new udp_socket_based_impl(fac, asio::ip::udp::v6());
- break;
- default:
- BOOST_LOG_THROW_DESCR(setup_error, "Incorrect IP version specified");
- }
-#endif
-}
-
-#if !defined(BOOST_LOG_NO_ASIO)
-
-//! The method sets the local address which log records will be sent from.
-BOOST_LOG_API void syslog_backend::set_local_address(std::string const& addr, unsigned short port)
-{
-#if !defined(BOOST_LOG_NO_THREADS)
- typedef implementation::udp_socket_based udp_socket_based_impl;
- if (udp_socket_based_impl* impl = dynamic_cast< udp_socket_based_impl* >(m_pImpl))
- {
- char service_name[std::numeric_limits< int >::digits10 + 3];
- boost::log::aux::snprintf(service_name, sizeof(service_name), "%d", static_cast< int >(port));
- asio::ip::udp::resolver::query q(
- impl->m_Protocol,
- addr,
- service_name,
- asio::ip::resolver_query_base::address_configured | asio::ip::resolver_query_base::passive);
- asio::ip::udp::endpoint local_address;
-
- {
- lock_guard< mutex > _(impl->m_pService->m_Mutex);
- local_address = *impl->m_pService->m_HostNameResolver.resolve(q);
- }
-
- impl->m_pSocket.reset(new syslog_udp_socket(impl->m_pService->m_IOService, impl->m_Protocol, local_address));
- }
-#else
- // Boost.ASIO requires threads for the host name resolver,
- // so without threads we simply assume the string already contains IP address
- set_local_address(boost::asio::ip::address::from_string(addr), port);
-#endif // !defined(BOOST_LOG_NO_THREADS)
-}
-//! The method sets the local address which log records will be sent from.
-BOOST_LOG_API void syslog_backend::set_local_address(boost::asio::ip::address const& addr, unsigned short port)
-{
- typedef implementation::udp_socket_based udp_socket_based_impl;
- if (udp_socket_based_impl* impl = dynamic_cast< udp_socket_based_impl* >(m_pImpl))
- {
- impl->m_pSocket.reset(new syslog_udp_socket(
- impl->m_pService->m_IOService, impl->m_Protocol, asio::ip::udp::endpoint(addr, port)));
- }
-}
-
-//! The method sets the address of the remote host where log records will be sent to.
-BOOST_LOG_API void syslog_backend::set_target_address(std::string const& addr, unsigned short port)
-{
-#if !defined(BOOST_LOG_NO_THREADS)
- typedef implementation::udp_socket_based udp_socket_based_impl;
- if (udp_socket_based_impl* impl = dynamic_cast< udp_socket_based_impl* >(m_pImpl))
- {
- char service_name[std::numeric_limits< int >::digits10 + 3];
- boost::log::aux::snprintf(service_name, sizeof(service_name), "%d", static_cast< int >(port));
- asio::ip::udp::resolver::query q(impl->m_Protocol, addr, service_name, asio::ip::resolver_query_base::address_configured);
- asio::ip::udp::endpoint remote_address;
-
- {
- lock_guard< mutex > _(impl->m_pService->m_Mutex);
- remote_address = *impl->m_pService->m_HostNameResolver.resolve(q);
- }
-
- impl->m_TargetHost = remote_address;
- }
-#else
- // Boost.ASIO requires threads for the host name resolver,
- // so without threads we simply assume the string already contains IP address
- set_target_address(boost::asio::ip::address::from_string(addr), port);
-#endif // !defined(BOOST_LOG_NO_THREADS)
-}
-//! The method sets the address of the remote host where log records will be sent to.
-BOOST_LOG_API void syslog_backend::set_target_address(boost::asio::ip::address const& addr, unsigned short port)
-{
- typedef implementation::udp_socket_based udp_socket_based_impl;
- if (udp_socket_based_impl* impl = dynamic_cast< udp_socket_based_impl* >(m_pImpl))
- {
- impl->m_TargetHost = asio::ip::udp::endpoint(addr, port);
- }
-}
-
-#endif // !defined(BOOST_LOG_NO_ASIO)
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // !defined(BOOST_LOG_WITHOUT_SYSLOG)
diff --git a/contrib/restricted/boost/libs/log/src/text_file_backend.cpp b/contrib/restricted/boost/libs/log/src/text_file_backend.cpp
deleted file mode 100644
index 061f5c8e9d..0000000000
--- a/contrib/restricted/boost/libs/log/src/text_file_backend.cpp
+++ /dev/null
@@ -1,1445 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file text_file_backend.cpp
- * \author Andrey Semashev
- * \date 09.06.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <ctime>
-#include <cctype>
-#include <cwctype>
-#include <ctime>
-#include <cstdio>
-#include <cstdlib>
-#include <cstddef>
-#include <list>
-#include <string>
-#include <locale>
-#include <ostream>
-#include <sstream>
-#include <iterator>
-#include <algorithm>
-#include <stdexcept>
-#include <boost/ref.hpp>
-#include <boost/bind.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/smart_ptr/make_shared_object.hpp>
-#include <boost/enable_shared_from_this.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/system/error_code.hpp>
-#include <boost/system/system_error.hpp>
-#include <boost/filesystem/path.hpp>
-#include <boost/filesystem/fstream.hpp>
-#include <boost/filesystem/operations.hpp>
-#include <boost/filesystem/convenience.hpp>
-#include <boost/intrusive/list.hpp>
-#include <boost/intrusive/list_hook.hpp>
-#include <boost/intrusive/options.hpp>
-#include <boost/date_time/posix_time/posix_time.hpp>
-#include <boost/date_time/gregorian/gregorian_types.hpp>
-#include <boost/spirit/home/qi/numeric/numeric_utils.hpp>
-#include <boost/log/detail/singleton.hpp>
-#include <boost/log/detail/light_function.hpp>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/attributes/time_traits.hpp>
-#include <boost/log/sinks/text_file_backend.hpp>
-#include "unique_ptr.hpp"
-
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/thread/locks.hpp>
-#include <boost/thread/mutex.hpp>
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
-#include <boost/log/detail/header.hpp>
-
-namespace qi = boost::spirit::qi;
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
- typedef filesystem::filesystem_error filesystem_error;
-
- //! A possible Boost.Filesystem extension - renames or moves the file to the target storage
- inline void move_file(
- filesystem::path const& from,
- filesystem::path const& to)
- {
-#if defined(BOOST_WINDOWS_API)
- // On Windows MoveFile already does what we need
- filesystem::rename(from, to);
-#else
- // On POSIX rename fails if the target points to a different device
- system::error_code ec;
- filesystem::rename(from, to, ec);
- if (ec)
- {
- if (ec.value() == system::errc::cross_device_link)
- {
- // Attempt to manually move the file instead
- filesystem::copy_file(from, to);
- filesystem::remove(from);
- }
- else
- {
- BOOST_THROW_EXCEPTION(filesystem_error("failed to move file to another location", from, to, ec));
- }
- }
-#endif
- }
-
- typedef filesystem::path::string_type path_string_type;
- typedef path_string_type::value_type path_char_type;
-
- //! An auxiliary traits that contain various constants and functions regarding string and character operations
- template< typename CharT >
- struct file_char_traits;
-
- template< >
- struct file_char_traits< char >
- {
- typedef char char_type;
-
- static const char_type percent = '%';
- static const char_type number_placeholder = 'N';
- static const char_type day_placeholder = 'd';
- static const char_type month_placeholder = 'm';
- static const char_type year_placeholder = 'y';
- static const char_type full_year_placeholder = 'Y';
- static const char_type frac_sec_placeholder = 'f';
- static const char_type seconds_placeholder = 'S';
- static const char_type minutes_placeholder = 'M';
- static const char_type hours_placeholder = 'H';
- static const char_type space = ' ';
- static const char_type plus = '+';
- static const char_type minus = '-';
- static const char_type zero = '0';
- static const char_type dot = '.';
- static const char_type newline = '\n';
-
- static bool is_digit(char c)
- {
- using namespace std;
- return (isdigit(c) != 0);
- }
- static std::string default_file_name_pattern() { return "%5N.log"; }
- };
-
-#ifndef BOOST_LOG_BROKEN_STATIC_CONSTANTS_LINKAGE
- const file_char_traits< char >::char_type file_char_traits< char >::percent;
- const file_char_traits< char >::char_type file_char_traits< char >::number_placeholder;
- const file_char_traits< char >::char_type file_char_traits< char >::day_placeholder;
- const file_char_traits< char >::char_type file_char_traits< char >::month_placeholder;
- const file_char_traits< char >::char_type file_char_traits< char >::year_placeholder;
- const file_char_traits< char >::char_type file_char_traits< char >::full_year_placeholder;
- const file_char_traits< char >::char_type file_char_traits< char >::frac_sec_placeholder;
- const file_char_traits< char >::char_type file_char_traits< char >::seconds_placeholder;
- const file_char_traits< char >::char_type file_char_traits< char >::minutes_placeholder;
- const file_char_traits< char >::char_type file_char_traits< char >::hours_placeholder;
- const file_char_traits< char >::char_type file_char_traits< char >::space;
- const file_char_traits< char >::char_type file_char_traits< char >::plus;
- const file_char_traits< char >::char_type file_char_traits< char >::minus;
- const file_char_traits< char >::char_type file_char_traits< char >::zero;
- const file_char_traits< char >::char_type file_char_traits< char >::dot;
- const file_char_traits< char >::char_type file_char_traits< char >::newline;
-#endif // BOOST_LOG_BROKEN_STATIC_CONSTANTS_LINKAGE
-
- template< >
- struct file_char_traits< wchar_t >
- {
- typedef wchar_t char_type;
-
- static const char_type percent = L'%';
- static const char_type number_placeholder = L'N';
- static const char_type day_placeholder = L'd';
- static const char_type month_placeholder = L'm';
- static const char_type year_placeholder = L'y';
- static const char_type full_year_placeholder = L'Y';
- static const char_type frac_sec_placeholder = L'f';
- static const char_type seconds_placeholder = L'S';
- static const char_type minutes_placeholder = L'M';
- static const char_type hours_placeholder = L'H';
- static const char_type space = L' ';
- static const char_type plus = L'+';
- static const char_type minus = L'-';
- static const char_type zero = L'0';
- static const char_type dot = L'.';
- static const char_type newline = L'\n';
-
- static bool is_digit(wchar_t c)
- {
- using namespace std;
- return (iswdigit(c) != 0);
- }
- static std::wstring default_file_name_pattern() { return L"%5N.log"; }
- };
-
-#ifndef BOOST_LOG_BROKEN_STATIC_CONSTANTS_LINKAGE
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::percent;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::number_placeholder;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::day_placeholder;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::month_placeholder;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::year_placeholder;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::full_year_placeholder;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::frac_sec_placeholder;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::seconds_placeholder;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::minutes_placeholder;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::hours_placeholder;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::space;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::plus;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::minus;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::zero;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::dot;
- const file_char_traits< wchar_t >::char_type file_char_traits< wchar_t >::newline;
-#endif // BOOST_LOG_BROKEN_STATIC_CONSTANTS_LINKAGE
-
- //! Date and time formatter
- class date_and_time_formatter
- {
- public:
- typedef path_string_type result_type;
-
- private:
- typedef date_time::time_facet< posix_time::ptime, path_char_type > time_facet_type;
-
- private:
- mutable time_facet_type m_Facet;
- mutable std::basic_ostringstream< path_char_type > m_Stream;
-
- public:
- //! Constructor
- date_and_time_formatter() : m_Facet(1u)
- {
- }
- //! Copy constructor
- date_and_time_formatter(date_and_time_formatter const& that) : m_Facet(1u)
- {
- }
- //! The method formats the current date and time according to the format string str and writes the result into it
- path_string_type operator()(path_string_type const& pattern, unsigned int counter) const
- {
- m_Facet.format(pattern.c_str());
- m_Stream.str(path_string_type());
- // Note: the regular operator<< fails because std::use_facet fails to find the facet in the locale because
- // the facet type in Boost.DateTime has hidden visibility. See this ticket:
- // https://svn.boost.org/trac/boost/ticket/11707
- std::ostreambuf_iterator< path_char_type > sbuf_it(m_Stream);
- m_Facet.put(sbuf_it, m_Stream, m_Stream.fill(), boost::log::attributes::local_time_traits::get_clock());
- if (m_Stream.good())
- {
- return m_Stream.str();
- }
- else
- {
- m_Stream.clear();
- return pattern;
- }
- }
-
- BOOST_DELETED_FUNCTION(date_and_time_formatter& operator= (date_and_time_formatter const&))
- };
-
- //! The functor formats the file counter into the file name
- class file_counter_formatter
- {
- public:
- typedef path_string_type result_type;
-
- private:
- //! The position in the pattern where the file counter placeholder is
- path_string_type::size_type m_FileCounterPosition;
- //! File counter width
- std::streamsize m_Width;
- //! The file counter formatting stream
- mutable std::basic_ostringstream< path_char_type > m_Stream;
-
- public:
- //! Initializing constructor
- file_counter_formatter(path_string_type::size_type pos, unsigned int width) :
- m_FileCounterPosition(pos),
- m_Width(width)
- {
- typedef file_char_traits< path_char_type > traits_t;
- m_Stream.fill(traits_t::zero);
- }
- //! Copy constructor
- file_counter_formatter(file_counter_formatter const& that) :
- m_FileCounterPosition(that.m_FileCounterPosition),
- m_Width(that.m_Width)
- {
- m_Stream.fill(that.m_Stream.fill());
- }
-
- //! The function formats the file counter into the file name
- path_string_type operator()(path_string_type const& pattern, unsigned int counter) const
- {
- path_string_type file_name = pattern;
-
- m_Stream.str(path_string_type());
- m_Stream.width(m_Width);
- m_Stream << counter;
- file_name.insert(m_FileCounterPosition, m_Stream.str());
-
- return file_name;
- }
-
- BOOST_DELETED_FUNCTION(file_counter_formatter& operator= (file_counter_formatter const&))
- };
-
- //! The function returns the pattern as the file name
- class empty_formatter
- {
- public:
- typedef path_string_type result_type;
-
- private:
- path_string_type m_Pattern;
-
- public:
- //! Initializing constructor
- explicit empty_formatter(path_string_type const& pattern) : m_Pattern(pattern)
- {
- }
- //! Copy constructor
- empty_formatter(empty_formatter const& that) : m_Pattern(that.m_Pattern)
- {
- }
-
- //! The function returns the pattern as the file name
- path_string_type const& operator() (unsigned int) const
- {
- return m_Pattern;
- }
-
- BOOST_DELETED_FUNCTION(empty_formatter& operator= (empty_formatter const&))
- };
-
- //! The function parses the format placeholder for file counter
- bool parse_counter_placeholder(path_string_type::const_iterator& it, path_string_type::const_iterator end, unsigned int& width)
- {
- typedef qi::extract_uint< unsigned int, 10, 1, -1 > width_extract;
- typedef file_char_traits< path_char_type > traits_t;
- if (it == end)
- return false;
-
- path_char_type c = *it;
- if (c == traits_t::zero || c == traits_t::space || c == traits_t::plus || c == traits_t::minus)
- {
- // Skip filler and alignment specification
- ++it;
- if (it == end)
- return false;
- c = *it;
- }
-
- if (traits_t::is_digit(c))
- {
- // Parse width
- if (!width_extract::call(it, end, width))
- return false;
- if (it == end)
- return false;
- c = *it;
- }
-
- if (c == traits_t::dot)
- {
- // Skip precision
- ++it;
- while (it != end && traits_t::is_digit(*it))
- ++it;
- if (it == end)
- return false;
- c = *it;
- }
-
- if (c == traits_t::number_placeholder)
- {
- ++it;
- return true;
- }
-
- return false;
- }
-
- //! The function matches the file name and the pattern
- bool match_pattern(path_string_type const& file_name, path_string_type const& pattern, unsigned int& file_counter, bool& file_counter_parsed)
- {
- typedef qi::extract_uint< unsigned int, 10, 1, -1 > file_counter_extract;
- typedef file_char_traits< path_char_type > traits_t;
-
- struct local
- {
- // Verifies that the string contains exactly n digits
- static bool scan_digits(path_string_type::const_iterator& it, path_string_type::const_iterator end, std::ptrdiff_t n)
- {
- for (; n > 0; --n)
- {
- path_char_type c = *it++;
- if (!traits_t::is_digit(c) || it == end)
- return false;
- }
- return true;
- }
- };
-
- path_string_type::const_iterator
- f_it = file_name.begin(),
- f_end = file_name.end(),
- p_it = pattern.begin(),
- p_end = pattern.end();
- bool placeholder_expected = false;
- while (f_it != f_end && p_it != p_end)
- {
- path_char_type p_c = *p_it, f_c = *f_it;
- if (!placeholder_expected)
- {
- if (p_c == traits_t::percent)
- {
- placeholder_expected = true;
- ++p_it;
- }
- else if (p_c == f_c)
- {
- ++p_it;
- ++f_it;
- }
- else
- return false;
- }
- else
- {
- switch (p_c)
- {
- case traits_t::percent: // An escaped '%'
- if (p_c == f_c)
- {
- ++p_it;
- ++f_it;
- break;
- }
- else
- return false;
-
- case traits_t::seconds_placeholder: // Date/time components with 2-digits width
- case traits_t::minutes_placeholder:
- case traits_t::hours_placeholder:
- case traits_t::day_placeholder:
- case traits_t::month_placeholder:
- case traits_t::year_placeholder:
- if (!local::scan_digits(f_it, f_end, 2))
- return false;
- ++p_it;
- break;
-
- case traits_t::full_year_placeholder: // Date/time components with 4-digits width
- if (!local::scan_digits(f_it, f_end, 4))
- return false;
- ++p_it;
- break;
-
- case traits_t::frac_sec_placeholder: // Fraction seconds width is configuration-dependent
- typedef posix_time::time_res_traits posix_resolution_traits;
- if (!local::scan_digits(f_it, f_end, posix_resolution_traits::num_fractional_digits()))
- {
- return false;
- }
- ++p_it;
- break;
-
- default: // This should be the file counter placeholder or some unsupported placeholder
- {
- path_string_type::const_iterator p = p_it;
- unsigned int width = 0;
- if (!parse_counter_placeholder(p, p_end, width))
- {
- BOOST_THROW_EXCEPTION(std::invalid_argument("Unsupported placeholder used in pattern for file scanning"));
- }
-
- // Find where the file number ends
- path_string_type::const_iterator f = f_it;
- if (!local::scan_digits(f, f_end, width))
- return false;
- while (f != f_end && traits_t::is_digit(*f))
- ++f;
-
- if (!file_counter_extract::call(f_it, f, file_counter))
- return false;
-
- file_counter_parsed = true;
- p_it = p;
- }
- break;
- }
-
- placeholder_expected = false;
- }
- }
-
- if (p_it == p_end)
- {
- if (f_it != f_end)
- {
- // The actual file name may end with an additional counter
- // that is added by the collector in case if file name clash
- return local::scan_digits(f_it, f_end, std::distance(f_it, f_end));
- }
- else
- return true;
- }
- else
- return false;
- }
-
-
- class file_collector_repository;
-
- //! Type of the hook used for sequencing file collectors
- typedef intrusive::list_base_hook<
- intrusive::link_mode< intrusive::safe_link >
- > file_collector_hook;
-
- //! Log file collector implementation
- class file_collector :
- public file::collector,
- public file_collector_hook,
- public enable_shared_from_this< file_collector >
- {
- private:
- //! Information about a single stored file
- struct file_info
- {
- uintmax_t m_Size;
- std::time_t m_TimeStamp;
- filesystem::path m_Path;
- };
- //! A list of the stored files
- typedef std::list< file_info > file_list;
- //! The string type compatible with the universal path type
- typedef filesystem::path::string_type path_string_type;
-
- private:
- //! A reference to the repository this collector belongs to
- shared_ptr< file_collector_repository > m_pRepository;
-
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Synchronization mutex
- mutex m_Mutex;
-#endif // !defined(BOOST_LOG_NO_THREADS)
-
- //! Total file size upper limit
- uintmax_t m_MaxSize;
- //! Free space lower limit
- uintmax_t m_MinFreeSpace;
- //! File count upper limit
- uintmax_t m_MaxFiles;
-
- //! The current path at the point when the collector is created
- /*
- * The special member is required to calculate absolute paths with no
- * dependency on the current path for the application, which may change
- */
- const filesystem::path m_BasePath;
- //! Target directory to store files to
- filesystem::path m_StorageDir;
-
- //! The list of stored files
- file_list m_Files;
- //! Total size of the stored files
- uintmax_t m_TotalSize;
-
- public:
- //! Constructor
- file_collector(
- shared_ptr< file_collector_repository > const& repo,
- filesystem::path const& target_dir,
- uintmax_t max_size,
- uintmax_t min_free_space,
- uintmax_t max_files);
-
- //! Destructor
- ~file_collector();
-
- //! The function stores the specified file in the storage
- void store_file(filesystem::path const& file_name);
-
- //! Scans the target directory for the files that have already been stored
- uintmax_t scan_for_files(
- file::scan_method method, filesystem::path const& pattern, unsigned int* counter);
-
- //! The function updates storage restrictions
- void update(uintmax_t max_size, uintmax_t min_free_space, uintmax_t max_files);
-
- //! The function checks if the directory is governed by this collector
- bool is_governed(filesystem::path const& dir) const
- {
- return filesystem::equivalent(m_StorageDir, dir);
- }
-
- private:
- //! Makes relative path absolute with respect to the base path
- filesystem::path make_absolute(filesystem::path const& p)
- {
- return filesystem::absolute(p, m_BasePath);
- }
- //! Acquires file name string from the path
- static path_string_type filename_string(filesystem::path const& p)
- {
- return p.filename().string< path_string_type >();
- }
- };
-
-
- //! The singleton of the list of file collectors
- class file_collector_repository :
- public log::aux::lazy_singleton< file_collector_repository, shared_ptr< file_collector_repository > >
- {
- private:
- //! Base type
- typedef log::aux::lazy_singleton< file_collector_repository, shared_ptr< file_collector_repository > > base_type;
-
-#if !defined(BOOST_LOG_BROKEN_FRIEND_TEMPLATE_SPECIALIZATIONS)
- friend class log::aux::lazy_singleton< file_collector_repository, shared_ptr< file_collector_repository > >;
-#else
- friend class base_type;
-#endif
-
- //! The type of the list of collectors
- typedef intrusive::list<
- file_collector,
- intrusive::base_hook< file_collector_hook >
- > file_collectors;
-
- private:
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Synchronization mutex
- mutex m_Mutex;
-#endif // !defined(BOOST_LOG_NO_THREADS)
- //! The list of file collectors
- file_collectors m_Collectors;
-
- public:
- //! Finds or creates a file collector
- shared_ptr< file::collector > get_collector(
- filesystem::path const& target_dir, uintmax_t max_size, uintmax_t min_free_space, uintmax_t max_files);
-
- //! Removes the file collector from the list
- void remove_collector(file_collector* p);
-
- private:
- //! Initializes the singleton instance
- static void init_instance()
- {
- base_type::get_instance() = boost::make_shared< file_collector_repository >();
- }
- };
-
- //! Constructor
- file_collector::file_collector(
- shared_ptr< file_collector_repository > const& repo,
- filesystem::path const& target_dir,
- uintmax_t max_size,
- uintmax_t min_free_space,
- uintmax_t max_files
- ) :
- m_pRepository(repo),
- m_MaxSize(max_size),
- m_MinFreeSpace(min_free_space),
- m_MaxFiles(max_files),
- m_BasePath(filesystem::current_path()),
- m_TotalSize(0)
- {
- m_StorageDir = make_absolute(target_dir);
- filesystem::create_directories(m_StorageDir);
- }
-
- //! Destructor
- file_collector::~file_collector()
- {
- m_pRepository->remove_collector(this);
- }
-
- //! The function stores the specified file in the storage
- void file_collector::store_file(filesystem::path const& src_path)
- {
- // NOTE FOR THE FOLLOWING CODE:
- // Avoid using Boost.Filesystem functions that would call path::codecvt(). store_file() can be called
- // at process termination, and the global codecvt facet can already be destroyed at this point.
- // https://svn.boost.org/trac/boost/ticket/8642
-
- // Let's construct the new file name
- file_info info;
- info.m_TimeStamp = filesystem::last_write_time(src_path);
- info.m_Size = filesystem::file_size(src_path);
-
- filesystem::path file_name_path = src_path.filename();
- path_string_type file_name = file_name_path.native();
- info.m_Path = m_StorageDir / file_name_path;
-
- // Check if the file is already in the target directory
- filesystem::path src_dir = src_path.has_parent_path() ?
- filesystem::system_complete(src_path.parent_path()) :
- m_BasePath;
- const bool is_in_target_dir = filesystem::equivalent(src_dir, m_StorageDir);
- if (!is_in_target_dir)
- {
- if (filesystem::exists(info.m_Path))
- {
- // If the file already exists, try to mangle the file name
- // to ensure there's no conflict. I'll need to make this customizable some day.
- file_counter_formatter formatter(file_name.size(), 5);
- unsigned int n = 0;
- do
- {
- path_string_type alt_file_name = formatter(file_name, n++);
- info.m_Path = m_StorageDir / filesystem::path(alt_file_name);
- }
- while (filesystem::exists(info.m_Path) && n < (std::numeric_limits< unsigned int >::max)());
- }
-
- // The directory should have been created in constructor, but just in case it got deleted since then...
- filesystem::create_directories(m_StorageDir);
- }
-
- BOOST_LOG_EXPR_IF_MT(lock_guard< mutex > lock(m_Mutex);)
-
- // Check if an old file should be erased
- uintmax_t free_space = m_MinFreeSpace ? filesystem::space(m_StorageDir).available : static_cast< uintmax_t >(0);
- file_list::iterator it = m_Files.begin(), end = m_Files.end();
- while (it != end &&
- (m_TotalSize + info.m_Size > m_MaxSize || (m_MinFreeSpace && m_MinFreeSpace > free_space) || m_MaxFiles <= m_Files.size()))
- {
- file_info& old_info = *it;
- if (filesystem::exists(old_info.m_Path) && filesystem::is_regular_file(old_info.m_Path))
- {
- try
- {
- filesystem::remove(old_info.m_Path);
- // Free space has to be queried as it may not increase equally
- // to the erased file size on compressed filesystems
- if (m_MinFreeSpace)
- free_space = filesystem::space(m_StorageDir).available;
- m_TotalSize -= old_info.m_Size;
- m_Files.erase(it++);
- }
- catch (system::system_error&)
- {
- // Can't erase the file. Maybe it's locked? Never mind...
- ++it;
- }
- }
- else
- {
- // If it's not a file or is absent, just remove it from the list
- m_TotalSize -= old_info.m_Size;
- m_Files.erase(it++);
- }
- }
-
- if (!is_in_target_dir)
- {
- // Move/rename the file to the target storage
- move_file(src_path, info.m_Path);
- }
-
- m_Files.push_back(info);
- m_TotalSize += info.m_Size;
- }
-
- //! Scans the target directory for the files that have already been stored
- uintmax_t file_collector::scan_for_files(
- file::scan_method method, filesystem::path const& pattern, unsigned int* counter)
- {
- uintmax_t file_count = 0;
- if (method != file::no_scan)
- {
- filesystem::path dir = m_StorageDir;
- path_string_type mask;
- if (method == file::scan_matching)
- {
- mask = filename_string(pattern);
- if (pattern.has_parent_path())
- dir = make_absolute(pattern.parent_path());
- }
- else
- {
- counter = NULL;
- }
-
- if (filesystem::exists(dir) && filesystem::is_directory(dir))
- {
- BOOST_LOG_EXPR_IF_MT(lock_guard< mutex > lock(m_Mutex);)
-
- if (counter)
- *counter = 0;
-
- file_list files;
- filesystem::directory_iterator it(dir), end;
- uintmax_t total_size = 0;
- for (; it != end; ++it)
- {
- file_info info;
- info.m_Path = *it;
- if (filesystem::is_regular_file(info.m_Path))
- {
- // Check that there are no duplicates in the resulting list
- struct local
- {
- static bool equivalent(filesystem::path const& left, file_info const& right)
- {
- return filesystem::equivalent(left, right.m_Path);
- }
- };
- if (std::find_if(m_Files.begin(), m_Files.end(),
- boost::bind(&local::equivalent, boost::cref(info.m_Path), _1)) == m_Files.end())
- {
- // Check that the file name matches the pattern
- unsigned int file_number = 0;
- bool file_number_parsed = false;
- if (method != file::scan_matching ||
- match_pattern(filename_string(info.m_Path), mask, file_number, file_number_parsed))
- {
- info.m_Size = filesystem::file_size(info.m_Path);
- total_size += info.m_Size;
- info.m_TimeStamp = filesystem::last_write_time(info.m_Path);
- files.push_back(info);
- ++file_count;
-
- // Test that the file_number >= *counter accounting for the integer overflow
- if (file_number_parsed && counter != NULL && (file_number - *counter) < ((~0u) ^ ((~0u) >> 1)))
- *counter = file_number + 1u;
- }
- }
- }
- }
-
- // Sort files chronologically
- m_Files.splice(m_Files.end(), files);
- m_TotalSize += total_size;
- m_Files.sort(boost::bind(&file_info::m_TimeStamp, _1) < boost::bind(&file_info::m_TimeStamp, _2));
- }
- }
-
- return file_count;
- }
-
- //! The function updates storage restrictions
- void file_collector::update(uintmax_t max_size, uintmax_t min_free_space, uintmax_t max_files)
- {
- BOOST_LOG_EXPR_IF_MT(lock_guard< mutex > lock(m_Mutex);)
-
- m_MaxSize = (std::min)(m_MaxSize, max_size);
- m_MinFreeSpace = (std::max)(m_MinFreeSpace, min_free_space);
- m_MaxFiles = (std::min)(m_MaxFiles, max_files);
- }
-
-
- //! Finds or creates a file collector
- shared_ptr< file::collector > file_collector_repository::get_collector(
- filesystem::path const& target_dir, uintmax_t max_size, uintmax_t min_free_space, uintmax_t max_files)
- {
- BOOST_LOG_EXPR_IF_MT(lock_guard< mutex > lock(m_Mutex);)
-
- file_collectors::iterator it = std::find_if(m_Collectors.begin(), m_Collectors.end(),
- boost::bind(&file_collector::is_governed, _1, boost::cref(target_dir)));
- shared_ptr< file_collector > p;
- if (it != m_Collectors.end()) try
- {
- // This may throw if the collector is being currently destroyed
- p = it->shared_from_this();
- p->update(max_size, min_free_space, max_files);
- }
- catch (bad_weak_ptr&)
- {
- }
-
- if (!p)
- {
- p = boost::make_shared< file_collector >(
- file_collector_repository::get(), target_dir, max_size, min_free_space, max_files);
- m_Collectors.push_back(*p);
- }
-
- return p;
- }
-
- //! Removes the file collector from the list
- void file_collector_repository::remove_collector(file_collector* p)
- {
- BOOST_LOG_EXPR_IF_MT(lock_guard< mutex > lock(m_Mutex);)
- m_Collectors.erase(m_Collectors.iterator_to(*p));
- }
-
- //! Checks if the time point is valid
- void check_time_point_validity(unsigned char hour, unsigned char minute, unsigned char second)
- {
- if (hour >= 24)
- {
- std::ostringstream strm;
- strm << "Time point hours value is out of range: " << static_cast< unsigned int >(hour);
- BOOST_THROW_EXCEPTION(std::out_of_range(strm.str()));
- }
- if (minute >= 60)
- {
- std::ostringstream strm;
- strm << "Time point minutes value is out of range: " << static_cast< unsigned int >(minute);
- BOOST_THROW_EXCEPTION(std::out_of_range(strm.str()));
- }
- if (second >= 60)
- {
- std::ostringstream strm;
- strm << "Time point seconds value is out of range: " << static_cast< unsigned int >(second);
- BOOST_THROW_EXCEPTION(std::out_of_range(strm.str()));
- }
- }
-
-} // namespace
-
-namespace file {
-
-namespace aux {
-
- //! Creates and returns a file collector with the specified parameters
- BOOST_LOG_API shared_ptr< collector > make_collector(
- filesystem::path const& target_dir,
- uintmax_t max_size,
- uintmax_t min_free_space,
- uintmax_t max_files)
- {
- return file_collector_repository::get()->get_collector(target_dir, max_size, min_free_space, max_files);
- }
-
-} // namespace aux
-
-//! Creates a rotation time point of every day at the specified time
-BOOST_LOG_API rotation_at_time_point::rotation_at_time_point(
- unsigned char hour,
- unsigned char minute,
- unsigned char second
-) :
- m_DayKind(not_specified),
- m_Day(0),
- m_Hour(hour),
- m_Minute(minute),
- m_Second(second),
- m_Previous(date_time::not_a_date_time)
-{
- check_time_point_validity(hour, minute, second);
-}
-
-//! Creates a rotation time point of each specified weekday at the specified time
-BOOST_LOG_API rotation_at_time_point::rotation_at_time_point(
- date_time::weekdays wday,
- unsigned char hour,
- unsigned char minute,
- unsigned char second
-) :
- m_DayKind(weekday),
- m_Day(static_cast< unsigned char >(wday)),
- m_Hour(hour),
- m_Minute(minute),
- m_Second(second),
- m_Previous(date_time::not_a_date_time)
-{
- check_time_point_validity(hour, minute, second);
-}
-
-//! Creates a rotation time point of each specified day of month at the specified time
-BOOST_LOG_API rotation_at_time_point::rotation_at_time_point(
- gregorian::greg_day mday,
- unsigned char hour,
- unsigned char minute,
- unsigned char second
-) :
- m_DayKind(monthday),
- m_Day(static_cast< unsigned char >(mday.as_number())),
- m_Hour(hour),
- m_Minute(minute),
- m_Second(second),
- m_Previous(date_time::not_a_date_time)
-{
- check_time_point_validity(hour, minute, second);
-}
-
-//! Checks if it's time to rotate the file
-BOOST_LOG_API bool rotation_at_time_point::operator()() const
-{
- bool result = false;
- posix_time::time_duration rotation_time(
- static_cast< posix_time::time_duration::hour_type >(m_Hour),
- static_cast< posix_time::time_duration::min_type >(m_Minute),
- static_cast< posix_time::time_duration::sec_type >(m_Second));
- posix_time::ptime now = posix_time::second_clock::local_time();
-
- if (m_Previous.is_special())
- {
- m_Previous = now;
- return false;
- }
-
- const bool time_of_day_passed = rotation_time.total_seconds() <= m_Previous.time_of_day().total_seconds();
- switch (m_DayKind)
- {
- case not_specified:
- {
- // The rotation takes place every day at the specified time
- gregorian::date previous_date = m_Previous.date();
- if (time_of_day_passed)
- previous_date += gregorian::days(1);
- posix_time::ptime next(previous_date, rotation_time);
- result = (now >= next);
- }
- break;
-
- case weekday:
- {
- // The rotation takes place on the specified week day at the specified time
- gregorian::date previous_date = m_Previous.date(), next_date = previous_date;
- int weekday = m_Day, previous_weekday = static_cast< int >(previous_date.day_of_week().as_number());
- next_date += gregorian::days(weekday - previous_weekday);
- if (weekday < previous_weekday || (weekday == previous_weekday && time_of_day_passed))
- {
- next_date += gregorian::weeks(1);
- }
-
- posix_time::ptime next(next_date, rotation_time);
- result = (now >= next);
- }
- break;
-
- case monthday:
- {
- // The rotation takes place on the specified day of month at the specified time
- gregorian::date previous_date = m_Previous.date();
- gregorian::date::day_type monthday = static_cast< gregorian::date::day_type >(m_Day),
- previous_monthday = previous_date.day();
- gregorian::date next_date(previous_date.year(), previous_date.month(), monthday);
- if (monthday < previous_monthday || (monthday == previous_monthday && time_of_day_passed))
- {
- next_date += gregorian::months(1);
- }
-
- posix_time::ptime next(next_date, rotation_time);
- result = (now >= next);
- }
- break;
-
- default:
- break;
- }
-
- if (result)
- m_Previous = now;
-
- return result;
-}
-
-//! Checks if it's time to rotate the file
-BOOST_LOG_API bool rotation_at_time_interval::operator()() const
-{
- bool result = false;
- posix_time::ptime now = posix_time::second_clock::universal_time();
- if (m_Previous.is_special())
- {
- m_Previous = now;
- return false;
- }
-
- result = (now - m_Previous) >= m_Interval;
-
- if (result)
- m_Previous = now;
-
- return result;
-}
-
-} // namespace file
-
-////////////////////////////////////////////////////////////////////////////////
-// File sink backend implementation
-////////////////////////////////////////////////////////////////////////////////
-//! Sink implementation data
-struct text_file_backend::implementation
-{
- //! File open mode
- std::ios_base::openmode m_FileOpenMode;
-
- //! File name pattern
- filesystem::path m_FileNamePattern;
- //! Directory to store files in
- filesystem::path m_StorageDir;
- //! File name generator (according to m_FileNamePattern)
- boost::log::aux::light_function< path_string_type (unsigned int) > m_FileNameGenerator;
-
- //! Stored files counter
- unsigned int m_FileCounter;
-
- //! Current file name
- filesystem::path m_FileName;
- //! File stream
- filesystem::ofstream m_File;
- //! Characters written
- uintmax_t m_CharactersWritten;
-
- //! File collector functional object
- shared_ptr< file::collector > m_pFileCollector;
- //! File open handler
- open_handler_type m_OpenHandler;
- //! File close handler
- close_handler_type m_CloseHandler;
-
- //! The maximum temp file size, in characters written to the stream
- uintmax_t m_FileRotationSize;
- //! Time-based rotation predicate
- time_based_rotation_predicate m_TimeBasedRotation;
- //! The flag shows if every written record should be flushed
- bool m_AutoFlush;
- //! The flag indicates whether the final rotation should be performed
- bool m_FinalRotationEnabled;
-
- implementation(uintmax_t rotation_size, bool auto_flush, bool enable_final_rotation) :
- m_FileOpenMode(std::ios_base::trunc | std::ios_base::out),
- m_FileCounter(0),
- m_CharactersWritten(0),
- m_FileRotationSize(rotation_size),
- m_AutoFlush(auto_flush),
- m_FinalRotationEnabled(enable_final_rotation)
- {
- }
-};
-
-//! Constructor. No streams attached to the constructed backend, auto flush feature disabled.
-BOOST_LOG_API text_file_backend::text_file_backend()
-{
- construct(log::aux::empty_arg_list());
-}
-
-//! Destructor
-BOOST_LOG_API text_file_backend::~text_file_backend()
-{
- try
- {
- // Attempt to put the temporary file into storage
- if (m_pImpl->m_FinalRotationEnabled && m_pImpl->m_File.is_open() && m_pImpl->m_CharactersWritten > 0)
- rotate_file();
- }
- catch (...)
- {
- }
-
- delete m_pImpl;
-}
-
-//! Constructor implementation
-BOOST_LOG_API void text_file_backend::construct(
- filesystem::path const& pattern,
- std::ios_base::openmode mode,
- uintmax_t rotation_size,
- time_based_rotation_predicate const& time_based_rotation,
- bool auto_flush,
- bool enable_final_rotation)
-{
- m_pImpl = new implementation(rotation_size, auto_flush, enable_final_rotation);
- set_file_name_pattern_internal(pattern);
- set_time_based_rotation(time_based_rotation);
- set_open_mode(mode);
-}
-
-//! The method sets maximum file size.
-BOOST_LOG_API void text_file_backend::set_rotation_size(uintmax_t size)
-{
- m_pImpl->m_FileRotationSize = size;
-}
-
-//! The method sets the maximum time interval between file rotations.
-BOOST_LOG_API void text_file_backend::set_time_based_rotation(time_based_rotation_predicate const& predicate)
-{
- m_pImpl->m_TimeBasedRotation = predicate;
-}
-
-//! The method allows to enable or disable log file rotation on sink destruction.
-BOOST_LOG_API void text_file_backend::enable_final_rotation(bool enable)
-{
- m_pImpl->m_FinalRotationEnabled = enable;
-}
-
-//! Sets the flag to automatically flush write buffers of the file being written after each log record.
-BOOST_LOG_API void text_file_backend::auto_flush(bool enable)
-{
- m_pImpl->m_AutoFlush = enable;
-}
-
-//! The method writes the message to the sink
-BOOST_LOG_API void text_file_backend::consume(record_view const& rec, string_type const& formatted_message)
-{
- typedef file_char_traits< string_type::value_type > traits_t;
-
- filesystem::path prev_file_name;
- bool use_prev_file_name = false;
- if (BOOST_UNLIKELY(!m_pImpl->m_File.good()))
- {
- // The file stream is not operational. One possible reason is that there is no more free space
- // on the file system. In this case it is possible that this log record will fail to be written as well,
- // leaving the newly creted file empty. Eventually this results in lots of empty log files.
- // We should take precautions to avoid this. https://svn.boost.org/trac/boost/ticket/11016
- prev_file_name = m_pImpl->m_FileName;
- close_file();
-
- system::error_code ec;
- uintmax_t size = filesystem::file_size(prev_file_name, ec);
- if (!!ec || size == 0)
- {
- // To reuse the empty file avoid re-generating the new file name later
- use_prev_file_name = true;
- }
- else if (!!m_pImpl->m_pFileCollector)
- {
- // Complete file rotation
- m_pImpl->m_pFileCollector->store_file(prev_file_name);
- }
- }
- else if
- (
- m_pImpl->m_File.is_open() &&
- (
- m_pImpl->m_CharactersWritten + formatted_message.size() >= m_pImpl->m_FileRotationSize ||
- (!m_pImpl->m_TimeBasedRotation.empty() && m_pImpl->m_TimeBasedRotation())
- )
- )
- {
- rotate_file();
- }
-
- if (!m_pImpl->m_File.is_open())
- {
- filesystem::path new_file_name;
- if (!use_prev_file_name)
- new_file_name = m_pImpl->m_StorageDir / m_pImpl->m_FileNameGenerator(m_pImpl->m_FileCounter++);
- else
- prev_file_name.swap(new_file_name);
-
- filesystem::create_directories(new_file_name.parent_path());
-
- m_pImpl->m_File.open(new_file_name, m_pImpl->m_FileOpenMode);
- if (BOOST_UNLIKELY(!m_pImpl->m_File.is_open()))
- {
- BOOST_THROW_EXCEPTION(filesystem_error(
- "Failed to open file for writing",
- new_file_name,
- system::error_code(system::errc::io_error, system::generic_category())));
- }
- m_pImpl->m_FileName.swap(new_file_name);
-
- if (!m_pImpl->m_OpenHandler.empty())
- m_pImpl->m_OpenHandler(m_pImpl->m_File);
-
- m_pImpl->m_CharactersWritten = static_cast< std::streamoff >(m_pImpl->m_File.tellp());
- }
-
- m_pImpl->m_File.write(formatted_message.data(), static_cast< std::streamsize >(formatted_message.size()));
- m_pImpl->m_File.put(traits_t::newline);
-
- m_pImpl->m_CharactersWritten += formatted_message.size() + 1;
-
- if (m_pImpl->m_AutoFlush)
- m_pImpl->m_File.flush();
-}
-
-//! The method flushes the currently open log file
-BOOST_LOG_API void text_file_backend::flush()
-{
- if (m_pImpl->m_File.is_open())
- m_pImpl->m_File.flush();
-}
-
-//! The method sets file name mask
-BOOST_LOG_API void text_file_backend::set_file_name_pattern_internal(filesystem::path const& pattern)
-{
- // Note: avoid calling Boost.Filesystem functions that involve path::codecvt()
- // https://svn.boost.org/trac/boost/ticket/9119
-
- typedef file_char_traits< path_char_type > traits_t;
- filesystem::path p = pattern;
- if (p.empty())
- p = filesystem::path(traits_t::default_file_name_pattern());
-
- m_pImpl->m_FileNamePattern = p.filename();
- path_string_type name_pattern = m_pImpl->m_FileNamePattern.native();
- m_pImpl->m_StorageDir = filesystem::absolute(p.parent_path());
-
- // Let's try to find the file counter placeholder
- unsigned int placeholder_count = 0;
- unsigned int width = 0;
- bool counter_found = false;
- path_string_type::size_type counter_pos = 0;
- path_string_type::const_iterator end = name_pattern.end();
- path_string_type::const_iterator it = name_pattern.begin();
-
- do
- {
- it = std::find(it, end, traits_t::percent);
- if (it == end)
- break;
- path_string_type::const_iterator placeholder_begin = it++;
- if (it == end)
- break;
- if (*it == traits_t::percent)
- {
- // An escaped percent detected
- ++it;
- continue;
- }
-
- ++placeholder_count;
-
- if (!counter_found)
- {
- path_string_type::const_iterator it2 = it;
- if (parse_counter_placeholder(it2, end, width))
- {
- // We've found the file counter placeholder in the pattern
- counter_found = true;
- counter_pos = placeholder_begin - name_pattern.begin();
- name_pattern.erase(counter_pos, it2 - placeholder_begin);
- --placeholder_count;
- it = name_pattern.begin() + counter_pos;
- end = name_pattern.end();
- }
- }
- }
- while (it != end);
-
- // Construct the formatter functor
- if (placeholder_count > 0)
- {
- if (counter_found)
- {
- // Both counter and date/time placeholder in the pattern
- m_pImpl->m_FileNameGenerator = boost::bind(date_and_time_formatter(),
- boost::bind(file_counter_formatter(counter_pos, width), name_pattern, _1), _1);
- }
- else
- {
- // Only date/time placeholders in the pattern
- m_pImpl->m_FileNameGenerator =
- boost::bind(date_and_time_formatter(), name_pattern, _1);
- }
- }
- else if (counter_found)
- {
- // Only counter placeholder in the pattern
- m_pImpl->m_FileNameGenerator =
- boost::bind(file_counter_formatter(counter_pos, width), name_pattern, _1);
- }
- else
- {
- // No placeholders detected
- m_pImpl->m_FileNameGenerator = empty_formatter(name_pattern);
- }
-}
-
-//! Closes the currently open file
-void text_file_backend::close_file()
-{
- if (m_pImpl->m_File.is_open())
- {
- if (!m_pImpl->m_CloseHandler.empty())
- {
- // Rationale: We should call the close handler even if the stream is !good() because
- // writing the footer may not be the only thing the handler does. However, there is
- // a chance that the file had become writable since the last failure (e.g. there was
- // no space left to write the last record, but it got freed since then), so if the handler
- // attempts to write a footer it may succeed now. For this reason we clear the stream state
- // and let the handler have a try.
- m_pImpl->m_File.clear();
- m_pImpl->m_CloseHandler(m_pImpl->m_File);
- }
-
- m_pImpl->m_File.close();
- }
-
- m_pImpl->m_File.clear();
- m_pImpl->m_CharactersWritten = 0;
- m_pImpl->m_FileName.clear();
-}
-
-//! The method rotates the file
-BOOST_LOG_API void text_file_backend::rotate_file()
-{
- filesystem::path prev_file_name = m_pImpl->m_FileName;
- close_file();
-
- if (!!m_pImpl->m_pFileCollector)
- m_pImpl->m_pFileCollector->store_file(prev_file_name);
-}
-
-//! The method sets the file open mode
-BOOST_LOG_API void text_file_backend::set_open_mode(std::ios_base::openmode mode)
-{
- mode |= std::ios_base::out;
- mode &= ~std::ios_base::in;
- if ((mode & (std::ios_base::trunc | std::ios_base::app)) == 0)
- mode |= std::ios_base::trunc;
- m_pImpl->m_FileOpenMode = mode;
-}
-
-//! The method sets file collector
-BOOST_LOG_API void text_file_backend::set_file_collector(shared_ptr< file::collector > const& collector)
-{
- m_pImpl->m_pFileCollector = collector;
-}
-
-//! The method sets file open handler
-BOOST_LOG_API void text_file_backend::set_open_handler(open_handler_type const& handler)
-{
- m_pImpl->m_OpenHandler = handler;
-}
-
-//! The method sets file close handler
-BOOST_LOG_API void text_file_backend::set_close_handler(close_handler_type const& handler)
-{
- m_pImpl->m_CloseHandler = handler;
-}
-
-//! The method returns name of the currently open log file. If no file is open, returns an empty path.
-BOOST_LOG_API filesystem::path text_file_backend::get_current_file_name() const
-{
- return m_pImpl->m_FileName;
-}
-
-//! Performs scanning of the target directory for log files
-BOOST_LOG_API uintmax_t text_file_backend::scan_for_files(file::scan_method method, bool update_counter)
-{
- if (m_pImpl->m_pFileCollector)
- {
- unsigned int* counter = update_counter ? &m_pImpl->m_FileCounter : static_cast< unsigned int* >(NULL);
- return m_pImpl->m_pFileCollector->scan_for_files(method, m_pImpl->m_FileNamePattern, counter);
- }
- else
- {
- BOOST_LOG_THROW_DESCR(setup_error, "File collector is not set");
- }
-}
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/text_multifile_backend.cpp b/contrib/restricted/boost/libs/log/src/text_multifile_backend.cpp
deleted file mode 100644
index 58669deb66..0000000000
--- a/contrib/restricted/boost/libs/log/src/text_multifile_backend.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file text_multifile_backend.cpp
- * \author Andrey Semashev
- * \date 09.06.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <ios>
-#include <boost/filesystem/path.hpp>
-#include <boost/filesystem/fstream.hpp>
-#include <boost/filesystem/operations.hpp>
-#include <boost/log/sinks/text_multifile_backend.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-//! Sink implementation data
-struct text_multifile_backend::implementation
-{
- //! File name composer
- file_name_composer_type m_FileNameComposer;
- //! Base path for absolute path composition
- const filesystem::path m_BasePath;
- //! File stream
- filesystem::ofstream m_File;
-
- implementation() :
- m_BasePath(filesystem::current_path())
- {
- }
-
- //! Makes relative path absolute with respect to the base path
- filesystem::path make_absolute(filesystem::path const& p)
- {
- return filesystem::absolute(p, m_BasePath);
- }
-};
-
-//! Default constructor
-BOOST_LOG_API text_multifile_backend::text_multifile_backend() : m_pImpl(new implementation())
-{
-}
-
-//! Destructor
-BOOST_LOG_API text_multifile_backend::~text_multifile_backend()
-{
- delete m_pImpl;
-}
-
-//! The method sets the file name composer
-BOOST_LOG_API void text_multifile_backend::set_file_name_composer_internal(file_name_composer_type const& composer)
-{
- m_pImpl->m_FileNameComposer = composer;
-}
-
-//! The method writes the message to the sink
-BOOST_LOG_API void text_multifile_backend::consume(record_view const& rec, string_type const& formatted_message)
-{
- if (!m_pImpl->m_FileNameComposer.empty())
- {
- filesystem::path file_name = m_pImpl->make_absolute(m_pImpl->m_FileNameComposer(rec));
- filesystem::create_directories(file_name.parent_path());
- m_pImpl->m_File.open(file_name, std::ios_base::out | std::ios_base::app);
- if (m_pImpl->m_File.is_open())
- {
- m_pImpl->m_File.write(formatted_message.data(), static_cast< std::streamsize >(formatted_message.size()));
- m_pImpl->m_File.put(static_cast< string_type::value_type >('\n'));
- m_pImpl->m_File.close();
- }
- }
-}
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/text_ostream_backend.cpp b/contrib/restricted/boost/libs/log/src/text_ostream_backend.cpp
deleted file mode 100644
index d803d0dba4..0000000000
--- a/contrib/restricted/boost/libs/log/src/text_ostream_backend.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file text_ostream_backend.cpp
- * \author Andrey Semashev
- * \date 19.04.2007
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <vector>
-#include <algorithm>
-#include <boost/log/sinks/text_ostream_backend.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace sinks {
-
-//! Sink implementation
-template< typename CharT >
-struct basic_text_ostream_backend< CharT >::implementation
-{
- //! Type of the container that holds all aggregated streams
- typedef std::vector< shared_ptr< stream_type > > ostream_sequence;
-
- //! Output stream list
- ostream_sequence m_Streams;
- //! Auto-flush flag
- bool m_fAutoFlush;
-
- implementation() : m_fAutoFlush(false)
- {
- }
-};
-
-
-//! Constructor
-template< typename CharT >
-BOOST_LOG_API basic_text_ostream_backend< CharT >::basic_text_ostream_backend() : m_pImpl(new implementation())
-{
-}
-
-//! Destructor (just to make it link from the shared library)
-template< typename CharT >
-BOOST_LOG_API basic_text_ostream_backend< CharT >::~basic_text_ostream_backend()
-{
- delete m_pImpl;
-}
-
-//! The method adds a new stream to the sink
-template< typename CharT >
-BOOST_LOG_API void basic_text_ostream_backend< CharT >::add_stream(shared_ptr< stream_type > const& strm)
-{
- typename implementation::ostream_sequence::iterator it =
- std::find(m_pImpl->m_Streams.begin(), m_pImpl->m_Streams.end(), strm);
- if (it == m_pImpl->m_Streams.end())
- {
- m_pImpl->m_Streams.push_back(strm);
- }
-}
-
-//! The method removes a stream from the sink
-template< typename CharT >
-BOOST_LOG_API void basic_text_ostream_backend< CharT >::remove_stream(shared_ptr< stream_type > const& strm)
-{
- typename implementation::ostream_sequence::iterator it =
- std::find(m_pImpl->m_Streams.begin(), m_pImpl->m_Streams.end(), strm);
- if (it != m_pImpl->m_Streams.end())
- m_pImpl->m_Streams.erase(it);
-}
-
-//! Sets the flag to automatically flush buffers after each logged line
-template< typename CharT >
-BOOST_LOG_API void basic_text_ostream_backend< CharT >::auto_flush(bool f)
-{
- m_pImpl->m_fAutoFlush = f;
-}
-
-//! The method writes the message to the sink
-template< typename CharT >
-BOOST_LOG_API void basic_text_ostream_backend< CharT >::consume(record_view const&, string_type const& message)
-{
- typename string_type::const_pointer const p = message.data();
- typename string_type::size_type const s = message.size();
- typename implementation::ostream_sequence::const_iterator
- it = m_pImpl->m_Streams.begin(), end = m_pImpl->m_Streams.end();
- for (; it != end; ++it)
- {
- stream_type* const strm = it->get();
- if (strm->good())
- {
- strm->write(p, static_cast< std::streamsize >(s));
- strm->put(static_cast< char_type >('\n'));
-
- if (m_pImpl->m_fAutoFlush)
- strm->flush();
- }
- }
-}
-
-//! The method flushes the associated streams
-template< typename CharT >
-BOOST_LOG_API void basic_text_ostream_backend< CharT >::flush()
-{
- typename implementation::ostream_sequence::const_iterator
- it = m_pImpl->m_Streams.begin(), end = m_pImpl->m_Streams.end();
- for (; it != end; ++it)
- {
- stream_type* const strm = it->get();
- if (strm->good())
- strm->flush();
- }
-}
-
-//! Explicitly instantiate sink backend implementation
-#ifdef BOOST_LOG_USE_CHAR
-template class basic_text_ostream_backend< char >;
-#endif
-#ifdef BOOST_LOG_USE_WCHAR_T
-template class basic_text_ostream_backend< wchar_t >;
-#endif
-
-} // namespace sinks
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/thread_id.cpp b/contrib/restricted/boost/libs/log/src/thread_id.cpp
deleted file mode 100644
index e3a70a4626..0000000000
--- a/contrib/restricted/boost/libs/log/src/thread_id.cpp
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file thread_id.cpp
- * \author Andrey Semashev
- * \date 08.1.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-#include <new>
-#include <iostream>
-#include <boost/throw_exception.hpp>
-#if !defined(BOOST_WINDOWS)
-#include <cstring>
-#include <boost/predef/other/endian.h>
-#endif
-#include <boost/log/detail/thread_id.hpp>
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
-#include <boost/aligned_storage.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#elif defined(BOOST_WINDOWS)
-#include <boost/thread/thread.hpp>
-#include <boost/log/detail/thread_specific.hpp>
-#else
-#include <boost/log/exceptions.hpp>
-#include <boost/log/utility/once_block.hpp>
-#endif
-#if !defined(BOOST_LOG_USE_COMPILER_TLS)
-#include <boost/log/detail/singleton.hpp>
-#endif
-#include "id_formatting.hpp"
-#include <boost/log/detail/header.hpp>
-
-#if defined(BOOST_WINDOWS)
-
-#include <windows.h>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-enum { tid_size = sizeof(GetCurrentThreadId()) };
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
- //! The function returns current process identifier
- inline thread::id get_id_impl()
- {
- return thread::id(GetCurrentThreadId());
- }
-
-} // namespace
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#else // defined(BOOST_WINDOWS)
-
-#include <pthread.h>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-enum
-{
- headroom_size = sizeof(pthread_t) > sizeof(uintmax_t) ? 0u : (sizeof(uintmax_t) - sizeof(pthread_t)),
- tid_size = sizeof(uintmax_t) - headroom_size
-};
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
- //! The function returns current thread identifier
- inline thread::id get_id_impl()
- {
- // According to POSIX, pthread_t may not be an integer type:
- // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/types.h.html
- // For now we use the hackish cast to get some opaque number that hopefully correlates with system thread identification.
- thread::id::native_type int_id = 0;
- pthread_t pthread_id = pthread_self();
-#if BOOST_ENDIAN_BIG_BYTE || BOOST_ENDIAN_BIG_WORD
- std::memcpy(reinterpret_cast< unsigned char* >(&int_id) + headroom_size, &pthread_id, tid_size);
-#else
- std::memcpy(&int_id, &pthread_id, tid_size);
-#endif
- return thread::id(int_id);
- }
-
-} // namespace
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // defined(BOOST_WINDOWS)
-
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-namespace this_thread {
-
-#if defined(BOOST_LOG_USE_COMPILER_TLS)
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-struct id_storage
-{
- aligned_storage< sizeof(thread::id), alignment_of< thread::id >::value >::type m_storage;
- bool m_initialized;
-};
-
-BOOST_LOG_TLS id_storage g_id_storage = {};
-
-} // namespace
-
-//! The function returns current thread identifier
-BOOST_LOG_API thread::id const& get_id()
-{
- id_storage& s = g_id_storage;
- if (BOOST_UNLIKELY(!s.m_initialized))
- {
- new (s.m_storage.address()) thread::id(get_id_impl());
- s.m_initialized = true;
- }
-
- return *static_cast< thread::id const* >(s.m_storage.address());
-}
-
-#elif defined(BOOST_WINDOWS)
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-struct id_storage :
- lazy_singleton< id_storage >
-{
- struct deleter
- {
- typedef void result_type;
-
- explicit deleter(thread::id const* p) : m_p(p) {}
-
- result_type operator() () const
- {
- delete m_p;
- }
-
- private:
- thread::id const* m_p;
- };
-
- thread_specific< thread::id const* > m_id;
-};
-
-} // namespace
-
-//! The function returns current thread identifier
-BOOST_LOG_API thread::id const& get_id()
-{
- id_storage& s = id_storage::get();
- thread::id const* p = s.m_id.get();
- if (BOOST_UNLIKELY(!p))
- {
- p = new thread::id(get_id_impl());
- s.m_id.set(p);
- boost::this_thread::at_thread_exit(id_storage::deleter(p));
- }
-
- return *p;
-}
-
-#else
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-pthread_key_t g_key;
-
-void deleter(void* p)
-{
- delete static_cast< thread::id* >(p);
-}
-
-} // namespace
-
-//! The function returns current thread identifier
-BOOST_LOG_API thread::id const& get_id()
-{
- BOOST_LOG_ONCE_BLOCK()
- {
- if (int err = pthread_key_create(&g_key, &deleter))
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to create a thread-specific storage for thread id", (err));
- }
- }
-
- thread::id* p = static_cast< thread::id* >(pthread_getspecific(g_key));
- if (BOOST_UNLIKELY(!p))
- {
- p = new thread::id(get_id_impl());
- pthread_setspecific(g_key, p);
- }
-
- return *p;
-}
-
-#endif
-
-} // namespace this_thread
-
-// Used in default_sink.cpp
-void format_thread_id(char* buf, std::size_t size, thread::id tid)
-{
- format_id< tid_size >(buf, size, tid.native_id(), false);
-}
-
-template< typename CharT, typename TraitsT >
-BOOST_LOG_API std::basic_ostream< CharT, TraitsT >& operator<< (std::basic_ostream< CharT, TraitsT >& strm, thread::id const& tid)
-{
- if (strm.good())
- {
- CharT buf[tid_size * 2 + 3]; // 2 chars per byte + 3 chars for the leading 0x and terminating zero
- format_id< tid_size >(buf, sizeof(buf) / sizeof(*buf), tid.native_id(), (strm.flags() & std::ios_base::uppercase) != 0);
-
- strm << buf;
- }
-
- return strm;
-}
-
-#if defined(BOOST_LOG_USE_CHAR)
-template BOOST_LOG_API
-std::basic_ostream< char, std::char_traits< char > >&
-operator<< (std::basic_ostream< char, std::char_traits< char > >& strm, thread::id const& tid);
-#endif // defined(BOOST_LOG_USE_CHAR)
-
-#if defined(BOOST_LOG_USE_WCHAR_T)
-template BOOST_LOG_API
-std::basic_ostream< wchar_t, std::char_traits< wchar_t > >&
-operator<< (std::basic_ostream< wchar_t, std::char_traits< wchar_t > >& strm, thread::id const& tid);
-#endif // defined(BOOST_LOG_USE_WCHAR_T)
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
diff --git a/contrib/restricted/boost/libs/log/src/thread_specific.cpp b/contrib/restricted/boost/libs/log/src/thread_specific.cpp
deleted file mode 100644
index d8255738a9..0000000000
--- a/contrib/restricted/boost/libs/log/src/thread_specific.cpp
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file thread_specific.cpp
- * \author Andrey Semashev
- * \date 01.03.2008
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <string>
-#include <stdexcept>
-#include <boost/log/exceptions.hpp>
-#include <boost/log/detail/thread_specific.hpp>
-
-#if !defined(BOOST_LOG_NO_THREADS)
-
-#if defined(BOOST_THREAD_PLATFORM_WIN32)
-
-#include <windows.h>
-#include <boost/system/error_code.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-thread_specific_base::thread_specific_base()
-{
- m_Key = TlsAlloc();
- if (BOOST_UNLIKELY(m_Key == TLS_OUT_OF_INDEXES))
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "TLS capacity depleted", (boost::system::errc::not_enough_memory));
- }
-}
-
-thread_specific_base::~thread_specific_base()
-{
- TlsFree(m_Key);
-}
-
-void* thread_specific_base::get_content() const
-{
- return TlsGetValue(m_Key);
-}
-
-void thread_specific_base::set_content(void* value) const
-{
- TlsSetValue(m_Key, value);
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#elif defined(BOOST_THREAD_PLATFORM_PTHREAD)
-
-#include <cstddef>
-#include <cstring>
-#include <pthread.h>
-#include <boost/cstdint.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! Some portability magic to detect how to store the TLS key
-template< typename KeyT, bool IsStoreableV = sizeof(KeyT) <= sizeof(void*), bool IsIntegralV = boost::is_integral< KeyT >::value >
-struct pthread_key_traits
-{
- typedef KeyT pthread_key_type;
-
- static void allocate(void*& stg)
- {
- pthread_key_type* pkey = new pthread_key_type();
- const int res = pthread_key_create(pkey, NULL);
- if (BOOST_UNLIKELY(res != 0))
- {
- delete pkey;
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "TLS capacity depleted", (res));
- }
- stg = pkey;
- }
-
- static void deallocate(void* stg)
- {
- pthread_key_type* pkey = static_cast< pthread_key_type* >(stg);
- pthread_key_delete(*pkey);
- delete pkey;
- }
-
- static void set_value(void* stg, void* value)
- {
- const int res = pthread_setspecific(*static_cast< pthread_key_type* >(stg), value);
- if (BOOST_UNLIKELY(res != 0))
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to set TLS value", (res));
- }
- }
-
- static void* get_value(void* stg)
- {
- return pthread_getspecific(*static_cast< pthread_key_type* >(stg));
- }
-};
-
-template< typename KeyT >
-struct pthread_key_traits< KeyT, true, true >
-{
- typedef KeyT pthread_key_type;
-
-#if defined(BOOST_HAS_INTPTR_T)
- typedef typename mpl::if_c<
- boost::is_signed< pthread_key_type >::value,
- intptr_t,
- uintptr_t
- >::type intptr_type;
-#else
- typedef typename mpl::if_c<
- boost::is_signed< pthread_key_type >::value,
- std::ptrdiff_t,
- std::size_t
- >::type intptr_type;
-#endif
-
- static void allocate(void*& stg)
- {
- pthread_key_type key;
- const int res = pthread_key_create(&key, NULL);
- if (BOOST_UNLIKELY(res != 0))
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "TLS capacity depleted", (res));
- }
- stg = (void*)(intptr_type)key;
- }
-
- static void deallocate(void* stg)
- {
- pthread_key_delete((pthread_key_type)(intptr_type)stg);
- }
-
- static void set_value(void* stg, void* value)
- {
- const int res = pthread_setspecific((pthread_key_type)(intptr_type)stg, value);
- if (BOOST_UNLIKELY(res != 0))
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to set TLS value", (res));
- }
- }
-
- static void* get_value(void* stg)
- {
- return pthread_getspecific((pthread_key_type)(intptr_type)stg);
- }
-};
-
-template< typename KeyT >
-struct pthread_key_traits< KeyT, true, false >
-{
- typedef KeyT pthread_key_type;
-
- static void allocate(void*& stg)
- {
- pthread_key_type key;
- const int res = pthread_key_create(&key, NULL);
- if (BOOST_UNLIKELY(res != 0))
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "TLS capacity depleted", (res));
- }
- std::memset(&stg, 0, sizeof(stg));
- std::memcpy(&stg, &key, sizeof(pthread_key_type));
- }
-
- static void deallocate(void* stg)
- {
- pthread_key_type key;
- std::memcpy(&key, &stg, sizeof(pthread_key_type));
- pthread_key_delete(key);
- }
-
- static void set_value(void* stg, void* value)
- {
- pthread_key_type key;
- std::memcpy(&key, &stg, sizeof(pthread_key_type));
- const int res = pthread_setspecific(key, value);
- if (BOOST_UNLIKELY(res != 0))
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to set TLS value", (res));
- }
- }
-
- static void* get_value(void* stg)
- {
- pthread_key_type key;
- std::memcpy(&key, &stg, sizeof(pthread_key_type));
- return pthread_getspecific(key);
- }
-};
-
-template< typename KeyT >
-struct pthread_key_traits< KeyT*, true, false >
-{
- typedef KeyT* pthread_key_type;
-
- static void allocate(void*& stg)
- {
- pthread_key_type key = NULL;
- const int res = pthread_key_create(&key, NULL);
- if (BOOST_UNLIKELY(res != 0))
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "TLS capacity depleted", (res));
- }
- stg = static_cast< void* >(key);
- }
-
- static void deallocate(void* stg)
- {
- pthread_key_delete(static_cast< pthread_key_type >(stg));
- }
-
- static void set_value(void* stg, void* value)
- {
- const int res = pthread_setspecific(static_cast< pthread_key_type >(stg), value);
- if (BOOST_UNLIKELY(res != 0))
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to set TLS value", (res));
- }
- }
-
- static void* get_value(void* stg)
- {
- return pthread_getspecific(static_cast< pthread_key_type >(stg));
- }
-};
-
-} // namespace
-
-thread_specific_base::thread_specific_base()
-{
- typedef pthread_key_traits< pthread_key_t > traits_t;
- traits_t::allocate(m_Key);
-}
-
-thread_specific_base::~thread_specific_base()
-{
- typedef pthread_key_traits< pthread_key_t > traits_t;
- traits_t::deallocate(m_Key);
-}
-
-void* thread_specific_base::get_content() const
-{
- typedef pthread_key_traits< pthread_key_t > traits_t;
- return traits_t::get_value(m_Key);
-}
-
-void thread_specific_base::set_content(void* value) const
-{
- typedef pthread_key_traits< pthread_key_t > traits_t;
- traits_t::set_value(m_Key, value);
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#else
-#error Boost.Log: unsupported threading API
-#endif
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // !defined(BOOST_LOG_NO_THREADS)
diff --git a/contrib/restricted/boost/libs/log/src/threadsafe_queue.cpp b/contrib/restricted/boost/libs/log/src/threadsafe_queue.cpp
deleted file mode 100644
index bbad463dec..0000000000
--- a/contrib/restricted/boost/libs/log/src/threadsafe_queue.cpp
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file threadsafe_queue.cpp
- * \author Andrey Semashev
- * \date 05.11.2010
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- *
- * The implementation is based on algorithms published in the "Simple, Fast,
- * and Practical Non-Blocking and Blocking Concurrent Queue Algorithms" article
- * in PODC96 by Maged M. Michael and Michael L. Scott. Pseudocode is available here:
- * http://www.cs.rochester.edu/research/synchronization/pseudocode/queues.html
- *
- * The lock-free version of the mentioned algorithms contain a race condition and therefore
- * were not included here.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/threadsafe_queue.hpp>
-
-#ifndef BOOST_LOG_NO_THREADS
-
-#include <new>
-#include <boost/assert.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/align/aligned_alloc.hpp>
-#include <boost/type_traits/alignment_of.hpp>
-#include <boost/log/detail/adaptive_mutex.hpp>
-#include <boost/log/detail/locks.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-//! Generic queue implementation with two locks
-class threadsafe_queue_impl_generic :
- public threadsafe_queue_impl
-{
-private:
- //! Mutex type to be used
- typedef adaptive_mutex mutex_type;
-
- /*!
- * A structure that contains a pointer to the node and the associated mutex.
- * The alignment below allows to eliminate false sharing, it should not be less than CPU cache line size.
- */
- struct BOOST_ALIGNMENT(BOOST_LOG_CPU_CACHE_LINE_SIZE) pointer
- {
- //! Pointer to the either end of the queue
- node_base* node;
- //! Lock for access synchronization
- mutex_type mutex;
- // 128 bytes padding is chosen to mitigate false sharing for NetBurst CPUs, which load two cache lines in one go.
- unsigned char padding[128U - (sizeof(node_base*) + sizeof(mutex_type)) % 128U];
- };
-
-private:
- //! Pointer to the beginning of the queue
- pointer m_Head;
- //! Pointer to the end of the queue
- pointer m_Tail;
-
-public:
- explicit threadsafe_queue_impl_generic(node_base* first_node)
- {
- set_next(first_node, NULL);
- m_Head.node = m_Tail.node = first_node;
- }
-
- ~threadsafe_queue_impl_generic()
- {
- }
-
- node_base* reset_last_node()
- {
- BOOST_ASSERT(m_Head.node == m_Tail.node);
- node_base* p = m_Head.node;
- m_Head.node = m_Tail.node = NULL;
- return p;
- }
-
- bool unsafe_empty()
- {
- return m_Head.node == m_Tail.node;
- }
-
- void push(node_base* p)
- {
- set_next(p, NULL);
- exclusive_lock_guard< mutex_type > _(m_Tail.mutex);
- set_next(m_Tail.node, p);
- m_Tail.node = p;
- }
-
- bool try_pop(node_base*& node_to_free, node_base*& node_with_value)
- {
- exclusive_lock_guard< mutex_type > _(m_Head.mutex);
- node_base* next = get_next(m_Head.node);
- if (next)
- {
- // We have a node to pop
- node_to_free = m_Head.node;
- node_with_value = m_Head.node = next;
- return true;
- }
- else
- return false;
- }
-
-private:
- BOOST_FORCEINLINE static void set_next(node_base* p, node_base* next)
- {
- p->next.data[0] = next;
- }
- BOOST_FORCEINLINE static node_base* get_next(node_base* p)
- {
- return static_cast< node_base* >(p->next.data[0]);
- }
-
- // Copying and assignment are closed
- BOOST_DELETED_FUNCTION(threadsafe_queue_impl_generic(threadsafe_queue_impl_generic const&))
- BOOST_DELETED_FUNCTION(threadsafe_queue_impl_generic& operator= (threadsafe_queue_impl_generic const&))
-};
-
-BOOST_LOG_API threadsafe_queue_impl* threadsafe_queue_impl::create(node_base* first_node)
-{
- return new threadsafe_queue_impl_generic(first_node);
-}
-
-BOOST_LOG_API void* threadsafe_queue_impl::operator new (std::size_t size)
-{
- void* p = alignment::aligned_alloc(BOOST_LOG_CPU_CACHE_LINE_SIZE, size);
- if (BOOST_UNLIKELY(!p))
- BOOST_THROW_EXCEPTION(std::bad_alloc());
- return p;
-}
-
-BOOST_LOG_API void threadsafe_queue_impl::operator delete (void* p, std::size_t)
-{
- alignment::aligned_free(p);
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // BOOST_LOG_NO_THREADS
diff --git a/contrib/restricted/boost/libs/log/src/timer.cpp b/contrib/restricted/boost/libs/log/src/timer.cpp
deleted file mode 100644
index f9b4cdfdb5..0000000000
--- a/contrib/restricted/boost/libs/log/src/timer.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file timer.cpp
- * \author Andrey Semashev
- * \date 02.12.2007
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/attributes/timer.hpp>
-#include <boost/log/attributes/attribute_value_impl.hpp>
-
-#if defined(BOOST_WINDOWS) && !defined(BOOST_LOG_NO_QUERY_PERFORMANCE_COUNTER)
-
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-#if !defined(BOOST_LOG_NO_THREADS)
-#include <boost/log/detail/locks.hpp>
-#include <boost/thread/mutex.hpp>
-#endif
-#include <windows.h>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-//! Factory implementation
-class BOOST_SYMBOL_VISIBLE timer::impl :
- public attribute::impl
-{
-private:
-#if !defined(BOOST_LOG_NO_THREADS)
- //! Synchronization mutex type
- typedef boost::mutex mutex_type;
- //! Synchronization mutex
- mutex_type m_Mutex;
-#endif
- //! Frequency factor for calculating duration
- double m_FrequencyFactor;
- //! Last value of the performance counter
- uint64_t m_LastCounter;
- //! Elapsed time duration, in microseconds
- uint64_t m_Duration;
-
-public:
- //! Constructor
- impl() : m_Duration(0)
- {
- LARGE_INTEGER li;
- QueryPerformanceFrequency(&li);
- BOOST_ASSERT(li.QuadPart != 0LL);
- m_FrequencyFactor = 1000000.0 / static_cast< double >(li.QuadPart);
-
- QueryPerformanceCounter(&li);
- m_LastCounter = static_cast< uint64_t >(li.QuadPart);
- }
-
- //! The method returns the actual attribute value. It must not return NULL.
- attribute_value get_value()
- {
- uint64_t duration;
- {
- BOOST_LOG_EXPR_IF_MT(log::aux::exclusive_lock_guard< mutex_type > lock(m_Mutex);)
-
- LARGE_INTEGER li;
- QueryPerformanceCounter(&li);
- const uint64_t counter = static_cast< uint64_t >(li.QuadPart);
- const uint64_t counts = counter - m_LastCounter;
- m_LastCounter = counter;
- duration = m_Duration + static_cast< uint64_t >(counts * m_FrequencyFactor);
- m_Duration = duration;
- }
-
- return attribute_value(new attribute_value_impl< value_type >(boost::posix_time::microseconds(duration)));
- }
-};
-
-//! Constructor
-timer::timer() : attribute(new impl())
-{
-}
-
-//! Constructor for casting support
-timer::timer(cast_source const& source) : attribute(source.as< impl >())
-{
-}
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#else // defined(BOOST_WINDOWS) && !defined(BOOST_LOG_NO_QUERY_PERFORMANCE_COUNTER)
-
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace attributes {
-
-//! Factory implementation
-class BOOST_SYMBOL_VISIBLE timer::impl :
- public attribute::impl
-{
-public:
- //! Time type
- typedef utc_time_traits::time_type time_type;
-
-private:
- //! Base time point
- const time_type m_BaseTimePoint;
-
-public:
- /*!
- * Constructor. Starts time counting.
- */
- impl() : m_BaseTimePoint(utc_time_traits::get_clock()) {}
-
- attribute_value get_value()
- {
- return attribute_value(new attribute_value_impl< value_type >(
- utc_time_traits::get_clock() - m_BaseTimePoint));
- }
-};
-
-//! Constructor
-timer::timer() : attribute(new impl())
-{
-}
-
-//! Constructor for casting support
-timer::timer(cast_source const& source) : attribute(source.as< impl >())
-{
-}
-
-} // namespace attributes
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // defined(BOOST_WINDOWS) && !defined(BOOST_LOG_NO_QUERY_PERFORMANCE_COUNTER)
diff --git a/contrib/restricted/boost/libs/log/src/timestamp.cpp b/contrib/restricted/boost/libs/log/src/timestamp.cpp
deleted file mode 100644
index ca86c7ba76..0000000000
--- a/contrib/restricted/boost/libs/log/src/timestamp.cpp
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 2018.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
-/*!
- * \file timestamp.cpp
- * \author Andrey Semashev
- * \date 31.07.2011
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-#include <boost/log/detail/timestamp.hpp>
-
-#if defined(BOOST_WINDOWS) && !defined(__CYGWIN__)
-#include <cstddef>
-#include <cstdlib>
-#include <boost/memory_order.hpp>
-#include <boost/atomic/atomic.hpp>
-#include <boost/winapi/dll.hpp>
-#include <boost/winapi/time.hpp>
-#include <boost/winapi/event.hpp>
-#include <boost/winapi/handles.hpp>
-#include <boost/winapi/thread_pool.hpp>
-#else
-#include <unistd.h> // for config macros
-#if defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
-#include <mach/mach_time.h>
-#include <mach/kern_return.h>
-#include <boost/log/utility/once_block.hpp>
-#include <boost/system/error_code.hpp>
-#endif
-#include <time.h>
-#include <errno.h>
-#include <boost/throw_exception.hpp>
-#include <boost/log/exceptions.hpp>
-#endif
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-#if defined(BOOST_WINDOWS) && !defined(__CYGWIN__)
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-// Directly use API from Vista and later
-BOOST_LOG_API get_tick_count_t get_tick_count = &boost::winapi::GetTickCount64;
-
-#else // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-enum init_state
-{
- uninitialized = 0,
- in_progress,
- initialized
-};
-
-struct get_tick_count64_state
-{
- boost::atomic< uint64_t > ticks;
- boost::atomic< init_state > init;
- boost::winapi::HANDLE_ wait_event;
- boost::winapi::HANDLE_ wait_handle;
-};
-
-// Zero-initialized initially
-BOOST_ALIGNMENT(BOOST_LOG_CPU_CACHE_LINE_SIZE) static get_tick_count64_state g_state;
-
-//! Artifical implementation of GetTickCount64
-uint64_t WINAPI get_tick_count64()
-{
- // Note: Even in single-threaded builds we have to implement get_tick_count64 in a thread-safe way because
- // it can be called in the system thread pool during refreshes concurrently with user's calls.
- uint64_t old_state = g_state.ticks.load(boost::memory_order_acquire);
-
- uint32_t new_ticks = boost::winapi::GetTickCount();
-
- uint32_t old_ticks = static_cast< uint32_t >(old_state & UINT64_C(0x00000000ffffffff));
- uint64_t new_state = ((old_state & UINT64_C(0xffffffff00000000)) + (static_cast< uint64_t >(new_ticks < old_ticks) << 32)) | static_cast< uint64_t >(new_ticks);
-
- g_state.ticks.store(new_state, boost::memory_order_release);
-
- return new_state;
-}
-
-//! The function is called periodically in the system thread pool to make sure g_state.ticks is timely updated
-void NTAPI refresh_get_tick_count64(boost::winapi::PVOID_, boost::winapi::BOOLEAN_)
-{
- get_tick_count64();
-}
-
-//! Cleanup function to stop get_tick_count64 refreshes
-void cleanup_get_tick_count64()
-{
- if (g_state.wait_handle)
- {
- boost::winapi::UnregisterWait(g_state.wait_handle);
- g_state.wait_handle = NULL;
- }
-
- if (g_state.wait_event)
- {
- boost::winapi::CloseHandle(g_state.wait_event);
- g_state.wait_event = NULL;
- }
-}
-
-uint64_t WINAPI get_tick_count_init()
-{
- boost::winapi::HMODULE_ hKernel32 = boost::winapi::GetModuleHandleW(L"kernel32.dll");
- if (hKernel32)
- {
- get_tick_count_t p = (get_tick_count_t)boost::winapi::get_proc_address(hKernel32, "GetTickCount64");
- if (p)
- {
- // Use native API
- const_cast< get_tick_count_t volatile& >(get_tick_count) = p;
- return p();
- }
- }
-
- // No native API available. Use emulation with periodic refreshes to make sure the GetTickCount wrap arounds are properly counted.
- init_state old_init = uninitialized;
- if (g_state.init.compare_exchange_strong(old_init, in_progress, boost::memory_order_acq_rel, boost::memory_order_relaxed))
- {
- if (!g_state.wait_event)
- g_state.wait_event = boost::winapi::create_anonymous_event(NULL, false, false);
- if (g_state.wait_event)
- {
- boost::winapi::BOOL_ res = boost::winapi::RegisterWaitForSingleObject(&g_state.wait_handle, g_state.wait_event, &refresh_get_tick_count64, NULL, 0x7fffffff, boost::winapi::WT_EXECUTEINWAITTHREAD_);
- if (res)
- {
- std::atexit(&cleanup_get_tick_count64);
-
- const_cast< get_tick_count_t volatile& >(get_tick_count) = &get_tick_count64;
- g_state.init.store(initialized, boost::memory_order_release);
- goto finish;
- }
- }
-
- g_state.init.store(uninitialized, boost::memory_order_release);
- }
-
-finish:
- return get_tick_count64();
-}
-
-} // namespace
-
-BOOST_LOG_API get_tick_count_t get_tick_count = &get_tick_count_init;
-
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
-
-#elif (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0) > 0) /* POSIX timers supported */ \
- || defined(__GNU__) || defined(__OpenBSD__) || defined(__CloudABI__) /* GNU Hurd, OpenBSD and Nuxi CloudABI don't support POSIX timers fully but do provide clock_gettime() */
-
-BOOST_LOG_API int64_t duration::milliseconds() const
-{
- // Timestamps are always in nanoseconds
- return m_ticks / INT64_C(1000000);
-}
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-/*!
- * \c get_timestamp implementation based on POSIX realtime clock.
- * Note that this implementation is only used as a last resort since
- * this timer can be manually set and may jump due to DST change.
- */
-timestamp get_timestamp_realtime_clock()
-{
- timespec ts;
- if (BOOST_UNLIKELY(clock_gettime(CLOCK_REALTIME, &ts) != 0))
- {
- const int err = errno;
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to acquire current time", (err));
- }
-
- return timestamp(static_cast< uint64_t >(ts.tv_sec) * UINT64_C(1000000000) + ts.tv_nsec);
-}
-
-# if defined(_POSIX_MONOTONIC_CLOCK)
-
-//! \c get_timestamp implementation based on POSIX monotonic clock
-timestamp get_timestamp_monotonic_clock()
-{
- timespec ts;
- if (BOOST_UNLIKELY(clock_gettime(CLOCK_MONOTONIC, &ts) != 0))
- {
- const int err = errno;
- if (err == EINVAL)
- {
- // The current platform does not support monotonic timer.
- // Fall back to realtime clock, which is not exactly what we need
- // but is better than nothing.
- get_timestamp = &get_timestamp_realtime_clock;
- return get_timestamp_realtime_clock();
- }
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to acquire current time", (err));
- }
-
- return timestamp(static_cast< uint64_t >(ts.tv_sec) * UINT64_C(1000000000) + ts.tv_nsec);
-}
-
-# define BOOST_LOG_DEFAULT_GET_TIMESTAMP get_timestamp_monotonic_clock
-
-# else // if defined(_POSIX_MONOTONIC_CLOCK)
-# define BOOST_LOG_DEFAULT_GET_TIMESTAMP get_timestamp_realtime_clock
-# endif // if defined(_POSIX_MONOTONIC_CLOCK)
-
-} // namespace
-
-// Use POSIX API
-BOOST_LOG_API get_timestamp_t get_timestamp = &BOOST_LOG_DEFAULT_GET_TIMESTAMP;
-
-# undef BOOST_LOG_DEFAULT_GET_TIMESTAMP
-
-#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
-
-BOOST_LOG_API int64_t duration::milliseconds() const
-{
- static mach_timebase_info_data_t timebase_info = {};
- BOOST_LOG_ONCE_BLOCK()
- {
- kern_return_t err = mach_timebase_info(&timebase_info);
- if (err != KERN_SUCCESS)
- {
- BOOST_LOG_THROW_DESCR_PARAMS(system_error, "Failed to initialize timebase info", (boost::system::errc::not_supported));
- }
- }
-
- // Often the timebase rational equals 1, we can optimize for this case
- if (timebase_info.numer == timebase_info.denom)
- {
- // Timestamps are in nanoseconds
- return m_ticks / INT64_C(1000000);
- }
- else
- {
- return (m_ticks * timebase_info.numer) / (INT64_C(1000000) * timebase_info.denom);
- }
-}
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-//! \c get_timestamp implementation based on MacOS X absolute time
-timestamp get_timestamp_mach()
-{
- return timestamp(mach_absolute_time());
-}
-
-} // namespace
-
-// Use MacOS X API
-BOOST_LOG_API get_timestamp_t get_timestamp = &get_timestamp_mach;
-
-#else
-
-# error Boost.Log: Timestamp generation is not supported for your platform
-
-#endif
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/trivial.cpp b/contrib/restricted/boost/libs/log/src/trivial.cpp
deleted file mode 100644
index b2fd280edf..0000000000
--- a/contrib/restricted/boost/libs/log/src/trivial.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file trivial.cpp
- * \author Andrey Semashev
- * \date 07.11.2009
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#include <boost/log/detail/config.hpp>
-
-#if defined(BOOST_LOG_USE_CHAR)
-
-#include <string>
-#include <istream>
-#include <boost/log/trivial.hpp>
-#include <boost/log/sources/global_logger_storage.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace trivial {
-
-//! Initialization routine
-BOOST_LOG_API logger::logger_type logger::construct_logger()
-{
- return logger_type(keywords::severity = info);
-}
-
-//! Returns a reference to the trivial logger instance
-BOOST_LOG_API logger::logger_type& logger::get()
-{
- return log::sources::aux::logger_singleton< logger >::get();
-}
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-const unsigned int names_count = 6;
-
-template< typename CharT >
-struct severity_level_names
-{
- static const CharT names[names_count][8];
-};
-
-template< typename CharT >
-const CharT severity_level_names< CharT >::names[names_count][8] =
-{
- { 't', 'r', 'a', 'c', 'e', 0 },
- { 'd', 'e', 'b', 'u', 'g', 0 },
- { 'i', 'n', 'f', 'o', 0 },
- { 'w', 'a', 'r', 'n', 'i', 'n', 'g', 0 },
- { 'e', 'r', 'r', 'o', 'r', 0 },
- { 'f', 'a', 't', 'a', 'l', 0 }
-};
-
-} // namespace
-
-BOOST_LOG_API const char* to_string(severity_level lvl)
-{
- typedef severity_level_names< char > level_names;
- if (static_cast< unsigned int >(lvl) < names_count)
- return level_names::names[static_cast< unsigned int >(lvl)];
- else
- return NULL;
-}
-
-template< typename CharT, typename TraitsT >
-BOOST_LOG_API std::basic_istream< CharT, TraitsT >& operator>> (
- std::basic_istream< CharT, TraitsT >& strm, severity_level& lvl)
-{
- if (strm.good())
- {
- typedef severity_level_names< CharT > level_names;
- typedef std::basic_string< CharT, TraitsT > string_type;
- string_type str;
- strm >> str;
- for (unsigned int i = 0; i < names_count; ++i)
- {
- if (str == level_names::names[i])
- {
- lvl = static_cast< severity_level >(i);
- return strm;
- }
- }
- strm.setstate(std::ios_base::failbit);
- }
-
- return strm;
-}
-
-template BOOST_LOG_API std::basic_istream< char, std::char_traits< char > >&
- operator>> < char, std::char_traits< char > > (
- std::basic_istream< char, std::char_traits< char > >& strm, severity_level& lvl);
-#ifdef BOOST_LOG_USE_WCHAR_T
-template BOOST_LOG_API std::basic_istream< wchar_t, std::char_traits< wchar_t > >&
- operator>> < wchar_t, std::char_traits< wchar_t > > (
- std::basic_istream< wchar_t, std::char_traits< wchar_t > >& strm, severity_level& lvl);
-#endif
-
-} // namespace trivial
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
-
-#endif // defined(BOOST_LOG_USE_CHAR)
diff --git a/contrib/restricted/boost/libs/log/src/unhandled_exception_count.cpp b/contrib/restricted/boost/libs/log/src/unhandled_exception_count.cpp
deleted file mode 100644
index 1e9a395f43..0000000000
--- a/contrib/restricted/boost/libs/log/src/unhandled_exception_count.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file unhandled_exception_count.cpp
- * \author Andrey Semashev
- * \date 05.11.2012
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- *
- * The code in this file is based on the implementation by Evgeny Panasyuk:
- *
- * https://github.com/panaseleus/stack_unwinding/blob/master/boost/exception/uncaught_exception_count.hpp
- */
-
-#include <boost/log/detail/config.hpp>
-#include <exception>
-#include <boost/log/detail/unhandled_exception_count.hpp>
-#include <boost/log/detail/header.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-BOOST_LOG_ANONYMOUS_NAMESPACE {
-
-// cxxabi.h availability macro
-#if defined(BOOST_CLANG)
-# if defined(__has_include) && __has_include(<cxxabi.h>)
-# define BOOST_LOG_HAS_CXXABI_H
-# endif
-#elif defined(__GLIBCXX__) || defined(__GLIBCPP__)
-# define BOOST_LOG_HAS_CXXABI_H
-#endif
-
-#if defined(BOOST_LOG_HAS_CXXABI_H)
-// MinGW GCC 4.4 seem to not work the same way the newer GCC versions do. As a result, __cxa_get_globals based implementation will always return 0.
-// Just disable it for now and fall back to std::uncaught_exception().
-#if !defined(__MINGW32__) || (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)))
-// Only GCC 4.7 declares __cxa_get_globals() in cxxabi.h, older compilers do not expose this function but it's there
-#define BOOST_LOG_HAS_CXA_GET_GLOBALS
-extern "C" void* __cxa_get_globals();
-#endif
-#elif defined(_MSC_VER)
-#if _MSC_VER >= 1900
-// Visual Studio 14 supports N4152 std::uncaught_exceptions()
-#define BOOST_LOG_HAS_UNCAUGHT_EXCEPTIONS
-#elif _MSC_VER >= 1400
-#define BOOST_LOG_HAS_GETPTD
-extern "C" void* _getptd();
-#endif
-#endif
-
-} // namespace
-
-//! Returns the number of currently pending exceptions
-BOOST_LOG_API unsigned int unhandled_exception_count() BOOST_NOEXCEPT
-{
-#if defined(BOOST_LOG_HAS_UNCAUGHT_EXCEPTIONS)
- // C++17 implementation
- return static_cast< unsigned int >(std::uncaught_exceptions());
-#elif defined(BOOST_LOG_HAS_CXA_GET_GLOBALS)
- // Tested on {clang 3.2,GCC 3.5.6,GCC 4.1.2,GCC 4.4.6,GCC 4.4.7}x{x32,x64}
- return *(reinterpret_cast< const unsigned int* >(static_cast< const char* >(__cxa_get_globals()) + sizeof(void*))); // __cxa_eh_globals::uncaughtExceptions, x32 offset - 0x4, x64 - 0x8
-#elif defined(BOOST_LOG_HAS_GETPTD)
- // MSVC specific. Tested on {MSVC2005SP1,MSVC2008SP1,MSVC2010SP1,MSVC2012}x{x32,x64}.
- return *(reinterpret_cast< const unsigned int* >(static_cast< const char* >(_getptd()) + (sizeof(void*) == 8 ? 0x100 : 0x90))); // _tiddata::_ProcessingThrow, x32 offset - 0x90, x64 - 0x100
-#else
- // Portable implementation. Does not allow to detect multiple nested exceptions.
- return static_cast< unsigned int >(std::uncaught_exception());
-#endif
-}
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#include <boost/log/detail/footer.hpp>
diff --git a/contrib/restricted/boost/libs/log/src/unique_ptr.hpp b/contrib/restricted/boost/libs/log/src/unique_ptr.hpp
deleted file mode 100644
index 091bb9cf8d..0000000000
--- a/contrib/restricted/boost/libs/log/src/unique_ptr.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright Andrey Semashev 2007 - 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)
- */
-/*!
- * \file unique_ptr.hpp
- * \author Andrey Semashev
- * \date 18.07.2015
- *
- * \brief This header is the Boost.Log library implementation, see the library documentation
- * at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
- */
-
-#ifndef BOOST_LOG_UNIQUE_PTR_HPP_INCLUDED_
-#define BOOST_LOG_UNIQUE_PTR_HPP_INCLUDED_
-
-#include <boost/log/detail/config.hpp>
-
-#if !defined(BOOST_NO_CXX11_SMART_PTR)
-
-#include <memory>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-using std::unique_ptr;
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#else // !defined(BOOST_NO_CXX11_SMART_PTR)
-
-#include <boost/move/unique_ptr.hpp>
-
-namespace boost {
-
-BOOST_LOG_OPEN_NAMESPACE
-
-namespace aux {
-
-using boost::movelib::unique_ptr;
-
-} // namespace aux
-
-BOOST_LOG_CLOSE_NAMESPACE // namespace log
-
-} // namespace boost
-
-#endif // !defined(BOOST_NO_CXX11_SMART_PTR)
-
-#endif // BOOST_LOG_UNIQUE_PTR_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/move/include/boost/move/algo/adaptive_sort.hpp b/contrib/restricted/boost/move/include/boost/move/algo/adaptive_sort.hpp
deleted file mode 100644
index d1aa883cb1..0000000000
--- a/contrib/restricted/boost/move/include/boost/move/algo/adaptive_sort.hpp
+++ /dev/null
@@ -1,654 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Ion Gaztanaga 2015-2016.
-// Distributed under the 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/move for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_MOVE_ADAPTIVE_SORT_HPP
-#define BOOST_MOVE_ADAPTIVE_SORT_HPP
-
-#include <boost/move/detail/config_begin.hpp>
-
-#include <boost/move/algo/detail/adaptive_sort_merge.hpp>
-#include <boost/core/ignore_unused.hpp>
-
-#if defined(BOOST_CLANG) || (defined(BOOST_GCC) && (BOOST_GCC >= 40600))
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wsign-conversion"
-#endif
-
-namespace boost {
-namespace movelib {
-
-///@cond
-namespace detail_adaptive {
-
-template<class RandIt>
-void move_data_backward( RandIt cur_pos
- , typename iter_size<RandIt>::type const l_data
- , RandIt new_pos
- , bool const xbuf_used)
-{
- //Move buffer to the total combination right
- if(xbuf_used){
- boost::move_backward(cur_pos, cur_pos+l_data, new_pos+l_data);
- }
- else{
- boost::adl_move_swap_ranges_backward(cur_pos, cur_pos+l_data, new_pos+l_data);
- //Rotate does less moves but it seems slower due to cache issues
- //rotate_gcd(first-l_block, first+len-l_block, first+len);
- }
-}
-
-template<class RandIt>
-void move_data_forward( RandIt cur_pos
- , typename iter_size<RandIt>::type const l_data
- , RandIt new_pos
- , bool const xbuf_used)
-{
- //Move buffer to the total combination right
- if(xbuf_used){
- boost::move(cur_pos, cur_pos+l_data, new_pos);
- }
- else{
- boost::adl_move_swap_ranges(cur_pos, cur_pos+l_data, new_pos);
- //Rotate does less moves but it seems slower due to cache issues
- //rotate_gcd(first-l_block, first+len-l_block, first+len);
- }
-}
-
-// build blocks of length 2*l_build_buf. l_build_buf is power of two
-// input: [0, l_build_buf) elements are buffer, rest unsorted elements
-// output: [0, l_build_buf) elements are buffer, blocks 2*l_build_buf and last subblock sorted
-//
-// First elements are merged from right to left until elements start
-// at first. All old elements [first, first + l_build_buf) are placed at the end
-// [first+len-l_build_buf, first+len). To achieve this:
-// - If we have external memory to merge, we save elements from the buffer
-// so that a non-swapping merge is used. Buffer elements are restored
-// at the end of the buffer from the external memory.
-//
-// - When the external memory is not available or it is insufficient
-// for a merge operation, left swap merging is used.
-//
-// Once elements are merged left to right in blocks of l_build_buf, then a single left
-// to right merge step is performed to achieve merged blocks of size 2K.
-// If external memory is available, usual merge is used, swap merging otherwise.
-//
-// As a last step, if auxiliary memory is available in-place merge is performed.
-// until all is merged or auxiliary memory is not large enough.
-template<class RandIt, class Compare, class XBuf>
-typename iter_size<RandIt>::type
- adaptive_sort_build_blocks
- ( RandIt const first
- , typename iter_size<RandIt>::type const len
- , typename iter_size<RandIt>::type const l_base
- , typename iter_size<RandIt>::type const l_build_buf
- , XBuf & xbuf
- , Compare comp)
-{
- typedef typename iter_size<RandIt>::type size_type;
- BOOST_ASSERT(l_build_buf <= len);
- BOOST_ASSERT(0 == ((l_build_buf / l_base)&(l_build_buf/l_base-1)));
-
- //Place the start pointer after the buffer
- RandIt first_block = first + l_build_buf;
- size_type const elements_in_blocks = size_type(len - l_build_buf);
-
- //////////////////////////////////
- // Start of merge to left step
- //////////////////////////////////
- size_type l_merged = 0u;
-
- BOOST_ASSERT(l_build_buf);
- //If there is no enough buffer for the insertion sort step, just avoid the external buffer
- size_type kbuf = min_value<size_type>(l_build_buf, size_type(xbuf.capacity()));
- kbuf = kbuf < l_base ? 0 : kbuf;
-
- if(kbuf){
- //Backup internal buffer values in external buffer so they can be overwritten
- xbuf.move_assign(first+l_build_buf-kbuf, kbuf);
- l_merged = op_insertion_sort_step_left(first_block, elements_in_blocks, l_base, comp, move_op());
-
- //Now combine them using the buffer. Elements from buffer can be
- //overwritten since they've been saved to xbuf
- l_merged = op_merge_left_step_multiple
- ( first_block - l_merged, elements_in_blocks, l_merged, l_build_buf, size_type(kbuf - l_merged), comp, move_op());
-
- //Restore internal buffer from external buffer unless kbuf was l_build_buf,
- //in that case restoration will happen later
- if(kbuf != l_build_buf){
- boost::move(xbuf.data()+kbuf-l_merged, xbuf.data() + kbuf, first_block-l_merged+elements_in_blocks);
- }
- }
- else{
- l_merged = insertion_sort_step(first_block, elements_in_blocks, l_base, comp);
- rotate_gcd(first_block-l_merged, first_block, first_block+elements_in_blocks);
- }
-
- //Now combine elements using the buffer. Elements from buffer can't be
- //overwritten since xbuf was not big enough, so merge swapping elements.
- l_merged = op_merge_left_step_multiple
- (first_block-l_merged, elements_in_blocks, l_merged, l_build_buf, size_type(l_build_buf - l_merged), comp, swap_op());
-
- BOOST_ASSERT(l_merged == l_build_buf);
-
- //////////////////////////////////
- // Start of merge to right step
- //////////////////////////////////
-
- //If kbuf is l_build_buf then we can merge right without swapping
- //Saved data is still in xbuf
- if(kbuf && kbuf == l_build_buf){
- op_merge_right_step_once(first, elements_in_blocks, l_build_buf, comp, move_op());
- //Restore internal buffer from external buffer if kbuf was l_build_buf.
- //as this operation was previously delayed.
- boost::move(xbuf.data(), xbuf.data() + kbuf, first);
- }
- else{
- op_merge_right_step_once(first, elements_in_blocks, l_build_buf, comp, swap_op());
- }
- xbuf.clear();
- //2*l_build_buf or total already merged
- return min_value<size_type>(elements_in_blocks, size_type(2u*l_build_buf));
-}
-
-template<class RandItKeys, class KeyCompare, class RandIt, class Compare, class XBuf>
-void adaptive_sort_combine_blocks
- ( RandItKeys const keys
- , KeyCompare key_comp
- , RandIt const first
- , typename iter_size<RandIt>::type const len
- , typename iter_size<RandIt>::type const l_prev_merged
- , typename iter_size<RandIt>::type const l_block
- , bool const use_buf
- , bool const xbuf_used
- , XBuf & xbuf
- , Compare comp
- , bool merge_left)
-{
- boost::ignore_unused(xbuf);
- typedef typename iter_size<RandIt>::type size_type;
-
- size_type const l_reg_combined = size_type(2u*l_prev_merged);
- size_type l_irreg_combined = 0;
- size_type const l_total_combined = calculate_total_combined(len, l_prev_merged, &l_irreg_combined);
- size_type const n_reg_combined = len/l_reg_combined;
- RandIt combined_first = first;
-
- boost::ignore_unused(l_total_combined);
- BOOST_ASSERT(l_total_combined <= len);
-
- size_type const max_i = size_type(n_reg_combined + (l_irreg_combined != 0));
-
- if(merge_left || !use_buf) {
- for( size_type combined_i = 0; combined_i != max_i; ) {
- //Now merge blocks
- bool const is_last = combined_i==n_reg_combined;
- size_type const l_cur_combined = is_last ? l_irreg_combined : l_reg_combined;
-
- range_xbuf<RandIt, size_type, move_op> rbuf( (use_buf && xbuf_used) ? (combined_first-l_block) : combined_first, combined_first);
- size_type n_block_a, n_block_b, l_irreg1, l_irreg2;
- combine_params( keys, key_comp, l_cur_combined
- , l_prev_merged, l_block, rbuf
- , n_block_a, n_block_b, l_irreg1, l_irreg2); //Outputs
- BOOST_MOVE_ADAPTIVE_SORT_PRINT_L2(" A combpar: ", len + l_block);
- BOOST_MOVE_ADAPTIVE_SORT_INVARIANT(boost::movelib::is_sorted(combined_first, combined_first + n_block_a*l_block+l_irreg1, comp));
- BOOST_MOVE_ADAPTIVE_SORT_INVARIANT(boost::movelib::is_sorted(combined_first + n_block_a*l_block+l_irreg1, combined_first + n_block_a*l_block+l_irreg1+n_block_b*l_block+l_irreg2, comp));
- if(!use_buf){
- merge_blocks_bufferless
- (keys, key_comp, combined_first, l_block, 0u, n_block_a, n_block_b, l_irreg2, comp);
- }
- else{
- merge_blocks_left
- (keys, key_comp, combined_first, l_block, 0u, n_block_a, n_block_b, l_irreg2, comp, xbuf_used);
- }
- BOOST_MOVE_ADAPTIVE_SORT_PRINT_L2(" After merge_blocks_L: ", len + l_block);
- ++combined_i;
- if(combined_i != max_i)
- combined_first += l_reg_combined;
- }
- }
- else{
- combined_first += size_type(l_reg_combined*(max_i-1u));
- for( size_type combined_i = max_i; combined_i; ) {
- --combined_i;
- bool const is_last = combined_i==n_reg_combined;
- size_type const l_cur_combined = is_last ? l_irreg_combined : l_reg_combined;
-
- RandIt const combined_last(combined_first+l_cur_combined);
- range_xbuf<RandIt, size_type, move_op> rbuf(combined_last, xbuf_used ? (combined_last+l_block) : combined_last);
- size_type n_block_a, n_block_b, l_irreg1, l_irreg2;
- combine_params( keys, key_comp, l_cur_combined
- , l_prev_merged, l_block, rbuf
- , n_block_a, n_block_b, l_irreg1, l_irreg2); //Outputs
- BOOST_MOVE_ADAPTIVE_SORT_PRINT_L2(" A combpar: ", len + l_block);
- BOOST_MOVE_ADAPTIVE_SORT_INVARIANT(boost::movelib::is_sorted(combined_first, combined_first + n_block_a*l_block+l_irreg1, comp));
- BOOST_MOVE_ADAPTIVE_SORT_INVARIANT(boost::movelib::is_sorted(combined_first + n_block_a*l_block+l_irreg1, combined_first + n_block_a*l_block+l_irreg1+n_block_b*l_block+l_irreg2, comp));
- merge_blocks_right
- (keys, key_comp, combined_first, l_block, n_block_a, n_block_b, l_irreg2, comp, xbuf_used);
- BOOST_MOVE_ADAPTIVE_SORT_PRINT_L2(" After merge_blocks_R: ", len + l_block);
- if(combined_i)
- combined_first -= l_reg_combined;
- }
- }
-}
-
-//Returns true if buffer is placed in
-//[buffer+len-l_intbuf, buffer+len). Otherwise, buffer is
-//[buffer,buffer+l_intbuf)
-template<class RandIt, class Compare, class XBuf>
-bool adaptive_sort_combine_all_blocks
- ( RandIt keys
- , typename iter_size<RandIt>::type &n_keys
- , RandIt const buffer
- , typename iter_size<RandIt>::type const l_buf_plus_data
- , typename iter_size<RandIt>::type l_merged
- , typename iter_size<RandIt>::type &l_intbuf
- , XBuf & xbuf
- , Compare comp)
-{
- typedef typename iter_size<RandIt>::type size_type;
-
- RandIt const first = buffer + l_intbuf;
- size_type const l_data = size_type(l_buf_plus_data - l_intbuf);
- size_type const l_unique = size_type(l_intbuf + n_keys);
- //Backup data to external buffer once if possible
- bool const common_xbuf = l_data > l_merged && l_intbuf && l_intbuf <= xbuf.capacity();
- if(common_xbuf){
- xbuf.move_assign(buffer, l_intbuf);
- }
-
- bool prev_merge_left = true;
- size_type l_prev_total_combined = l_merged, l_prev_block = 0;
- bool prev_use_internal_buf = true;
-
- for( size_type n = 0; l_data > l_merged
- ; l_merged = size_type(2u*l_merged)
- , ++n){
- //If l_intbuf is non-zero, use that internal buffer.
- // Implies l_block == l_intbuf && use_internal_buf == true
- //If l_intbuf is zero, see if half keys can be reused as a reduced emergency buffer,
- // Implies l_block == n_keys/2 && use_internal_buf == true
- //Otherwise, just give up and and use all keys to merge using rotations (use_internal_buf = false)
- bool use_internal_buf = false;
- size_type const l_block = lblock_for_combine(l_intbuf, n_keys, size_type(2*l_merged), use_internal_buf);
- BOOST_ASSERT(!l_intbuf || (l_block == l_intbuf));
- BOOST_ASSERT(n == 0 || (!use_internal_buf || prev_use_internal_buf) );
- BOOST_ASSERT(n == 0 || (!use_internal_buf || l_prev_block == l_block) );
-
- bool const is_merge_left = (n&1) == 0;
- size_type const l_total_combined = calculate_total_combined(l_data, l_merged);
- if(n && prev_use_internal_buf && prev_merge_left){
- if(is_merge_left || !use_internal_buf){
- move_data_backward(first-l_prev_block, l_prev_total_combined, first, common_xbuf);
- }
- else{
- //Put the buffer just after l_total_combined
- RandIt const buf_end = first+l_prev_total_combined;
- RandIt const buf_beg = buf_end-l_block;
- if(l_prev_total_combined > l_total_combined){
- size_type const l_diff = size_type(l_prev_total_combined - l_total_combined);
- move_data_backward(buf_beg-l_diff, l_diff, buf_end-l_diff, common_xbuf);
- }
- else if(l_prev_total_combined < l_total_combined){
- size_type const l_diff = size_type(l_total_combined - l_prev_total_combined);
- move_data_forward(buf_end, l_diff, buf_beg, common_xbuf);
- }
- }
- BOOST_MOVE_ADAPTIVE_SORT_PRINT_L2(" After move_data : ", l_data + l_intbuf);
- }
-
- //Combine to form l_merged*2 segments
- if(n_keys){
- size_type upper_n_keys_this_iter = size_type(2u*l_merged/l_block);
- if(upper_n_keys_this_iter > 256){
- adaptive_sort_combine_blocks
- ( keys, comp, !use_internal_buf || is_merge_left ? first : first-l_block
- , l_data, l_merged, l_block, use_internal_buf, common_xbuf, xbuf, comp, is_merge_left);
- }
- else{
- unsigned char uint_keys[256];
- adaptive_sort_combine_blocks
- ( uint_keys, less(), !use_internal_buf || is_merge_left ? first : first-l_block
- , l_data, l_merged, l_block, use_internal_buf, common_xbuf, xbuf, comp, is_merge_left);
- }
- }
- else{
- size_type *const uint_keys = xbuf.template aligned_trailing<size_type>();
- adaptive_sort_combine_blocks
- ( uint_keys, less(), !use_internal_buf || is_merge_left ? first : first-l_block
- , l_data, l_merged, l_block, use_internal_buf, common_xbuf, xbuf, comp, is_merge_left);
- }
-
- BOOST_MOVE_ADAPTIVE_SORT_PRINT_L1(is_merge_left ? " After comb blocks L: " : " After comb blocks R: ", l_data + l_intbuf);
- prev_merge_left = is_merge_left;
- l_prev_total_combined = l_total_combined;
- l_prev_block = l_block;
- prev_use_internal_buf = use_internal_buf;
- }
- BOOST_ASSERT(l_prev_total_combined == l_data);
- bool const buffer_right = prev_use_internal_buf && prev_merge_left;
-
- l_intbuf = prev_use_internal_buf ? l_prev_block : 0u;
- n_keys = size_type(l_unique - l_intbuf);
- //Restore data from to external common buffer if used
- if(common_xbuf){
- if(buffer_right){
- boost::move(xbuf.data(), xbuf.data() + l_intbuf, buffer+l_data);
- }
- else{
- boost::move(xbuf.data(), xbuf.data() + l_intbuf, buffer);
- }
- }
- return buffer_right;
-}
-
-
-template<class RandIt, class Compare, class XBuf>
-void adaptive_sort_final_merge( bool buffer_right
- , RandIt const first
- , typename iter_size<RandIt>::type const l_intbuf
- , typename iter_size<RandIt>::type const n_keys
- , typename iter_size<RandIt>::type const len
- , XBuf & xbuf
- , Compare comp)
-{
- //BOOST_ASSERT(n_keys || xbuf.size() == l_intbuf);
- xbuf.clear();
-
- typedef typename iter_size<RandIt>::type size_type;
-
- size_type const n_key_plus_buf = size_type(l_intbuf+n_keys);
- if(buffer_right){
- //Use stable sort as some buffer elements might not be unique (see non_unique_buf)
- stable_sort(first+len-l_intbuf, first+len, comp, xbuf);
- stable_merge( first+n_keys, first+len-l_intbuf, first+len, antistable<Compare>(comp), xbuf);
- unstable_sort(first, first+n_keys, comp, xbuf);
- stable_merge(first, first+n_keys, first+len, comp, xbuf);
- }
- else{
- //Use stable sort as some buffer elements might not be unique (see non_unique_buf)
- stable_sort(first, first+n_key_plus_buf, comp, xbuf);
- if(xbuf.capacity() >= n_key_plus_buf){
- buffered_merge(first, first+n_key_plus_buf, first+len, comp, xbuf);
- }
- else if(xbuf.capacity() >= min_value<size_type>(l_intbuf, n_keys)){
- stable_merge( first+n_keys, first+n_key_plus_buf
- , first+len, comp, xbuf);
- stable_merge(first, first+n_keys, first+len, comp, xbuf);
- }
- else{
- stable_merge(first, first+n_key_plus_buf, first+len, comp, xbuf);
- }
- }
- BOOST_MOVE_ADAPTIVE_SORT_PRINT_L1(" After final_merge : ", len);
-}
-
-template<class RandIt, class Compare, class Unsigned, class XBuf>
-bool adaptive_sort_build_params
- (RandIt first, Unsigned const len, Compare comp
- , Unsigned &n_keys, Unsigned &l_intbuf, Unsigned &l_base, Unsigned &l_build_buf
- , XBuf & xbuf
- )
-{
- typedef typename iter_size<RandIt>::type size_type;
-
- //Calculate ideal parameters and try to collect needed unique keys
- l_base = 0u;
-
- //Try to find a value near sqrt(len) that is 2^N*l_base where
- //l_base <= AdaptiveSortInsertionSortThreshold. This property is important
- //as build_blocks merges to the left iteratively duplicating the
- //merged size and all the buffer must be used just before the final
- //merge to right step. This guarantees "build_blocks" produces
- //segments of size l_build_buf*2, maximizing the classic merge phase.
- l_intbuf = size_type(ceil_sqrt_multiple(len, &l_base));
-
- //The internal buffer can be expanded if there is enough external memory
- while(xbuf.capacity() >= l_intbuf*2){
- l_intbuf = size_type(2u*l_intbuf);
- }
-
- //This is the minimum number of keys to implement the ideal algorithm
- //
- //l_intbuf is used as buffer plus the key count
- size_type n_min_ideal_keys = size_type(l_intbuf-1u);
- while(n_min_ideal_keys >= (len-l_intbuf-n_min_ideal_keys)/l_intbuf){
- --n_min_ideal_keys;
- }
- ++n_min_ideal_keys;
- BOOST_ASSERT(n_min_ideal_keys <= l_intbuf);
-
- if(xbuf.template supports_aligned_trailing<size_type>
- (l_intbuf, size_type((size_type(len-l_intbuf)-1u)/l_intbuf+1u))){
- n_keys = 0u;
- l_build_buf = l_intbuf;
- }
- else{
- //Try to achieve a l_build_buf of length l_intbuf*2, so that we can merge with that
- //l_intbuf*2 buffer in "build_blocks" and use half of them as buffer and the other half
- //as keys in combine_all_blocks. In that case n_keys >= n_min_ideal_keys but by a small margin.
- //
- //If available memory is 2*sqrt(l), then only sqrt(l) unique keys are needed,
- //(to be used for keys in combine_all_blocks) as the whole l_build_buf
- //will be backuped in the buffer during build_blocks.
- bool const non_unique_buf = xbuf.capacity() >= l_intbuf;
- size_type const to_collect = non_unique_buf ? n_min_ideal_keys : size_type(l_intbuf*2u);
- size_type collected = collect_unique(first, first+len, to_collect, comp, xbuf);
-
- //If available memory is 2*sqrt(l), then for "build_params"
- //the situation is the same as if 2*l_intbuf were collected.
- if(non_unique_buf && collected == n_min_ideal_keys){
- l_build_buf = l_intbuf;
- n_keys = n_min_ideal_keys;
- }
- else if(collected == 2*l_intbuf){
- //l_intbuf*2 elements found. Use all of them in the build phase
- l_build_buf = size_type(l_intbuf*2);
- n_keys = l_intbuf;
- }
- else if(collected >= (n_min_ideal_keys+l_intbuf)){
- l_build_buf = l_intbuf;
- n_keys = size_type(collected - l_intbuf);
- }
- //If collected keys are not enough, try to fix n_keys and l_intbuf. If no fix
- //is possible (due to very low unique keys), then go to a slow sort based on rotations.
- else{
- BOOST_ASSERT(collected < (n_min_ideal_keys+l_intbuf));
- if(collected < 4){ //No combination possible with less that 4 keys
- return false;
- }
- n_keys = l_intbuf;
- while(n_keys & (n_keys-1u)){
- n_keys &= size_type(n_keys-1u); // make it power or 2
- }
- while(n_keys > collected){
- n_keys/=2;
- }
- //AdaptiveSortInsertionSortThreshold is always power of two so the minimum is power of two
- l_base = min_value<Unsigned>(n_keys, AdaptiveSortInsertionSortThreshold);
- l_intbuf = 0;
- l_build_buf = n_keys;
- }
- BOOST_ASSERT((n_keys+l_intbuf) >= l_build_buf);
- }
-
- return true;
-}
-
-// Main explanation of the sort algorithm.
-//
-// csqrtlen = ceil(sqrt(len));
-//
-// * First, 2*csqrtlen unique elements elements are extracted from elements to be
-// sorted and placed in the beginning of the range.
-//
-// * Step "build_blocks": In this nearly-classic merge step, 2*csqrtlen unique elements
-// will be used as auxiliary memory, so trailing len-2*csqrtlen elements are
-// are grouped in blocks of sorted 4*csqrtlen elements. At the end of the step
-// 2*csqrtlen unique elements are again the leading elements of the whole range.
-//
-// * Step "combine_blocks": pairs of previously formed blocks are merged with a different
-// ("smart") algorithm to form blocks of 8*csqrtlen elements. This step is slower than the
-// "build_blocks" step and repeated iteratively (forming blocks of 16*csqrtlen, 32*csqrtlen
-// elements, etc) of until all trailing (len-2*csqrtlen) elements are merged.
-//
-// In "combine_blocks" len/csqrtlen elements used are as "keys" (markers) to
-// know if elements belong to the first or second block to be merged and another
-// leading csqrtlen elements are used as buffer. Explanation of the "combine_blocks" step:
-//
-// Iteratively until all trailing (len-2*csqrtlen) elements are merged:
-// Iteratively for each pair of previously merged block:
-// * Blocks are divided groups of csqrtlen elements and
-// 2*merged_block/csqrtlen keys are sorted to be used as markers
-// * Groups are selection-sorted by first or last element (depending whether they are going
-// to be merged to left or right) and keys are reordered accordingly as an imitation-buffer.
-// * Elements of each block pair are merged using the csqrtlen buffer taking into account
-// if they belong to the first half or second half (marked by the key).
-//
-// * In the final merge step leading elements (2*csqrtlen) are sorted and merged with
-// rotations with the rest of sorted elements in the "combine_blocks" step.
-//
-// Corner cases:
-//
-// * If no 2*csqrtlen elements can be extracted:
-//
-// * If csqrtlen+len/csqrtlen are extracted, then only csqrtlen elements are used
-// as buffer in the "build_blocks" step forming blocks of 2*csqrtlen elements. This
-// means that an additional "combine_blocks" step will be needed to merge all elements.
-//
-// * If no csqrtlen+len/csqrtlen elements can be extracted, but still more than a minimum,
-// then reduces the number of elements used as buffer and keys in the "build_blocks"
-// and "combine_blocks" steps. If "combine_blocks" has no enough keys due to this reduction
-// then uses a rotation based smart merge.
-//
-// * If the minimum number of keys can't be extracted, a rotation-based sorting is performed.
-//
-// * If auxiliary memory is more or equal than ceil(len/2), half-copying mergesort is used.
-//
-// * If auxiliary memory is more than csqrtlen+n_keys*sizeof(std::size_t),
-// then only csqrtlen elements need to be extracted and "combine_blocks" will use integral
-// keys to combine blocks.
-//
-// * If auxiliary memory is available, the "build_blocks" will be extended to build bigger blocks
-// using classic merge and "combine_blocks" will use bigger blocks when merging.
-template<class RandIt, class Compare, class XBuf>
-void adaptive_sort_impl
- ( RandIt first
- , typename iter_size<RandIt>::type const len
- , Compare comp
- , XBuf & xbuf
- )
-{
- typedef typename iter_size<RandIt>::type size_type;
-
- //Small sorts go directly to insertion sort
- if(len <= size_type(AdaptiveSortInsertionSortThreshold)){
- insertion_sort(first, first + len, comp);
- }
- else if((len-len/2) <= xbuf.capacity()){
- merge_sort(first, first+len, comp, xbuf.data());
- }
- else{
- //Make sure it is at least four
- BOOST_STATIC_ASSERT(AdaptiveSortInsertionSortThreshold >= 4);
-
- size_type l_base = 0;
- size_type l_intbuf = 0;
- size_type n_keys = 0;
- size_type l_build_buf = 0;
-
- //Calculate and extract needed unique elements. If a minimum is not achieved
- //fallback to a slow stable sort
- if(!adaptive_sort_build_params(first, len, comp, n_keys, l_intbuf, l_base, l_build_buf, xbuf)){
- stable_sort(first, first+len, comp, xbuf);
- }
- else{
- BOOST_ASSERT(l_build_buf);
- //Otherwise, continue the adaptive_sort
- BOOST_MOVE_ADAPTIVE_SORT_PRINT_L1("\n After collect_unique: ", len);
- size_type const n_key_plus_buf = size_type(l_intbuf+n_keys);
- //l_build_buf is always power of two if l_intbuf is zero
- BOOST_ASSERT(l_intbuf || (0 == (l_build_buf & (l_build_buf-1))));
-
- //Classic merge sort until internal buffer and xbuf are exhausted
- size_type const l_merged = adaptive_sort_build_blocks
- ( first + n_key_plus_buf-l_build_buf
- , size_type(len-n_key_plus_buf+l_build_buf)
- , l_base, l_build_buf, xbuf, comp);
- BOOST_MOVE_ADAPTIVE_SORT_PRINT_L1(" After build_blocks: ", len);
-
- //Non-trivial merge
- bool const buffer_right = adaptive_sort_combine_all_blocks
- (first, n_keys, first+n_keys, size_type(len-n_keys), l_merged, l_intbuf, xbuf, comp);
-
- //Sort keys and buffer and merge the whole sequence
- adaptive_sort_final_merge(buffer_right, first, l_intbuf, n_keys, len, xbuf, comp);
- }
- }
-}
-
-} //namespace detail_adaptive {
-
-///@endcond
-
-//! <b>Effects</b>: Sorts the elements in the range [first, last) in ascending order according
-//! to comparison functor "comp". The sort is stable (order of equal elements
-//! is guaranteed to be preserved). Performance is improved if additional raw storage is
-//! provided.
-//!
-//! <b>Requires</b>:
-//! - RandIt must meet the requirements of ValueSwappable and RandomAccessIterator.
-//! - The type of dereferenced RandIt must meet the requirements of MoveAssignable and MoveConstructible.
-//!
-//! <b>Parameters</b>:
-//! - first, last: the range of elements to sort
-//! - comp: comparison function object which returns true if the first argument is is ordered before the second.
-//! - uninitialized, uninitialized_len: raw storage starting on "uninitialized", able to hold "uninitialized_len"
-//! elements of type iterator_traits<RandIt>::value_type. Maximum performance is achieved when uninitialized_len
-//! is ceil(std::distance(first, last)/2).
-//!
-//! <b>Throws</b>: If comp throws or the move constructor, move assignment or swap of the type
-//! of dereferenced RandIt throws.
-//!
-//! <b>Complexity</b>: Always K x O(Nxlog(N)) comparisons and move assignments/constructors/swaps.
-//! Comparisons are close to minimum even with no additional memory. Constant factor for data movement is minimized
-//! when uninitialized_len is ceil(std::distance(first, last)/2). Pretty good enough performance is achieved when
-//! ceil(sqrt(std::distance(first, last)))*2.
-//!
-//! <b>Caution</b>: Experimental implementation, not production-ready.
-template<class RandIt, class RandRawIt, class Compare>
-void adaptive_sort( RandIt first, RandIt last, Compare comp
- , RandRawIt uninitialized
- , typename iter_size<RandIt>::type uninitialized_len)
-{
- typedef typename iter_size<RandIt>::type size_type;
- typedef typename iterator_traits<RandIt>::value_type value_type;
-
- ::boost::movelib::adaptive_xbuf<value_type, RandRawIt, size_type> xbuf(uninitialized, uninitialized_len);
- ::boost::movelib::detail_adaptive::adaptive_sort_impl(first, size_type(last - first), comp, xbuf);
-}
-
-template<class RandIt, class Compare>
-void adaptive_sort( RandIt first, RandIt last, Compare comp)
-{
- typedef typename iterator_traits<RandIt>::value_type value_type;
- adaptive_sort(first, last, comp, (value_type*)0, 0u);
-}
-
-} //namespace movelib {
-} //namespace boost {
-
-#include <boost/move/detail/config_end.hpp>
-
-#if defined(BOOST_CLANG) || (defined(BOOST_GCC) && (BOOST_GCC >= 40600))
-#pragma GCC diagnostic pop
-#endif
-
-#endif //#define BOOST_MOVE_ADAPTIVE_SORT_HPP
diff --git a/contrib/restricted/boost/move/include/boost/move/algo/detail/pdqsort.hpp b/contrib/restricted/boost/move/include/boost/move/algo/detail/pdqsort.hpp
deleted file mode 100644
index 640f8a3d1b..0000000000
--- a/contrib/restricted/boost/move/include/boost/move/algo/detail/pdqsort.hpp
+++ /dev/null
@@ -1,344 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-//
-// (C) Copyright Orson Peters 2017.
-// (C) Copyright Ion Gaztanaga 2017-2018.
-// Distributed under the 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/move for documentation.
-//
-//////////////////////////////////////////////////////////////////////////////
-//
-// This implementation of Pattern-defeating quicksort (pdqsort) was written
-// by Orson Peters, and discussed in the Boost mailing list:
-// http://boost.2283326.n4.nabble.com/sort-pdqsort-td4691031.html
-//
-// This implementation is the adaptation by Ion Gaztanaga of code originally in GitHub
-// with permission from the author to relicense it under the Boost Software License
-// (see the Boost mailing list for details).
-//
-// The original copyright statement is pasted here for completeness:
-//
-// pdqsort.h - Pattern-defeating quicksort.
-// Copyright (c) 2015 Orson Peters
-// This software is provided 'as-is', without any express or implied warranty. In no event will the
-// authors be held liable for any damages arising from the use of this software.
-// Permission is granted to anyone to use this software for any purpose, including commercial
-// applications, and to alter it and redistribute it freely, subject to the following restrictions:
-// 1. The origin of this software must not be misrepresented; you must not claim that you wrote the
-// original software. If you use this software in a product, an acknowledgment in the product
-// documentation would be appreciated but is not required.
-// 2. Altered source versions must be plainly marked as such, and must not be misrepresented as
-// being the original software.
-// 3. This notice may not be removed or altered from any source distribution.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef BOOST_MOVE_ALGO_PDQSORT_HPP
-#define BOOST_MOVE_ALGO_PDQSORT_HPP
-
-#ifndef BOOST_CONFIG_HPP
-# include <boost/config.hpp>
-#endif
-#
-#if defined(BOOST_HAS_PRAGMA_ONCE)
-# pragma once
-#endif
-
-#include <boost/move/detail/config_begin.hpp>
-
-#include <boost/move/detail/workaround.hpp>
-#include <boost/move/utility_core.hpp>
-#include <boost/move/algo/detail/insertion_sort.hpp>
-#include <boost/move/algo/detail/heap_sort.hpp>
-#include <boost/move/detail/iterator_traits.hpp>
-
-#include <boost/move/adl_move_swap.hpp>
-#include <cstddef>
-
-#if defined(BOOST_CLANG) || (defined(BOOST_GCC) && (BOOST_GCC >= 40600))
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wsign-conversion"
-#endif
-
-namespace boost {
-namespace movelib {
-
-namespace pdqsort_detail {
-
- //A simple pair implementation to avoid including <utility>
- template<class T1, class T2>
- struct pair
- {
- pair()
- {}
-
- pair(const T1 &t1, const T2 &t2)
- : first(t1), second(t2)
- {}
-
- T1 first;
- T2 second;
- };
-
- enum {
- // Partitions below this size are sorted using insertion sort.
- insertion_sort_threshold = 24,
-
- // Partitions above this size use Tukey's ninther to select the pivot.
- ninther_threshold = 128,
-
- // When we detect an already sorted partition, attempt an insertion sort that allows this
- // amount of element moves before giving up.
- partial_insertion_sort_limit = 8,
-
- // Must be multiple of 8 due to loop unrolling, and < 256 to fit in unsigned char.
- block_size = 64,
-
- // Cacheline size, assumes power of two.
- cacheline_size = 64
-
- };
-
- // Returns floor(log2(n)), assumes n > 0.
- template<class Unsigned>
- Unsigned log2(Unsigned n) {
- Unsigned log = 0;
- while (n >>= 1) ++log;
- return log;
- }
-
- // Attempts to use insertion sort on [begin, end). Will return false if more than
- // partial_insertion_sort_limit elements were moved, and abort sorting. Otherwise it will
- // successfully sort and return true.
- template<class Iter, class Compare>
- inline bool partial_insertion_sort(Iter begin, Iter end, Compare comp) {
- typedef typename boost::movelib::iterator_traits<Iter>::value_type T;
- typedef typename boost::movelib:: iter_size<Iter>::type size_type;
- if (begin == end) return true;
-
- size_type limit = 0;
- for (Iter cur = begin + 1; cur != end; ++cur) {
- if (limit > partial_insertion_sort_limit) return false;
-
- Iter sift = cur;
- Iter sift_1 = cur - 1;
-
- // Compare first so we can avoid 2 moves for an element already positioned correctly.
- if (comp(*sift, *sift_1)) {
- T tmp = boost::move(*sift);
-
- do { *sift-- = boost::move(*sift_1); }
- while (sift != begin && comp(tmp, *--sift_1));
-
- *sift = boost::move(tmp);
- limit += size_type(cur - sift);
- }
- }
-
- return true;
- }
-
- template<class Iter, class Compare>
- inline void sort2(Iter a, Iter b, Compare comp) {
- if (comp(*b, *a)) boost::adl_move_iter_swap(a, b);
- }
-
- // Sorts the elements *a, *b and *c using comparison function comp.
- template<class Iter, class Compare>
- inline void sort3(Iter a, Iter b, Iter c, Compare comp) {
- sort2(a, b, comp);
- sort2(b, c, comp);
- sort2(a, b, comp);
- }
-
- // Partitions [begin, end) around pivot *begin using comparison function comp. Elements equal
- // to the pivot are put in the right-hand partition. Returns the position of the pivot after
- // partitioning and whether the passed sequence already was correctly partitioned. Assumes the
- // pivot is a median of at least 3 elements and that [begin, end) is at least
- // insertion_sort_threshold long.
- template<class Iter, class Compare>
- pdqsort_detail::pair<Iter, bool> partition_right(Iter begin, Iter end, Compare comp) {
- typedef typename boost::movelib::iterator_traits<Iter>::value_type T;
-
- // Move pivot into local for speed.
- T pivot(boost::move(*begin));
-
- Iter first = begin;
- Iter last = end;
-
- // Find the first element greater than or equal than the pivot (the median of 3 guarantees
- // this exists).
- while (comp(*++first, pivot));
-
- // Find the first element strictly smaller than the pivot. We have to guard this search if
- // there was no element before *first.
- if (first - 1 == begin) while (first < last && !comp(*--last, pivot));
- else while ( !comp(*--last, pivot));
-
- // If the first pair of elements that should be swapped to partition are the same element,
- // the passed in sequence already was correctly partitioned.
- bool already_partitioned = first >= last;
-
- // Keep swapping pairs of elements that are on the wrong side of the pivot. Previously
- // swapped pairs guard the searches, which is why the first iteration is special-cased
- // above.
- while (first < last) {
- boost::adl_move_iter_swap(first, last);
- while (comp(*++first, pivot));
- while (!comp(*--last, pivot));
- }
-
- // Put the pivot in the right place.
- Iter pivot_pos = first - 1;
- *begin = boost::move(*pivot_pos);
- *pivot_pos = boost::move(pivot);
-
- return pdqsort_detail::pair<Iter, bool>(pivot_pos, already_partitioned);
- }
-
- // Similar function to the one above, except elements equal to the pivot are put to the left of
- // the pivot and it doesn't check or return if the passed sequence already was partitioned.
- // Since this is rarely used (the many equal case), and in that case pdqsort already has O(n)
- // performance, no block quicksort is applied here for simplicity.
- template<class Iter, class Compare>
- inline Iter partition_left(Iter begin, Iter end, Compare comp) {
- typedef typename boost::movelib::iterator_traits<Iter>::value_type T;
-
- T pivot(boost::move(*begin));
- Iter first = begin;
- Iter last = end;
-
- while (comp(pivot, *--last));
-
- if (last + 1 == end) while (first < last && !comp(pivot, *++first));
- else while ( !comp(pivot, *++first));
-
- while (first < last) {
- boost::adl_move_iter_swap(first, last);
- while (comp(pivot, *--last));
- while (!comp(pivot, *++first));
- }
-
- Iter pivot_pos = last;
- *begin = boost::move(*pivot_pos);
- *pivot_pos = boost::move(pivot);
-
- return pivot_pos;
- }
-
-
- template<class Iter, class Compare>
- void pdqsort_loop( Iter begin, Iter end, Compare comp
- , typename boost::movelib:: iter_size<Iter>::type bad_allowed
- , bool leftmost = true)
- {
- typedef typename boost::movelib:: iter_size<Iter>::type size_type;
-
- // Use a while loop for tail recursion elimination.
- while (true) {
- size_type size = size_type(end - begin);
-
- // Insertion sort is faster for small arrays.
- if (size < insertion_sort_threshold) {
- insertion_sort(begin, end, comp);
- return;
- }
-
- // Choose pivot as median of 3 or pseudomedian of 9.
- size_type s2 = size / 2;
- if (size > ninther_threshold) {
- sort3(begin, begin + s2, end - 1, comp);
- sort3(begin + 1, begin + (s2 - 1), end - 2, comp);
- sort3(begin + 2, begin + (s2 + 1), end - 3, comp);
- sort3(begin + (s2 - 1), begin + s2, begin + (s2 + 1), comp);
- boost::adl_move_iter_swap(begin, begin + s2);
- } else sort3(begin + s2, begin, end - 1, comp);
-
- // If *(begin - 1) is the end of the right partition of a previous partition operation
- // there is no element in [begin, end) that is smaller than *(begin - 1). Then if our
- // pivot compares equal to *(begin - 1) we change strategy, putting equal elements in
- // the left partition, greater elements in the right partition. We do not have to
- // recurse on the left partition, since it's sorted (all equal).
- if (!leftmost && !comp(*(begin - 1), *begin)) {
- begin = partition_left(begin, end, comp) + 1;
- continue;
- }
-
- // Partition and get results.
- pdqsort_detail::pair<Iter, bool> part_result = partition_right(begin, end, comp);
- Iter pivot_pos = part_result.first;
- bool already_partitioned = part_result.second;
-
- // Check for a highly unbalanced partition.
- size_type l_size = size_type(pivot_pos - begin);
- size_type r_size = size_type(end - (pivot_pos + 1));
- bool highly_unbalanced = l_size < size / 8 || r_size < size / 8;
-
- // If we got a highly unbalanced partition we shuffle elements to break many patterns.
- if (highly_unbalanced) {
- // If we had too many bad partitions, switch to heapsort to guarantee O(n log n).
- if (--bad_allowed == 0) {
- boost::movelib::heap_sort(begin, end, comp);
- return;
- }
-
- if (l_size >= insertion_sort_threshold) {
- boost::adl_move_iter_swap(begin, begin + l_size / 4);
- boost::adl_move_iter_swap(pivot_pos - 1, pivot_pos - l_size / 4);
-
- if (l_size > ninther_threshold) {
- boost::adl_move_iter_swap(begin + 1, begin + (l_size / 4 + 1));
- boost::adl_move_iter_swap(begin + 2, begin + (l_size / 4 + 2));
- boost::adl_move_iter_swap(pivot_pos - 2, pivot_pos - (l_size / 4 + 1));
- boost::adl_move_iter_swap(pivot_pos - 3, pivot_pos - (l_size / 4 + 2));
- }
- }
-
- if (r_size >= insertion_sort_threshold) {
- boost::adl_move_iter_swap(pivot_pos + 1, pivot_pos + (1 + r_size / 4));
- boost::adl_move_iter_swap(end - 1, end - r_size / 4);
-
- if (r_size > ninther_threshold) {
- boost::adl_move_iter_swap(pivot_pos + 2, pivot_pos + (2 + r_size / 4));
- boost::adl_move_iter_swap(pivot_pos + 3, pivot_pos + (3 + r_size / 4));
- boost::adl_move_iter_swap(end - 2, end - (1 + r_size / 4));
- boost::adl_move_iter_swap(end - 3, end - (2 + r_size / 4));
- }
- }
- } else {
- // If we were decently balanced and we tried to sort an already partitioned
- // sequence try to use insertion sort.
- if (already_partitioned && partial_insertion_sort(begin, pivot_pos, comp)
- && partial_insertion_sort(pivot_pos + 1, end, comp)) return;
- }
-
- // Sort the left partition first using recursion and do tail recursion elimination for
- // the right-hand partition.
- pdqsort_loop<Iter, Compare>(begin, pivot_pos, comp, bad_allowed, leftmost);
- begin = pivot_pos + 1;
- leftmost = false;
- }
- }
-}
-
-
-template<class Iter, class Compare>
-void pdqsort(Iter begin, Iter end, Compare comp)
-{
- if (begin == end) return;
- typedef typename boost::movelib:: iter_size<Iter>::type size_type;
- pdqsort_detail::pdqsort_loop<Iter, Compare>(begin, end, comp, pdqsort_detail::log2(size_type(end - begin)));
-}
-
-} //namespace movelib {
-} //namespace boost {
-
-#if defined(BOOST_CLANG) || (defined(BOOST_GCC) && (BOOST_GCC >= 40600))
-#pragma GCC diagnostic pop
-#endif
-
-#include <boost/move/detail/config_end.hpp>
-
-#endif //BOOST_MOVE_ALGO_PDQSORT_HPP
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/bind_function_object.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/bind_function_object.hpp
deleted file mode 100644
index ed2be3eace..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/bind_function_object.hpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*=============================================================================
- Copyright (c) 2016 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 PHOENIX_BIND_BIND_FUNCTION_OBJECT_HPP
-#define PHOENIX_BIND_BIND_FUNCTION_OBJECT_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-
-#if defined(BOOST_PHOENIX_NO_VARIADIC_BIND)
-# include <boost/phoenix/bind/detail/cpp03/bind_function_object.hpp>
-#else
-
-#include <boost/phoenix/core/expression.hpp>
-#include <boost/phoenix/core/detail/function_eval.hpp>
-
-namespace boost { namespace phoenix
-{
- template <typename F>
- inline typename detail::expression::function_eval<F>::type const
- bind(F f)
- {
- return detail::expression::function_eval<F>::make(f);
- }
-
- template <typename F, typename... A>
- inline typename detail::expression::function_eval<F, A...>::type const
- bind(F f, A const&... a)
- {
- return detail::expression::function_eval<F, A...>::make(f, a...);
- }
-}} // namespace boost::phoenix
-
-#endif
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/bind_function_object.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/bind_function_object.hpp
deleted file mode 100644
index a0aa386163..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/bind_function_object.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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 !BOOST_PHOENIX_IS_ITERATING
-
-#include <boost/phoenix/core/expression.hpp>
-#include <boost/phoenix/core/detail/function_eval.hpp>
-
-namespace boost { namespace phoenix {
- template <typename F>
- inline
- typename detail::expression::function_eval<F>::type const
- bind(F f)
- {
- return detail::expression::function_eval<F>::make(f);
- }
-
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
- #include <boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object.hpp>
-#else
-
-#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 2, line: 0, output: "preprocessed/bind_function_object_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-
-/*=============================================================================
- Copyright (c) 2001-2007 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(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 1)
-#endif
-
-#define BOOST_PHOENIX_ITERATION_PARAMS \
- (3, (1, BOOST_PP_DEC(BOOST_PHOENIX_ACTOR_LIMIT), \
- <boost/phoenix/bind/detail/cpp03/bind_function_object.hpp>))
-#include BOOST_PHOENIX_ITERATE()
-
-#if defined(__WAVE__) && defined (BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
- #pragma wave option(output: null)
-#endif
-
-#endif
-
-}}
-
-#else
-
- template <
- typename F
- , BOOST_PHOENIX_typename_A
- >
- inline
- typename detail::expression::function_eval<
- F
- , BOOST_PHOENIX_A
- >::type const
- bind(F f, BOOST_PHOENIX_A_const_ref_a)
- {
- return
- detail::expression::function_eval<F, BOOST_PHOENIX_A>::make(
- f
- , BOOST_PHOENIX_a
- );
- }
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object.hpp
deleted file mode 100644
index 565f7e77c1..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 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)
-==============================================================================*/
-
-#if !defined(BOOST_PHOENIX_PREPROCESSED_BIND_FUNCTION_OBJECT_HPP)
-#define BOOST_PHOENIX_PREPROCESSED_BIND_FUNCTION_OBJECT_HPP
-
-#if BOOST_PHOENIX_LIMIT <= 10
-#include <boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 20
-#include <boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_20.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 30
-#include <boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_30.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 40
-#include <boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_40.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 50
-#include <boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_50.hpp>
-#else
-#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_10.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_10.hpp
deleted file mode 100644
index afe633b0a6..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_10.hpp
+++ /dev/null
@@ -1,222 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0
- >::type const
- bind(F f, A0 const& a0)
- {
- return
- detail::expression::function_eval<F, A0>::make(
- f
- , a0
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1)
- {
- return
- detail::expression::function_eval<F, A0 , A1>::make(
- f
- , a0 , a1
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2>::make(
- f
- , a0 , a1 , a2
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(
- f
- , a0 , a1 , a2 , a3
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(
- f
- , a0 , a1 , a2 , a3 , a4
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8
- );
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_20.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_20.hpp
deleted file mode 100644
index 0b2f9317b2..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_20.hpp
+++ /dev/null
@@ -1,462 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0
- >::type const
- bind(F f, A0 const& a0)
- {
- return
- detail::expression::function_eval<F, A0>::make(
- f
- , a0
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1)
- {
- return
- detail::expression::function_eval<F, A0 , A1>::make(
- f
- , a0 , a1
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2>::make(
- f
- , a0 , a1 , a2
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(
- f
- , a0 , a1 , a2 , a3
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(
- f
- , a0 , a1 , a2 , a3 , a4
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18
- );
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_30.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_30.hpp
deleted file mode 100644
index 231e796366..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_30.hpp
+++ /dev/null
@@ -1,702 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0
- >::type const
- bind(F f, A0 const& a0)
- {
- return
- detail::expression::function_eval<F, A0>::make(
- f
- , a0
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1)
- {
- return
- detail::expression::function_eval<F, A0 , A1>::make(
- f
- , a0 , a1
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2>::make(
- f
- , a0 , a1 , a2
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(
- f
- , a0 , a1 , a2 , a3
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(
- f
- , a0 , a1 , a2 , a3 , a4
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28
- );
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_40.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_40.hpp
deleted file mode 100644
index 46699d1e33..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_40.hpp
+++ /dev/null
@@ -1,942 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0
- >::type const
- bind(F f, A0 const& a0)
- {
- return
- detail::expression::function_eval<F, A0>::make(
- f
- , a0
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1)
- {
- return
- detail::expression::function_eval<F, A0 , A1>::make(
- f
- , a0 , a1
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2>::make(
- f
- , a0 , a1 , a2
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(
- f
- , a0 , a1 , a2 , a3
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(
- f
- , a0 , a1 , a2 , a3 , a4
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38
- );
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_50.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_50.hpp
deleted file mode 100644
index 86b6801496..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/bind/detail/cpp03/preprocessed/bind_function_object_50.hpp
+++ /dev/null
@@ -1,1182 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0
- >::type const
- bind(F f, A0 const& a0)
- {
- return
- detail::expression::function_eval<F, A0>::make(
- f
- , a0
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1)
- {
- return
- detail::expression::function_eval<F, A0 , A1>::make(
- f
- , a0 , a1
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2>::make(
- f
- , a0 , a1 , a2
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(
- f
- , a0 , a1 , a2 , a3
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(
- f
- , a0 , a1 , a2 , a3 , a4
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47
- );
- }
-
-
-
-
-
-
-
- template <
- typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48
- >
- inline
- typename detail::expression::function_eval<
- F
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48
- >::type const
- bind(F f, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48)
- {
- return
- detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48>::make(
- f
- , a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48
- );
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/config.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/config.hpp
deleted file mode 100644
index 2afcd17a90..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/config.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2014-2015 John Fletcher
- Copyright (c) 2016 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_PHOENIX_CONFIG_HPP
-#define BOOST_PHOENIX_CONFIG_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-//////////////////////////////////////////////////////////////////////////
-// This section is to sort out whether hash types or unordered types
-// are available. This depends on whether stdlib or libc++ is being used
-// and also whether C++11 or C++03 is being used.
-//////////////////////////////////////////////////////////////////////////
-// The idea is to set up the configuration without including the actual
-// headers unless that is unavoidable.
-//
-// The client code should contain the following to include headers
-//
-// #ifdef BOOST_PHOENIX_HAS_HASH
-// #include BOOST_PHOENIX_HASH_SET_HEADER
-// #include BOOST_PHOENIX_HASH_MAP_HEADER
-// #endif
-//
-// #ifdef BOOST_PHOENIX_HAS_UNORDERED_SET_AND_MAP
-// #include BOOST_PHOENIX_UNORDERED_SET_HEADER
-// #include BOOST_PHOENIX_UNORDERED_MAP_HEADER
-// #endif
-//
-// The client code can then chose the implementation provided.
-// See the example in test/stl/querying_find2.cpp
-
-// There is no specific thing in Boost Config for libc++
-#ifdef _LIBCPP_VERSION
-#define BOOST_PHOENIX_USING_LIBCPP
-#endif
-
-// This may not be true for some very old version of libc++
-// Current libc++ supports unordered_set and unordered_map without C++11.
-#if defined(BOOST_PHOENIX_USING_LIBCPP) \
- && !(defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP) || defined(BOOST_NO_CXX11_HDR_UNORDERED_SET))
-// This is either libc++ or C++11 or later
-#define BOOST_PHOENIX_HAS_UNORDERED_SET_AND_MAP
-#define BOOST_PHOENIX_UNORDERED_SET_HEADER <unordered_set>
-#define BOOST_PHOENIX_UNORDERED_MAP_HEADER <unordered_map>
-#define BOOST_PHOENIX_UNORDERED_NAMESPACE std
-#endif
-
-#if defined(BOOST_HAS_HASH)
-// This is to sort out case of Clang when using stdlib from gcc
-// as Clang thinks it is gcc 4.2.1
-// This prevents the failure to include a header with a warning.
-#define _GLIBCXX_PERMIT_BACKWARD_HASH
-#define BOOST_PHOENIX_HASH_SET_HEADER BOOST_HASH_SET_HEADER
-#define BOOST_PHOENIX_HASH_MAP_HEADER BOOST_HASH_MAP_HEADER
-#define BOOST_PHOENIX_HAS_HASH
-#define BOOST_PHOENIX_HASH_NAMESPACE BOOST_STD_EXTENSION_NAMESPACE
-#define BOOST_PHOENIX_HASH_template_rest_param class Hash, class Cmp, class Alloc
-#define BOOST_PHOENIX_HASH_type_rest_param Hash, Cmp, Alloc
-#elif defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB < 610)
-#define BOOST_PHOENIX_HASH_SET_HEADER <hash_set>
-#define BOOST_PHOENIX_HASH_MAP_HEADER <hash_map>
-#define BOOST_PHOENIX_HAS_HASH
-#define BOOST_PHOENIX_HASH_NAMESPACE stdext
-#define BOOST_PHOENIX_HASH_template_rest_param class Tr, class Alloc
-#define BOOST_PHOENIX_HASH_type_rest_param Tr, Alloc
-#endif
-
-#if BOOST_WORKAROUND(BOOST_GCC, < 40100)
-#define BOOST_PHOENIX_SFINAE_AND_OVERLOADS , void* = 0
-#else
-#define BOOST_PHOENIX_SFINAE_AND_OVERLOADS
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core.hpp
deleted file mode 100644
index 039b822d2d..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2010 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_PHOENIX_CORE_HPP
-#define BOOST_PHOENIX_CORE_HPP
-
-#include <boost/phoenix/version.hpp>
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/is_actor.hpp>
-#include <boost/phoenix/core/argument.hpp>
-#include <boost/phoenix/core/value.hpp>
-#include <boost/phoenix/core/reference.hpp>
-#include <boost/phoenix/core/nothing.hpp>
-#include <boost/phoenix/core/function_equal.hpp>
-#include <boost/phoenix/core/v2_eval.hpp>
-#include <boost/phoenix/scope/local_variable.hpp> // to fix 5824
-#include <boost/proto/generate.hpp> // attempt to fix problems in intel 14.0.1
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/actor.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/actor.hpp
deleted file mode 100644
index e4a7acc842..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/actor.hpp
+++ /dev/null
@@ -1,255 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010 Thomas Heller
- Copyright (c) 2014 John Fletcher
-
- Distributed under the 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_PHOENIX_CORE_ACTOR_HPP
-#define BOOST_PHOENIX_CORE_ACTOR_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-
-#include <boost/is_placeholder.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/phoenix/core/domain.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/phoenix/core/is_nullary.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/phoenix/support/iterate.hpp>
-#include <boost/phoenix/support/vector.hpp>
-#include <boost/proto/extends.hpp>
-#include <boost/proto/make_expr.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/mpl/void.hpp>
-#include <cstring>
-#ifndef BOOST_PHOENIX_NO_VARIADIC_ACTOR
-# include <boost/mpl/if.hpp>
-# include <boost/type_traits/is_reference.hpp>
-# include <boost/phoenix/core/detail/index_sequence.hpp>
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4522) // 'this' used in base member initializer list
-#pragma warning(disable: 4510) // default constructor could not be generated
-#pragma warning(disable: 4610) // can never be instantiated - user defined cons
-#endif
-
-namespace boost { namespace phoenix
-{
- template <typename Expr>
- struct actor;
-
- namespace detail
- {
- struct error_expecting_arguments
- {
- template <typename T>
- error_expecting_arguments(T const&) {}
- };
-
- struct error_invalid_lambda_expr
- {
- template <typename T>
- error_invalid_lambda_expr(T const&) {}
- };
-
- template <typename T>
- struct result_type_deduction_helper
- {
- typedef T const & type;
- };
-
- template <typename T>
- struct result_type_deduction_helper<T &>
- {
- typedef T & type;
- };
-
- template <typename T>
- struct result_type_deduction_helper<T const &>
- {
- typedef T const & type;
- };
- }
-
- namespace result_of
- {
-#ifdef BOOST_PHOENIX_NO_VARIADIC_ACTOR
- // Bring in the result_of::actor<>
- #include <boost/phoenix/core/detail/cpp03/actor_result_of.hpp>
-#else
- template <typename Expr, typename... A>
- struct actor_impl
- {
- typedef
- typename boost::phoenix::evaluator::impl<
- Expr const&
- , vector2<
- typename vector_chooser<sizeof...(A) + 1>::
- template apply<const ::boost::phoenix::actor<Expr> *, A...>::type&
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
- template <typename Expr, typename... A>
- struct actor : actor_impl<Expr, A...> {};
-
- template <typename Expr>
- struct nullary_actor_result : actor_impl<Expr> {};
-#endif
-
- template <typename Expr>
- struct actor<Expr>
- {
- typedef
- // avoid calling result_of::actor when this is false
- typename mpl::eval_if_c<
- result_of::is_nullary<Expr>::value
- , nullary_actor_result<Expr>
- , mpl::identity<detail::error_expecting_arguments>
- >::type
- type;
- };
- }
-
- ////////////////////////////////////////////////////////////////////////////
- //
- // actor
- //
- // The actor class. The main thing! In phoenix, everything is an actor
- // This class is responsible for full function evaluation. Partial
- // function evaluation involves creating a hierarchy of actor objects.
- //
- ////////////////////////////////////////////////////////////////////////////
- template <typename Expr>
- struct actor
- {
- typedef typename
- mpl::eval_if_c<
- mpl::or_<
- is_custom_terminal<Expr>
- , mpl::bool_<is_placeholder<Expr>::value>
- >::value
- , proto::terminal<Expr>
- , mpl::identity<Expr>
- >::type
- expr_type;
-
- BOOST_PROTO_BASIC_EXTENDS(expr_type, actor<Expr>, phoenix_domain)
- BOOST_PROTO_EXTENDS_SUBSCRIPT()
- BOOST_PROTO_EXTENDS_ASSIGN_()
-
- template <typename Sig>
- struct result;
-
- typename result_of::actor<proto_base_expr>::type
- operator()()
- {
- typedef vector1<const actor<Expr> *> env_type;
- env_type env = {this};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
- typename result_of::actor<proto_base_expr>::type
- operator()() const
- {
- typedef vector1<const actor<Expr> *> env_type;
- env_type env = {this};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
- template <typename Env>
- typename evaluator::impl<
- proto_base_expr const &
- , typename result_of::context<
- Env const &
- , default_actions const &
- >::type
- , proto::empty_env
- >::result_type
- eval(Env const & env) const
- {
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-#ifdef BOOST_PHOENIX_NO_VARIADIC_ACTOR
- // Bring in the rest
- #include <boost/phoenix/core/detail/cpp03/actor_operator.hpp>
-#else
- template <typename This, typename... A>
- struct result<This(A...)>
- : result_of::actor<
- proto_base_expr
- , typename mpl::if_<is_reference<A>, A, A const &>::type...
- >
- {};
-
- template <typename... A>
- typename result<actor(A...)>::type
- operator()(A &&... a)
- {
- typedef
- typename vector_chooser<sizeof...(A) + 1>::template apply<
- const actor<Expr> *
- , typename mpl::if_<is_reference<A>, A, A const &>::type...
- >::type
- env_type;
-
- env_type env = {this, a...};
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
- template <typename... A>
- typename result<actor(A...)>::type
- operator()(A &&... a) const
- {
- typedef
- typename vector_chooser<sizeof...(A) + 1>::template apply<
- const actor<Expr> *
- , typename mpl::if_<is_reference<A>, A, A const &>::type...
- >::type
- env_type;
-
- env_type env = {this, a...};
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-#endif
-
- BOOST_DELETED_FUNCTION(actor& operator=(actor const&))
- actor(const actor& other) = default;
- actor(const expr_type& proto_expr): proto_expr_(proto_expr) {};
- actor() {};
- };
-}}
-
-namespace boost
-{
- // specialize boost::result_of to return the proper result type
- template <typename Expr>
- struct result_of<phoenix::actor<Expr>()>
- : phoenix::result_of::actor<typename phoenix::actor<Expr>::proto_base_expr>
- {};
-
- template <typename Expr>
- struct result_of<phoenix::actor<Expr> const()>
- : phoenix::result_of::actor<typename phoenix::actor<Expr>::proto_base_expr>
- {};
-}
-
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
-
-#endif
-
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/argument.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/argument.hpp
deleted file mode 100644
index 2421001bf0..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/argument.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010-2011 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_ARGUMENT_HPP
-#define BOOST_PHOENIX_CORE_ARGUMENT_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/expression.hpp>
-#include <boost/phoenix/core/terminal.hpp>
-#include <boost/mpl/int.hpp>
-
-namespace boost { namespace phoenix
-{
- ////////////////////////////////////////////////////////////////////////////
- //
- // argument
- //
- // function for evaluating argument placeholders like: _1
- //
- ////////////////////////////////////////////////////////////////////////////
-
- template <int I>
- struct argument
- //: mpl::int_<I>
- {
- typedef typename mpl::int_<I>::value_type value_type;
- static const value_type value = mpl::int_<I>::value;
-
- bool operator==(argument) const
- {
- return true;
- }
-
- template <int I2>
- bool operator==(argument<I2>) const
- {
- return false;
- }
- };
-}}
-
-namespace boost {
- template <int I>
- struct is_placeholder<phoenix::argument<I> >
- : mpl::int_<I>
- {};
-}
-
-namespace boost { namespace phoenix
-{
- namespace expression
- {
- template <int I>
- struct argument
- : expression::terminal<phoenix::argument<I> >
- {
- typedef typename expression::terminal<phoenix::argument<I> >::type type;
- static const type make()
- {
- type const e = {{{}}};
- return e;
- }
- };
- }
-
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-
-#include <boost/phoenix/core/detail/cpp03/preprocessed/argument.hpp>
-
-#else
-
-#if !defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#include <boost/phoenix/core/detail/argument.hpp>
-#else
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "detail/cpp03/preprocessed/argument_predefined_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010-2011 Thomas Heller
-
- Distributed under the 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(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 1)
-#endif
-
-#ifdef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
-#undef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
-#define BOOST_PHOENIX_NO_PREDEFINED_TERMINALS_RESTORE
-#endif
-
-#include <boost/phoenix/core/detail/argument.hpp>
-
-#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS_RESTORE
-#define BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
-#undef BOOST_PHOENIX_NO_PREDEFINED_TERIMINALS_RESTORE
-#endif
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "detail/cpp03/preprocessed/argument_no_predefined_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010-2011 Thomas Heller
-
- Distributed under the 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(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 1)
-#endif
-
-#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
-#define BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
-#define BOOST_PHOENIX_NO_PREDEFINED_TERMINALS_RESTORE
-#endif
-
-#include <boost/phoenix/core/detail/argument.hpp>
-
-#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS_RESTORE
-#undef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
-#undef BOOST_PHOENIX_NO_PREDEFINED_TERIMINALS_RESTORE
-#endif
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif
-
-#endif
-
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/as_actor.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/as_actor.hpp
deleted file mode 100644
index 5bbfb61f78..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/as_actor.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_PHOENIX_CORE_AS_ACTOR_HPP
-#define BOOST_PHOENIX_CORE_AS_ACTOR_HPP
-
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/fusion/support/void.hpp>
-
-namespace boost { namespace phoenix
-{
- template <typename T, typename U = typename is_actor<T>::type >
- struct as_actor
- {
- typedef T type;
-
- static type const &
- convert(T const & t)
- {
- return t;
- }
- };
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/call.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/call.hpp
deleted file mode 100644
index 716dd793ba..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/call.hpp
+++ /dev/null
@@ -1,128 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2011 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_CALL_HPP
-#define BOOST_PHOENIX_CORE_CALL_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/proto/proto_fwd.hpp>
-#include <boost/proto/traits.hpp>
-#include <boost/proto/transform/impl.hpp>
-
-#ifndef BOOST_PHOENIX_NO_VARIADIC_CALL
-# include <boost/phoenix/core/detail/index_sequence.hpp>
-#endif
-
-namespace boost { namespace phoenix
-{
- namespace detail
- {
- template <
- typename Fun
- , typename Expr
- , typename State
- , typename Data
- , long Arity = proto::arity_of<Expr>::value
- >
- struct call_impl;
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 0>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
-
- typedef
- typename boost::result_of<
- Fun(Expr, context_type)
- >::type
- result_type;
-
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return Fun()(e, boost::phoenix::context(s, d));
- }
- };
-
-#ifdef BOOST_PHOENIX_NO_VARIADIC_CALL
- #include <boost/phoenix/core/detail/cpp03/call.hpp>
-#else
- template <typename Fun, typename Expr, typename State, typename Data
- , typename Indices>
- struct call_impl_;
-
- template <typename Fun, typename Expr, typename State, typename Data
- , std::size_t... Indices>
- struct call_impl_<Fun, Expr, State, Data, index_sequence<Indices...> >
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- template <std::size_t Index>
- struct result_of_expr
- {
- typedef
- typename proto::result_of::child_c<Expr, Index>::type
- type;
- };
- typedef
- typename boost::result_of<
- Fun(
- typename result_of_expr<Indices>::type...
- , context_type
- )
- >::type
- result_type;
- result_type operator()(
- typename call_impl_::expr_param e
- , typename call_impl_::state_param s
- , typename call_impl_::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c<Indices>(e)...
- , boost::phoenix::context(s, d)
- );
- }
- };
-
- template <typename Fun, typename Expr, typename State, typename Data, long Arity>
- struct call_impl
- : call_impl_<Fun, Expr, State, Data, typename make_index_sequence<Arity>::type>
- {
- };
-#endif
- }
-
- template <typename Fun, typename Dummy = void>
- struct call
- : proto::transform<call<Fun> >
- {
- template <typename Expr, typename State, typename Data>
- struct impl
- : detail::call_impl<Fun, Expr, State, Data>
- {};
- };
-}
-
- namespace proto
- {
- template <typename Fun, typename Dummy>
- struct is_callable<phoenix::call<Fun, Dummy> > : mpl::true_ {};
- }
-}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/argument.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/argument.hpp
deleted file mode 100644
index 5ed754dfcd..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/argument.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010-2011 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
- #define BOOST_PHOENIX_ARGUMENT_N_TYPE(_, N, name) \
- typedef \
- expression::argument<BOOST_PP_INC(N)>::type \
- BOOST_PP_CAT(BOOST_PP_CAT(name, BOOST_PP_INC(N)), _type) \
- BOOST_ATTRIBUTE_UNUSED; \
- /**/
-
- #define BOOST_PHOENIX_ARGUMENT_N_INSTANCE(_, N, name) \
- expression::argument<BOOST_PP_INC(N)>::type const \
- BOOST_ATTRIBUTE_UNUSED \
- BOOST_PP_CAT(name, BOOST_PP_INC(N)) = {{{}}}; \
- /**/
-
-
- namespace placeholders
- {
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, arg)
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, _)
-#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, arg)
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, _)
-#endif
- }
-
- namespace arg_names
- {
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, arg)
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_TYPE, _)
-#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, arg)
- BOOST_PP_REPEAT(BOOST_PHOENIX_ARG_LIMIT, BOOST_PHOENIX_ARGUMENT_N_INSTANCE, _)
-#endif
- }
-
- #undef BOOST_PHOENIX_ARGUMENT_N_TYPE
- #undef BOOST_PHOENIX_ARGUMENT_N_INSTANCE
-
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/actor_operator.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/actor_operator.hpp
deleted file mode 100644
index fb590f539e..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/actor_operator.hpp
+++ /dev/null
@@ -1,179 +0,0 @@
-
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-#ifndef BOOST_PHOENIX_CORE_DETAIL_ACTOR_OPERATOR_HPP
-#define BOOST_PHOENIX_CORE_DETAIL_ACTOR_OPERATOR_HPP
-
-#include <boost/phoenix/support/iterate.hpp>
-
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_operator.hpp>
-
-#endif
-#else
-
-#if !BOOST_PHOENIX_IS_ITERATING
-
-#ifndef BOOST_PHOENIX_CORE_DETAIL_ACTOR_OPERATOR_HPP
-#define BOOST_PHOENIX_CORE_DETAIL_ACTOR_OPERATOR_HPP
-
-#include <boost/phoenix/support/iterate.hpp>
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "preprocessed/actor_operator_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 1)
-#endif
-
-#define M0(Z, N, D) \
- typename detail::result_type_deduction_helper<BOOST_PP_CAT(A, N)>::type \
-/**/
-
-#define BOOST_PHOENIX_ITERATION_PARAMS \
- (3, (1, BOOST_PHOENIX_ACTOR_LIMIT, \
- <boost/phoenix/core/detail/cpp03/actor_operator.hpp>))
-#include BOOST_PHOENIX_ITERATE()
-
-#undef M0
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif
-
-#else
-
-#if BOOST_PHOENIX_ITERATION >= BOOST_PHOENIX_PERFECT_FORWARD_LIMIT
-
- template <typename This, BOOST_PHOENIX_typename_A>
- struct result<This(BOOST_PHOENIX_A)>
- : result<This(BOOST_PHOENIX_A_const_ref)>
- {};
-
- template <typename This, BOOST_PHOENIX_typename_A>
- struct result<This(BOOST_PHOENIX_A_ref)>
- : result_of::actor<proto_base_expr, BOOST_PHOENIX_A_ref>
- {};
-
- template <BOOST_PHOENIX_typename_A>
- typename result_of::actor<proto_base_expr, BOOST_PHOENIX_A_ref>::type
- operator()(BOOST_PHOENIX_A_ref_a)
- {
- typedef
- BOOST_PP_CAT(vector, BOOST_PP_INC(BOOST_PHOENIX_ITERATION))<
- const actor<Expr> *, BOOST_PHOENIX_A_ref
- >
- env_type;
- env_type env = {this, BOOST_PHOENIX_a};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
- template <BOOST_PHOENIX_typename_A>
- typename result_of::actor<proto_base_expr, BOOST_PHOENIX_A_ref>::type
- operator()(BOOST_PHOENIX_A_ref_a) const
- {
- typedef
- BOOST_PP_CAT(vector, BOOST_PP_INC(BOOST_PHOENIX_ITERATION))<
- const actor<Expr> *, BOOST_PHOENIX_A_ref
- >
- env_type;
- env_type env = {this, BOOST_PHOENIX_a};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
- template <BOOST_PHOENIX_typename_A>
- typename result_of::actor<proto_base_expr, BOOST_PHOENIX_A_const_ref>::type
- operator()(BOOST_PHOENIX_A_const_ref_a)
- {
- typedef
- BOOST_PP_CAT(vector, BOOST_PP_INC(BOOST_PHOENIX_ITERATION))<
- const actor<Expr> *, BOOST_PHOENIX_A_const_ref
- >
- env_type;
- env_type env = {this, BOOST_PHOENIX_a};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
- template <BOOST_PHOENIX_typename_A>
- typename result_of::actor<proto_base_expr, BOOST_PHOENIX_A_const_ref>::type
- operator()(BOOST_PHOENIX_A_const_ref_a) const
- {
- typedef
- BOOST_PP_CAT(vector, BOOST_PP_INC(BOOST_PHOENIX_ITERATION))<
- const actor<Expr> *, BOOST_PHOENIX_A_const_ref
- >
- env_type;
- env_type env = {this, BOOST_PHOENIX_a};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-#else
-
-// We need to define operator() for all permutations of reference types.
-// For BOOST_PHOENIX_ITERATION <= BOOST_PHOENIX_LIMIT_PREFECT_FORWARD
-// 2^BOOST_PHOENIX_ITERATION overloads are created
-// For compile time reasons,
-// if BOOST_PHOENIX_ITERATION > BOOST_PHOENIX_LIMIT_PERFECT_FORWARD
-// only operator()(A const &...a) and operator()(A &...a) are generated
-// this is all handled by the PP mumbo jumbo above
-#define BOOST_PHOENIX_ACTOR_OPERATOR(_, I, __) \
- template <typename This, BOOST_PHOENIX_typename_A> \
- struct result<This(BOOST_PHOENIX_PERM_A(I))> \
- : result_of::actor<proto_base_expr, BOOST_PHOENIX_PERM_A(I)> \
- {}; \
- \
- template <BOOST_PHOENIX_typename_A> \
- typename result_of::actor<proto_base_expr, BOOST_PHOENIX_PERM_A(I)>::type\
- operator()(BOOST_PHOENIX_PERM_A_a(I)) const \
- { \
- typedef \
- BOOST_PP_CAT(vector, BOOST_PP_INC(BOOST_PHOENIX_ITERATION))< \
- const actor<Expr> *, BOOST_PHOENIX_PERM_A(I) \
- > \
- env_type; \
- env_type env = {this, BOOST_PHOENIX_a}; \
- \
- return phoenix::eval(*this, phoenix::context(env, default_actions()));\
- } \
- \
- template <BOOST_PHOENIX_typename_A> \
- typename result_of::actor<proto_base_expr, BOOST_PHOENIX_PERM_A(I)>::type\
- operator()(BOOST_PHOENIX_PERM_A_a(I)) \
- { \
- typedef \
- BOOST_PP_CAT(vector, BOOST_PP_INC(BOOST_PHOENIX_ITERATION))< \
- const actor<Expr> *, BOOST_PHOENIX_PERM_A(I) \
- > \
- env_type; \
- env_type env = {this, BOOST_PHOENIX_a}; \
- \
- return phoenix::eval(*this, phoenix::context(env, default_actions()));\
- } \
- /**/
-
- template <typename This, BOOST_PHOENIX_typename_A>
- struct result<This(BOOST_PHOENIX_A)>
- : result<This(BOOST_PP_ENUM(BOOST_PHOENIX_ITERATION, M0, _))>
- {};
-
- BOOST_PP_REPEAT(BOOST_PHOENIX_PERM_SIZE, BOOST_PHOENIX_ACTOR_OPERATOR, _)
-
-#undef BOOST_PHOENIX_ACTOR_OPERATOR
-
-#endif
-
-#endif
-
-#endif // BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/actor_result_of.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/actor_result_of.hpp
deleted file mode 100644
index 1917fa00e3..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/actor_result_of.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-#ifndef BOOST_PHOENIX_CORE_DETAIL_ACTOR_RESULT_OF_HPP
-#define BOOST_PHOENIX_CORE_DETAIL_ACTOR_RESULT_OF_HPP
-
-#include <boost/phoenix/support/iterate.hpp>
-
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of.hpp>
-
-#endif
-#else
-
-#if !BOOST_PHOENIX_IS_ITERATING
-
-#ifndef BOOST_PHOENIX_CORE_DETAIL_ACTOR_RESULT_OF_HPP
-#define BOOST_PHOENIX_CORE_DETAIL_ACTOR_RESULT_OF_HPP
-
-#include <boost/phoenix/support/iterate.hpp>
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "preprocessed/actor_result_of_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 1)
-#endif
-
- template <typename Expr
- , BOOST_PHOENIX_typename_A_void(BOOST_PHOENIX_ACTOR_LIMIT)
- , typename Dummy = void>
- struct actor;
-
- template <typename Expr>
- struct nullary_actor_result
- {
- typedef
- typename boost::phoenix::evaluator::impl<
- Expr const&
- , vector2<
- vector1<const ::boost::phoenix::actor<Expr> *> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-#define BOOST_PHOENIX_ITERATION_PARAMS \
- (3, (1, BOOST_PHOENIX_ACTOR_LIMIT, \
- <boost/phoenix/core/detail/cpp03/actor_result_of.hpp>))
-#include BOOST_PHOENIX_ITERATE()
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif
-
-#else
-
- template <typename Expr, BOOST_PHOENIX_typename_A>
- struct actor<Expr, BOOST_PHOENIX_A>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- BOOST_PP_CAT(
- vector
- , BOOST_PP_INC(BOOST_PHOENIX_ITERATION)
- )<const ::boost::phoenix::actor<Expr> *, BOOST_PHOENIX_A> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-#endif
-
-#endif // BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/call.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/call.hpp
deleted file mode 100644
index 1d30a19d0b..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/call.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-#ifndef BOOST_PHOENIX_CORE_DETAIL_CALL_HPP
-#define BOOST_PHOENIX_CORE_DETAIL_CALL_HPP
-
-#include <boost/phoenix/core/detail/cpp03/preprocessed/call.hpp>
-
-#endif
-#else
-
-#if !BOOST_PHOENIX_IS_ITERATING
-
-#ifndef BOOST_PHOENIX_CORE_DETAIL_CALL_HPP
-#define BOOST_PHOENIX_CORE_DETAIL_CALL_HPP
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "preprocessed/call_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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 <boost/phoenix/support/iterate.hpp>
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 1)
-#endif
-
-#define M0(Z, N ,D) \
- typedef \
- typename proto::result_of::child_c<Expr, N>::type \
- BOOST_PP_CAT(A, N); \
-/**/
-#define M1(Z, N ,D) \
- BOOST_PP_COMMA_IF(N) proto::child_c<N>(e)
-/**/
-
-
-#define BOOST_PHOENIX_ITERATION_PARAMS \
- (3, (1, BOOST_PHOENIX_LIMIT, \
- <boost/phoenix/core/detail/cpp03/call.hpp>))
-#include BOOST_PHOENIX_ITERATE()
-
-#undef M0
-#undef M1
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif
-
-#else
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, BOOST_PHOENIX_ITERATION>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
-
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M0, _)
-
- typedef
- typename boost::result_of<
- Fun(BOOST_PHOENIX_A, context_type)
- >::type
- result_type;
-
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M1, _)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-#endif
-
-#endif // BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/expression.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/expression.hpp
deleted file mode 100644
index e0c375a9d8..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/expression.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-
-#if !BOOST_PHOENIX_IS_ITERATING
-
-#include <boost/phoenix/support/iterate.hpp>
-#include <boost/preprocessor/comparison/equal.hpp>
-
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-
-#include <boost/phoenix/core/detail/cpp03/preprocessed/expression.hpp>
-
-#else
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "preprocessed/expression_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-
-/*=============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 1)
-#endif
-
- template <
- template <typename> class Actor
- , typename Tag
- , BOOST_PHOENIX_typename_A_void(BOOST_PHOENIX_COMPOSITE_LIMIT)
- , typename Dummy = void>
- struct expr_ext;
-
- template <
- typename Tag
- , BOOST_PHOENIX_typename_A_void(BOOST_PHOENIX_COMPOSITE_LIMIT)
- , typename Dummy = void
- >
- struct expr : expr_ext<actor, Tag, BOOST_PHOENIX_A(BOOST_PHOENIX_COMPOSITE_LIMIT)> {};
-
-#define M0(Z, N, D) \
- BOOST_PP_COMMA_IF(N) \
- typename proto::detail::uncvref<BOOST_PP_CAT(A, N)>::type
-
-#define M1(Z, N, D) \
- BOOST_PP_COMMA_IF(N) typename boost::add_reference<typename boost::add_const<BOOST_PP_CAT(A, N)>::type>::type BOOST_PP_CAT(a, N)
-
-#define BOOST_PHOENIX_ITERATION_PARAMS \
- (3, (1, BOOST_PHOENIX_COMPOSITE_LIMIT, \
- <boost/phoenix/core/detail/cpp03/expression.hpp>)) \
-/**/
- #include BOOST_PHOENIX_ITERATE()
-
-#undef M0
-#undef M1
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif // PHOENIX_DONT_USE_PREPROCESSED_FILES
-
-#else
- template <template <typename> class Actor, typename Tag, BOOST_PHOENIX_typename_A>
- struct expr_ext<Actor, Tag, BOOST_PHOENIX_A>
- : proto::transform<expr_ext<Actor, Tag, BOOST_PHOENIX_A>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain //proto::basic_default_domain
- , BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M0, _)
- >::type
- base_type;
-
- typedef Actor<base_type> type;
-
- typedef
- typename proto::nary_expr<Tag, BOOST_PHOENIX_A>::proto_grammar
- proto_grammar;
-
- static type make(BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M1, _))
- { //?? actor or Actor??
- //Actor<base_type> const e =
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain // proto::basic_default_domain
- >(BOOST_PHOENIX_a)
- };
- return e;
- }
-
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
-
- typedef Tag proto_tag;
- #define BOOST_PHOENIX_ENUM_CHILDREN(_, N, __) \
- typedef BOOST_PP_CAT(A, N) BOOST_PP_CAT(proto_child, N); \
- /**/
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, BOOST_PHOENIX_ENUM_CHILDREN, _)
- #undef BOOST_PHOENIX_ENUM_CHILDREN
- };
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/function_eval.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/function_eval.hpp
deleted file mode 100644
index 855083da61..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/function_eval.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval.hpp>
-
-#else
-
-#if !BOOST_PHOENIX_IS_ITERATING
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "preprocessed/function_eval_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-/*=============================================================================
- Copyright (c) 2001-2007 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(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 1)
-#endif
-
- #define PHOENIX_GET_ARG(z, n, data) \
- typedef \
- typename boost::add_reference< \
- typename boost::add_const< \
- typename boost::result_of< \
- boost::phoenix::evaluator( \
- BOOST_PP_CAT(A, n) \
- , Context \
- ) \
- >::type \
- >::type \
- >::type \
- BOOST_PP_CAT(a, n);
-
- #define PHOENIX_EVAL_ARG(z, n, data) \
- help_rvalue_deduction(boost::phoenix::eval(BOOST_PP_CAT(a, n), ctx))
-
- #define M0(z, n, data) \
- typename proto::detail::uncvref<BOOST_PP_CAT(a, n)>::type
-
- #define BOOST_PHOENIX_ITERATION_PARAMS \
- (3, (1, BOOST_PP_DEC(BOOST_PHOENIX_ACTOR_LIMIT), \
- <boost/phoenix/core/detail/cpp03/function_eval.hpp>))
-#include BOOST_PHOENIX_ITERATE()
-
- #undef PHOENIX_GET_ARG
- #undef PHOENIX_EVAL_ARG
- #undef M0
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#else
- template <
- typename This
- , typename F
- , BOOST_PHOENIX_typename_A
- , typename Context
- >
- struct result<This(F, BOOST_PHOENIX_A, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
-
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, PHOENIX_GET_ARG, _)
-
- typedef typename
- boost::result_of<fn(BOOST_PHOENIX_a)>::type
- type;
- };
-
- template <typename F, BOOST_PHOENIX_typename_A, typename Context>
- typename result<
- function_eval(
- F const &
- , BOOST_PHOENIX_A_ref
- , Context const &
- )
- >::type
- operator()(F const & f, BOOST_PHOENIX_A_ref_a, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(BOOST_PP_ENUM(BOOST_PHOENIX_ITERATION, PHOENIX_EVAL_ARG, _));
- }
-
- template <typename F, BOOST_PHOENIX_typename_A, typename Context>
- typename result<
- function_eval(
- F &
- , BOOST_PHOENIX_A_ref
- , Context const &
- )
- >::type
- operator()(F & f, BOOST_PHOENIX_A_ref_a, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(BOOST_PP_ENUM(BOOST_PHOENIX_ITERATION, PHOENIX_EVAL_ARG, _));
- }
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/function_eval_expr.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/function_eval_expr.hpp
deleted file mode 100644
index ea8af5eb36..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/function_eval_expr.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*=============================================================================
- Copyright (c) 2016 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)
-==============================================================================*/
-
-#include <boost/preprocessor/arithmetic/dec.hpp>
-
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr.hpp>
-#else
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "preprocessed/function_eval_expr_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2016 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(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 1)
-#endif
-
-BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG(
- (boost)(phoenix)(detail)(function_eval)
- , (meta_grammar)
- (meta_grammar)
- , BOOST_PP_DEC(BOOST_PHOENIX_COMPOSITE_LIMIT)
-)
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator.hpp
deleted file mode 100644
index 7357b677e8..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*==============================================================================
- Copyright (c) 2011 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)
-==============================================================================*/
-
-#if !defined(BOOST_PHOENIX_PREPROCESSED_ACTOR_OPERATOR)
-#define BOOST_PHOENIX_PREPROCESSED_ACTOR_OPERATOR
-
-#if BOOST_PHOENIX_LIMIT <= 10
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 20
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_20.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 30
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_30.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 40
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_40.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 50
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_50.hpp>
-#else
-#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_10.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_10.hpp
deleted file mode 100644
index 78777de016..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_10.hpp
+++ /dev/null
@@ -1,567 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
- template <typename This, typename A0>
- struct result<This(A0)>
- : result<This(typename detail::result_type_deduction_helper<A0>::type)>
- {};
- template <typename This, typename A0> struct result<This(A0 &)> : result_of::actor<proto_base_expr, A0 &> {}; template <typename A0> typename result_of::actor<proto_base_expr, A0 &>::type operator()(A0 & a0) const { typedef vector2< const actor<Expr> *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0> typename result_of::actor<proto_base_expr, A0 &>::type operator()(A0 & a0) { typedef vector2< const actor<Expr> *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0> struct result<This(A0 const&)> : result_of::actor<proto_base_expr, A0 const&> {}; template <typename A0> typename result_of::actor<proto_base_expr, A0 const&>::type operator()(A0 const& a0) const { typedef vector2< const actor<Expr> *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0> typename result_of::actor<proto_base_expr, A0 const&>::type operator()(A0 const& a0) { typedef vector2< const actor<Expr> *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1>
- struct result<This(A0 , A1)>
- : result<This(typename detail::result_type_deduction_helper<A0>::type , typename detail::result_type_deduction_helper<A1>::type)>
- {};
- template <typename This, typename A0 , typename A1> struct result<This(A0 & , A1 &)> : result_of::actor<proto_base_expr, A0 & , A1 &> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 &>::type operator()(A0 & a0 , A1 & a1) const { typedef vector3< const actor<Expr> *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 &>::type operator()(A0 & a0 , A1 & a1) { typedef vector3< const actor<Expr> *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 & , A1 const&)> : result_of::actor<proto_base_expr, A0 & , A1 const&> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 const&>::type operator()(A0 & a0 , A1 const& a1) const { typedef vector3< const actor<Expr> *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 const&>::type operator()(A0 & a0 , A1 const& a1) { typedef vector3< const actor<Expr> *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 const& , A1 &)> : result_of::actor<proto_base_expr, A0 const& , A1 &> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 &>::type operator()(A0 const& a0 , A1 & a1) const { typedef vector3< const actor<Expr> *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 &>::type operator()(A0 const& a0 , A1 & a1) { typedef vector3< const actor<Expr> *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 const& , A1 const&)> : result_of::actor<proto_base_expr, A0 const& , A1 const&> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 const&>::type operator()(A0 const& a0 , A1 const& a1) const { typedef vector3< const actor<Expr> *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 const&>::type operator()(A0 const& a0 , A1 const& a1) { typedef vector3< const actor<Expr> *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 , A1 , A2)>
- : result<This(A0 const& , A1 const& , A2 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 & , A1 & , A2 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>
- {};
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2)
- {
- typedef
- vector4<
- const actor<Expr> *, A0 & , A1 & , A2 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2) const
- {
- typedef
- vector4<
- const actor<Expr> *, A0 & , A1 & , A2 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2)
- {
- typedef
- vector4<
- const actor<Expr> *, A0 const& , A1 const& , A2 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const
- {
- typedef
- vector4<
- const actor<Expr> *, A0 const& , A1 const& , A2 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 , A1 , A2 , A3)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 & , A1 & , A2 & , A3 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3)
- {
- typedef
- vector5<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3) const
- {
- typedef
- vector5<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
- {
- typedef
- vector5<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const
- {
- typedef
- vector5<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 , A1 , A2 , A3 , A4)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4)
- {
- typedef
- vector6<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4) const
- {
- typedef
- vector6<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
- {
- typedef
- vector6<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const
- {
- typedef
- vector6<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5)
- {
- typedef
- vector7<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5) const
- {
- typedef
- vector7<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
- {
- typedef
- vector7<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const
- {
- typedef
- vector7<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6)
- {
- typedef
- vector8<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6) const
- {
- typedef
- vector8<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
- {
- typedef
- vector8<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const
- {
- typedef
- vector8<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7)
- {
- typedef
- vector9<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7) const
- {
- typedef
- vector9<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
- {
- typedef
- vector9<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const
- {
- typedef
- vector9<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8)
- {
- typedef
- vector10<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8) const
- {
- typedef
- vector10<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
- {
- typedef
- vector10<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const
- {
- typedef
- vector10<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9)
- {
- typedef
- vector11<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9) const
- {
- typedef
- vector11<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9)
- {
- typedef
- vector11<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const
- {
- typedef
- vector11<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_20.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_20.hpp
deleted file mode 100644
index 5beea00553..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_20.hpp
+++ /dev/null
@@ -1,1237 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
- template <typename This, typename A0>
- struct result<This(A0)>
- : result<This(typename detail::result_type_deduction_helper<A0>::type)>
- {};
- template <typename This, typename A0> struct result<This(A0 &)> : result_of::actor<proto_base_expr, A0 &> {}; template <typename A0> typename result_of::actor<proto_base_expr, A0 &>::type operator()(A0 & a0) const { typedef vector2< const actor<Expr> *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0> typename result_of::actor<proto_base_expr, A0 &>::type operator()(A0 & a0) { typedef vector2< const actor<Expr> *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0> struct result<This(A0 const&)> : result_of::actor<proto_base_expr, A0 const&> {}; template <typename A0> typename result_of::actor<proto_base_expr, A0 const&>::type operator()(A0 const& a0) const { typedef vector2< const actor<Expr> *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0> typename result_of::actor<proto_base_expr, A0 const&>::type operator()(A0 const& a0) { typedef vector2< const actor<Expr> *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1>
- struct result<This(A0 , A1)>
- : result<This(typename detail::result_type_deduction_helper<A0>::type , typename detail::result_type_deduction_helper<A1>::type)>
- {};
- template <typename This, typename A0 , typename A1> struct result<This(A0 & , A1 &)> : result_of::actor<proto_base_expr, A0 & , A1 &> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 &>::type operator()(A0 & a0 , A1 & a1) const { typedef vector3< const actor<Expr> *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 &>::type operator()(A0 & a0 , A1 & a1) { typedef vector3< const actor<Expr> *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 & , A1 const&)> : result_of::actor<proto_base_expr, A0 & , A1 const&> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 const&>::type operator()(A0 & a0 , A1 const& a1) const { typedef vector3< const actor<Expr> *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 const&>::type operator()(A0 & a0 , A1 const& a1) { typedef vector3< const actor<Expr> *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 const& , A1 &)> : result_of::actor<proto_base_expr, A0 const& , A1 &> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 &>::type operator()(A0 const& a0 , A1 & a1) const { typedef vector3< const actor<Expr> *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 &>::type operator()(A0 const& a0 , A1 & a1) { typedef vector3< const actor<Expr> *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 const& , A1 const&)> : result_of::actor<proto_base_expr, A0 const& , A1 const&> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 const&>::type operator()(A0 const& a0 , A1 const& a1) const { typedef vector3< const actor<Expr> *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 const&>::type operator()(A0 const& a0 , A1 const& a1) { typedef vector3< const actor<Expr> *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 , A1 , A2)>
- : result<This(A0 const& , A1 const& , A2 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 & , A1 & , A2 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>
- {};
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2)
- {
- typedef
- vector4<
- const actor<Expr> *, A0 & , A1 & , A2 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2) const
- {
- typedef
- vector4<
- const actor<Expr> *, A0 & , A1 & , A2 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2)
- {
- typedef
- vector4<
- const actor<Expr> *, A0 const& , A1 const& , A2 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const
- {
- typedef
- vector4<
- const actor<Expr> *, A0 const& , A1 const& , A2 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 , A1 , A2 , A3)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 & , A1 & , A2 & , A3 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3)
- {
- typedef
- vector5<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3) const
- {
- typedef
- vector5<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
- {
- typedef
- vector5<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const
- {
- typedef
- vector5<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 , A1 , A2 , A3 , A4)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4)
- {
- typedef
- vector6<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4) const
- {
- typedef
- vector6<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
- {
- typedef
- vector6<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const
- {
- typedef
- vector6<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5)
- {
- typedef
- vector7<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5) const
- {
- typedef
- vector7<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
- {
- typedef
- vector7<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const
- {
- typedef
- vector7<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6)
- {
- typedef
- vector8<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6) const
- {
- typedef
- vector8<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
- {
- typedef
- vector8<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const
- {
- typedef
- vector8<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7)
- {
- typedef
- vector9<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7) const
- {
- typedef
- vector9<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
- {
- typedef
- vector9<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const
- {
- typedef
- vector9<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8)
- {
- typedef
- vector10<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8) const
- {
- typedef
- vector10<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
- {
- typedef
- vector10<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const
- {
- typedef
- vector10<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9)
- {
- typedef
- vector11<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9) const
- {
- typedef
- vector11<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9)
- {
- typedef
- vector11<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const
- {
- typedef
- vector11<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10)
- {
- typedef
- vector12<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10) const
- {
- typedef
- vector12<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10)
- {
- typedef
- vector12<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) const
- {
- typedef
- vector12<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11)
- {
- typedef
- vector13<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11) const
- {
- typedef
- vector13<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11)
- {
- typedef
- vector13<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) const
- {
- typedef
- vector13<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12)
- {
- typedef
- vector14<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12) const
- {
- typedef
- vector14<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12)
- {
- typedef
- vector14<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) const
- {
- typedef
- vector14<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13)
- {
- typedef
- vector15<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13) const
- {
- typedef
- vector15<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13)
- {
- typedef
- vector15<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) const
- {
- typedef
- vector15<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14)
- {
- typedef
- vector16<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14) const
- {
- typedef
- vector16<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14)
- {
- typedef
- vector16<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) const
- {
- typedef
- vector16<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15)
- {
- typedef
- vector17<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15) const
- {
- typedef
- vector17<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15)
- {
- typedef
- vector17<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) const
- {
- typedef
- vector17<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16)
- {
- typedef
- vector18<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16) const
- {
- typedef
- vector18<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16)
- {
- typedef
- vector18<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) const
- {
- typedef
- vector18<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17)
- {
- typedef
- vector19<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17) const
- {
- typedef
- vector19<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17)
- {
- typedef
- vector19<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) const
- {
- typedef
- vector19<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18)
- {
- typedef
- vector20<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18) const
- {
- typedef
- vector20<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18)
- {
- typedef
- vector20<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18) const
- {
- typedef
- vector20<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19)
- {
- typedef
- vector21<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19) const
- {
- typedef
- vector21<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19)
- {
- typedef
- vector21<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19) const
- {
- typedef
- vector21<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_30.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_30.hpp
deleted file mode 100644
index b6af650d1f..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_30.hpp
+++ /dev/null
@@ -1,1907 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
- template <typename This, typename A0>
- struct result<This(A0)>
- : result<This(typename detail::result_type_deduction_helper<A0>::type)>
- {};
- template <typename This, typename A0> struct result<This(A0 &)> : result_of::actor<proto_base_expr, A0 &> {}; template <typename A0> typename result_of::actor<proto_base_expr, A0 &>::type operator()(A0 & a0) const { typedef vector2< const actor<Expr> *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0> typename result_of::actor<proto_base_expr, A0 &>::type operator()(A0 & a0) { typedef vector2< const actor<Expr> *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0> struct result<This(A0 const&)> : result_of::actor<proto_base_expr, A0 const&> {}; template <typename A0> typename result_of::actor<proto_base_expr, A0 const&>::type operator()(A0 const& a0) const { typedef vector2< const actor<Expr> *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0> typename result_of::actor<proto_base_expr, A0 const&>::type operator()(A0 const& a0) { typedef vector2< const actor<Expr> *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1>
- struct result<This(A0 , A1)>
- : result<This(typename detail::result_type_deduction_helper<A0>::type , typename detail::result_type_deduction_helper<A1>::type)>
- {};
- template <typename This, typename A0 , typename A1> struct result<This(A0 & , A1 &)> : result_of::actor<proto_base_expr, A0 & , A1 &> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 &>::type operator()(A0 & a0 , A1 & a1) const { typedef vector3< const actor<Expr> *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 &>::type operator()(A0 & a0 , A1 & a1) { typedef vector3< const actor<Expr> *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 & , A1 const&)> : result_of::actor<proto_base_expr, A0 & , A1 const&> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 const&>::type operator()(A0 & a0 , A1 const& a1) const { typedef vector3< const actor<Expr> *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 const&>::type operator()(A0 & a0 , A1 const& a1) { typedef vector3< const actor<Expr> *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 const& , A1 &)> : result_of::actor<proto_base_expr, A0 const& , A1 &> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 &>::type operator()(A0 const& a0 , A1 & a1) const { typedef vector3< const actor<Expr> *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 &>::type operator()(A0 const& a0 , A1 & a1) { typedef vector3< const actor<Expr> *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 const& , A1 const&)> : result_of::actor<proto_base_expr, A0 const& , A1 const&> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 const&>::type operator()(A0 const& a0 , A1 const& a1) const { typedef vector3< const actor<Expr> *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 const&>::type operator()(A0 const& a0 , A1 const& a1) { typedef vector3< const actor<Expr> *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 , A1 , A2)>
- : result<This(A0 const& , A1 const& , A2 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 & , A1 & , A2 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>
- {};
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2)
- {
- typedef
- vector4<
- const actor<Expr> *, A0 & , A1 & , A2 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2) const
- {
- typedef
- vector4<
- const actor<Expr> *, A0 & , A1 & , A2 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2)
- {
- typedef
- vector4<
- const actor<Expr> *, A0 const& , A1 const& , A2 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const
- {
- typedef
- vector4<
- const actor<Expr> *, A0 const& , A1 const& , A2 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 , A1 , A2 , A3)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 & , A1 & , A2 & , A3 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3)
- {
- typedef
- vector5<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3) const
- {
- typedef
- vector5<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
- {
- typedef
- vector5<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const
- {
- typedef
- vector5<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 , A1 , A2 , A3 , A4)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4)
- {
- typedef
- vector6<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4) const
- {
- typedef
- vector6<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
- {
- typedef
- vector6<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const
- {
- typedef
- vector6<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5)
- {
- typedef
- vector7<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5) const
- {
- typedef
- vector7<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
- {
- typedef
- vector7<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const
- {
- typedef
- vector7<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6)
- {
- typedef
- vector8<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6) const
- {
- typedef
- vector8<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
- {
- typedef
- vector8<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const
- {
- typedef
- vector8<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7)
- {
- typedef
- vector9<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7) const
- {
- typedef
- vector9<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
- {
- typedef
- vector9<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const
- {
- typedef
- vector9<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8)
- {
- typedef
- vector10<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8) const
- {
- typedef
- vector10<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
- {
- typedef
- vector10<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const
- {
- typedef
- vector10<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9)
- {
- typedef
- vector11<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9) const
- {
- typedef
- vector11<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9)
- {
- typedef
- vector11<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const
- {
- typedef
- vector11<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10)
- {
- typedef
- vector12<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10) const
- {
- typedef
- vector12<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10)
- {
- typedef
- vector12<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) const
- {
- typedef
- vector12<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11)
- {
- typedef
- vector13<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11) const
- {
- typedef
- vector13<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11)
- {
- typedef
- vector13<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) const
- {
- typedef
- vector13<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12)
- {
- typedef
- vector14<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12) const
- {
- typedef
- vector14<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12)
- {
- typedef
- vector14<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) const
- {
- typedef
- vector14<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13)
- {
- typedef
- vector15<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13) const
- {
- typedef
- vector15<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13)
- {
- typedef
- vector15<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) const
- {
- typedef
- vector15<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14)
- {
- typedef
- vector16<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14) const
- {
- typedef
- vector16<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14)
- {
- typedef
- vector16<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) const
- {
- typedef
- vector16<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15)
- {
- typedef
- vector17<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15) const
- {
- typedef
- vector17<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15)
- {
- typedef
- vector17<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) const
- {
- typedef
- vector17<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16)
- {
- typedef
- vector18<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16) const
- {
- typedef
- vector18<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16)
- {
- typedef
- vector18<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) const
- {
- typedef
- vector18<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17)
- {
- typedef
- vector19<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17) const
- {
- typedef
- vector19<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17)
- {
- typedef
- vector19<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) const
- {
- typedef
- vector19<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18)
- {
- typedef
- vector20<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18) const
- {
- typedef
- vector20<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18)
- {
- typedef
- vector20<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18) const
- {
- typedef
- vector20<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19)
- {
- typedef
- vector21<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19) const
- {
- typedef
- vector21<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19)
- {
- typedef
- vector21<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19) const
- {
- typedef
- vector21<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20)
- {
- typedef
- vector22<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20) const
- {
- typedef
- vector22<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20)
- {
- typedef
- vector22<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20) const
- {
- typedef
- vector22<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21)
- {
- typedef
- vector23<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21) const
- {
- typedef
- vector23<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21)
- {
- typedef
- vector23<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21) const
- {
- typedef
- vector23<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22)
- {
- typedef
- vector24<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22) const
- {
- typedef
- vector24<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22)
- {
- typedef
- vector24<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22) const
- {
- typedef
- vector24<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23)
- {
- typedef
- vector25<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23) const
- {
- typedef
- vector25<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23)
- {
- typedef
- vector25<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23) const
- {
- typedef
- vector25<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24)
- {
- typedef
- vector26<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24) const
- {
- typedef
- vector26<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24)
- {
- typedef
- vector26<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24) const
- {
- typedef
- vector26<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25)
- {
- typedef
- vector27<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25) const
- {
- typedef
- vector27<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25)
- {
- typedef
- vector27<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25) const
- {
- typedef
- vector27<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26)
- {
- typedef
- vector28<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26) const
- {
- typedef
- vector28<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26)
- {
- typedef
- vector28<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26) const
- {
- typedef
- vector28<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27)
- {
- typedef
- vector29<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27) const
- {
- typedef
- vector29<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27)
- {
- typedef
- vector29<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27) const
- {
- typedef
- vector29<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28)
- {
- typedef
- vector30<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28) const
- {
- typedef
- vector30<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28)
- {
- typedef
- vector30<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28) const
- {
- typedef
- vector30<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29)
- {
- typedef
- vector31<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29) const
- {
- typedef
- vector31<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29)
- {
- typedef
- vector31<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29) const
- {
- typedef
- vector31<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_40.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_40.hpp
deleted file mode 100644
index e429e906da..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_40.hpp
+++ /dev/null
@@ -1,2577 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
- template <typename This, typename A0>
- struct result<This(A0)>
- : result<This(typename detail::result_type_deduction_helper<A0>::type)>
- {};
- template <typename This, typename A0> struct result<This(A0 &)> : result_of::actor<proto_base_expr, A0 &> {}; template <typename A0> typename result_of::actor<proto_base_expr, A0 &>::type operator()(A0 & a0) const { typedef vector2< const actor<Expr> *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0> typename result_of::actor<proto_base_expr, A0 &>::type operator()(A0 & a0) { typedef vector2< const actor<Expr> *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0> struct result<This(A0 const&)> : result_of::actor<proto_base_expr, A0 const&> {}; template <typename A0> typename result_of::actor<proto_base_expr, A0 const&>::type operator()(A0 const& a0) const { typedef vector2< const actor<Expr> *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0> typename result_of::actor<proto_base_expr, A0 const&>::type operator()(A0 const& a0) { typedef vector2< const actor<Expr> *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1>
- struct result<This(A0 , A1)>
- : result<This(typename detail::result_type_deduction_helper<A0>::type , typename detail::result_type_deduction_helper<A1>::type)>
- {};
- template <typename This, typename A0 , typename A1> struct result<This(A0 & , A1 &)> : result_of::actor<proto_base_expr, A0 & , A1 &> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 &>::type operator()(A0 & a0 , A1 & a1) const { typedef vector3< const actor<Expr> *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 &>::type operator()(A0 & a0 , A1 & a1) { typedef vector3< const actor<Expr> *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 & , A1 const&)> : result_of::actor<proto_base_expr, A0 & , A1 const&> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 const&>::type operator()(A0 & a0 , A1 const& a1) const { typedef vector3< const actor<Expr> *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 const&>::type operator()(A0 & a0 , A1 const& a1) { typedef vector3< const actor<Expr> *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 const& , A1 &)> : result_of::actor<proto_base_expr, A0 const& , A1 &> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 &>::type operator()(A0 const& a0 , A1 & a1) const { typedef vector3< const actor<Expr> *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 &>::type operator()(A0 const& a0 , A1 & a1) { typedef vector3< const actor<Expr> *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 const& , A1 const&)> : result_of::actor<proto_base_expr, A0 const& , A1 const&> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 const&>::type operator()(A0 const& a0 , A1 const& a1) const { typedef vector3< const actor<Expr> *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 const&>::type operator()(A0 const& a0 , A1 const& a1) { typedef vector3< const actor<Expr> *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 , A1 , A2)>
- : result<This(A0 const& , A1 const& , A2 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 & , A1 & , A2 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>
- {};
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2)
- {
- typedef
- vector4<
- const actor<Expr> *, A0 & , A1 & , A2 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2) const
- {
- typedef
- vector4<
- const actor<Expr> *, A0 & , A1 & , A2 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2)
- {
- typedef
- vector4<
- const actor<Expr> *, A0 const& , A1 const& , A2 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const
- {
- typedef
- vector4<
- const actor<Expr> *, A0 const& , A1 const& , A2 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 , A1 , A2 , A3)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 & , A1 & , A2 & , A3 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3)
- {
- typedef
- vector5<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3) const
- {
- typedef
- vector5<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
- {
- typedef
- vector5<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const
- {
- typedef
- vector5<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 , A1 , A2 , A3 , A4)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4)
- {
- typedef
- vector6<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4) const
- {
- typedef
- vector6<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
- {
- typedef
- vector6<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const
- {
- typedef
- vector6<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5)
- {
- typedef
- vector7<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5) const
- {
- typedef
- vector7<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
- {
- typedef
- vector7<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const
- {
- typedef
- vector7<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6)
- {
- typedef
- vector8<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6) const
- {
- typedef
- vector8<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
- {
- typedef
- vector8<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const
- {
- typedef
- vector8<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7)
- {
- typedef
- vector9<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7) const
- {
- typedef
- vector9<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
- {
- typedef
- vector9<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const
- {
- typedef
- vector9<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8)
- {
- typedef
- vector10<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8) const
- {
- typedef
- vector10<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
- {
- typedef
- vector10<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const
- {
- typedef
- vector10<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9)
- {
- typedef
- vector11<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9) const
- {
- typedef
- vector11<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9)
- {
- typedef
- vector11<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const
- {
- typedef
- vector11<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10)
- {
- typedef
- vector12<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10) const
- {
- typedef
- vector12<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10)
- {
- typedef
- vector12<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) const
- {
- typedef
- vector12<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11)
- {
- typedef
- vector13<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11) const
- {
- typedef
- vector13<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11)
- {
- typedef
- vector13<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) const
- {
- typedef
- vector13<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12)
- {
- typedef
- vector14<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12) const
- {
- typedef
- vector14<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12)
- {
- typedef
- vector14<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) const
- {
- typedef
- vector14<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13)
- {
- typedef
- vector15<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13) const
- {
- typedef
- vector15<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13)
- {
- typedef
- vector15<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) const
- {
- typedef
- vector15<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14)
- {
- typedef
- vector16<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14) const
- {
- typedef
- vector16<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14)
- {
- typedef
- vector16<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) const
- {
- typedef
- vector16<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15)
- {
- typedef
- vector17<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15) const
- {
- typedef
- vector17<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15)
- {
- typedef
- vector17<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) const
- {
- typedef
- vector17<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16)
- {
- typedef
- vector18<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16) const
- {
- typedef
- vector18<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16)
- {
- typedef
- vector18<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) const
- {
- typedef
- vector18<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17)
- {
- typedef
- vector19<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17) const
- {
- typedef
- vector19<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17)
- {
- typedef
- vector19<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) const
- {
- typedef
- vector19<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18)
- {
- typedef
- vector20<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18) const
- {
- typedef
- vector20<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18)
- {
- typedef
- vector20<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18) const
- {
- typedef
- vector20<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19)
- {
- typedef
- vector21<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19) const
- {
- typedef
- vector21<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19)
- {
- typedef
- vector21<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19) const
- {
- typedef
- vector21<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20)
- {
- typedef
- vector22<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20) const
- {
- typedef
- vector22<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20)
- {
- typedef
- vector22<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20) const
- {
- typedef
- vector22<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21)
- {
- typedef
- vector23<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21) const
- {
- typedef
- vector23<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21)
- {
- typedef
- vector23<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21) const
- {
- typedef
- vector23<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22)
- {
- typedef
- vector24<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22) const
- {
- typedef
- vector24<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22)
- {
- typedef
- vector24<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22) const
- {
- typedef
- vector24<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23)
- {
- typedef
- vector25<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23) const
- {
- typedef
- vector25<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23)
- {
- typedef
- vector25<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23) const
- {
- typedef
- vector25<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24)
- {
- typedef
- vector26<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24) const
- {
- typedef
- vector26<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24)
- {
- typedef
- vector26<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24) const
- {
- typedef
- vector26<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25)
- {
- typedef
- vector27<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25) const
- {
- typedef
- vector27<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25)
- {
- typedef
- vector27<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25) const
- {
- typedef
- vector27<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26)
- {
- typedef
- vector28<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26) const
- {
- typedef
- vector28<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26)
- {
- typedef
- vector28<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26) const
- {
- typedef
- vector28<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27)
- {
- typedef
- vector29<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27) const
- {
- typedef
- vector29<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27)
- {
- typedef
- vector29<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27) const
- {
- typedef
- vector29<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28)
- {
- typedef
- vector30<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28) const
- {
- typedef
- vector30<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28)
- {
- typedef
- vector30<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28) const
- {
- typedef
- vector30<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29)
- {
- typedef
- vector31<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29) const
- {
- typedef
- vector31<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29)
- {
- typedef
- vector31<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29) const
- {
- typedef
- vector31<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30)
- {
- typedef
- vector32<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30) const
- {
- typedef
- vector32<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30)
- {
- typedef
- vector32<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30) const
- {
- typedef
- vector32<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31)
- {
- typedef
- vector33<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31) const
- {
- typedef
- vector33<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31)
- {
- typedef
- vector33<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31) const
- {
- typedef
- vector33<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32)
- {
- typedef
- vector34<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32) const
- {
- typedef
- vector34<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32)
- {
- typedef
- vector34<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32) const
- {
- typedef
- vector34<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33)
- {
- typedef
- vector35<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33) const
- {
- typedef
- vector35<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33)
- {
- typedef
- vector35<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33) const
- {
- typedef
- vector35<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34)
- {
- typedef
- vector36<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34) const
- {
- typedef
- vector36<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34)
- {
- typedef
- vector36<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34) const
- {
- typedef
- vector36<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35)
- {
- typedef
- vector37<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35) const
- {
- typedef
- vector37<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35)
- {
- typedef
- vector37<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35) const
- {
- typedef
- vector37<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36)
- {
- typedef
- vector38<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36) const
- {
- typedef
- vector38<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36)
- {
- typedef
- vector38<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36) const
- {
- typedef
- vector38<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37)
- {
- typedef
- vector39<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37) const
- {
- typedef
- vector39<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37)
- {
- typedef
- vector39<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37) const
- {
- typedef
- vector39<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38)
- {
- typedef
- vector40<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38) const
- {
- typedef
- vector40<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38)
- {
- typedef
- vector40<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38) const
- {
- typedef
- vector40<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39)
- {
- typedef
- vector41<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39) const
- {
- typedef
- vector41<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39)
- {
- typedef
- vector41<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39) const
- {
- typedef
- vector41<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_50.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_50.hpp
deleted file mode 100644
index 1daae35666..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_operator_50.hpp
+++ /dev/null
@@ -1,3247 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
- template <typename This, typename A0>
- struct result<This(A0)>
- : result<This(typename detail::result_type_deduction_helper<A0>::type)>
- {};
- template <typename This, typename A0> struct result<This(A0 &)> : result_of::actor<proto_base_expr, A0 &> {}; template <typename A0> typename result_of::actor<proto_base_expr, A0 &>::type operator()(A0 & a0) const { typedef vector2< const actor<Expr> *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0> typename result_of::actor<proto_base_expr, A0 &>::type operator()(A0 & a0) { typedef vector2< const actor<Expr> *, A0 & > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0> struct result<This(A0 const&)> : result_of::actor<proto_base_expr, A0 const&> {}; template <typename A0> typename result_of::actor<proto_base_expr, A0 const&>::type operator()(A0 const& a0) const { typedef vector2< const actor<Expr> *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0> typename result_of::actor<proto_base_expr, A0 const&>::type operator()(A0 const& a0) { typedef vector2< const actor<Expr> *, A0 const& > env_type; env_type env = {this, a0}; return phoenix::eval(*this, phoenix::context(env, default_actions())); }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1>
- struct result<This(A0 , A1)>
- : result<This(typename detail::result_type_deduction_helper<A0>::type , typename detail::result_type_deduction_helper<A1>::type)>
- {};
- template <typename This, typename A0 , typename A1> struct result<This(A0 & , A1 &)> : result_of::actor<proto_base_expr, A0 & , A1 &> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 &>::type operator()(A0 & a0 , A1 & a1) const { typedef vector3< const actor<Expr> *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 &>::type operator()(A0 & a0 , A1 & a1) { typedef vector3< const actor<Expr> *, A0 & , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 & , A1 const&)> : result_of::actor<proto_base_expr, A0 & , A1 const&> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 const&>::type operator()(A0 & a0 , A1 const& a1) const { typedef vector3< const actor<Expr> *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 & , A1 const&>::type operator()(A0 & a0 , A1 const& a1) { typedef vector3< const actor<Expr> *, A0 & , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 const& , A1 &)> : result_of::actor<proto_base_expr, A0 const& , A1 &> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 &>::type operator()(A0 const& a0 , A1 & a1) const { typedef vector3< const actor<Expr> *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 &>::type operator()(A0 const& a0 , A1 & a1) { typedef vector3< const actor<Expr> *, A0 const& , A1 & > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename This, typename A0 , typename A1> struct result<This(A0 const& , A1 const&)> : result_of::actor<proto_base_expr, A0 const& , A1 const&> {}; template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 const&>::type operator()(A0 const& a0 , A1 const& a1) const { typedef vector3< const actor<Expr> *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); } template <typename A0 , typename A1> typename result_of::actor<proto_base_expr, A0 const& , A1 const&>::type operator()(A0 const& a0 , A1 const& a1) { typedef vector3< const actor<Expr> *, A0 const& , A1 const& > env_type; env_type env = {this, a0 , a1}; return phoenix::eval(*this, phoenix::context(env, default_actions())); }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 , A1 , A2)>
- : result<This(A0 const& , A1 const& , A2 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 & , A1 & , A2 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>
- {};
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2)
- {
- typedef
- vector4<
- const actor<Expr> *, A0 & , A1 & , A2 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2) const
- {
- typedef
- vector4<
- const actor<Expr> *, A0 & , A1 & , A2 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2)
- {
- typedef
- vector4<
- const actor<Expr> *, A0 const& , A1 const& , A2 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const
- {
- typedef
- vector4<
- const actor<Expr> *, A0 const& , A1 const& , A2 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 , A1 , A2 , A3)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 & , A1 & , A2 & , A3 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3)
- {
- typedef
- vector5<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3) const
- {
- typedef
- vector5<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3)
- {
- typedef
- vector5<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const
- {
- typedef
- vector5<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 , A1 , A2 , A3 , A4)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4)
- {
- typedef
- vector6<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4) const
- {
- typedef
- vector6<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4)
- {
- typedef
- vector6<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const
- {
- typedef
- vector6<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5)
- {
- typedef
- vector7<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5) const
- {
- typedef
- vector7<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5)
- {
- typedef
- vector7<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const
- {
- typedef
- vector7<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6)
- {
- typedef
- vector8<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6) const
- {
- typedef
- vector8<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6)
- {
- typedef
- vector8<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const
- {
- typedef
- vector8<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7)
- {
- typedef
- vector9<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7) const
- {
- typedef
- vector9<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7)
- {
- typedef
- vector9<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const
- {
- typedef
- vector9<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8)
- {
- typedef
- vector10<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8) const
- {
- typedef
- vector10<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8)
- {
- typedef
- vector10<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const
- {
- typedef
- vector10<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9)
- {
- typedef
- vector11<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9) const
- {
- typedef
- vector11<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9)
- {
- typedef
- vector11<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const
- {
- typedef
- vector11<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10)
- {
- typedef
- vector12<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10) const
- {
- typedef
- vector12<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10)
- {
- typedef
- vector12<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) const
- {
- typedef
- vector12<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11)
- {
- typedef
- vector13<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11) const
- {
- typedef
- vector13<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11)
- {
- typedef
- vector13<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) const
- {
- typedef
- vector13<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12)
- {
- typedef
- vector14<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12) const
- {
- typedef
- vector14<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12)
- {
- typedef
- vector14<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) const
- {
- typedef
- vector14<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13)
- {
- typedef
- vector15<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13) const
- {
- typedef
- vector15<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13)
- {
- typedef
- vector15<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) const
- {
- typedef
- vector15<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14)
- {
- typedef
- vector16<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14) const
- {
- typedef
- vector16<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14)
- {
- typedef
- vector16<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) const
- {
- typedef
- vector16<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15)
- {
- typedef
- vector17<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15) const
- {
- typedef
- vector17<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15)
- {
- typedef
- vector17<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) const
- {
- typedef
- vector17<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16)
- {
- typedef
- vector18<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16) const
- {
- typedef
- vector18<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16)
- {
- typedef
- vector18<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) const
- {
- typedef
- vector18<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17)
- {
- typedef
- vector19<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17) const
- {
- typedef
- vector19<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17)
- {
- typedef
- vector19<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) const
- {
- typedef
- vector19<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18)
- {
- typedef
- vector20<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18) const
- {
- typedef
- vector20<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18)
- {
- typedef
- vector20<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18) const
- {
- typedef
- vector20<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19)
- {
- typedef
- vector21<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19) const
- {
- typedef
- vector21<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19)
- {
- typedef
- vector21<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19) const
- {
- typedef
- vector21<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20)
- {
- typedef
- vector22<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20) const
- {
- typedef
- vector22<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20)
- {
- typedef
- vector22<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20) const
- {
- typedef
- vector22<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21)
- {
- typedef
- vector23<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21) const
- {
- typedef
- vector23<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21)
- {
- typedef
- vector23<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21) const
- {
- typedef
- vector23<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22)
- {
- typedef
- vector24<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22) const
- {
- typedef
- vector24<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22)
- {
- typedef
- vector24<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22) const
- {
- typedef
- vector24<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23)
- {
- typedef
- vector25<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23) const
- {
- typedef
- vector25<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23)
- {
- typedef
- vector25<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23) const
- {
- typedef
- vector25<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24)
- {
- typedef
- vector26<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24) const
- {
- typedef
- vector26<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24)
- {
- typedef
- vector26<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24) const
- {
- typedef
- vector26<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25)
- {
- typedef
- vector27<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25) const
- {
- typedef
- vector27<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25)
- {
- typedef
- vector27<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25) const
- {
- typedef
- vector27<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26)
- {
- typedef
- vector28<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26) const
- {
- typedef
- vector28<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26)
- {
- typedef
- vector28<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26) const
- {
- typedef
- vector28<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27)
- {
- typedef
- vector29<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27) const
- {
- typedef
- vector29<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27)
- {
- typedef
- vector29<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27) const
- {
- typedef
- vector29<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28)
- {
- typedef
- vector30<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28) const
- {
- typedef
- vector30<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28)
- {
- typedef
- vector30<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28) const
- {
- typedef
- vector30<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29)
- {
- typedef
- vector31<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29) const
- {
- typedef
- vector31<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29)
- {
- typedef
- vector31<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29) const
- {
- typedef
- vector31<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30)
- {
- typedef
- vector32<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30) const
- {
- typedef
- vector32<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30)
- {
- typedef
- vector32<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30) const
- {
- typedef
- vector32<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31)
- {
- typedef
- vector33<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31) const
- {
- typedef
- vector33<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31)
- {
- typedef
- vector33<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31) const
- {
- typedef
- vector33<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32)
- {
- typedef
- vector34<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32) const
- {
- typedef
- vector34<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32)
- {
- typedef
- vector34<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32) const
- {
- typedef
- vector34<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33)
- {
- typedef
- vector35<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33) const
- {
- typedef
- vector35<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33)
- {
- typedef
- vector35<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33) const
- {
- typedef
- vector35<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34)
- {
- typedef
- vector36<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34) const
- {
- typedef
- vector36<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34)
- {
- typedef
- vector36<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34) const
- {
- typedef
- vector36<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35)
- {
- typedef
- vector37<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35) const
- {
- typedef
- vector37<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35)
- {
- typedef
- vector37<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35) const
- {
- typedef
- vector37<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36)
- {
- typedef
- vector38<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36) const
- {
- typedef
- vector38<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36)
- {
- typedef
- vector38<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36) const
- {
- typedef
- vector38<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37)
- {
- typedef
- vector39<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37) const
- {
- typedef
- vector39<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37)
- {
- typedef
- vector39<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37) const
- {
- typedef
- vector39<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38)
- {
- typedef
- vector40<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38) const
- {
- typedef
- vector40<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38)
- {
- typedef
- vector40<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38) const
- {
- typedef
- vector40<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39)
- {
- typedef
- vector41<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39) const
- {
- typedef
- vector41<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39)
- {
- typedef
- vector41<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39) const
- {
- typedef
- vector41<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40)
- {
- typedef
- vector42<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40) const
- {
- typedef
- vector42<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40)
- {
- typedef
- vector42<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40) const
- {
- typedef
- vector42<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41)
- {
- typedef
- vector43<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41) const
- {
- typedef
- vector43<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41)
- {
- typedef
- vector43<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41) const
- {
- typedef
- vector43<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42)
- {
- typedef
- vector44<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42) const
- {
- typedef
- vector44<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42)
- {
- typedef
- vector44<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42) const
- {
- typedef
- vector44<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43)
- {
- typedef
- vector45<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43) const
- {
- typedef
- vector45<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43)
- {
- typedef
- vector45<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43) const
- {
- typedef
- vector45<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44)
- {
- typedef
- vector46<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44) const
- {
- typedef
- vector46<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44)
- {
- typedef
- vector46<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44) const
- {
- typedef
- vector46<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45)
- {
- typedef
- vector47<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45) const
- {
- typedef
- vector47<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45)
- {
- typedef
- vector47<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45) const
- {
- typedef
- vector47<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46)
- {
- typedef
- vector48<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46) const
- {
- typedef
- vector48<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46)
- {
- typedef
- vector48<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46) const
- {
- typedef
- vector48<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46 , A47 & a47)
- {
- typedef
- vector49<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46 , A47 & a47) const
- {
- typedef
- vector49<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47)
- {
- typedef
- vector49<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47) const
- {
- typedef
- vector49<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46 , A47 & a47 , A48 & a48)
- {
- typedef
- vector50<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46 , A47 & a47 , A48 & a48) const
- {
- typedef
- vector50<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48)
- {
- typedef
- vector50<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48) const
- {
- typedef
- vector50<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- struct result<This(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49)>
- : result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const& , A49 const&)>
- {};
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- struct result<This(A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 & , A49 &)>
- : result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 & , A49 &>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 & , A49 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46 , A47 & a47 , A48 & a48 , A49 & a49)
- {
- typedef
- vector51<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 & , A49 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- typename result_of::actor<proto_base_expr, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 & , A49 &>::type
- operator()(A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46 , A47 & a47 , A48 & a48 , A49 & a49) const
- {
- typedef
- vector51<
- const actor<Expr> *, A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 & , A49 &
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const& , A49 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48 , A49 const& a49)
- {
- typedef
- vector51<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const& , A49 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- typename result_of::actor<proto_base_expr, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const& , A49 const&>::type
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48 , A49 const& a49) const
- {
- typedef
- vector51<
- const actor<Expr> *, A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const& , A49 const&
- >
- env_type;
- env_type env = {this, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49};
-
- return phoenix::eval(*this, phoenix::context(env, default_actions()));
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of.hpp
deleted file mode 100644
index 191b769b54..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*==============================================================================
- Copyright (c) 2011 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)
-==============================================================================*/
-
-#if !defined(BOOST_PHOENIX_PREPROCESSED_ACTOR_RESULT_OF)
-#define BOOST_PHOENIX_PREPROCESSED_ACTOR_RESULT_OF
-
-#if BOOST_PHOENIX_LIMIT <= 10
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 20
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_20.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 30
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_30.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 40
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_40.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 50
-#include <boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_50.hpp>
-#else
-#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_10.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_10.hpp
deleted file mode 100644
index e240ba770d..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_10.hpp
+++ /dev/null
@@ -1,245 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
- template <typename Expr
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void
- , typename Dummy = void>
- struct actor;
- template <typename Expr>
- struct nullary_actor_result
- {
- typedef
- typename boost::phoenix::evaluator::impl<
- Expr const&
- , vector2<
- vector1<const ::boost::phoenix::actor<Expr> *> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0>
- struct actor<Expr, A0>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector2<const ::boost::phoenix::actor<Expr> *, A0> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1>
- struct actor<Expr, A0 , A1>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector3<const ::boost::phoenix::actor<Expr> *, A0 , A1> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2>
- struct actor<Expr, A0 , A1 , A2>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector4<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3>
- struct actor<Expr, A0 , A1 , A2 , A3>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector5<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector6<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector7<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector8<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector9<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector10<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector11<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_20.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_20.hpp
deleted file mode 100644
index 01f45013f0..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_20.hpp
+++ /dev/null
@@ -1,465 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
- template <typename Expr
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void
- , typename Dummy = void>
- struct actor;
- template <typename Expr>
- struct nullary_actor_result
- {
- typedef
- typename boost::phoenix::evaluator::impl<
- Expr const&
- , vector2<
- vector1<const ::boost::phoenix::actor<Expr> *> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0>
- struct actor<Expr, A0>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector2<const ::boost::phoenix::actor<Expr> *, A0> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1>
- struct actor<Expr, A0 , A1>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector3<const ::boost::phoenix::actor<Expr> *, A0 , A1> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2>
- struct actor<Expr, A0 , A1 , A2>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector4<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3>
- struct actor<Expr, A0 , A1 , A2 , A3>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector5<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector6<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector7<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector8<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector9<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector10<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector11<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector12<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector13<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector14<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector15<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector16<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector17<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector18<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector19<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector20<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector21<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_30.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_30.hpp
deleted file mode 100644
index 854ea8edb4..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_30.hpp
+++ /dev/null
@@ -1,685 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
- template <typename Expr
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void
- , typename Dummy = void>
- struct actor;
- template <typename Expr>
- struct nullary_actor_result
- {
- typedef
- typename boost::phoenix::evaluator::impl<
- Expr const&
- , vector2<
- vector1<const ::boost::phoenix::actor<Expr> *> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0>
- struct actor<Expr, A0>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector2<const ::boost::phoenix::actor<Expr> *, A0> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1>
- struct actor<Expr, A0 , A1>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector3<const ::boost::phoenix::actor<Expr> *, A0 , A1> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2>
- struct actor<Expr, A0 , A1 , A2>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector4<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3>
- struct actor<Expr, A0 , A1 , A2 , A3>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector5<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector6<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector7<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector8<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector9<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector10<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector11<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector12<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector13<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector14<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector15<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector16<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector17<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector18<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector19<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector20<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector21<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector22<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector23<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector24<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector25<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector26<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector27<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector28<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector29<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector30<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector31<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_40.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_40.hpp
deleted file mode 100644
index 1e74311437..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_40.hpp
+++ /dev/null
@@ -1,905 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
- template <typename Expr
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void , typename A39 = void
- , typename Dummy = void>
- struct actor;
- template <typename Expr>
- struct nullary_actor_result
- {
- typedef
- typename boost::phoenix::evaluator::impl<
- Expr const&
- , vector2<
- vector1<const ::boost::phoenix::actor<Expr> *> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0>
- struct actor<Expr, A0>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector2<const ::boost::phoenix::actor<Expr> *, A0> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1>
- struct actor<Expr, A0 , A1>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector3<const ::boost::phoenix::actor<Expr> *, A0 , A1> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2>
- struct actor<Expr, A0 , A1 , A2>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector4<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3>
- struct actor<Expr, A0 , A1 , A2 , A3>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector5<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector6<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector7<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector8<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector9<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector10<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector11<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector12<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector13<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector14<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector15<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector16<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector17<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector18<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector19<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector20<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector21<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector22<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector23<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector24<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector25<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector26<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector27<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector28<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector29<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector30<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector31<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector32<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector33<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector34<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector35<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector36<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector37<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector38<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector39<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector40<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector41<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_50.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_50.hpp
deleted file mode 100644
index 9f64ae4fdc..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/actor_result_of_50.hpp
+++ /dev/null
@@ -1,1125 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
- template <typename Expr
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void , typename A39 = void , typename A40 = void , typename A41 = void , typename A42 = void , typename A43 = void , typename A44 = void , typename A45 = void , typename A46 = void , typename A47 = void , typename A48 = void , typename A49 = void
- , typename Dummy = void>
- struct actor;
- template <typename Expr>
- struct nullary_actor_result
- {
- typedef
- typename boost::phoenix::evaluator::impl<
- Expr const&
- , vector2<
- vector1<const ::boost::phoenix::actor<Expr> *> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0>
- struct actor<Expr, A0>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector2<const ::boost::phoenix::actor<Expr> *, A0> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1>
- struct actor<Expr, A0 , A1>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector3<const ::boost::phoenix::actor<Expr> *, A0 , A1> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2>
- struct actor<Expr, A0 , A1 , A2>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector4<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3>
- struct actor<Expr, A0 , A1 , A2 , A3>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector5<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector6<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector7<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector8<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector9<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector10<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector11<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector12<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector13<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector14<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector15<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector16<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector17<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector18<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector19<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector20<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector21<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector22<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector23<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector24<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector25<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector26<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector27<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector28<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector29<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector30<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector31<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector32<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector33<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector34<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector35<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector36<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector37<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector38<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector39<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector40<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector41<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector42<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector43<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector44<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector45<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector46<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector47<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector48<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector49<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector50<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
-
-
-
-
-
-
-
- template <typename Expr, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- struct actor<Expr, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49>
- {
- typedef
- typename phoenix::evaluator::
- impl<
- Expr const&
- , vector2<
- vector51<const ::boost::phoenix::actor<Expr> *, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49> &
- , default_actions
- > const &
- , proto::empty_env
- >::result_type
- type;
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument.hpp
deleted file mode 100644
index e32e641be7..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 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)
-==============================================================================*/
-
-#if !defined(BOOST_PHOENIX_PREPROCESSED_CORE_ARGUMENT_HPP)
-#define BOOST_PHOENIX_PREPROCESSED_CORE_ARGUMENT_HPP
-
-#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
-
-#if BOOST_PHOENIX_LIMIT <= 10
-#include <boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 20
-#include <boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 30
-#include <boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 40
-#include <boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 50
-#include <boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_10.hpp>
-#else
-#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
-#endif
-
-#else
-
-#if BOOST_PHOENIX_LIMIT <= 10
-#include <boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 20
-#include <boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 30
-#include <boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 40
-#include <boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 50
-#include <boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_10.hpp>
-#else
-#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
-#endif
-
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_10.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_10.hpp
deleted file mode 100644
index 4609cc2d12..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_no_predefined_10.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010-2011 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
- namespace placeholders
- {
- typedef expression::argument<1>::type arg1_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<2>::type arg2_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<3>::type arg3_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<4>::type arg4_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<5>::type arg5_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<6>::type arg6_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<7>::type arg7_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<8>::type arg8_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<9>::type arg9_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<10>::type arg10_type BOOST_ATTRIBUTE_UNUSED;
- typedef expression::argument<1>::type _1_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<2>::type _2_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<3>::type _3_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<4>::type _4_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<5>::type _5_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<6>::type _6_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<7>::type _7_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<8>::type _8_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<9>::type _9_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<10>::type _10_type BOOST_ATTRIBUTE_UNUSED;
- }
- namespace arg_names
- {
- typedef expression::argument<1>::type arg1_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<2>::type arg2_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<3>::type arg3_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<4>::type arg4_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<5>::type arg5_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<6>::type arg6_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<7>::type arg7_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<8>::type arg8_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<9>::type arg9_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<10>::type arg10_type BOOST_ATTRIBUTE_UNUSED;
- typedef expression::argument<1>::type _1_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<2>::type _2_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<3>::type _3_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<4>::type _4_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<5>::type _5_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<6>::type _6_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<7>::type _7_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<8>::type _8_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<9>::type _9_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<10>::type _10_type BOOST_ATTRIBUTE_UNUSED;
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_10.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_10.hpp
deleted file mode 100644
index ae79a0060e..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/argument_predefined_10.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010-2011 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
- namespace placeholders
- {
- typedef expression::argument<1>::type arg1_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<2>::type arg2_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<3>::type arg3_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<4>::type arg4_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<5>::type arg5_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<6>::type arg6_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<7>::type arg7_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<8>::type arg8_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<9>::type arg9_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<10>::type arg10_type BOOST_ATTRIBUTE_UNUSED;
- typedef expression::argument<1>::type _1_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<2>::type _2_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<3>::type _3_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<4>::type _4_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<5>::type _5_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<6>::type _6_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<7>::type _7_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<8>::type _8_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<9>::type _9_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<10>::type _10_type BOOST_ATTRIBUTE_UNUSED;
- expression::argument<1>::type const BOOST_ATTRIBUTE_UNUSED arg1 = {{{}}}; expression::argument<2>::type const BOOST_ATTRIBUTE_UNUSED arg2 = {{{}}}; expression::argument<3>::type const BOOST_ATTRIBUTE_UNUSED arg3 = {{{}}}; expression::argument<4>::type const BOOST_ATTRIBUTE_UNUSED arg4 = {{{}}}; expression::argument<5>::type const BOOST_ATTRIBUTE_UNUSED arg5 = {{{}}}; expression::argument<6>::type const BOOST_ATTRIBUTE_UNUSED arg6 = {{{}}}; expression::argument<7>::type const BOOST_ATTRIBUTE_UNUSED arg7 = {{{}}}; expression::argument<8>::type const BOOST_ATTRIBUTE_UNUSED arg8 = {{{}}}; expression::argument<9>::type const BOOST_ATTRIBUTE_UNUSED arg9 = {{{}}}; expression::argument<10>::type const BOOST_ATTRIBUTE_UNUSED arg10 = {{{}}};
- expression::argument<1>::type const BOOST_ATTRIBUTE_UNUSED _1 = {{{}}}; expression::argument<2>::type const BOOST_ATTRIBUTE_UNUSED _2 = {{{}}}; expression::argument<3>::type const BOOST_ATTRIBUTE_UNUSED _3 = {{{}}}; expression::argument<4>::type const BOOST_ATTRIBUTE_UNUSED _4 = {{{}}}; expression::argument<5>::type const BOOST_ATTRIBUTE_UNUSED _5 = {{{}}}; expression::argument<6>::type const BOOST_ATTRIBUTE_UNUSED _6 = {{{}}}; expression::argument<7>::type const BOOST_ATTRIBUTE_UNUSED _7 = {{{}}}; expression::argument<8>::type const BOOST_ATTRIBUTE_UNUSED _8 = {{{}}}; expression::argument<9>::type const BOOST_ATTRIBUTE_UNUSED _9 = {{{}}}; expression::argument<10>::type const BOOST_ATTRIBUTE_UNUSED _10 = {{{}}};
- }
- namespace arg_names
- {
- typedef expression::argument<1>::type arg1_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<2>::type arg2_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<3>::type arg3_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<4>::type arg4_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<5>::type arg5_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<6>::type arg6_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<7>::type arg7_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<8>::type arg8_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<9>::type arg9_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<10>::type arg10_type BOOST_ATTRIBUTE_UNUSED;
- typedef expression::argument<1>::type _1_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<2>::type _2_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<3>::type _3_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<4>::type _4_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<5>::type _5_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<6>::type _6_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<7>::type _7_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<8>::type _8_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<9>::type _9_type BOOST_ATTRIBUTE_UNUSED; typedef expression::argument<10>::type _10_type BOOST_ATTRIBUTE_UNUSED;
- expression::argument<1>::type const BOOST_ATTRIBUTE_UNUSED arg1 = {{{}}}; expression::argument<2>::type const BOOST_ATTRIBUTE_UNUSED arg2 = {{{}}}; expression::argument<3>::type const BOOST_ATTRIBUTE_UNUSED arg3 = {{{}}}; expression::argument<4>::type const BOOST_ATTRIBUTE_UNUSED arg4 = {{{}}}; expression::argument<5>::type const BOOST_ATTRIBUTE_UNUSED arg5 = {{{}}}; expression::argument<6>::type const BOOST_ATTRIBUTE_UNUSED arg6 = {{{}}}; expression::argument<7>::type const BOOST_ATTRIBUTE_UNUSED arg7 = {{{}}}; expression::argument<8>::type const BOOST_ATTRIBUTE_UNUSED arg8 = {{{}}}; expression::argument<9>::type const BOOST_ATTRIBUTE_UNUSED arg9 = {{{}}}; expression::argument<10>::type const BOOST_ATTRIBUTE_UNUSED arg10 = {{{}}};
- expression::argument<1>::type const BOOST_ATTRIBUTE_UNUSED _1 = {{{}}}; expression::argument<2>::type const BOOST_ATTRIBUTE_UNUSED _2 = {{{}}}; expression::argument<3>::type const BOOST_ATTRIBUTE_UNUSED _3 = {{{}}}; expression::argument<4>::type const BOOST_ATTRIBUTE_UNUSED _4 = {{{}}}; expression::argument<5>::type const BOOST_ATTRIBUTE_UNUSED _5 = {{{}}}; expression::argument<6>::type const BOOST_ATTRIBUTE_UNUSED _6 = {{{}}}; expression::argument<7>::type const BOOST_ATTRIBUTE_UNUSED _7 = {{{}}}; expression::argument<8>::type const BOOST_ATTRIBUTE_UNUSED _8 = {{{}}}; expression::argument<9>::type const BOOST_ATTRIBUTE_UNUSED _9 = {{{}}}; expression::argument<10>::type const BOOST_ATTRIBUTE_UNUSED _10 = {{{}}};
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call.hpp
deleted file mode 100644
index e859d1bc32..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*==============================================================================
- Copyright (c) 2011 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)
-==============================================================================*/
-
-#if !defined(BOOST_PHOENIX_PREPROCESSED_CALL)
-#define BOOST_PHOENIX_PREPROCESSED_CALL
-
-#if BOOST_PHOENIX_LIMIT <= 10
-#include <boost/phoenix/core/detail/cpp03/preprocessed/call_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 20
-#include <boost/phoenix/core/detail/cpp03/preprocessed/call_20.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 30
-#include <boost/phoenix/core/detail/cpp03/preprocessed/call_30.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 40
-#include <boost/phoenix/core/detail/cpp03/preprocessed/call_40.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 50
-#include <boost/phoenix/core/detail/cpp03/preprocessed/call_50.hpp>
-#else
-#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_10.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_10.hpp
deleted file mode 100644
index b7efe2ee80..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_10.hpp
+++ /dev/null
@@ -1,348 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 1>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0;
- typedef
- typename boost::result_of<
- Fun(A0, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 2>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1;
- typedef
- typename boost::result_of<
- Fun(A0 , A1, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 3>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 4>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 5>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 6>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 7>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 8>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 9>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 10>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_20.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_20.hpp
deleted file mode 100644
index 76a4cd6aa3..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_20.hpp
+++ /dev/null
@@ -1,688 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 1>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0;
- typedef
- typename boost::result_of<
- Fun(A0, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 2>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1;
- typedef
- typename boost::result_of<
- Fun(A0 , A1, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 3>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 4>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 5>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 6>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 7>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 8>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 9>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 10>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 11>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 12>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 13>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 14>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 15>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 16>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 17>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 18>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 19>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 20>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_30.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_30.hpp
deleted file mode 100644
index ef13dde253..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_30.hpp
+++ /dev/null
@@ -1,1028 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 1>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0;
- typedef
- typename boost::result_of<
- Fun(A0, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 2>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1;
- typedef
- typename boost::result_of<
- Fun(A0 , A1, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 3>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 4>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 5>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 6>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 7>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 8>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 9>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 10>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 11>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 12>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 13>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 14>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 15>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 16>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 17>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 18>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 19>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 20>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 21>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 22>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 23>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 24>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 25>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 26>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 27>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 28>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 29>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 30>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_40.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_40.hpp
deleted file mode 100644
index 0e7ff6d892..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_40.hpp
+++ /dev/null
@@ -1,1368 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 1>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0;
- typedef
- typename boost::result_of<
- Fun(A0, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 2>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1;
- typedef
- typename boost::result_of<
- Fun(A0 , A1, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 3>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 4>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 5>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 6>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 7>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 8>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 9>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 10>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 11>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 12>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 13>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 14>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 15>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 16>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 17>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 18>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 19>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 20>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 21>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 22>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 23>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 24>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 25>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 26>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 27>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 28>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 29>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 30>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 31>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 32>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 33>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 34>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 35>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 36>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 37>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 38>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 39>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 40>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_50.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_50.hpp
deleted file mode 100644
index 25e47b4594..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/call_50.hpp
+++ /dev/null
@@ -1,1708 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 1>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0;
- typedef
- typename boost::result_of<
- Fun(A0, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 2>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1;
- typedef
- typename boost::result_of<
- Fun(A0 , A1, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 3>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 4>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 5>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 6>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 7>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 8>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 9>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 10>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 11>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 12>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 13>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 14>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 15>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 16>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 17>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 18>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 19>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 20>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 21>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 22>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 23>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 24>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 25>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 26>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 27>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 28>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 29>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 30>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 31>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 32>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 33>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 34>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 35>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 36>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 37>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 38>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 39>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 40>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 41>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39; typedef typename proto::result_of::child_c<Expr, 40>::type A40;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e) , proto::child_c< 40>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 42>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39; typedef typename proto::result_of::child_c<Expr, 40>::type A40; typedef typename proto::result_of::child_c<Expr, 41>::type A41;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e) , proto::child_c< 40>(e) , proto::child_c< 41>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 43>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39; typedef typename proto::result_of::child_c<Expr, 40>::type A40; typedef typename proto::result_of::child_c<Expr, 41>::type A41; typedef typename proto::result_of::child_c<Expr, 42>::type A42;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e) , proto::child_c< 40>(e) , proto::child_c< 41>(e) , proto::child_c< 42>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 44>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39; typedef typename proto::result_of::child_c<Expr, 40>::type A40; typedef typename proto::result_of::child_c<Expr, 41>::type A41; typedef typename proto::result_of::child_c<Expr, 42>::type A42; typedef typename proto::result_of::child_c<Expr, 43>::type A43;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e) , proto::child_c< 40>(e) , proto::child_c< 41>(e) , proto::child_c< 42>(e) , proto::child_c< 43>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 45>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39; typedef typename proto::result_of::child_c<Expr, 40>::type A40; typedef typename proto::result_of::child_c<Expr, 41>::type A41; typedef typename proto::result_of::child_c<Expr, 42>::type A42; typedef typename proto::result_of::child_c<Expr, 43>::type A43; typedef typename proto::result_of::child_c<Expr, 44>::type A44;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e) , proto::child_c< 40>(e) , proto::child_c< 41>(e) , proto::child_c< 42>(e) , proto::child_c< 43>(e) , proto::child_c< 44>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 46>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39; typedef typename proto::result_of::child_c<Expr, 40>::type A40; typedef typename proto::result_of::child_c<Expr, 41>::type A41; typedef typename proto::result_of::child_c<Expr, 42>::type A42; typedef typename proto::result_of::child_c<Expr, 43>::type A43; typedef typename proto::result_of::child_c<Expr, 44>::type A44; typedef typename proto::result_of::child_c<Expr, 45>::type A45;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e) , proto::child_c< 40>(e) , proto::child_c< 41>(e) , proto::child_c< 42>(e) , proto::child_c< 43>(e) , proto::child_c< 44>(e) , proto::child_c< 45>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 47>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39; typedef typename proto::result_of::child_c<Expr, 40>::type A40; typedef typename proto::result_of::child_c<Expr, 41>::type A41; typedef typename proto::result_of::child_c<Expr, 42>::type A42; typedef typename proto::result_of::child_c<Expr, 43>::type A43; typedef typename proto::result_of::child_c<Expr, 44>::type A44; typedef typename proto::result_of::child_c<Expr, 45>::type A45; typedef typename proto::result_of::child_c<Expr, 46>::type A46;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e) , proto::child_c< 40>(e) , proto::child_c< 41>(e) , proto::child_c< 42>(e) , proto::child_c< 43>(e) , proto::child_c< 44>(e) , proto::child_c< 45>(e) , proto::child_c< 46>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 48>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39; typedef typename proto::result_of::child_c<Expr, 40>::type A40; typedef typename proto::result_of::child_c<Expr, 41>::type A41; typedef typename proto::result_of::child_c<Expr, 42>::type A42; typedef typename proto::result_of::child_c<Expr, 43>::type A43; typedef typename proto::result_of::child_c<Expr, 44>::type A44; typedef typename proto::result_of::child_c<Expr, 45>::type A45; typedef typename proto::result_of::child_c<Expr, 46>::type A46; typedef typename proto::result_of::child_c<Expr, 47>::type A47;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e) , proto::child_c< 40>(e) , proto::child_c< 41>(e) , proto::child_c< 42>(e) , proto::child_c< 43>(e) , proto::child_c< 44>(e) , proto::child_c< 45>(e) , proto::child_c< 46>(e) , proto::child_c< 47>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 49>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39; typedef typename proto::result_of::child_c<Expr, 40>::type A40; typedef typename proto::result_of::child_c<Expr, 41>::type A41; typedef typename proto::result_of::child_c<Expr, 42>::type A42; typedef typename proto::result_of::child_c<Expr, 43>::type A43; typedef typename proto::result_of::child_c<Expr, 44>::type A44; typedef typename proto::result_of::child_c<Expr, 45>::type A45; typedef typename proto::result_of::child_c<Expr, 46>::type A46; typedef typename proto::result_of::child_c<Expr, 47>::type A47; typedef typename proto::result_of::child_c<Expr, 48>::type A48;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e) , proto::child_c< 40>(e) , proto::child_c< 41>(e) , proto::child_c< 42>(e) , proto::child_c< 43>(e) , proto::child_c< 44>(e) , proto::child_c< 45>(e) , proto::child_c< 46>(e) , proto::child_c< 47>(e) , proto::child_c< 48>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
-
-
-
-
-
-
-
-
- template <typename Fun, typename Expr, typename State, typename Data>
- struct call_impl<Fun, Expr, State, Data, 50>
- : proto::transform_impl<Expr, State, Data>
- {
- typedef
- typename boost::phoenix::result_of::context<State, Data>::type
- context_type;
- typedef typename proto::result_of::child_c<Expr, 0>::type A0; typedef typename proto::result_of::child_c<Expr, 1>::type A1; typedef typename proto::result_of::child_c<Expr, 2>::type A2; typedef typename proto::result_of::child_c<Expr, 3>::type A3; typedef typename proto::result_of::child_c<Expr, 4>::type A4; typedef typename proto::result_of::child_c<Expr, 5>::type A5; typedef typename proto::result_of::child_c<Expr, 6>::type A6; typedef typename proto::result_of::child_c<Expr, 7>::type A7; typedef typename proto::result_of::child_c<Expr, 8>::type A8; typedef typename proto::result_of::child_c<Expr, 9>::type A9; typedef typename proto::result_of::child_c<Expr, 10>::type A10; typedef typename proto::result_of::child_c<Expr, 11>::type A11; typedef typename proto::result_of::child_c<Expr, 12>::type A12; typedef typename proto::result_of::child_c<Expr, 13>::type A13; typedef typename proto::result_of::child_c<Expr, 14>::type A14; typedef typename proto::result_of::child_c<Expr, 15>::type A15; typedef typename proto::result_of::child_c<Expr, 16>::type A16; typedef typename proto::result_of::child_c<Expr, 17>::type A17; typedef typename proto::result_of::child_c<Expr, 18>::type A18; typedef typename proto::result_of::child_c<Expr, 19>::type A19; typedef typename proto::result_of::child_c<Expr, 20>::type A20; typedef typename proto::result_of::child_c<Expr, 21>::type A21; typedef typename proto::result_of::child_c<Expr, 22>::type A22; typedef typename proto::result_of::child_c<Expr, 23>::type A23; typedef typename proto::result_of::child_c<Expr, 24>::type A24; typedef typename proto::result_of::child_c<Expr, 25>::type A25; typedef typename proto::result_of::child_c<Expr, 26>::type A26; typedef typename proto::result_of::child_c<Expr, 27>::type A27; typedef typename proto::result_of::child_c<Expr, 28>::type A28; typedef typename proto::result_of::child_c<Expr, 29>::type A29; typedef typename proto::result_of::child_c<Expr, 30>::type A30; typedef typename proto::result_of::child_c<Expr, 31>::type A31; typedef typename proto::result_of::child_c<Expr, 32>::type A32; typedef typename proto::result_of::child_c<Expr, 33>::type A33; typedef typename proto::result_of::child_c<Expr, 34>::type A34; typedef typename proto::result_of::child_c<Expr, 35>::type A35; typedef typename proto::result_of::child_c<Expr, 36>::type A36; typedef typename proto::result_of::child_c<Expr, 37>::type A37; typedef typename proto::result_of::child_c<Expr, 38>::type A38; typedef typename proto::result_of::child_c<Expr, 39>::type A39; typedef typename proto::result_of::child_c<Expr, 40>::type A40; typedef typename proto::result_of::child_c<Expr, 41>::type A41; typedef typename proto::result_of::child_c<Expr, 42>::type A42; typedef typename proto::result_of::child_c<Expr, 43>::type A43; typedef typename proto::result_of::child_c<Expr, 44>::type A44; typedef typename proto::result_of::child_c<Expr, 45>::type A45; typedef typename proto::result_of::child_c<Expr, 46>::type A46; typedef typename proto::result_of::child_c<Expr, 47>::type A47; typedef typename proto::result_of::child_c<Expr, 48>::type A48; typedef typename proto::result_of::child_c<Expr, 49>::type A49;
- typedef
- typename boost::result_of<
- Fun(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49, context_type)
- >::type
- result_type;
- result_type operator()(
- typename call_impl::expr_param e
- , typename call_impl::state_param s
- , typename call_impl::data_param d
- ) const
- {
- return
- Fun()(
- proto::child_c< 0>(e) , proto::child_c< 1>(e) , proto::child_c< 2>(e) , proto::child_c< 3>(e) , proto::child_c< 4>(e) , proto::child_c< 5>(e) , proto::child_c< 6>(e) , proto::child_c< 7>(e) , proto::child_c< 8>(e) , proto::child_c< 9>(e) , proto::child_c< 10>(e) , proto::child_c< 11>(e) , proto::child_c< 12>(e) , proto::child_c< 13>(e) , proto::child_c< 14>(e) , proto::child_c< 15>(e) , proto::child_c< 16>(e) , proto::child_c< 17>(e) , proto::child_c< 18>(e) , proto::child_c< 19>(e) , proto::child_c< 20>(e) , proto::child_c< 21>(e) , proto::child_c< 22>(e) , proto::child_c< 23>(e) , proto::child_c< 24>(e) , proto::child_c< 25>(e) , proto::child_c< 26>(e) , proto::child_c< 27>(e) , proto::child_c< 28>(e) , proto::child_c< 29>(e) , proto::child_c< 30>(e) , proto::child_c< 31>(e) , proto::child_c< 32>(e) , proto::child_c< 33>(e) , proto::child_c< 34>(e) , proto::child_c< 35>(e) , proto::child_c< 36>(e) , proto::child_c< 37>(e) , proto::child_c< 38>(e) , proto::child_c< 39>(e) , proto::child_c< 40>(e) , proto::child_c< 41>(e) , proto::child_c< 42>(e) , proto::child_c< 43>(e) , proto::child_c< 44>(e) , proto::child_c< 45>(e) , proto::child_c< 46>(e) , proto::child_c< 47>(e) , proto::child_c< 48>(e) , proto::child_c< 49>(e)
- , boost::phoenix::context(s, d)
- );
- }
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression.hpp
deleted file mode 100644
index 1ad866076c..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*==============================================================================
- Copyright (c) 2011 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)
-==============================================================================*/
-
-#if !defined(BOOST_PHOENIX_PREPROCESSED_EXPRESSION)
-#define BOOST_PHOENIX_PREPROCESSED_EXPRESSION
-
-#if BOOST_PHOENIX_LIMIT <= 10
-#include <boost/phoenix/core/detail/cpp03/preprocessed/expression_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 20
-#include <boost/phoenix/core/detail/cpp03/preprocessed/expression_20.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 30
-#include <boost/phoenix/core/detail/cpp03/preprocessed/expression_30.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 40
-#include <boost/phoenix/core/detail/cpp03/preprocessed/expression_40.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 50
-#include <boost/phoenix/core/detail/cpp03/preprocessed/expression_50.hpp>
-#else
-#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_10.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_10.hpp
deleted file mode 100644
index 5301af7593..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_10.hpp
+++ /dev/null
@@ -1,430 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
- template <
- template <typename> class Actor
- , typename Tag
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void
- , typename Dummy = void>
- struct expr_ext;
- template <
- typename Tag
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void
- , typename Dummy = void
- >
- struct expr : expr_ext<actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> {};
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0>
- struct expr_ext<Actor, Tag, A0>
- : proto::transform<expr_ext<Actor, Tag, A0>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1>
- struct expr_ext<Actor, Tag, A0 , A1>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2>
- struct expr_ext<Actor, Tag, A0 , A1 , A2>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9;
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_20.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_20.hpp
deleted file mode 100644
index 19450fdaff..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_20.hpp
+++ /dev/null
@@ -1,840 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
- template <
- template <typename> class Actor
- , typename Tag
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void
- , typename Dummy = void>
- struct expr_ext;
- template <
- typename Tag
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void
- , typename Dummy = void
- >
- struct expr : expr_ext<actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> {};
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0>
- struct expr_ext<Actor, Tag, A0>
- : proto::transform<expr_ext<Actor, Tag, A0>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1>
- struct expr_ext<Actor, Tag, A0 , A1>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2>
- struct expr_ext<Actor, Tag, A0 , A1 , A2>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19;
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_30.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_30.hpp
deleted file mode 100644
index 80c9392dfe..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_30.hpp
+++ /dev/null
@@ -1,1250 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
- template <
- template <typename> class Actor
- , typename Tag
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void
- , typename Dummy = void>
- struct expr_ext;
- template <
- typename Tag
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void
- , typename Dummy = void
- >
- struct expr : expr_ext<actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29> {};
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0>
- struct expr_ext<Actor, Tag, A0>
- : proto::transform<expr_ext<Actor, Tag, A0>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1>
- struct expr_ext<Actor, Tag, A0 , A1>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2>
- struct expr_ext<Actor, Tag, A0 , A1 , A2>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29;
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_40.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_40.hpp
deleted file mode 100644
index c9bf0b413c..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_40.hpp
+++ /dev/null
@@ -1,1660 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
- template <
- template <typename> class Actor
- , typename Tag
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void , typename A39 = void
- , typename Dummy = void>
- struct expr_ext;
- template <
- typename Tag
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void , typename A39 = void
- , typename Dummy = void
- >
- struct expr : expr_ext<actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39> {};
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0>
- struct expr_ext<Actor, Tag, A0>
- : proto::transform<expr_ext<Actor, Tag, A0>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1>
- struct expr_ext<Actor, Tag, A0 , A1>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2>
- struct expr_ext<Actor, Tag, A0 , A1 , A2>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39;
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_50.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_50.hpp
deleted file mode 100644
index 03ec4039b2..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/expression_50.hpp
+++ /dev/null
@@ -1,2070 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
- template <
- template <typename> class Actor
- , typename Tag
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void , typename A39 = void , typename A40 = void , typename A41 = void , typename A42 = void , typename A43 = void , typename A44 = void , typename A45 = void , typename A46 = void , typename A47 = void , typename A48 = void , typename A49 = void
- , typename Dummy = void>
- struct expr_ext;
- template <
- typename Tag
- , typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void , typename A39 = void , typename A40 = void , typename A41 = void , typename A42 = void , typename A43 = void , typename A44 = void , typename A45 = void , typename A46 = void , typename A47 = void , typename A48 = void , typename A49 = void
- , typename Dummy = void
- >
- struct expr : expr_ext<actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49> {};
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0>
- struct expr_ext<Actor, Tag, A0>
- : proto::transform<expr_ext<Actor, Tag, A0>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1>
- struct expr_ext<Actor, Tag, A0 , A1>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2>
- struct expr_ext<Actor, Tag, A0 , A1 , A2>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type , typename proto::detail::uncvref<A40>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39 , typename boost::add_reference<typename boost::add_const<A40>::type>::type a40)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39; typedef A40 proto_child40;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type , typename proto::detail::uncvref<A40>::type , typename proto::detail::uncvref<A41>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39 , typename boost::add_reference<typename boost::add_const<A40>::type>::type a40 , typename boost::add_reference<typename boost::add_const<A41>::type>::type a41)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39; typedef A40 proto_child40; typedef A41 proto_child41;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type , typename proto::detail::uncvref<A40>::type , typename proto::detail::uncvref<A41>::type , typename proto::detail::uncvref<A42>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39 , typename boost::add_reference<typename boost::add_const<A40>::type>::type a40 , typename boost::add_reference<typename boost::add_const<A41>::type>::type a41 , typename boost::add_reference<typename boost::add_const<A42>::type>::type a42)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39; typedef A40 proto_child40; typedef A41 proto_child41; typedef A42 proto_child42;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type , typename proto::detail::uncvref<A40>::type , typename proto::detail::uncvref<A41>::type , typename proto::detail::uncvref<A42>::type , typename proto::detail::uncvref<A43>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39 , typename boost::add_reference<typename boost::add_const<A40>::type>::type a40 , typename boost::add_reference<typename boost::add_const<A41>::type>::type a41 , typename boost::add_reference<typename boost::add_const<A42>::type>::type a42 , typename boost::add_reference<typename boost::add_const<A43>::type>::type a43)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39; typedef A40 proto_child40; typedef A41 proto_child41; typedef A42 proto_child42; typedef A43 proto_child43;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type , typename proto::detail::uncvref<A40>::type , typename proto::detail::uncvref<A41>::type , typename proto::detail::uncvref<A42>::type , typename proto::detail::uncvref<A43>::type , typename proto::detail::uncvref<A44>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39 , typename boost::add_reference<typename boost::add_const<A40>::type>::type a40 , typename boost::add_reference<typename boost::add_const<A41>::type>::type a41 , typename boost::add_reference<typename boost::add_const<A42>::type>::type a42 , typename boost::add_reference<typename boost::add_const<A43>::type>::type a43 , typename boost::add_reference<typename boost::add_const<A44>::type>::type a44)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39; typedef A40 proto_child40; typedef A41 proto_child41; typedef A42 proto_child42; typedef A43 proto_child43; typedef A44 proto_child44;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type , typename proto::detail::uncvref<A40>::type , typename proto::detail::uncvref<A41>::type , typename proto::detail::uncvref<A42>::type , typename proto::detail::uncvref<A43>::type , typename proto::detail::uncvref<A44>::type , typename proto::detail::uncvref<A45>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39 , typename boost::add_reference<typename boost::add_const<A40>::type>::type a40 , typename boost::add_reference<typename boost::add_const<A41>::type>::type a41 , typename boost::add_reference<typename boost::add_const<A42>::type>::type a42 , typename boost::add_reference<typename boost::add_const<A43>::type>::type a43 , typename boost::add_reference<typename boost::add_const<A44>::type>::type a44 , typename boost::add_reference<typename boost::add_const<A45>::type>::type a45)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39; typedef A40 proto_child40; typedef A41 proto_child41; typedef A42 proto_child42; typedef A43 proto_child43; typedef A44 proto_child44; typedef A45 proto_child45;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type , typename proto::detail::uncvref<A40>::type , typename proto::detail::uncvref<A41>::type , typename proto::detail::uncvref<A42>::type , typename proto::detail::uncvref<A43>::type , typename proto::detail::uncvref<A44>::type , typename proto::detail::uncvref<A45>::type , typename proto::detail::uncvref<A46>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39 , typename boost::add_reference<typename boost::add_const<A40>::type>::type a40 , typename boost::add_reference<typename boost::add_const<A41>::type>::type a41 , typename boost::add_reference<typename boost::add_const<A42>::type>::type a42 , typename boost::add_reference<typename boost::add_const<A43>::type>::type a43 , typename boost::add_reference<typename boost::add_const<A44>::type>::type a44 , typename boost::add_reference<typename boost::add_const<A45>::type>::type a45 , typename boost::add_reference<typename boost::add_const<A46>::type>::type a46)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39; typedef A40 proto_child40; typedef A41 proto_child41; typedef A42 proto_child42; typedef A43 proto_child43; typedef A44 proto_child44; typedef A45 proto_child45; typedef A46 proto_child46;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type , typename proto::detail::uncvref<A40>::type , typename proto::detail::uncvref<A41>::type , typename proto::detail::uncvref<A42>::type , typename proto::detail::uncvref<A43>::type , typename proto::detail::uncvref<A44>::type , typename proto::detail::uncvref<A45>::type , typename proto::detail::uncvref<A46>::type , typename proto::detail::uncvref<A47>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39 , typename boost::add_reference<typename boost::add_const<A40>::type>::type a40 , typename boost::add_reference<typename boost::add_const<A41>::type>::type a41 , typename boost::add_reference<typename boost::add_const<A42>::type>::type a42 , typename boost::add_reference<typename boost::add_const<A43>::type>::type a43 , typename boost::add_reference<typename boost::add_const<A44>::type>::type a44 , typename boost::add_reference<typename boost::add_const<A45>::type>::type a45 , typename boost::add_reference<typename boost::add_const<A46>::type>::type a46 , typename boost::add_reference<typename boost::add_const<A47>::type>::type a47)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39; typedef A40 proto_child40; typedef A41 proto_child41; typedef A42 proto_child42; typedef A43 proto_child43; typedef A44 proto_child44; typedef A45 proto_child45; typedef A46 proto_child46; typedef A47 proto_child47;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type , typename proto::detail::uncvref<A40>::type , typename proto::detail::uncvref<A41>::type , typename proto::detail::uncvref<A42>::type , typename proto::detail::uncvref<A43>::type , typename proto::detail::uncvref<A44>::type , typename proto::detail::uncvref<A45>::type , typename proto::detail::uncvref<A46>::type , typename proto::detail::uncvref<A47>::type , typename proto::detail::uncvref<A48>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39 , typename boost::add_reference<typename boost::add_const<A40>::type>::type a40 , typename boost::add_reference<typename boost::add_const<A41>::type>::type a41 , typename boost::add_reference<typename boost::add_const<A42>::type>::type a42 , typename boost::add_reference<typename boost::add_const<A43>::type>::type a43 , typename boost::add_reference<typename boost::add_const<A44>::type>::type a44 , typename boost::add_reference<typename boost::add_const<A45>::type>::type a45 , typename boost::add_reference<typename boost::add_const<A46>::type>::type a46 , typename boost::add_reference<typename boost::add_const<A47>::type>::type a47 , typename boost::add_reference<typename boost::add_const<A48>::type>::type a48)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39; typedef A40 proto_child40; typedef A41 proto_child41; typedef A42 proto_child42; typedef A43 proto_child43; typedef A44 proto_child44; typedef A45 proto_child45; typedef A46 proto_child46; typedef A47 proto_child47; typedef A48 proto_child48;
- };
-
-
-
-
-
-
-
- template <template <typename> class Actor, typename Tag, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- struct expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49>
- : proto::transform<expr_ext<Actor, Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain
- , typename proto::detail::uncvref<A0>::type , typename proto::detail::uncvref<A1>::type , typename proto::detail::uncvref<A2>::type , typename proto::detail::uncvref<A3>::type , typename proto::detail::uncvref<A4>::type , typename proto::detail::uncvref<A5>::type , typename proto::detail::uncvref<A6>::type , typename proto::detail::uncvref<A7>::type , typename proto::detail::uncvref<A8>::type , typename proto::detail::uncvref<A9>::type , typename proto::detail::uncvref<A10>::type , typename proto::detail::uncvref<A11>::type , typename proto::detail::uncvref<A12>::type , typename proto::detail::uncvref<A13>::type , typename proto::detail::uncvref<A14>::type , typename proto::detail::uncvref<A15>::type , typename proto::detail::uncvref<A16>::type , typename proto::detail::uncvref<A17>::type , typename proto::detail::uncvref<A18>::type , typename proto::detail::uncvref<A19>::type , typename proto::detail::uncvref<A20>::type , typename proto::detail::uncvref<A21>::type , typename proto::detail::uncvref<A22>::type , typename proto::detail::uncvref<A23>::type , typename proto::detail::uncvref<A24>::type , typename proto::detail::uncvref<A25>::type , typename proto::detail::uncvref<A26>::type , typename proto::detail::uncvref<A27>::type , typename proto::detail::uncvref<A28>::type , typename proto::detail::uncvref<A29>::type , typename proto::detail::uncvref<A30>::type , typename proto::detail::uncvref<A31>::type , typename proto::detail::uncvref<A32>::type , typename proto::detail::uncvref<A33>::type , typename proto::detail::uncvref<A34>::type , typename proto::detail::uncvref<A35>::type , typename proto::detail::uncvref<A36>::type , typename proto::detail::uncvref<A37>::type , typename proto::detail::uncvref<A38>::type , typename proto::detail::uncvref<A39>::type , typename proto::detail::uncvref<A40>::type , typename proto::detail::uncvref<A41>::type , typename proto::detail::uncvref<A42>::type , typename proto::detail::uncvref<A43>::type , typename proto::detail::uncvref<A44>::type , typename proto::detail::uncvref<A45>::type , typename proto::detail::uncvref<A46>::type , typename proto::detail::uncvref<A47>::type , typename proto::detail::uncvref<A48>::type , typename proto::detail::uncvref<A49>::type
- >::type
- base_type;
- typedef Actor<base_type> type;
- typedef
- typename proto::nary_expr<Tag, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49>::proto_grammar
- proto_grammar;
- static type make(typename boost::add_reference<typename boost::add_const<A0>::type>::type a0 , typename boost::add_reference<typename boost::add_const<A1>::type>::type a1 , typename boost::add_reference<typename boost::add_const<A2>::type>::type a2 , typename boost::add_reference<typename boost::add_const<A3>::type>::type a3 , typename boost::add_reference<typename boost::add_const<A4>::type>::type a4 , typename boost::add_reference<typename boost::add_const<A5>::type>::type a5 , typename boost::add_reference<typename boost::add_const<A6>::type>::type a6 , typename boost::add_reference<typename boost::add_const<A7>::type>::type a7 , typename boost::add_reference<typename boost::add_const<A8>::type>::type a8 , typename boost::add_reference<typename boost::add_const<A9>::type>::type a9 , typename boost::add_reference<typename boost::add_const<A10>::type>::type a10 , typename boost::add_reference<typename boost::add_const<A11>::type>::type a11 , typename boost::add_reference<typename boost::add_const<A12>::type>::type a12 , typename boost::add_reference<typename boost::add_const<A13>::type>::type a13 , typename boost::add_reference<typename boost::add_const<A14>::type>::type a14 , typename boost::add_reference<typename boost::add_const<A15>::type>::type a15 , typename boost::add_reference<typename boost::add_const<A16>::type>::type a16 , typename boost::add_reference<typename boost::add_const<A17>::type>::type a17 , typename boost::add_reference<typename boost::add_const<A18>::type>::type a18 , typename boost::add_reference<typename boost::add_const<A19>::type>::type a19 , typename boost::add_reference<typename boost::add_const<A20>::type>::type a20 , typename boost::add_reference<typename boost::add_const<A21>::type>::type a21 , typename boost::add_reference<typename boost::add_const<A22>::type>::type a22 , typename boost::add_reference<typename boost::add_const<A23>::type>::type a23 , typename boost::add_reference<typename boost::add_const<A24>::type>::type a24 , typename boost::add_reference<typename boost::add_const<A25>::type>::type a25 , typename boost::add_reference<typename boost::add_const<A26>::type>::type a26 , typename boost::add_reference<typename boost::add_const<A27>::type>::type a27 , typename boost::add_reference<typename boost::add_const<A28>::type>::type a28 , typename boost::add_reference<typename boost::add_const<A29>::type>::type a29 , typename boost::add_reference<typename boost::add_const<A30>::type>::type a30 , typename boost::add_reference<typename boost::add_const<A31>::type>::type a31 , typename boost::add_reference<typename boost::add_const<A32>::type>::type a32 , typename boost::add_reference<typename boost::add_const<A33>::type>::type a33 , typename boost::add_reference<typename boost::add_const<A34>::type>::type a34 , typename boost::add_reference<typename boost::add_const<A35>::type>::type a35 , typename boost::add_reference<typename boost::add_const<A36>::type>::type a36 , typename boost::add_reference<typename boost::add_const<A37>::type>::type a37 , typename boost::add_reference<typename boost::add_const<A38>::type>::type a38 , typename boost::add_reference<typename boost::add_const<A39>::type>::type a39 , typename boost::add_reference<typename boost::add_const<A40>::type>::type a40 , typename boost::add_reference<typename boost::add_const<A41>::type>::type a41 , typename boost::add_reference<typename boost::add_const<A42>::type>::type a42 , typename boost::add_reference<typename boost::add_const<A43>::type>::type a43 , typename boost::add_reference<typename boost::add_const<A44>::type>::type a44 , typename boost::add_reference<typename boost::add_const<A45>::type>::type a45 , typename boost::add_reference<typename boost::add_const<A46>::type>::type a46 , typename boost::add_reference<typename boost::add_const<A47>::type>::type a47 , typename boost::add_reference<typename boost::add_const<A48>::type>::type a48 , typename boost::add_reference<typename boost::add_const<A49>::type>::type a49)
- {
-
- actor<base_type> const e =
- {
- proto::make_expr<
- Tag
- , phoenix_default_domain
- >(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49)
- };
- return e;
- }
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
- typedef Tag proto_tag;
- typedef A0 proto_child0; typedef A1 proto_child1; typedef A2 proto_child2; typedef A3 proto_child3; typedef A4 proto_child4; typedef A5 proto_child5; typedef A6 proto_child6; typedef A7 proto_child7; typedef A8 proto_child8; typedef A9 proto_child9; typedef A10 proto_child10; typedef A11 proto_child11; typedef A12 proto_child12; typedef A13 proto_child13; typedef A14 proto_child14; typedef A15 proto_child15; typedef A16 proto_child16; typedef A17 proto_child17; typedef A18 proto_child18; typedef A19 proto_child19; typedef A20 proto_child20; typedef A21 proto_child21; typedef A22 proto_child22; typedef A23 proto_child23; typedef A24 proto_child24; typedef A25 proto_child25; typedef A26 proto_child26; typedef A27 proto_child27; typedef A28 proto_child28; typedef A29 proto_child29; typedef A30 proto_child30; typedef A31 proto_child31; typedef A32 proto_child32; typedef A33 proto_child33; typedef A34 proto_child34; typedef A35 proto_child35; typedef A36 proto_child36; typedef A37 proto_child37; typedef A38 proto_child38; typedef A39 proto_child39; typedef A40 proto_child40; typedef A41 proto_child41; typedef A42 proto_child42; typedef A43 proto_child43; typedef A44 proto_child44; typedef A45 proto_child45; typedef A46 proto_child46; typedef A47 proto_child47; typedef A48 proto_child48; typedef A49 proto_child49;
- };
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval.hpp
deleted file mode 100644
index a7b1288bf3..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 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)
-==============================================================================*/
-
-#if !defined(BOOST_PHOENIX_PREPROCESSED_CORE_DETAIL_FUNCTION_EVAL_HPP)
-#define BOOST_PHOENIX_PREPROCESSED_CORE_DETAIL_FUNCTION_EVAL_HPP
-
-#if BOOST_PHOENIX_LIMIT <= 10
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 20
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval_20.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 30
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval_30.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 40
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval_40.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 50
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval_50.hpp>
-#else
-#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_10.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_10.hpp
deleted file mode 100644
index ef6529c2e9..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_10.hpp
+++ /dev/null
@@ -1,457 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0
- , typename Context
- >
- struct result<This(F, A0, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0;
- typedef typename
- boost::result_of<fn(a0)>::type
- type;
-
- };
- template <typename F, typename A0, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)));
- }
- template <typename F, typename A0, typename Context>
- typename result<
- function_eval(
- F &
- , A0 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1
- , typename Context
- >
- struct result<This(F, A0 , A1, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1;
- typedef typename
- boost::result_of<fn(a0 , a1)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)));
- }
- template <typename F, typename A0 , typename A1, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)));
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_20.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_20.hpp
deleted file mode 100644
index 2282a1d151..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_20.hpp
+++ /dev/null
@@ -1,957 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0
- , typename Context
- >
- struct result<This(F, A0, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0;
- typedef typename
- boost::result_of<fn(a0)>::type
- type;
-
- };
- template <typename F, typename A0, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)));
- }
- template <typename F, typename A0, typename Context>
- typename result<
- function_eval(
- F &
- , A0 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1
- , typename Context
- >
- struct result<This(F, A0 , A1, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1;
- typedef typename
- boost::result_of<fn(a0 , a1)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)));
- }
- template <typename F, typename A0 , typename A1, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)));
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_30.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_30.hpp
deleted file mode 100644
index e1355c1dff..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_30.hpp
+++ /dev/null
@@ -1,1457 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0
- , typename Context
- >
- struct result<This(F, A0, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0;
- typedef typename
- boost::result_of<fn(a0)>::type
- type;
-
- };
- template <typename F, typename A0, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)));
- }
- template <typename F, typename A0, typename Context>
- typename result<
- function_eval(
- F &
- , A0 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1
- , typename Context
- >
- struct result<This(F, A0 , A1, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1;
- typedef typename
- boost::result_of<fn(a0 , a1)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)));
- }
- template <typename F, typename A0 , typename A1, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)));
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_40.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_40.hpp
deleted file mode 100644
index adf89d47dd..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_40.hpp
+++ /dev/null
@@ -1,1957 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0
- , typename Context
- >
- struct result<This(F, A0, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0;
- typedef typename
- boost::result_of<fn(a0)>::type
- type;
-
- };
- template <typename F, typename A0, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)));
- }
- template <typename F, typename A0, typename Context>
- typename result<
- function_eval(
- F &
- , A0 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1
- , typename Context
- >
- struct result<This(F, A0 , A1, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1;
- typedef typename
- boost::result_of<fn(a0 , a1)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)));
- }
- template <typename F, typename A0 , typename A1, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)));
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_50.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_50.hpp
deleted file mode 100644
index c6b37bdbd1..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_50.hpp
+++ /dev/null
@@ -1,2457 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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)
-==============================================================================*/
-
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0
- , typename Context
- >
- struct result<This(F, A0, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0;
- typedef typename
- boost::result_of<fn(a0)>::type
- type;
-
- };
- template <typename F, typename A0, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)));
- }
- template <typename F, typename A0, typename Context>
- typename result<
- function_eval(
- F &
- , A0 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1
- , typename Context
- >
- struct result<This(F, A0 , A1, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1;
- typedef typename
- boost::result_of<fn(a0 , a1)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)));
- }
- template <typename F, typename A0 , typename A1, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type >::type >::type a44;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a44, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a44, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type >::type >::type a44; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type >::type >::type a45;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a44, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a45, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a44, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a45, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type >::type >::type a44; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type >::type >::type a45; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A46 , Context ) >::type >::type >::type a46;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a44, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a45, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a46, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a44, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a45, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a46, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type >::type >::type a44; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type >::type >::type a45; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A46 , Context ) >::type >::type >::type a46; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A47 , Context ) >::type >::type >::type a47;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46 , A47 & a47, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a44, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a45, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a46, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a47, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46 , A47 & a47, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a44, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a45, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a46, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a47, ctx)));
- }
-
-
-
-
-
-
-
- template <
- typename This
- , typename F
- , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48
- , typename Context
- >
- struct result<This(F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
- typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type >::type >::type a44; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type >::type >::type a45; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A46 , Context ) >::type >::type >::type a46; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A47 , Context ) >::type >::type >::type a47; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A48 , Context ) >::type >::type >::type a48;
- typedef typename
- boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48)>::type
- type;
-
- };
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48, typename Context>
- typename result<
- function_eval(
- F const &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 &
- , Context const &
- )
- >::type
- operator()(F const & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46 , A47 & a47 , A48 & a48, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a44, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a45, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a46, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a47, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a48, ctx)));
- }
- template <typename F, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48, typename Context>
- typename result<
- function_eval(
- F &
- , A0 & , A1 & , A2 & , A3 & , A4 & , A5 & , A6 & , A7 & , A8 & , A9 & , A10 & , A11 & , A12 & , A13 & , A14 & , A15 & , A16 & , A17 & , A18 & , A19 & , A20 & , A21 & , A22 & , A23 & , A24 & , A25 & , A26 & , A27 & , A28 & , A29 & , A30 & , A31 & , A32 & , A33 & , A34 & , A35 & , A36 & , A37 & , A38 & , A39 & , A40 & , A41 & , A42 & , A43 & , A44 & , A45 & , A46 & , A47 & , A48 &
- , Context const &
- )
- >::type
- operator()(F & f, A0 & a0 , A1 & a1 , A2 & a2 , A3 & a3 , A4 & a4 , A5 & a5 , A6 & a6 , A7 & a7 , A8 & a8 , A9 & a9 , A10 & a10 , A11 & a11 , A12 & a12 , A13 & a13 , A14 & a14 , A15 & a15 , A16 & a16 , A17 & a17 , A18 & a18 , A19 & a19 , A20 & a20 , A21 & a21 , A22 & a22 , A23 & a23 , A24 & a24 , A25 & a25 , A26 & a26 , A27 & a27 , A28 & a28 , A29 & a29 , A30 & a30 , A31 & a31 , A32 & a32 , A33 & a33 , A34 & a34 , A35 & a35 , A36 & a36 , A37 & a37 , A38 & a38 , A39 & a39 , A40 & a40 , A41 & a41 , A42 & a42 , A43 & a43 , A44 & a44 , A45 & a45 , A46 & a46 , A47 & a47 , A48 & a48, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a0, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a1, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a2, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a3, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a4, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a5, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a6, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a7, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a8, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a9, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a10, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a11, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a12, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a13, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a14, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a15, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a16, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a17, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a18, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a19, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a20, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a21, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a22, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a23, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a24, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a25, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a26, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a27, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a28, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a29, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a30, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a31, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a32, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a33, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a34, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a35, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a36, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a37, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a38, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a39, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a40, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a41, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a42, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a43, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a44, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a45, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a46, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a47, ctx)) , help_rvalue_deduction(boost::phoenix::eval(a48, ctx)));
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr.hpp
deleted file mode 100644
index 3b7aac338e..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*=============================================================================
- Copyright (c) 2016 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_PHOENIX_PREPROCESSED_CORE_DETAIL_FUNCTION_EVAL_EXPR_HPP
-#define BOOST_PHOENIX_PREPROCESSED_CORE_DETAIL_FUNCTION_EVAL_EXPR_HPP
-
-#if BOOST_PHOENIX_LIMIT <= 10
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 20
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_20.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 30
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_30.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 40
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_40.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 50
-#include <boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_50.hpp>
-#else
-#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_10.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_10.hpp
deleted file mode 100644
index 90a5654876..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_10.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2016 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)
-==============================================================================*/
-namespace boost { namespace phoenix { namespace detail { namespace tag { struct function_eval {}; template <typename Ostream> inline Ostream &operator<<( Ostream & os , function_eval) { os << "function_eval"; return os; } } namespace expression { template < typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename Dummy = void > struct function_eval; template < typename A0 , typename A1 > struct function_eval< A0 , A1 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 > {}; template < typename A0 , typename A1 , typename A2 > struct function_eval< A0 , A1 , A2 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 > struct function_eval< A0 , A1 , A2 , A3 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 > struct function_eval< A0 , A1 , A2 , A3 , A4 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 > {}; } namespace rule { struct function_eval : expression:: function_eval < meta_grammar , boost::proto::vararg< meta_grammar > > {}; } namespace functional { typedef boost::proto::functional::make_expr< tag:: function_eval > make_function_eval; } namespace result_of { template <typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void, typename Dummy = void> struct make_function_eval; template <typename A0> struct make_function_eval <A0> : boost::result_of< functional:: make_function_eval( A0 ) > {}; template <typename A0 , typename A1> struct make_function_eval <A0 , A1> : boost::result_of< functional:: make_function_eval( A0 , A1 ) > {}; template <typename A0 , typename A1 , typename A2> struct make_function_eval <A0 , A1 , A2> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3> struct make_function_eval <A0 , A1 , A2 , A3> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4> struct make_function_eval <A0 , A1 , A2 , A3 , A4> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 ) > {}; } template <typename A0> inline typename result_of:: make_function_eval< A0 >::type make_function_eval(A0 const& a0) { return functional::make_function_eval()(a0); } template <typename A0 , typename A1> inline typename result_of:: make_function_eval< A0 , A1 >::type make_function_eval(A0 const& a0 , A1 const& a1) { return functional::make_function_eval()(a0 , a1); } template <typename A0 , typename A1 , typename A2> inline typename result_of:: make_function_eval< A0 , A1 , A2 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2) { return functional::make_function_eval()(a0 , a1 , a2); } template <typename A0 , typename A1 , typename A2 , typename A3> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) { return functional::make_function_eval()(a0 , a1 , a2 , a3); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7); } } } } namespace boost { namespace phoenix { template <typename Dummy> struct meta_grammar::case_< :: boost :: phoenix :: detail :: tag:: function_eval , Dummy > : enable_rule< :: boost :: phoenix :: detail :: rule:: function_eval , Dummy > {}; } }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_20.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_20.hpp
deleted file mode 100644
index a6b2f234b1..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_20.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2016 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)
-==============================================================================*/
-namespace boost { namespace phoenix { namespace detail { namespace tag { struct function_eval {}; template <typename Ostream> inline Ostream &operator<<( Ostream & os , function_eval) { os << "function_eval"; return os; } } namespace expression { template < typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename Dummy = void > struct function_eval; template < typename A0 , typename A1 > struct function_eval< A0 , A1 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 > {}; template < typename A0 , typename A1 , typename A2 > struct function_eval< A0 , A1 , A2 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 > struct function_eval< A0 , A1 , A2 , A3 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 > struct function_eval< A0 , A1 , A2 , A3 , A4 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 > {}; } namespace rule { struct function_eval : expression:: function_eval < meta_grammar , boost::proto::vararg< meta_grammar > > {}; } namespace functional { typedef boost::proto::functional::make_expr< tag:: function_eval > make_function_eval; } namespace result_of { template <typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void, typename Dummy = void> struct make_function_eval; template <typename A0> struct make_function_eval <A0> : boost::result_of< functional:: make_function_eval( A0 ) > {}; template <typename A0 , typename A1> struct make_function_eval <A0 , A1> : boost::result_of< functional:: make_function_eval( A0 , A1 ) > {}; template <typename A0 , typename A1 , typename A2> struct make_function_eval <A0 , A1 , A2> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3> struct make_function_eval <A0 , A1 , A2 , A3> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4> struct make_function_eval <A0 , A1 , A2 , A3 , A4> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 ) > {}; } template <typename A0> inline typename result_of:: make_function_eval< A0 >::type make_function_eval(A0 const& a0) { return functional::make_function_eval()(a0); } template <typename A0 , typename A1> inline typename result_of:: make_function_eval< A0 , A1 >::type make_function_eval(A0 const& a0 , A1 const& a1) { return functional::make_function_eval()(a0 , a1); } template <typename A0 , typename A1 , typename A2> inline typename result_of:: make_function_eval< A0 , A1 , A2 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2) { return functional::make_function_eval()(a0 , a1 , a2); } template <typename A0 , typename A1 , typename A2 , typename A3> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) { return functional::make_function_eval()(a0 , a1 , a2 , a3); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17); } } } } namespace boost { namespace phoenix { template <typename Dummy> struct meta_grammar::case_< :: boost :: phoenix :: detail :: tag:: function_eval , Dummy > : enable_rule< :: boost :: phoenix :: detail :: rule:: function_eval , Dummy > {}; } }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_30.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_30.hpp
deleted file mode 100644
index d106ca71de..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_30.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2016 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)
-==============================================================================*/
-namespace boost { namespace phoenix { namespace detail { namespace tag { struct function_eval {}; template <typename Ostream> inline Ostream &operator<<( Ostream & os , function_eval) { os << "function_eval"; return os; } } namespace expression { template < typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename Dummy = void > struct function_eval; template < typename A0 , typename A1 > struct function_eval< A0 , A1 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 > {}; template < typename A0 , typename A1 , typename A2 > struct function_eval< A0 , A1 , A2 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 > struct function_eval< A0 , A1 , A2 , A3 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 > struct function_eval< A0 , A1 , A2 , A3 , A4 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 > {}; } namespace rule { struct function_eval : expression:: function_eval < meta_grammar , boost::proto::vararg< meta_grammar > > {}; } namespace functional { typedef boost::proto::functional::make_expr< tag:: function_eval > make_function_eval; } namespace result_of { template <typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void, typename Dummy = void> struct make_function_eval; template <typename A0> struct make_function_eval <A0> : boost::result_of< functional:: make_function_eval( A0 ) > {}; template <typename A0 , typename A1> struct make_function_eval <A0 , A1> : boost::result_of< functional:: make_function_eval( A0 , A1 ) > {}; template <typename A0 , typename A1 , typename A2> struct make_function_eval <A0 , A1 , A2> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3> struct make_function_eval <A0 , A1 , A2 , A3> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4> struct make_function_eval <A0 , A1 , A2 , A3 , A4> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 ) > {}; } template <typename A0> inline typename result_of:: make_function_eval< A0 >::type make_function_eval(A0 const& a0) { return functional::make_function_eval()(a0); } template <typename A0 , typename A1> inline typename result_of:: make_function_eval< A0 , A1 >::type make_function_eval(A0 const& a0 , A1 const& a1) { return functional::make_function_eval()(a0 , a1); } template <typename A0 , typename A1 , typename A2> inline typename result_of:: make_function_eval< A0 , A1 , A2 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2) { return functional::make_function_eval()(a0 , a1 , a2); } template <typename A0 , typename A1 , typename A2 , typename A3> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) { return functional::make_function_eval()(a0 , a1 , a2 , a3); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27); } } } } namespace boost { namespace phoenix { template <typename Dummy> struct meta_grammar::case_< :: boost :: phoenix :: detail :: tag:: function_eval , Dummy > : enable_rule< :: boost :: phoenix :: detail :: rule:: function_eval , Dummy > {}; } }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_40.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_40.hpp
deleted file mode 100644
index e3c9178811..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_40.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2016 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)
-==============================================================================*/
-namespace boost { namespace phoenix { namespace detail { namespace tag { struct function_eval {}; template <typename Ostream> inline Ostream &operator<<( Ostream & os , function_eval) { os << "function_eval"; return os; } } namespace expression { template < typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void , typename A39 = void , typename Dummy = void > struct function_eval; template < typename A0 , typename A1 > struct function_eval< A0 , A1 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 > {}; template < typename A0 , typename A1 , typename A2 > struct function_eval< A0 , A1 , A2 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 > struct function_eval< A0 , A1 , A2 , A3 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 > struct function_eval< A0 , A1 , A2 , A3 , A4 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 > {}; } namespace rule { struct function_eval : expression:: function_eval < meta_grammar , boost::proto::vararg< meta_grammar > > {}; } namespace functional { typedef boost::proto::functional::make_expr< tag:: function_eval > make_function_eval; } namespace result_of { template <typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void, typename Dummy = void> struct make_function_eval; template <typename A0> struct make_function_eval <A0> : boost::result_of< functional:: make_function_eval( A0 ) > {}; template <typename A0 , typename A1> struct make_function_eval <A0 , A1> : boost::result_of< functional:: make_function_eval( A0 , A1 ) > {}; template <typename A0 , typename A1 , typename A2> struct make_function_eval <A0 , A1 , A2> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3> struct make_function_eval <A0 , A1 , A2 , A3> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4> struct make_function_eval <A0 , A1 , A2 , A3 , A4> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 ) > {}; } template <typename A0> inline typename result_of:: make_function_eval< A0 >::type make_function_eval(A0 const& a0) { return functional::make_function_eval()(a0); } template <typename A0 , typename A1> inline typename result_of:: make_function_eval< A0 , A1 >::type make_function_eval(A0 const& a0 , A1 const& a1) { return functional::make_function_eval()(a0 , a1); } template <typename A0 , typename A1 , typename A2> inline typename result_of:: make_function_eval< A0 , A1 , A2 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2) { return functional::make_function_eval()(a0 , a1 , a2); } template <typename A0 , typename A1 , typename A2 , typename A3> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) { return functional::make_function_eval()(a0 , a1 , a2 , a3); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37); } } } } namespace boost { namespace phoenix { template <typename Dummy> struct meta_grammar::case_< :: boost :: phoenix :: detail :: tag:: function_eval , Dummy > : enable_rule< :: boost :: phoenix :: detail :: rule:: function_eval , Dummy > {}; } }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_50.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_50.hpp
deleted file mode 100644
index c4d7b68a4b..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/cpp03/preprocessed/function_eval_expr_50.hpp
+++ /dev/null
@@ -1,8 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2016 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)
-==============================================================================*/
-namespace boost { namespace phoenix { namespace detail { namespace tag { struct function_eval {}; template <typename Ostream> inline Ostream &operator<<( Ostream & os , function_eval) { os << "function_eval"; return os; } } namespace expression { template < typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void , typename A39 = void , typename A40 = void , typename A41 = void , typename A42 = void , typename A43 = void , typename A44 = void , typename A45 = void , typename A46 = void , typename A47 = void , typename A48 = void , typename A49 = void , typename Dummy = void > struct function_eval; template < typename A0 , typename A1 > struct function_eval< A0 , A1 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 > {}; template < typename A0 , typename A1 , typename A2 > struct function_eval< A0 , A1 , A2 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 > struct function_eval< A0 , A1 , A2 , A3 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 > struct function_eval< A0 , A1 , A2 , A3 , A4 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 > {}; template < typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49 > struct function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49 > : boost::phoenix::expr< tag:: function_eval , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49 > {}; } namespace rule { struct function_eval : expression:: function_eval < meta_grammar , boost::proto::vararg< meta_grammar > > {}; } namespace functional { typedef boost::proto::functional::make_expr< tag:: function_eval > make_function_eval; } namespace result_of { template <typename A0 = void , typename A1 = void , typename A2 = void , typename A3 = void , typename A4 = void , typename A5 = void , typename A6 = void , typename A7 = void , typename A8 = void , typename A9 = void , typename A10 = void , typename A11 = void , typename A12 = void , typename A13 = void , typename A14 = void , typename A15 = void , typename A16 = void , typename A17 = void , typename A18 = void , typename A19 = void , typename A20 = void , typename A21 = void , typename A22 = void , typename A23 = void , typename A24 = void , typename A25 = void , typename A26 = void , typename A27 = void , typename A28 = void , typename A29 = void , typename A30 = void , typename A31 = void , typename A32 = void , typename A33 = void , typename A34 = void , typename A35 = void , typename A36 = void , typename A37 = void , typename A38 = void , typename A39 = void , typename A40 = void , typename A41 = void , typename A42 = void , typename A43 = void , typename A44 = void , typename A45 = void , typename A46 = void , typename A47 = void , typename A48 = void, typename Dummy = void> struct make_function_eval; template <typename A0> struct make_function_eval <A0> : boost::result_of< functional:: make_function_eval( A0 ) > {}; template <typename A0 , typename A1> struct make_function_eval <A0 , A1> : boost::result_of< functional:: make_function_eval( A0 , A1 ) > {}; template <typename A0 , typename A1 , typename A2> struct make_function_eval <A0 , A1 , A2> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3> struct make_function_eval <A0 , A1 , A2 , A3> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4> struct make_function_eval <A0 , A1 , A2 , A3 , A4> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 ) > {}; template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47> struct make_function_eval <A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47> : boost::result_of< functional:: make_function_eval( A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 ) > {}; } template <typename A0> inline typename result_of:: make_function_eval< A0 >::type make_function_eval(A0 const& a0) { return functional::make_function_eval()(a0); } template <typename A0 , typename A1> inline typename result_of:: make_function_eval< A0 , A1 >::type make_function_eval(A0 const& a0 , A1 const& a1) { return functional::make_function_eval()(a0 , a1); } template <typename A0 , typename A1 , typename A2> inline typename result_of:: make_function_eval< A0 , A1 , A2 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2) { return functional::make_function_eval()(a0 , a1 , a2); } template <typename A0 , typename A1 , typename A2 , typename A3> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) { return functional::make_function_eval()(a0 , a1 , a2 , a3); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46); } template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47> inline typename result_of:: make_function_eval< A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 >::type make_function_eval(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47) { return functional::make_function_eval()(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47); } } } } namespace boost { namespace phoenix { template <typename Dummy> struct meta_grammar::case_< :: boost :: phoenix :: detail :: tag:: function_eval , Dummy > : enable_rule< :: boost :: phoenix :: detail :: rule:: function_eval , Dummy > {}; } }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/expression.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/expression.hpp
deleted file mode 100644
index 3134edae94..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/expression.hpp
+++ /dev/null
@@ -1,461 +0,0 @@
-/*=============================================================================
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_DETAIL_EXPRESSION_HPP
-#define BOOST_PHOENIX_CORE_DETAIL_EXPRESSION_HPP
-
-#include <boost/preprocessor/empty.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/comma_if.hpp>
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/preprocessor/seq/for_each.hpp>
-#include <boost/preprocessor/seq/pop_back.hpp>
-#include <boost/preprocessor/seq/reverse.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/preprocessor/enum_params.hpp>
-#include <boost/preprocessor/repeat_from_to.hpp>
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION(NAME_SEQ, SEQ) \
- BOOST_PHOENIX_DEFINE_EXPRESSION_BASE( \
- NAME_SEQ \
- , SEQ \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_EXPRESSION_DEFAULT \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_RULE_DEFAULT \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_RESULT_OF_MAKE_DEFAULT \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_MAKE_EXPRESSION_DEFAULT \
- , _ \
- ) \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG(NAME_SEQ, GRAMMAR_SEQ, LIMIT) \
- BOOST_PHOENIX_DEFINE_EXPRESSION_BASE( \
- NAME_SEQ \
- , GRAMMAR_SEQ \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_EXPRESSION_VARARG \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_RULE_VARARG \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_RESULT_OF_MAKE_VARARG \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_MAKE_EXPRESSION_VARARG \
- , LIMIT \
- ) \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_EXT(ACTOR, NAME_SEQ, GRAMMAR_SEQ) \
- BOOST_PHOENIX_DEFINE_EXPRESSION_BASE( \
- NAME_SEQ \
- , GRAMMAR_SEQ \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_EXPRESSION_EXT \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_RULE_DEFAULT \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_RESULT_OF_MAKE_DEFAULT \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_MAKE_EXPRESSION_DEFAULT \
- , ACTOR \
- ) \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG(ACTOR, NAME, GRAMMAR, LIMIT) \
- BOOST_PHOENIX_DEFINE_EXPRESSION_BASE( \
- NAME_SEQ \
- , GRAMMAR_SEQ \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_EXPRESSION_VARARG_EXT \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_RULE_VARARG \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_RESULT_OF_MAKE_VARARG \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_MAKE_EXPRESSION_VARARG \
- , ACTOR \
- ) \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_NAMESPACE(R, D, E) \
-namespace E { \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_NAMESPACE_END(R, D, E) \
-} \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_NS(R, D, E) \
-E :: \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_BASE(NAME_SEQ, GRAMMAR_SEQ, EXPRESSION, RULE, RESULT_OF_MAKE, MAKE_EXPRESSION, DATA) \
-BOOST_PP_SEQ_FOR_EACH( \
- BOOST_PHOENIX_DEFINE_EXPRESSION_NAMESPACE \
- , _ \
- , BOOST_PP_SEQ_POP_BACK(NAME_SEQ) \
-) \
- namespace tag \
- { \
- struct BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) {}; \
- template <typename Ostream> \
- inline Ostream &operator<<( \
- Ostream & os \
- , BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ))) \
- { \
- os << BOOST_PP_STRINGIZE( \
- BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- ); \
- return os; \
- } \
- } \
- namespace expression \
- { \
- EXPRESSION(NAME_SEQ, GRAMMAR_SEQ, DATA) \
- } \
- namespace rule \
- { \
- RULE(NAME_SEQ, GRAMMAR_SEQ, DATA) \
- } \
- namespace functional \
- { \
- typedef \
- boost::proto::functional::make_expr< \
- tag:: BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- > \
- BOOST_PP_CAT( \
- make_ \
- , BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- ); \
- } \
- namespace result_of \
- { \
- RESULT_OF_MAKE(NAME_SEQ, GRAMMAR_SEQ, DATA) \
- } \
- MAKE_EXPRESSION(NAME_SEQ, GRAMMAR_SEQ, DATA) \
- \
-BOOST_PP_SEQ_FOR_EACH( \
- BOOST_PHOENIX_DEFINE_EXPRESSION_NAMESPACE_END \
- , _ \
- , BOOST_PP_SEQ_POP_BACK(NAME_SEQ) \
-) \
-namespace boost { namespace phoenix \
-{ \
- template <typename Dummy> \
- struct meta_grammar::case_< \
- :: BOOST_PP_SEQ_FOR_EACH( \
- BOOST_PHOENIX_DEFINE_EXPRESSION_NS \
- , _ \
- , BOOST_PP_SEQ_POP_BACK(NAME_SEQ) \
- ) tag:: BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- , Dummy \
- > \
- : enable_rule< \
- :: BOOST_PP_SEQ_FOR_EACH( \
- BOOST_PHOENIX_DEFINE_EXPRESSION_NS \
- , _ \
- , BOOST_PP_SEQ_POP_BACK(NAME_SEQ) \
- ) rule:: BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- , Dummy \
- > \
- {}; \
-} } \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_EXPRESSION_DEFAULT(NAME_SEQ, GRAMMAR_SEQ, D) \
- template <BOOST_PHOENIX_typename_A(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ))> \
- struct BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- : boost::phoenix::expr< \
- :: BOOST_PP_SEQ_FOR_EACH( \
- BOOST_PHOENIX_DEFINE_EXPRESSION_NS \
- , _ \
- , BOOST_PP_SEQ_POP_BACK(NAME_SEQ) \
- ) tag:: BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- , BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ), A)> \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_RULE_DEFAULT(NAME_SEQ, GRAMMAR_SEQ, D) \
- struct BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- : expression:: BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- <BOOST_PP_SEQ_ENUM(GRAMMAR_SEQ)> \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_RESULT_OF_MAKE_DEFAULT(NAME_SEQ, GRAMMAR_SEQ, D) \
- template <BOOST_PHOENIX_typename_A(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ))> \
- struct BOOST_PP_CAT(make_, BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ))) \
- : boost::result_of< \
- functional:: \
- BOOST_PP_CAT( \
- make_ \
- , BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- )(BOOST_PHOENIX_A(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ))) \
- > \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_MAKE_EXPRESSION_DEFAULT(NAME_SEQ, GRAMMAR_SEQ, D) \
- template <BOOST_PHOENIX_typename_A(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ))> \
- inline \
- typename \
- result_of::BOOST_PP_CAT( \
- make_ \
- , BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- )< \
- BOOST_PHOENIX_A(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ)) \
- >::type const \
- BOOST_PP_CAT( \
- make_ \
- , BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- )( \
- BOOST_PHOENIX_A_const_ref_a(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ)) \
- ) \
- { \
- return \
- functional::BOOST_PP_CAT( \
- make_ \
- , BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- )()( \
- BOOST_PHOENIX_a(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ)) \
- ); \
- } \
-/**/
-
-#ifndef BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_EXPRESSION_VARARG(NAME_SEQ, _G, _L) \
- template <typename A0, typename... A> \
- struct BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- : boost::phoenix::expr< \
- tag:: BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- , A0, A... \
- > \
- {}; \
-/**/
-
-#else // BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG_R(_, N, NAME) \
- template < \
- BOOST_PHOENIX_typename_A( \
- BOOST_PP_ADD( \
- N \
- , BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(2, 1, NAME)) \
- ) \
- ) \
- > \
- struct BOOST_PP_TUPLE_ELEM(2, 0, NAME)< \
- BOOST_PHOENIX_A( \
- BOOST_PP_ADD(N, BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(2, 1, NAME))) \
- ) \
- > \
- : boost::phoenix::expr< \
- tag:: BOOST_PP_TUPLE_ELEM(2, 0, NAME) \
- , BOOST_PHOENIX_A( \
- BOOST_PP_ADD( \
- N \
- , BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(2, 1, NAME)) \
- ) \
- ) \
- > \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_EXPRESSION_VARARG(NAME_SEQ, GRAMMAR_SEQ, LIMIT) \
- template < \
- BOOST_PHOENIX_typename_A_void( \
- BOOST_PP_ADD( \
- LIMIT, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ))) \
- ) \
- , typename Dummy = void \
- > \
- struct BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)); \
- \
- BOOST_PP_REPEAT_FROM_TO( \
- 1 \
- , BOOST_PP_ADD(LIMIT, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ))) \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG_R \
- , ( \
- BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- , BOOST_PP_SEQ_POP_BACK(GRAMMAR_SEQ) \
- ) \
- ) \
-/**/
-#endif // BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_RULE_VARARG(NAME_SEQ, GRAMMAR_SEQ, LIMIT) \
- struct BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- : expression:: BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) < \
- BOOST_PP_IF( \
- BOOST_PP_EQUAL(1, BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ)) \
- , BOOST_PP_EMPTY \
- , BOOST_PP_IDENTITY( \
- BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_POP_BACK(GRAMMAR_SEQ)) \
- ) \
- )() \
- BOOST_PP_COMMA_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ))) \
- boost::proto::vararg< \
- BOOST_PP_SEQ_ELEM( \
- BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ)) \
- , GRAMMAR_SEQ \
- ) \
- > \
- > \
- {}; \
-/**/
-
-#ifndef BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_RESULT_OF_MAKE_VARARG(NAME_SEQ, _G, _L) \
- template <typename A0, typename... A> \
- struct BOOST_PP_CAT(make_, BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ))) \
- : boost::result_of< \
- functional:: BOOST_PP_CAT(make_, BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)))( \
- A0, A... \
- ) \
- > \
- {}; \
-/**/
-
-#else // BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_RESULT_OF_MAKE_VARARG_R(Z, N, NAME) \
- template <BOOST_PHOENIX_typename_A(N)> \
- struct BOOST_PP_CAT(make_, NAME) <BOOST_PHOENIX_A(N)> \
- : boost::result_of< \
- functional:: BOOST_PP_CAT(make_, NAME)( \
- BOOST_PHOENIX_A(N) \
- ) \
- > \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_RESULT_OF_MAKE_VARARG(NAME_SEQ, GRAMMAR_SEQ, LIMIT) \
- template <BOOST_PHOENIX_typename_A_void(LIMIT), typename Dummy = void> \
- struct BOOST_PP_CAT( \
- make_ \
- , BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- ); \
- BOOST_PP_REPEAT_FROM_TO( \
- 1 \
- , LIMIT \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_RESULT_OF_MAKE_VARARG_R \
- , BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- ) \
-/**/
-#endif // BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-
-#ifndef BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_MAKE_EXPRESSION_VARARG(NAME_SEQ, GRAMMAR_SEQ, LIMIT) \
- template <typename A0, typename... A> \
- inline \
- typename \
- result_of:: BOOST_PP_CAT(make_, BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)))< \
- A0, A... \
- >::type \
- BOOST_PP_CAT(make_, BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)))(A0 const& a0, A const&... a) \
- { \
- return functional::BOOST_PP_CAT(make_, BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)))()(a0, a...); \
- } \
-/**/
-
-#else // BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_MAKE_EXPRESSION_VARARG_R(Z, N, NAME) \
- template <BOOST_PHOENIX_typename_A(N)> \
- inline \
- typename \
- result_of:: BOOST_PP_CAT(make_, NAME)< \
- BOOST_PHOENIX_A(N) \
- >::type \
- BOOST_PP_CAT(make_, NAME)(BOOST_PHOENIX_A_const_ref_a(N)) \
- { \
- return functional::BOOST_PP_CAT(make_, NAME)()(BOOST_PHOENIX_a(N)); \
- } \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_MAKE_EXPRESSION_VARARG(NAME_SEQ, GRAMMAR_SEQ, LIMIT) \
- BOOST_PP_REPEAT_FROM_TO( \
- 1 \
- , LIMIT \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_MAKE_EXPRESSION_VARARG_R \
- , BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- ) \
-/**/
-#endif // BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_EXPRESSION_EXT(NAME_SEQ, GRAMMAR_SEQ, ACTOR) \
- template <BOOST_PHOENIX_typename_A(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ))> \
- struct BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- : ::boost::phoenix::expr_ext< \
- ACTOR \
- , tag:: BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(NAME_SEQ)) \
- , BOOST_PHOENIX_A(BOOST_PP_SEQ_SIZE(GRAMMAR_SEQ))> \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG_R(_, N, NAME) \
- template < \
- BOOST_PHOENIX_typename_A( \
- BOOST_PP_ADD( \
- N \
- , BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(3, 1, NAME)) \
- ) \
- ) \
- > \
- struct BOOST_PP_TUPLE_ELEM(3, 0, NAME)< \
- BOOST_PHOENIX_A( \
- BOOST_PP_ADD(N, BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(3, 1, NAME))) \
- ) \
- > \
- : expr_ext< \
- BOOST_PP_TUPLE_ELEM(3, 2, NAME) \
- , tag:: BOOST_PP_TUPLE_ELEM(3, 0, NAME) \
- , BOOST_PHOENIX_A( \
- BOOST_PP_ADD( \
- N \
- , BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(3, 1, NAME)) \
- ) \
- ) \
- > \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_EXRPESSION_VARARG_EXT(N, G, D) \
- template < \
- BOOST_PHOENIX_typename_A_void( \
- BOOST_PP_ADD(LIMIT, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(G))) \
- ) \
- , typename Dummy = void \
- > \
- struct BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(N)); \
- \
- BOOST_PP_REPEAT_FROM_TO( \
- 1 \
- , BOOST_PP_ADD(LIMIT, BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(G))) \
- , BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG_R \
- , ( \
- BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(N)) \
- , BOOST_PP_SEQ_POP_BACK(G) \
- , ACTOR \
- ) \
- ) \
-/**/
-
-#define BOOST_PHOENIX_DEFINE_EXPRESSION_RULE_VARARG_EXT(N, GRAMMAR, D) \
- struct BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(N)) \
- : expression:: BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REVERSE(N)) < \
- BOOST_PP_IF( \
- BOOST_PP_EQUAL(1, BOOST_PP_SEQ_SIZE(GRAMMAR)) \
- , BOOST_PP_EMPTY \
- , BOOST_PP_IDENTITY( \
- BOOST_PP_SEQ_ENUM(BOOST_PP_SEQ_POP_BACK(GRAMMAR)) \
- ) \
- )() \
- BOOST_PP_COMMA_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(GRAMMAR))) \
- proto::vararg< \
- BOOST_PP_SEQ_ELEM( \
- BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(GRAMMAR)) \
- , GRAMMAR \
- ) \
- > \
- > \
- {}; \
-
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/function_eval.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/function_eval.hpp
deleted file mode 100644
index aa9bcccd65..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/function_eval.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_PHOENIX_CORE_DETAIL_FUNCTION_EVAL_HPP
-#define BOOST_PHOENIX_CORE_DETAIL_FUNCTION_EVAL_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/support/iterate.hpp>
-#include <boost/phoenix/core/call.hpp>
-#include <boost/phoenix/core/expression.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/utility/result_of.hpp>
-
-#ifndef BOOST_PHOENIX_NO_VARIADIC_FUNCTION_EVAL
-# include <boost/mpl/if.hpp>
-# include <boost/type_traits/is_reference.hpp>
-#endif
-
-#ifdef BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-# include <boost/phoenix/core/detail/cpp03/function_eval_expr.hpp>
-#else
-BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG(
- (boost)(phoenix)(detail)(function_eval)
- , (meta_grammar)(meta_grammar)
- , _
-)
-#endif
-
-namespace boost { namespace phoenix {
- namespace detail
- {
- template <typename T>
- T& help_rvalue_deduction(T& x)
- {
- return x;
- }
-
- template <typename T>
- T const& help_rvalue_deduction(T const& x)
- {
- return x;
- }
-
- struct function_eval
- {
- template <typename Sig>
- struct result;
-
-#ifdef BOOST_PHOENIX_NO_VARIADIC_FUNCTION_EVAL
- template <typename This, typename F, typename Context>
- struct result<This(F, Context)>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
-
- typedef typename boost::result_of<fn()>::type type;
- };
-
- template <typename F, typename Context>
- typename result<function_eval(F const&, Context const&)>::type
- operator()(F const & f, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)();
- }
-
- template <typename F, typename Context>
- typename result<function_eval(F &, Context const&)>::type
- operator()(F & f, Context const & ctx) const
- {
- return boost::phoenix::eval(f, ctx)();
- }
-
- #include <boost/phoenix/core/detail/cpp03/function_eval.hpp>
-#else
- template <typename, typename, typename...> struct result_impl;
-
- template <typename F, typename... A, typename Head, typename... Tail>
- struct result_impl<F, void(A...), Head, Tail...>
- : result_impl<F, void(A..., Head), Tail...>
- {
- };
-
- template <typename F, typename... A, typename Context>
- struct result_impl<F, void(A...), Context>
- {
- typedef typename
- remove_reference<
- typename boost::result_of<evaluator(F, Context)>::type
- >::type
- fn;
-
- template <typename T>
- struct result_of_evaluator
- {
- typedef typename boost::add_reference<
- typename boost::add_const<
- typename boost::result_of<
- boost::phoenix::evaluator(T, Context)
- >::type
- >::type
- >::type type;
- };
-
- typedef typename
- boost::result_of<
- fn(typename result_of_evaluator<A>::type...)
- >::type
- type;
-
- static type call(F f, A... a, Context ctx)
- {
- return boost::phoenix::eval(f, ctx)(help_rvalue_deduction(boost::phoenix::eval(a, ctx))...);
- }
- };
-
- template <typename This, typename F, typename... A>
- struct result<This(F, A...)>
- : result_impl<F, void(), A...>
- {
- };
-
- template <typename F, typename... A>
- typename result<
- function_eval(
- F const &
- , typename mpl::if_<is_reference<A>, A, A const &>::type...
- )
- >::type
- // 'A &... a, Context const &ctx' doesn't work as intended: type deduction always fail.
- operator()(F && f, A &&... a) const
- {
- return
- result<
- function_eval(
- typename mpl::if_<is_reference<F>, F, F const &>::type
- , typename mpl::if_<is_reference<A>, A, A const &>::type...
- )
- >::call(f, a...);
- }
-#endif
- };
-
- }
-
- template <typename Dummy>
- struct default_actions::when<detail::rule::function_eval, Dummy>
- : phoenix::call<detail::function_eval>
- {};
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/index_sequence.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/index_sequence.hpp
deleted file mode 100644
index 609a9387cb..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/detail/index_sequence.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*=============================================================================
- Copyright (c) 2016 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_phoenix_core_detail_index_sequence_hpp
-#define boost_phoenix_core_detail_index_sequence_hpp
-
-#include <boost/fusion/support/detail/index_sequence.hpp>
-
-namespace boost { namespace phoenix { namespace detail {
-using ::boost::fusion::detail::index_sequence;
-using ::boost::fusion::detail::make_index_sequence;
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/domain.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/domain.hpp
deleted file mode 100644
index 7cee440764..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/domain.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
-
- Distributed under the 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_PHOENIX_CORE_DOMAIN_HPP
-#define BOOST_PHOENIX_CORE_DOMAIN_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/proto/matches.hpp>
-#include <boost/proto/transform/call.hpp>
-#include <boost/proto/transform/when.hpp>
-#include <boost/proto/domain.hpp>
-
-namespace boost { namespace phoenix
-{
- template <typename Expr>
- struct actor;
-
- struct meta_grammar;
-
- struct phoenix_generator
- : proto::switch_<phoenix_generator>
- {
-
- BOOST_PROTO_USE_BASIC_EXPR()
-
- template<typename Tag>
- struct case_
- : proto::otherwise<proto::call<proto::pod_generator<actor>(proto::_)> >
- {};
- };
-
- // proto's assignment operator takes rhs by reference
- template<>
- struct phoenix_generator::case_<proto::tag::assign>
- : proto::otherwise<proto::call<proto::compose_generators<
- proto::by_value_generator
- , proto::pod_generator<actor>
- >(proto::_)> >
- {};
-
- // proto's subscript operator takes rhs by reference
- template<>
- struct phoenix_generator::case_<proto::tag::subscript>
- : proto::otherwise<proto::call<proto::compose_generators<
- proto::by_value_generator
- , proto::pod_generator<actor>
- >(proto::_)> >
- {};
-
- struct phoenix_default_domain
- : proto::domain<
- proto::basic_default_generator
- , proto::_
- , proto::basic_default_domain
- >
- {
- template <typename T>
- struct as_child
- //: proto_base_domain::as_expr<T> // proto lambda example.
- : as_expr<T>
- {};
- };
-
- struct phoenix_domain
- : proto::domain<
- phoenix_generator
- , meta_grammar
- , proto::basic_default_domain
- >
- {
- template <typename T>
- struct as_child
- //: proto_base_domain::as_expr<T> // proto lambda example.
- : as_expr<T>
- {};
- };
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/environment.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/environment.hpp
deleted file mode 100644
index 27ac284b2b..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/environment.hpp
+++ /dev/null
@@ -1,469 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010-2011 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_ENVIRONMENT_HPP
-#define BOOST_PHOENIX_CORE_ENVIRONMENT_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/phoenix/support/vector.hpp>
-#include <boost/proto/transform/impl.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/utility/result_of.hpp>
-
-#include <typeinfo>
-
-namespace boost { namespace phoenix
-{
- struct unused {};
-
- namespace result_of
- {
- template <typename Env, typename Actions>
- struct context
- {
- typedef vector2<Env, Actions> type;
- };
-
- template <typename Env, typename Actions>
- struct make_context
- : context<Env, Actions>
- {};
-
- template <typename Context>
- struct env
- {
- typedef
- typename fusion::result_of::at_c<
- typename boost::remove_reference<Context>::type
- , 0
- >::type
- type;
- };
-
- template <typename Context>
- struct actions
- {
- typedef
- typename fusion::result_of::at_c<
- typename boost::remove_reference<Context>::type
- , 1
- >::type
- type;
- };
- }
-
- namespace functional
- {
- struct context
- {
- BOOST_PROTO_CALLABLE()
-
- template <typename Sig>
- struct result;
-
- template <typename This, typename Env, typename Actions>
- struct result<This(Env, Actions)>
- : result<This(Env const &, Actions const &)>
- {};
-
- template <typename This, typename Env, typename Actions>
- struct result<This(Env &, Actions)>
- : result<This(Env &, Actions const &)>
- {};
-
- template <typename This, typename Env, typename Actions>
- struct result<This(Env, Actions &)>
- : result<This(Env const &, Actions &)>
- {};
-
- template <typename This, typename Env, typename Actions>
- struct result<This(Env &, Actions &)>
- : result_of::context<Env &, Actions &>
- {};
-
- template <typename Env, typename Actions>
- typename result_of::context<Env &, Actions &>::type
- operator()(Env & env, Actions & actions) const
- {
- vector2<Env &, Actions &> e = {env, actions};
- return e;
- }
-
- template <typename Env, typename Actions>
- typename result_of::context<Env const &, Actions &>::type
- operator()(Env const & env, Actions & actions) const
- {
- vector2<Env const &, Actions &> e = {env, actions};
- return e;
- }
-
- template <typename Env, typename Actions>
- typename result_of::context<Env &, Actions const &>::type
- operator()(Env & env, Actions const & actions) const
- {
- vector2<Env &, Actions const &> e = {env, actions};
- return e;
- }
-
- template <typename Env, typename Actions>
- typename result_of::context<Env const &, Actions const &>::type
- operator()(Env const & env, Actions const & actions) const
- {
- vector2<Env const&, Actions const &> e = {env, actions};
- return e;
- }
- };
-
- struct make_context
- : context
- {};
-
- struct env
- {
- BOOST_PROTO_CALLABLE()
-
- template <typename Sig>
- struct result;
-
- template <typename This, typename Context>
- struct result<This(Context)>
- : result<This(Context const &)>
- {};
-
- template <typename This, typename Context>
- struct result<This(Context &)>
- : result_of::env<Context>
- {};
-
- template <typename Context>
- typename result_of::env<Context const>::type
- operator()(Context const & ctx) const
- {
- return fusion::at_c<0>(ctx);
- }
-
- template <typename Context>
- typename result_of::env<Context>::type
- operator()(Context & ctx) const
- {
- return fusion::at_c<0>(ctx);
- }
- };
-
- struct actions
- {
- BOOST_PROTO_CALLABLE()
-
- template <typename Sig>
- struct result;
-
- template <typename This, typename Context>
- struct result<This(Context)>
- : result<This(Context const &)>
- {};
-
- template <typename This, typename Context>
- struct result<This(Context &)>
- : result_of::actions<Context>
- {};
-
- template <typename Context>
- typename result_of::actions<Context const>::type
- operator()(Context const & ctx) const
- {
- return fusion::at_c<1>(ctx);
- }
-
- template <typename Context>
- typename result_of::actions<Context>::type
- operator()(Context & ctx) const
- {
- return fusion::at_c<1>(ctx);
- }
- };
-
- }
-
- struct _context
- : proto::transform<_context>
- {
- template <typename Expr, typename State, typename Data>
- struct impl
- : proto::transform_impl<Expr, State, Data>
- {
- typedef vector2<State, Data> result_type;
-
- result_type operator()(
- typename impl::expr_param
- , typename impl::state_param s
- , typename impl::data_param d
- ) const
- {
- vector2<State, Data> e = {s, d};
- return e;
- }
- };
- };
-
- template <typename Env, typename Actions>
- inline
- typename result_of::context<Env const &, Actions const&>::type const
- context(Env const& env, Actions const& actions)
- {
- vector2<Env const&, Actions const &> e = {env, actions};
- return e;
- }
-
- template <typename Env, typename Actions>
- inline
- typename result_of::context<Env const &, Actions const&>::type const
- make_context(Env const& env, Actions const& actions)
- {
- return context(env, actions);
- }
-
- template <typename Env, typename Actions>
- inline
- typename result_of::context<Env &, Actions const&>::type const
- context(Env & env, Actions const& actions)
- {
- vector2<Env &, Actions const &> e = {env, actions};
- return e;
- }
-
- template <typename Env, typename Actions>
- inline
- typename result_of::context<Env &, Actions const&>::type const
- make_context(Env & env, Actions const& actions)
- {
- return context(env, actions);
- }
-
- template <typename Env, typename Actions>
- inline
- typename result_of::context<Env const &, Actions &>::type const
- context(Env const& env, Actions & actions)
- {
- vector2<Env const&, Actions &> e = {env, actions};
- return e;
- }
-
- template <typename Env, typename Actions>
- inline
- typename result_of::context<Env const &, Actions &>::type const
- make_context(Env const& env, Actions & actions)
- {
- return context(env, actions);
- }
-
- template <typename Env, typename Actions>
- inline
- typename result_of::context<Env &, Actions &>::type const
- context(Env & env, Actions & actions)
- {
- vector2<Env &, Actions &> e = {env, actions};
- return e;
- }
-
- template <typename Env, typename Actions>
- inline
- typename result_of::context<Env &, Actions &>::type const
- make_context(Env & env, Actions & actions)
- {
- return context(env, actions);
- }
-
- struct _env
- : proto::transform<_env>
- {
- template <typename Expr, typename State, typename Data>
- struct impl
- : proto::transform_impl<Expr, State, Data>
- {
- typedef State result_type;
-
- result_type operator()(
- typename impl::expr_param
- , typename impl::state_param s
- , typename impl::data_param
- ) const
- {
- return s;
- }
- };
- };
-
- template <typename Expr, typename State>
- struct _env::impl<Expr, State, proto::empty_env>
- : proto::transform_impl<Expr, State, proto::empty_env>
- {
- typedef
- typename fusion::result_of::at_c<
- typename boost::remove_reference<State>::type
- , 0
- >::type
- result_type;
-
- result_type operator()(
- typename impl::expr_param
- , typename impl::state_param s
- , typename impl::data_param
- ) const
- {
- return fusion::at_c<0>(s);
- }
- };
-
- template <typename Expr, typename State>
- struct _env::impl<Expr, State, unused>
- : _env::impl<Expr, State, proto::empty_env>
- {};
-
- template <typename Context>
- inline
- typename fusion::result_of::at_c<Context, 0>::type
- env(Context & ctx)
- {
- return fusion::at_c<0>(ctx);
- }
-
- template <typename Context>
- inline
- typename fusion::result_of::at_c<Context const, 0>::type
- env(Context const & ctx)
- {
- return fusion::at_c<0>(ctx);
- }
-
- struct _actions
- : proto::transform<_actions>
- {
- template <typename Expr, typename State, typename Data>
- struct impl
- : proto::transform_impl<Expr, State, Data>
- {
- typedef Data result_type;
-
- result_type operator()(
- typename impl::expr_param
- , typename impl::state_param
- , typename impl::data_param d
- ) const
- {
- return d;
- }
- };
- };
-
- template <typename Expr, typename State>
- struct _actions::impl<Expr, State, proto::empty_env>
- : proto::transform_impl<Expr, State, proto::empty_env>
- {
- typedef
- typename fusion::result_of::at_c<
- typename boost::remove_reference<State>::type
- , 1
- >::type
- result_type;
-
- result_type operator()(
- typename impl::expr_param
- , typename impl::state_param s
- , typename impl::data_param
- ) const
- {
- return fusion::at_c<1>(s);
- }
- };
-
- template <typename Expr, typename State>
- struct _actions::impl<Expr, State, unused>
- : _actions::impl<Expr, State, proto::empty_env>
- {};
-
- template <typename Context>
- inline
- typename fusion::result_of::at_c<Context, 1>::type
- actions(Context & ctx)
- {
- return fusion::at_c<1>(ctx);
- }
-
- template <typename Context>
- inline
- typename fusion::result_of::at_c<Context const, 1>::type
- actions(Context const & ctx)
- {
- return fusion::at_c<1>(ctx);
- }
-
- namespace result_of
- {
- template <
- BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(
- BOOST_PHOENIX_LIMIT
- , typename A
- , mpl::void_
- )
- , typename Dummy = void
- >
- struct make_env;
-
- #define M0(Z, N, D) \
- template <BOOST_PHOENIX_typename_A(N)> \
- struct make_env<BOOST_PHOENIX_A(N)> \
- { \
- typedef BOOST_PP_CAT(vector, N)<BOOST_PHOENIX_A(N)> type; \
- }; \
- /**/
- BOOST_PP_REPEAT_FROM_TO(1, BOOST_PHOENIX_LIMIT, M0, _)
- #undef M0
- }
-
- inline
- result_of::make_env<>::type
- make_env()
- {
- return result_of::make_env<>::type();
- }
-#define M0(Z, N, D) \
- template <BOOST_PHOENIX_typename_A(N)> \
- inline \
- typename result_of::make_env<BOOST_PHOENIX_A_ref(N)>::type \
- make_env(BOOST_PHOENIX_A_ref_a(N)) \
- { \
- typename result_of::make_env<BOOST_PHOENIX_A_ref(N)>::type \
- env = \
- { \
- BOOST_PHOENIX_a(N) \
- }; \
- return env; \
- } \
- template <BOOST_PHOENIX_typename_A(N)> \
- inline \
- typename result_of::make_env<BOOST_PHOENIX_A_const_ref(N)>::type \
- make_env(BOOST_PHOENIX_A_const_ref_a(N)) \
- { \
- typename result_of::make_env<BOOST_PHOENIX_A_const_ref(N)>::type \
- env = \
- { \
- BOOST_PHOENIX_a(N) \
- }; \
- return env; \
- } \
- /**/
- BOOST_PP_REPEAT_FROM_TO(1, BOOST_PHOENIX_LIMIT, M0, _)
- #undef M0
-
- template <typename T, typename Enable = void>
- struct is_environment : fusion::traits::is_sequence<T> {};
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/expression.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/expression.hpp
deleted file mode 100644
index 4b8aec4c59..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/expression.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*=============================================================================
- Copyright (c) 2016 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_PHOENIX_CORE_EXPRESSION_HPP
-#define BOOST_PHOENIX_CORE_EXPRESSION_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/phoenix/core/as_actor.hpp>
-#include <boost/phoenix/core/detail/expression.hpp>
-#include <boost/phoenix/core/domain.hpp>
-#include <boost/proto/domain.hpp>
-#include <boost/proto/make_expr.hpp>
-#include <boost/proto/transform/pass_through.hpp>
-
-namespace boost { namespace phoenix
-{
- template <typename Expr> struct actor;
-
-#ifdef BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
- #include <boost/phoenix/core/detail/cpp03/expression.hpp>
-#else
- template <template <typename> class Actor, typename Tag, typename... A>
- struct expr_ext;
-
- // This filter cuts arguments of a template pack after a first void.
- // It is necessary because the interface can be used in C++03 style.
- template <typename Tag, typename... A>
- struct expr_impl;
-
- // Helper template. Used to store filtered argument types.
- template <typename... A>
- struct expr_arg_types {};
-
- template <typename Tag, typename... A>
- struct expr_impl<Tag, expr_arg_types<A...>> : expr_ext<actor, Tag, A...> {};
-
- template <typename Tag, typename... A, typename... T>
- struct expr_impl<Tag, expr_arg_types<A...>, void, T...> : expr_ext<actor, Tag, A...> {};
-
- template <typename Tag, typename... A, typename H, typename... T>
- struct expr_impl<Tag, expr_arg_types<A...>, H, T...> : expr_impl<Tag, expr_arg_types<A..., H>, T...> {};
-
- template <typename Tag, typename... A>
- struct expr : expr_impl<Tag, expr_arg_types<>, A...> {};
-
- template <template <typename> class Actor, typename Tag, typename... A>
- struct expr_ext
- : proto::transform<expr_ext<Actor, Tag, A...>, int>
- {
- typedef
- typename proto::result_of::make_expr<
- Tag
- , phoenix_default_domain //proto::basic_default_domain
- , typename proto::detail::uncvref<A>::type...
- >::type
- base_type;
-
- typedef Actor<base_type> type;
-
- typedef typename proto::nary_expr<Tag, A...>::proto_grammar proto_grammar;
-
- static type make(A const&... a)
- { //?? actor or Actor??
- //Actor<base_type> const e =
- actor<base_type> const e =
- {
- proto::make_expr<Tag, phoenix_default_domain>(a...)
- };
- return e;
- }
-
- template<typename Expr, typename State, typename Data>
- struct impl
- : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
- {};
-
- typedef Tag proto_tag;
- };
-#endif
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/function_equal.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/function_equal.hpp
deleted file mode 100644
index d477018fc8..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/function_equal.hpp
+++ /dev/null
@@ -1,178 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_FUNCTION_EQUAL_HPP
-#define BOOST_PHOENIX_CORE_FUNCTION_EQUAL_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/is_placeholder.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/phoenix/core/terminal.hpp>
-#include <boost/proto/matches.hpp>
-
-#ifndef BOOST_PHOENIX_NO_VARIADIC_FUNCTION_EQUAL
-# include <boost/phoenix/core/detail/index_sequence.hpp>
-#endif
-
-namespace boost
-{
- template <typename> class weak_ptr;
-}
-
-namespace boost { namespace phoenix
-{
- template <typename>
- struct actor;
-
- namespace detail
- {
- struct compare
- : proto::callable
- {
- typedef bool result_type;
-
- template <typename A0, typename A1>
- result_type operator()(A0 const & a0, A1 const & a1) const
- {
- return a0 == a1;
- }
-
- // hard wiring reference_wrapper and weak_ptr here ...
- // **TODO** find out why boost bind does this ...
- template <typename A0, typename A1>
- result_type
- operator()(
- reference_wrapper<A0> const & a0
- , reference_wrapper<A1> const & a1
- ) const
- {
- return a0.get_pointer() == a1.get_pointer();
- }
-
- template <typename A0, typename A1>
- result_type
- operator()(weak_ptr<A0> const & a0, weak_ptr<A1> const & a1) const
- {
- return !(a0 < a1) && !(a1 < a0);
- }
- };
-
- struct function_equal_otherwise;
-
- struct function_equal_
- : proto::when<
- proto::if_<
- proto::matches<proto::_, proto::_state>()
- , proto::or_<
- proto::when<
- proto::terminal<proto::_>
- , compare(
- proto::_value
- , proto::call<
- proto::_value(proto::_state)
- >
- )
- >
- , proto::otherwise<function_equal_otherwise(proto::_, proto::_state)>
- >
- , proto::call<function_equal_otherwise()>
- >
- >
- {};
-
- struct function_equal_otherwise
- : proto::callable
- {
- typedef bool result_type;
-
- result_type operator()() const
- {
- return false;
- }
-
-#ifdef BOOST_PHOENIX_NO_VARIADIC_FUNCTION_EQUAL
- template <typename Expr1>
- result_type operator()(Expr1 const& e1, Expr1 const& e2) const
- {
- return
- this->evaluate(
- e1
- , e2
- , mpl::int_<proto::arity_of<Expr1>::value - 1>()
- );
- }
-
- private:
- template <typename Expr1>
- static BOOST_FORCEINLINE result_type
- evaluate(Expr1 const& e1, Expr1 const& e2, mpl::int_<0>)
- {
- return
- function_equal_()(
- proto::child_c<0>(e1)
- , proto::child_c<0>(e2)
- );
- }
-
- template <typename Expr1, int N>
- static BOOST_FORCEINLINE result_type
- evaluate(Expr1 const& e1, Expr1 const& e2, mpl::int_<N>)
- {
- return
- evaluate(
- e1
- , e2
- , mpl::int_<N - 1>()
- ) && function_equal_()(
- proto::child_c<N>(e1)
- , proto::child_c<N>(e2)
- );
- }
-#else
- template <typename Expr1>
- result_type operator()(Expr1 const& e1, Expr1 const& e2) const
- {
- return
- this->evaluate(
- e1
- , e2
- , typename make_index_sequence<proto::arity_of<Expr1>::value>::type()
- );
- }
-
- private:
- template <typename Expr1, std::size_t... I>
- static BOOST_FORCEINLINE result_type
- evaluate(Expr1 const& e1, Expr1 const& e2, index_sequence<I...>)
- {
- bool result = true;
- int dummy[] = { (result && (
- result = function_equal_()(proto::child_c<I>(e1), proto::child_c<I>(e2))
- ))... };
- (void)dummy;
- return result;
- }
-#endif
- };
- }
-
- template <typename Expr1, typename Expr2>
- inline bool function_equal_impl(actor<Expr1> const& a1, actor<Expr2> const& a2)
- {
- return detail::function_equal_()(a1, a2);
- }
-
- template <typename Expr1, typename Expr2>
- inline bool function_equal(actor<Expr1> const& a1, actor<Expr2> const& a2)
- {
- return function_equal_impl(a1, a2);
- }
-
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_actor.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_actor.hpp
deleted file mode 100644
index b66a714045..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_actor.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 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_PHOENIX_CORE_IS_ACTOR_HPP
-#define BOOST_PHOENIX_CORE_IS_ACTOR_HPP
-
-#include <boost/mpl/bool.hpp>
-
-// Note to Thomas and any future maintainer: please make this as
-// lightweight as possible (as it is right now).
-
-namespace boost { namespace phoenix
-{
-///////////////////////////////////////////////////////////////////////////////
-//
-// is_actor<T>
-//
-// Tests if T is an actor. Evaluates to mpl::true_ or mpl::false_
-//
-///////////////////////////////////////////////////////////////////////////////
-
- template <typename Expr>
- struct actor;
-
- template <typename T, typename Enable = void>
- struct is_actor
- : mpl::false_
- {};
-
- template <typename T>
- struct is_actor<T const>
- : is_actor<T>
- {};
-
- template <typename T>
- struct is_actor<T &>
- : is_actor<T>
- {};
-
- template <typename Expr>
- struct is_actor<actor<Expr> >
- : mpl::true_
- {};
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_nullary.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_nullary.hpp
deleted file mode 100644
index 333ebdd6d5..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_nullary.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_IS_NULLARY_HPP
-#define BOOST_PHOENIX_CORE_IS_NULLARY_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/phoenix/core/is_actor.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/support/vector.hpp>
-#include <boost/proto/transform/fold.hpp>
-#include <boost/proto/transform/lazy.hpp>
-
-namespace boost { namespace phoenix
-{
- namespace result_of
- {
- template <typename Expr, typename Enable = void>
- struct is_nullary;
- }
-
- struct is_nullary
- {
- template <typename Rule, typename Dummy = void>
- struct when
- : proto::fold<
- proto::_
- , mpl::true_()
- , mpl::and_<
- proto::_state
- , proto::call<evaluator(proto::_, _context)>
- >()
- >
- {};
- };
-
- template <typename Dummy>
- struct is_nullary::when<rule::argument, Dummy>
- {
- BOOST_PROTO_TRANSFORM(is_nullary::when<rule::argument>)
- template <typename Expr, typename State, typename Data>
- struct impl
- {
- typedef mpl::false_ result_type;
- };
- };
-
- template <
- typename Trait
- , typename Expr
- , typename State
- , typename Data
- , bool IsTransform = proto::is_transform<Trait>::value
- >
- struct is_nullary_custom_terminal_impl
- {
- typedef typename Trait::type result_type;
- };
-
- template <typename Transform, typename Expr, typename State, typename Data>
- struct is_nullary_custom_terminal_impl<Transform, Expr, State, Data, true>
- {
- typedef
- typename Transform::template impl<
- Expr
- , State
- , Data
- >::result_type
- result_type;
- };
-
- template <typename Dummy>
- struct is_nullary::when<rule::custom_terminal, Dummy>
- {
- BOOST_PROTO_TRANSFORM(is_nullary::when<rule::custom_terminal>)
-
- template <typename Expr, typename State, typename Data>
- struct impl
- : is_nullary_custom_terminal_impl<
- result_of::is_nullary<
- custom_terminal<
- typename proto::detail::uncvref<
- typename proto::result_of::value<Expr>::type
- >::type
- >
- >
- , typename proto::result_of::value<Expr>::type
- , State
- , Data
- >
- {};
- };
-
- template <typename Dummy>
- struct is_nullary::when<rule::terminal, Dummy>
- {
- BOOST_PROTO_TRANSFORM(is_nullary::when<rule::terminal>)
- template <typename Expr, typename State, typename Data>
- struct impl
- {
- typedef mpl::true_ result_type;
- };
- };
-
- namespace result_of
- {
- template <typename Expr, typename Enable>
- struct is_nullary
- : boost::phoenix::evaluator::impl<
- Expr const &
- , vector2<
- mpl::true_
- , boost::phoenix::is_nullary
- >
- , proto::empty_env
- >::result_type
- {};
-
- template <typename T>
- struct is_nullary<T & >
- : is_nullary<T>
- {};
-
- template <typename T>
- struct is_nullary<T const & >
- : is_nullary<T>
- {};
-
- template <typename T>
- struct is_nullary<T const >
- : is_nullary<T>
- {};
-
- template <typename T>
- struct is_nullary<custom_terminal<T> >
- : mpl::true_
- {};
-
- template <typename T>
- struct is_nullary<custom_terminal<actor<T> > >
- : evaluator
- {};
-
- template <typename T>
- struct is_nullary<custom_terminal<boost::reference_wrapper<actor<T> > > >
- {
- BOOST_PROTO_TRANSFORM(is_nullary<custom_terminal<boost::reference_wrapper<actor<T> > > >)
- template <typename Expr, typename State, typename Data>
- struct impl
- {
- typedef typename evaluator::template impl<actor<T>, State, Data>::result_type result_type;
- };
- };
-
- template <typename T>
- struct is_nullary<custom_terminal<boost::reference_wrapper<actor<T> const> > >
- {
- BOOST_PROTO_TRANSFORM(is_nullary<custom_terminal<boost::reference_wrapper<actor<T> const> > >)
- template <typename Expr, typename State, typename Data>
- struct impl
- {
- typedef typename evaluator::template impl<actor<T> const, State, Data>::result_type result_type;
- };
- };
- }
-
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_value.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_value.hpp
deleted file mode 100644
index 80f6569284..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/is_value.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2015 John Fletcher
-
- Distributed under the 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_PHOENIX_CORE_IS_VALUE_HPP
-#define BOOST_PHOENIX_CORE_IS_VALUE_HPP
-
-#include <boost/mpl/bool.hpp>
-
-// Copied from is_actor.hpp
-
-// Note to Thomas and any future maintainer: please make this as
-// lightweight as possible (as it is right now).
-
-namespace boost { namespace phoenix
-{
-///////////////////////////////////////////////////////////////////////////////
-//
-// is_value<T>
-//
-// Tests if T is a value. Evaluates to mpl::true_ or mpl::false_
-//
-///////////////////////////////////////////////////////////////////////////////
-
- namespace expression {
- template <typename T>
- struct value;
- }
-
- template <typename T, typename Enable = void>
- struct is_value
- : mpl::false_
- {};
-
- template <typename T>
- struct is_value<T const>
- : is_value<T>
- {};
-
- template <typename T>
- struct is_value<T &>
- : is_value<T>
- {};
-
- // This does not seem to work.
- // There is an alternative in value.hpp which does work.
- template <typename T>
- struct is_value< expression::value<T> >
- : mpl::true_
- {};
-
- template <typename T>
- bool is_val(T const & /* t */)
- {
- return is_value<T>::value;
- }
-
- }}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/limits.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/limits.hpp
deleted file mode 100644
index 9e239f51c8..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/limits.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 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_PHOENIX_CORE_LIMITS_HPP
-#define BOOST_PHOENIX_CORE_LIMITS_HPP
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/preprocessor/inc.hpp>
-#include <boost/preprocessor/dec.hpp>
-#include <boost/preprocessor/stringize.hpp>
-#include <boost/phoenix/version.hpp>
-#include <boost/phoenix/support/preprocessor/round.hpp>
-
-
-#if defined(BOOST_PHOENIX_LIMIT)
-# if !defined( BOOST_PROTO_MAX_ARITY )
-# define BOOST_PROTO_MAX_ARITY BOOST_PHOENIX_LIMIT
-# elif (BOOST_PROTO_MAX_ARITY < BOOST_PHOENIX_LIMIT)
-# error "BOOST_PROTO_MAX_ARITY is set too low"
-# endif
-#include <boost/proto/proto_fwd.hpp>
-#else
-#include <boost/proto/proto_fwd.hpp>
-#define BOOST_PHOENIX_LIMIT BOOST_PROTO_MAX_ARITY
-#endif
-
-#if !defined(PHOENIX_LIMIT)
-#define PHOENIX_LIMIT BOOST_PHOENIX_LIMIT
-#endif
-
-#define BOOST_PHOENIX_LIMIT_STR BOOST_PP_STRINGIZE(BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT))
-
-#ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES
-# define BOOST_PHOENIX_NO_VARIADIC_ACTOR
-# define BOOST_PHOENIX_NO_VARIADIC_CALL
-# define BOOST_PHOENIX_NO_VARIADIC_FUNCTION_EQUAL
-# define BOOST_PHOENIX_NO_VARIADIC_FUNCTION_EVAL
-# define BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-# define BOOST_PHOENIX_NO_VARIADIC_BIND
-# define BOOST_PHOENIX_NO_VARIADIC_SCOPE
-#endif
-#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
-# define BOOST_PHOENIX_NO_VARIADIC_ACTOR
-# define BOOST_PHOENIX_NO_VARIADIC_FUNCTION_EVAL
-#endif
-
-#if BOOST_WORKAROUND(BOOST_MSVC, == 1800)
-// FIXME: temporary disable on MSVC 2013.
-# define BOOST_PHOENIX_NO_VARIADIC_SCOPE
-#endif
-
-#ifdef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
-// FIXME: Due to proto, some compilers cannot expand parameter pack.
-# define BOOST_PHOENIX_NO_VARIADIC_ACTOR
-# define BOOST_PHOENIX_NO_VARIADIC_CALL
-# define BOOST_PHOENIX_NO_VARIADIC_FUNCTION_EVAL
-# define BOOST_PHOENIX_NO_VARIADIC_EXPRESSION
-# define BOOST_PHOENIX_NO_VARIADIC_BIND
-# define BOOST_PHOENIX_NO_VARIADIC_SCOPE
-#endif
-
-# define BOOST_PHOENIX_NO_VARIADIC_OBJECT
-# define BOOST_PHOENIX_NO_VARIADIC_OPERATOR
-# define BOOST_PHOENIX_NO_VARIADIC_FUNCTION
-
-#if !defined(BOOST_PHOENIX_ARG_LIMIT)
-# define BOOST_PHOENIX_ARG_LIMIT BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT)
-#elif (BOOST_PHOENIX_ARG_LIMIT < 5)
-# error "BOOST_PHOENIX_ARG_LIMIT is set too low"
-#elif BOOST_PHOENIX_ARG_LIMIT != BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT) && !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-# define BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
-#endif
-
-#if !defined(BOOST_PHOENIX_ACTOR_LIMIT)
-# define BOOST_PHOENIX_ACTOR_LIMIT BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT)
-#elif (BOOST_PHOENIX_ACTOR_LIMIT > BOOST_PHOENIX_ARG_LIMIT)
-# error "BOOST_PHOENIX_ACTOR_LIMIT > BOOST_PHOENIX_ARG_LIMIT"
-#elif (BOOST_PHOENIX_ACTOR_LIMIT < 3)
-# error "BOOST_PHOENIX_ACTOR_LIMIT is set too low"
-#elif BOOST_PHOENIX_ACTOR_LIMIT != BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT) && !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-# define BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
-#endif
-
-#if !defined(BOOST_PHOENIX_PERFECT_FORWARD_LIMIT)
-# define BOOST_PHOENIX_PERFECT_FORWARD_LIMIT 3
-#elif (BOOST_PHOENIX_PERFECT_FORWARD_LIMIT > BOOST_PHOENIX_ACTOR_LIMIT)
-# error "BOOST_PHOENIX_PERFECT_FORWARD_LIMIT > BOOST_PHOENIX_ACTOR_LIMIT"
-#elif (BOOST_PHOENIX_PERFECT_FORWARD_LIMIT < 3)
-# error "BOOST_PHOENIX_PERFECT_FORWARD_LIMIT is set too low"
-#elif BOOST_PHOENIX_PERFECT_FORWARD_LIMIT != 3 && !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-# define BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
-#endif
-
-#if !defined(BOOST_PHOENIX_COMPOSITE_LIMIT)
-# define BOOST_PHOENIX_COMPOSITE_LIMIT BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT)
-#elif (BOOST_PHOENIX_COMPOSITE_LIMIT < 5)
-# error "BOOST_PHOENIX_COMPOSITE_LIMIT is set too low"
-#elif BOOST_PHOENIX_COMPOSITE_LIMIT != BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT) && !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-# define BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
-#endif
-
-#if !defined(BOOST_PHOENIX_MEMBER_LIMIT)
-# define BOOST_PHOENIX_MEMBER_LIMIT BOOST_PP_DEC(BOOST_PHOENIX_COMPOSITE_LIMIT)
-#elif (BOOST_PHOENIX_MEMBER_LIMIT > BOOST_PHOENIX_COMPOSITE_LIMIT)
-# error "BOOST_PHOENIX_MEMBER_LIMIT > BOOST_PHOENIX_COMPOSITE_LIMIT"
-#elif (BOOST_PHOENIX_MEMBER_LIMIT < 3)
-# error "BOOST_PHOENIX_MEMBER_LIMIT is set too low"
-#elif BOOST_PHOENIX_MEMBER_LIMIT != BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT) && !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-# define BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
-#endif
-
-#if !defined(BOOST_PHOENIX_CATCH_LIMIT)
-# define BOOST_PHOENIX_CATCH_LIMIT BOOST_PHOENIX_COMPOSITE_LIMIT
-#elif (BOOST_PHOENIX_CATCH_LIMIT < 1)
-# error "BOOST_PHOENIX_CATCH_LIMIT is set too low"
-#elif BOOST_PHOENIX_CATCH_LIMIT != BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT) && !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-# define BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
-#endif
-
-#if !defined(BOOST_PHOENIX_DYNAMIC_LIMIT)
-# define BOOST_PHOENIX_DYNAMIC_LIMIT BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT)
-#elif (BOOST_PHOENIX_DYNAMIC_LIMIT < 1)
-# error "BOOST_PHOENIX_DYNAMIC_LIMIT is set too low"
-#elif BOOST_PHOENIX_DYNAMIC_LIMIT != BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT) && !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-# define BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
-#endif
-
-#if !defined(BOOST_PHOENIX_LOCAL_LIMIT)
-# define BOOST_PHOENIX_LOCAL_LIMIT BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT)
-#elif (BOOST_PHOENIX_LOCAL_LIMIT < 3)
-# error "BOOST_PHOENIX_LOCAL_LIMIT is set too low"
-#elif BOOST_PHOENIX_LOCAL_LIMIT != BOOST_PHOENIX_PP_ROUND_UP(BOOST_PHOENIX_LIMIT) && !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-# define BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/meta_grammar.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/meta_grammar.hpp
deleted file mode 100644
index 315419d352..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/meta_grammar.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_META_GRAMMAR_HPP
-#define BOOST_PHOENIX_CORE_META_GRAMMAR_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/proto/matches.hpp>
-#include <boost/proto/transform/call.hpp>
-#include <boost/proto/transform/default.hpp>
-
-namespace boost { namespace phoenix
-{
- /////////////////////////////////////////////////////////////////////////////
- // The grammar defining valid phoenix expressions
- struct meta_grammar
- : proto::switch_<meta_grammar>
- {
- template <typename Tag, typename Dummy = void>
- struct case_
- : proto::not_<proto::_>
- {};
- };
-
- struct evaluator
- {
- BOOST_PROTO_TRANSFORM(evaluator)
-
- template <typename Expr, typename State, typename Data>
- struct impl
- : proto::transform_impl<Expr, State, Data>
- {
- typedef meta_grammar::impl<Expr, State, Data> what;
-
- typedef typename what::result_type result_type;
-
- result_type operator()(
- typename impl::expr_param e
- , typename impl::state_param s
- , typename impl::data_param d
- ) const
- {
- return what()(e, s, d);
- }
- };
-
- template <typename Expr, typename State>
- struct impl<Expr, State, proto::empty_env>
- : proto::transform_impl<Expr, State, proto::empty_env>
- {
- typedef
- meta_grammar::impl<
- Expr
- , typename result_of::env<State>::type
- , typename result_of::actions<State>::type
- >
- what;
-
- typedef typename what::result_type result_type;
-
- result_type operator()(
- typename impl::expr_param e
- , typename impl::state_param s
- , typename impl::data_param
- ) const
- {
- return what()(e, phoenix::env(s), actions(s));
- }
- };
-
- template <typename Expr, typename State>
- struct impl<Expr, State, unused>
- : proto::transform_impl<Expr, State, unused>
- {
- typedef
- meta_grammar::impl<
- Expr
- , typename result_of::env<State>::type
- , typename result_of::actions<State>::type
- >
- what;
-
- typedef typename what::result_type result_type;
-
- result_type operator()(
- typename impl::expr_param e
- , typename impl::state_param s
- , typename impl::data_param
- ) const
- {
- return what()(e, phoenix::env(s), actions(s));
- }
- };
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // Set of default actions. Extend this whenever you add a new phoenix
- // construct
- struct default_actions
- {
- template <typename Rule, typename Dummy = void>
- struct when
- : proto::_default<meta_grammar>
- {};
- };
-
- template <typename Rule, typename Dummy = void>
- struct enable_rule
- : proto::when<Rule, proto::external_transform>
- {};
-
- namespace result_of
- {
- template <typename Expr, typename Context>
- struct eval
- : boost::result_of< ::boost::phoenix::evaluator(Expr, Context)>
- {};
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // A function we can call to evaluate our expression
- template <typename Expr, typename Context>
- inline
- typename meta_grammar::template impl<
- Expr const&
- , typename result_of::env<Context const&>::type
- , typename result_of::actions<Context const&>::type
- >::result_type
- eval(Expr const& expr, Context const & ctx)
- {
- static evaluator const e = {};
- return e(expr, ctx);
- }
-
- template <typename Expr, typename Context>
- inline
- typename meta_grammar::template impl<
- Expr &
- , typename result_of::env<Context const&>::type
- , typename result_of::actions<Context const&>::type
- >::result_type
- eval(Expr & expr, Context const & ctx)
- {
- static evaluator const e = {};
- return e(expr, ctx);
- }
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/nothing.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/nothing.hpp
deleted file mode 100644
index b8294de040..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/nothing.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 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_PHOENIX_CORE_NOTHING_HPP
-#define BOOST_PHOENIX_CORE_NOTHING_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/mpl/void.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/call.hpp>
-#include <boost/phoenix/core/expression.hpp>
-#include <boost/phoenix/core/value.hpp>
-
-namespace boost { namespace phoenix
-{
- /////////////////////////////////////////////////////////////////////////////
- //
- // null_actor
- //
- // An actor that does nothing (a "bum", if you will :-).
- //
- /////////////////////////////////////////////////////////////////////////////
-
- namespace detail
- {
- struct nothing {};
- }
-
- namespace expression
- {
- struct null
- : expression::value<detail::nothing>
- {};
- }
-
- template<typename Dummy>
- struct is_custom_terminal<detail::nothing, Dummy>
- : mpl::true_
- {};
-
- template<typename Dummy>
- struct custom_terminal<detail::nothing, Dummy>
- {
- typedef void result_type;
- template <typename Context>
- void operator()(detail::nothing, Context &) const
- {
- }
- };
-
- typedef expression::null::type nothing_type BOOST_ATTRIBUTE_UNUSED;
-#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
- nothing_type const BOOST_ATTRIBUTE_UNUSED nothing = {{{}}};
-#endif
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/reference.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/reference.hpp
deleted file mode 100644
index 7f5170a12c..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/reference.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_REFERENCE_HPP
-#define BOOST_PHOENIX_CORE_REFERENCE_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/ref.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/terminal.hpp>
-#include <boost/utility/result_of.hpp>
-
-namespace boost { namespace phoenix
-{
- /////////////////////////////////////////////////////////////////////////////
- //
- // reference
- //
- // function for evaluating references, e.g. ref(123)
- //
- /////////////////////////////////////////////////////////////////////////////
- namespace expression
- {
- template <typename T>
- struct reference
- : expression::terminal<reference_wrapper<T> >
- {
- typedef
- typename expression::terminal<reference_wrapper<T> >::type
- type;
-
- static const type make(T & t)
- {
- typename reference<T>::type const e = {{boost::ref(t)}};
- return e;
- }
- };
-
- template <typename T>
- struct reference<T const>
- : expression::terminal<reference_wrapper<T const> >
- {
- typedef
- typename expression::terminal<reference_wrapper<T const> >::type
- type;
-
- static const type make(T const & t)
- {
- typename reference<T const>::type const e = {{boost::cref(t)}};
- return e;
- }
- };
- }
-
- namespace rule
- {
- struct reference
- : expression::reference<proto::_>
- {};
- }
-
- template <typename T>
- inline
- typename expression::reference<T>::type const
- ref(T & t)
- {
- return expression::reference<T>::make(t);
- }
-
- template <typename T>
- inline
- typename expression::reference<T const>::type const
- cref(T const & t)
- {
- return expression::reference<T const>::make(t);
- }
-
- // Call out boost::reference_wrapper for special handling
- template<typename T>
- struct is_custom_terminal<boost::reference_wrapper<T> >
- : mpl::true_
- {};
-
- // Special handling for boost::reference_wrapper
- template<typename T>
- struct custom_terminal<boost::reference_wrapper<T> >
- {
- typedef T &result_type;
-
- template <typename Context>
- T &operator()(boost::reference_wrapper<T> r, Context &) const
- {
- return r;
- }
- };
-
- template<typename Expr>
- struct custom_terminal<boost::reference_wrapper<actor<Expr> > >
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Context>
- struct result<This(boost::reference_wrapper<actor<Expr> > const &, Context)>
- : boost::result_of<evaluator(actor<Expr> &, Context)>
- {};
-
- template <typename This, typename Context>
- struct result<This(boost::reference_wrapper<actor<Expr> > &, Context)>
- : boost::result_of<evaluator(actor<Expr> &, Context)>
- {};
-
- template <typename Context>
- typename boost::result_of<evaluator(actor<Expr> &, Context const &)>::type
- operator()(boost::reference_wrapper<actor<Expr> > & r, Context const & ctx) const
- {
- return boost::phoenix::eval(r, ctx);
- }
- };
-
- template<typename Expr>
- struct custom_terminal<boost::reference_wrapper<actor<Expr> const> >
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Context>
- struct result<This(boost::reference_wrapper<actor<Expr> const> const &, Context)>
- : boost::result_of<evaluator(actor<Expr> const&, Context)>
- {};
-
- template <typename This, typename Context>
- struct result<This(boost::reference_wrapper<actor<Expr> const> &, Context)>
- : boost::result_of<evaluator(actor<Expr> const&, Context)>
- {};
-
- template <typename Context>
- typename boost::result_of<evaluator(actor<Expr> const&, Context const &)>::type
- operator()(boost::reference_wrapper<actor<Expr> const> const & r, Context & ctx) const
- {
- return boost::phoenix::eval(unwrap_ref(r), ctx);
- }
- };
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/terminal.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/terminal.hpp
deleted file mode 100644
index 59f3784916..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/terminal.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_TERMINAL_HPP
-#define BOOST_PHOENIX_CORE_TERMINAL_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/is_placeholder.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/proto/matches.hpp>
-#include <boost/proto/transform/lazy.hpp>
-#include <boost/proto/functional/fusion/at.hpp>
-#include <boost/type_traits/remove_pointer.hpp>
-
-#define BOOST_PHOENIX_DEFINE_CUSTOM_TERMINAL(Template, Terminal, IsNullary, EvalFun)\
- namespace boost { namespace phoenix \
- { \
- namespace result_of \
- { \
- Template \
- struct is_nullary< \
- custom_terminal< \
- Terminal \
- > \
- > \
- : IsNullary \
- {}; \
- } \
- Template \
- struct is_custom_terminal<Terminal >: mpl::true_ {}; \
- \
- Template \
- struct custom_terminal<Terminal > : proto::call<EvalFun > {}; \
- }} \
-/**/
-
-namespace boost { namespace phoenix
-{
- template <typename T, typename Dummy>
- struct is_custom_terminal
- : mpl::false_ {};
-
- template <typename T, typename Dummy>
- struct custom_terminal;
-
- namespace tag {
- struct terminal /*: public proto::tag::terminal */ {};
- }
-
- namespace expression
- {
- template <typename T, template <typename> class Actor = actor>
- struct terminal
- : proto::terminal<T>
- {
- typedef
- proto::basic_expr<
- proto::tag::terminal
- // tag::terminal //cannot change to use phoenix tag - breaks code.
- , proto::term<T>
- , 0
- >
- base_type;
- typedef Actor<base_type> type;
-
- static const type make(T const& t)
- {
- // ?? Should the next line be Actor not actor which is the default?
- actor<base_type> const e = {base_type::make(t)};
- //Actor<base_type> const e = {base_type::make(t)};
- return e;
- }
- };
- }
-
- namespace rule
- {
- struct argument
- : proto::if_<boost::is_placeholder<proto::_value>()>
- {};
-
- struct custom_terminal
- : proto::if_<boost::phoenix::is_custom_terminal<proto::_value>()>
- {};
-
- struct terminal
- : proto::terminal<proto::_>
- {};
- }
-
- template <typename Dummy>
- struct meta_grammar::case_<proto::tag::terminal, Dummy>
- : proto::or_<
- enable_rule<rule::argument , Dummy>
- , enable_rule<rule::custom_terminal, Dummy>
- , enable_rule<rule::terminal , Dummy>
- >
- {};
-
- template <typename Dummy>
- struct default_actions::when<rule::custom_terminal, Dummy>
- : proto::lazy<
- custom_terminal<proto::_value>(
- proto::_value
- , _context
- )
- >
- {};
-
- namespace detail
- {
- template <typename N>
- struct placeholder_idx
- : mpl::int_<N::value>
- {};
- }
-
- template <typename Grammar>
- struct default_actions::when<rule::argument, Grammar>
- : proto::call<
- proto::functional::at(
- _env
- , proto::make<
- detail::placeholder_idx<
- proto::make<
- boost::is_placeholder<proto::_value>()
- >
- >()
- >
- )
- >
- {};
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/terminal_fwd.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/terminal_fwd.hpp
deleted file mode 100644
index 7942cfa145..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/terminal_fwd.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_TERMINAL_FWD_HPP
-#define BOOST_PHOENIX_CORE_TERMINAL_FWD_HPP
-
-namespace boost { namespace phoenix
-{
- namespace rule
- {
- struct argument;
- struct custom_terminal;
- struct terminal;
- }
-
- template <typename T, typename Dummy = void>
- struct is_custom_terminal;
-
- template <typename T, typename Dummy = void>
- struct custom_terminal;
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/v2_eval.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/v2_eval.hpp
deleted file mode 100644
index 3641b72475..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/v2_eval.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_V2_EVAL_HPP
-#define BOOST_PHOENIX_CORE_V2_EVAL_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/core/environment.hpp>
-#include <boost/phoenix/core/is_actor.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/support/vector.hpp>
-#include <boost/proto/transform/fold.hpp>
-#include <boost/proto/transform/lazy.hpp>
-
-namespace boost { namespace phoenix
-{
- struct v2_eval
- : proto::callable
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Eval, typename Env>
- struct result<This(Eval, Env)>
- : Eval::template result<typename proto::detail::uncvref<Env>::type>
- {};
-
- template <typename This, typename Eval, typename Env>
- struct result<This(Eval &, Env)>
- : Eval::template result<typename proto::detail::uncvref<Env>::type>
- {};
-
- template <typename This, typename Eval, typename Env>
- struct result<This(Eval const &, Env)>
- : Eval::template result<typename proto::detail::uncvref<Env>::type>
- {};
-
- template <typename Eval, typename Env>
- typename result<v2_eval(Eval const&, Env)>::type
- operator()(Eval const & e, Env const & env) const
- {
- return e.eval(env);
- }
- };
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/value.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/core/value.hpp
deleted file mode 100644
index f0ca677b46..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/core/value.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_CORE_VALUE_HPP
-#define BOOST_PHOENIX_CORE_VALUE_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/as_actor.hpp>
-#include <boost/phoenix/core/terminal.hpp>
-#include <boost/phoenix/core/is_value.hpp>
-#include <boost/utility/result_of.hpp>
-
-namespace boost { namespace phoenix
-{
- ////////////////////////////////////////////////////////////////////////////
- //
- // values
- //
- // function for evaluating values, e.g. val(123)
- //
- ////////////////////////////////////////////////////////////////////////////
-
- namespace expression
- {
- template <typename T>
- struct value
- : expression::terminal<T>
- {
- typedef
- typename expression::terminal<T>::type
- type;
- /*
- static const type make(T & t)
- {
- typename value<T>::type const e = {{t}};
- return e;
- }
- */
- };
- }
-
- template <typename T>
- inline
- typename expression::value<T>::type const
- val(T t)
- {
- return expression::value<T>::make(t);
- }
-
- // Identifies this Expr as a value.
- // I think this is wrong. It is identifying all actors as values.
- // Yes, it is giving false positives and needs a rethink.
- // And this gives no positives.
- //template <typename T>
- //struct is_value<expression::value<T> >
- // : mpl::true_
- //{};
-
- // Call out actor for special handling
- // Is this correct? It applies to any actor.
- // In which case why is it here?
- template<typename Expr>
- struct is_custom_terminal<actor<Expr> >
- : mpl::true_
- {};
-
- // Special handling for actor
- template<typename Expr>
- struct custom_terminal<actor<Expr> >
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Actor, typename Context>
- struct result<This(Actor, Context)>
- : boost::remove_const<
- typename boost::remove_reference<
- typename evaluator::impl<Actor, Context, proto::empty_env>::result_type
- >::type
- >
- {};
-
- template <typename Context>
- typename result<custom_terminal(actor<Expr> const &, Context &)>::type
- operator()(actor<Expr> const & expr, Context & ctx) const
- {
- typedef typename result<custom_terminal(actor<Expr> const &, Context &)>::type result_type;
- result_type r = boost::phoenix::eval(expr, ctx);
- // std::cout << "Evaluating val() = " << r << std::endl;
- return r;
- }
- };
-
- namespace meta
- {
- template<typename T>
- struct const_ref
- : add_reference<typename add_const<T>::type>
- {};
-
- template<typename T>
- struct argument_type
- : mpl::eval_if_c<
- is_function<typename remove_pointer<T>::type>::value
- , mpl::identity<T>
- , const_ref<T>
- >
- {
- typedef T type;
- };
-
- template <typename T>
- struct decay
- {
- typedef T type;
- };
- template <typename T, int N>
- struct decay<T[N]> : decay<T const *> {};
- }
-
- template <typename T>
- struct as_actor<T, mpl::false_>
- {
- typedef typename expression::value<typename meta::decay<T>::type >::type type;
-
- static type
- convert(typename meta::argument_type<typename meta::decay<T>::type>::type t)
- {
- return expression::value<typename meta::decay<T>::type >::make(t);
- }
- };
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/function_operator.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/function_operator.hpp
deleted file mode 100644
index e0e3dd95e4..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/function_operator.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-#ifndef BOOST_PHOENIX_FUNCTION_DETAIL_FUNCTION_OPERATOR_HPP
-#define BOOST_PHOENIX_FUNCTION_DETAIL_FUNCTION_OPERATOR_HPP
-
-#include <boost/phoenix/function/detail/cpp03/preprocessed/function_operator.hpp>
-
-#endif
-#else
-
-#if !BOOST_PHOENIX_IS_ITERATING
-
-#ifndef BOOST_PHOENIX_FUNCTION_DETAIL_FUNCTION_OPERATOR_HPP
-#define BOOST_PHOENIX_FUNCTION_DETAIL_FUNCTION_OPERATOR_HPP
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "preprocessed/function_operator_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 1)
-#endif
-
-#define BOOST_PHOENIX_ITERATION_PARAMS \
- (3, (1, BOOST_PHOENIX_ACTOR_LIMIT, \
- <boost/phoenix/function/detail/cpp03/function_operator.hpp>))
-#include BOOST_PHOENIX_ITERATE()
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif
-
-#else
- template <typename This, BOOST_PHOENIX_typename_A>
- struct result<This(BOOST_PHOENIX_A_const_ref)>
- : detail::expression::function_eval<F, BOOST_PHOENIX_A>
- {};
-
- template <BOOST_PHOENIX_typename_A>
- typename detail::expression::function_eval<F, BOOST_PHOENIX_A>::type const
- operator()(BOOST_PHOENIX_A_const_ref_a) const
- {
- return detail::expression::function_eval<F, BOOST_PHOENIX_A>::make(f, BOOST_PHOENIX_a);
- }
-
-#endif
-
-#endif // PHOENIX_DONT_USE_PREPROCESSED_FILES
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator.hpp
deleted file mode 100644
index b8ce4848c4..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*==============================================================================
- Copyright (c) 2011 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)
-==============================================================================*/
-
-#if !defined(BOOST_PHOENIX_PREPROCESSED_FUNCTION_OPERATOR)
-#define BOOST_PHOENIX_PREPROCESSED_FUNCTION_OPERATOR
-
-#if BOOST_PHOENIX_LIMIT <= 10
-#include <boost/phoenix/function/detail/cpp03/preprocessed/function_operator_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 20
-#include <boost/phoenix/function/detail/cpp03/preprocessed/function_operator_20.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 30
-#include <boost/phoenix/function/detail/cpp03/preprocessed/function_operator_30.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 40
-#include <boost/phoenix/function/detail/cpp03/preprocessed/function_operator_40.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 50
-#include <boost/phoenix/function/detail/cpp03/preprocessed/function_operator_50.hpp>
-#else
-#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_10.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_10.hpp
deleted file mode 100644
index 8180470302..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_10.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
- template <typename This, typename A0>
- struct result<This(A0 const&)>
- : detail::expression::function_eval<F, A0>
- {};
- template <typename A0>
- typename detail::expression::function_eval<F, A0>::type const
- operator()(A0 const& a0) const
- {
- return detail::expression::function_eval<F, A0>::make(f, a0);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1>
- struct result<This(A0 const& , A1 const&)>
- : detail::expression::function_eval<F, A0 , A1>
- {};
- template <typename A0 , typename A1>
- typename detail::expression::function_eval<F, A0 , A1>::type const
- operator()(A0 const& a0 , A1 const& a1) const
- {
- return detail::expression::function_eval<F, A0 , A1>::make(f, a0 , a1);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 const& , A1 const& , A2 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2>
- {};
- template <typename A0 , typename A1 , typename A2>
- typename detail::expression::function_eval<F, A0 , A1 , A2>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2>::make(f, a0 , a1 , a2);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(f, a0 , a1 , a2 , a3);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(f, a0 , a1 , a2 , a3 , a4);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(f, a0 , a1 , a2 , a3 , a4 , a5);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_20.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_20.hpp
deleted file mode 100644
index 6772d069d7..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_20.hpp
+++ /dev/null
@@ -1,347 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
- template <typename This, typename A0>
- struct result<This(A0 const&)>
- : detail::expression::function_eval<F, A0>
- {};
- template <typename A0>
- typename detail::expression::function_eval<F, A0>::type const
- operator()(A0 const& a0) const
- {
- return detail::expression::function_eval<F, A0>::make(f, a0);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1>
- struct result<This(A0 const& , A1 const&)>
- : detail::expression::function_eval<F, A0 , A1>
- {};
- template <typename A0 , typename A1>
- typename detail::expression::function_eval<F, A0 , A1>::type const
- operator()(A0 const& a0 , A1 const& a1) const
- {
- return detail::expression::function_eval<F, A0 , A1>::make(f, a0 , a1);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 const& , A1 const& , A2 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2>
- {};
- template <typename A0 , typename A1 , typename A2>
- typename detail::expression::function_eval<F, A0 , A1 , A2>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2>::make(f, a0 , a1 , a2);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(f, a0 , a1 , a2 , a3);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(f, a0 , a1 , a2 , a3 , a4);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(f, a0 , a1 , a2 , a3 , a4 , a5);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19);
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_30.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_30.hpp
deleted file mode 100644
index 542e233994..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_30.hpp
+++ /dev/null
@@ -1,517 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
- template <typename This, typename A0>
- struct result<This(A0 const&)>
- : detail::expression::function_eval<F, A0>
- {};
- template <typename A0>
- typename detail::expression::function_eval<F, A0>::type const
- operator()(A0 const& a0) const
- {
- return detail::expression::function_eval<F, A0>::make(f, a0);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1>
- struct result<This(A0 const& , A1 const&)>
- : detail::expression::function_eval<F, A0 , A1>
- {};
- template <typename A0 , typename A1>
- typename detail::expression::function_eval<F, A0 , A1>::type const
- operator()(A0 const& a0 , A1 const& a1) const
- {
- return detail::expression::function_eval<F, A0 , A1>::make(f, a0 , a1);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 const& , A1 const& , A2 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2>
- {};
- template <typename A0 , typename A1 , typename A2>
- typename detail::expression::function_eval<F, A0 , A1 , A2>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2>::make(f, a0 , a1 , a2);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(f, a0 , a1 , a2 , a3);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(f, a0 , a1 , a2 , a3 , a4);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(f, a0 , a1 , a2 , a3 , a4 , a5);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29);
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_40.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_40.hpp
deleted file mode 100644
index 63e22cad87..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_40.hpp
+++ /dev/null
@@ -1,687 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
- template <typename This, typename A0>
- struct result<This(A0 const&)>
- : detail::expression::function_eval<F, A0>
- {};
- template <typename A0>
- typename detail::expression::function_eval<F, A0>::type const
- operator()(A0 const& a0) const
- {
- return detail::expression::function_eval<F, A0>::make(f, a0);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1>
- struct result<This(A0 const& , A1 const&)>
- : detail::expression::function_eval<F, A0 , A1>
- {};
- template <typename A0 , typename A1>
- typename detail::expression::function_eval<F, A0 , A1>::type const
- operator()(A0 const& a0 , A1 const& a1) const
- {
- return detail::expression::function_eval<F, A0 , A1>::make(f, a0 , a1);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 const& , A1 const& , A2 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2>
- {};
- template <typename A0 , typename A1 , typename A2>
- typename detail::expression::function_eval<F, A0 , A1 , A2>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2>::make(f, a0 , a1 , a2);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(f, a0 , a1 , a2 , a3);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(f, a0 , a1 , a2 , a3 , a4);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(f, a0 , a1 , a2 , a3 , a4 , a5);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39);
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_50.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_50.hpp
deleted file mode 100644
index df5cf1077b..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/detail/cpp03/preprocessed/function_operator_50.hpp
+++ /dev/null
@@ -1,857 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-
-
-
-
-
-
- template <typename This, typename A0>
- struct result<This(A0 const&)>
- : detail::expression::function_eval<F, A0>
- {};
- template <typename A0>
- typename detail::expression::function_eval<F, A0>::type const
- operator()(A0 const& a0) const
- {
- return detail::expression::function_eval<F, A0>::make(f, a0);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1>
- struct result<This(A0 const& , A1 const&)>
- : detail::expression::function_eval<F, A0 , A1>
- {};
- template <typename A0 , typename A1>
- typename detail::expression::function_eval<F, A0 , A1>::type const
- operator()(A0 const& a0 , A1 const& a1) const
- {
- return detail::expression::function_eval<F, A0 , A1>::make(f, a0 , a1);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2>
- struct result<This(A0 const& , A1 const& , A2 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2>
- {};
- template <typename A0 , typename A1 , typename A2>
- typename detail::expression::function_eval<F, A0 , A1 , A2>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2>::make(f, a0 , a1 , a2);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3>::make(f, a0 , a1 , a2 , a3);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4>::make(f, a0 , a1 , a2 , a3 , a4);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5>::make(f, a0 , a1 , a2 , a3 , a4 , a5);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48);
- }
-
-
-
-
-
-
-
- template <typename This, typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- struct result<This(A0 const& , A1 const& , A2 const& , A3 const& , A4 const& , A5 const& , A6 const& , A7 const& , A8 const& , A9 const& , A10 const& , A11 const& , A12 const& , A13 const& , A14 const& , A15 const& , A16 const& , A17 const& , A18 const& , A19 const& , A20 const& , A21 const& , A22 const& , A23 const& , A24 const& , A25 const& , A26 const& , A27 const& , A28 const& , A29 const& , A30 const& , A31 const& , A32 const& , A33 const& , A34 const& , A35 const& , A36 const& , A37 const& , A38 const& , A39 const& , A40 const& , A41 const& , A42 const& , A43 const& , A44 const& , A45 const& , A46 const& , A47 const& , A48 const& , A49 const&)>
- : detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49>
- {};
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- typename detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49>::type const
- operator()(A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48 , A49 const& a49) const
- {
- return detail::expression::function_eval<F, A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49>::make(f, a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49);
- }
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/function.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/function/function.hpp
deleted file mode 100644
index fe0ad8bc4f..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/function/function.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2015 John Fletcher
-
- Distributed under the 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_PHOENIX_FUNCTION_FUNCTION_HPP
-#define BOOST_PHOENIX_FUNCTION_FUNCTION_HPP
-
-#include <boost/phoenix/config.hpp>
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/core/detail/function_eval.hpp>
-#include <boost/utility/result_of.hpp>
-
-namespace boost { namespace phoenix
-{
- /////////////////////////////////////////////////////////////////////////////
- // Functions
- /////////////////////////////////////////////////////////////////////////////
-
- namespace expression
- {
-#if defined(BOOST_PHOENIX_NO_VARIADIC_FUNCTION)
- template <typename F, BOOST_PHOENIX_typename_A_void(BOOST_PHOENIX_ACTOR_LIMIT)>
- struct function
- : detail::expression::function_eval<F, BOOST_PHOENIX_A(BOOST_PHOENIX_ACTOR_LIMIT)>
- {};
-#else
- // TODO:
-#endif
- }
-
- // functor which returns our lazy function call extension
- template<typename F>
- struct function
- {
- BOOST_CONSTEXPR function()
- : f()
- {}
-
- BOOST_CONSTEXPR function(F f_)
- : f(f_)
- {}
-
- template <typename Sig>
- struct result;
-
-#if defined(BOOST_PHOENIX_NO_VARIADIC_FUNCTION)
- typename detail::expression::function_eval<F>::type const
- operator()() const
- {
- return detail::expression::function_eval<F>::make(f);
- }
-
- // Bring in the rest
- #include <boost/phoenix/function/detail/cpp03/function_operator.hpp>
-
- // Solves the result problem for F(X)
- template <typename This, typename A0>
- struct result<This(A0)>
- : detail::expression::function_eval<F,
- typename boost::remove_reference<A0>::type>
- {};
- // Solves the result problem for F(X,Y)
- template <typename This, typename A0, typename A1>
- struct result<This(A0,A1)>
- : detail::expression::function_eval<F,
- typename boost::remove_reference<A0>::type,
- typename boost::remove_reference<A1>::type>
- {};
- // Solves the result problem for F(X,Y,Z)
- template <typename This, typename A0, typename A1, typename A2>
- struct result<This(A0,A1,A2)>
- : detail::expression::function_eval<F,
- typename boost::remove_reference<A0>::type,
- typename boost::remove_reference<A1>::type,
- typename boost::remove_reference<A2>::type>
- {};
-
- // Solves the result problem for F(W,X,Y,Z)
- template <typename This, typename A0, typename A1,
- typename A2, typename A3>
- struct result<This(A0,A1,A2,A3)>
- : detail::expression::function_eval<F,
- typename boost::remove_reference<A0>::type,
- typename boost::remove_reference<A1>::type,
- typename boost::remove_reference<A2>::type,
- typename boost::remove_reference<A3>::type>
- {};
-
- // Solves the result problem for F(V,W,X,Y,Z)
- template <typename This, typename A0, typename A1,
- typename A2, typename A3,typename A4>
- struct result<This(A0,A1,A2,A3,A4)>
- : detail::expression::function_eval<F,
- typename boost::remove_reference<A0>::type,
- typename boost::remove_reference<A1>::type,
- typename boost::remove_reference<A2>::type,
- typename boost::remove_reference<A3>::type,
- typename boost::remove_reference<A4>::type>
- {};
-
- // Solves the result problem for F(U,V,W,X,Y,Z)
- template <typename This, typename A0, typename A1,
- typename A2, typename A3,typename A4,
- typename A5>
- struct result<This(A0,A1,A2,A3,A4,A5)>
- : detail::expression::function_eval<F,
- typename boost::remove_reference<A0>::type,
- typename boost::remove_reference<A1>::type,
- typename boost::remove_reference<A2>::type,
- typename boost::remove_reference<A3>::type,
- typename boost::remove_reference<A4>::type,
- typename boost::remove_reference<A5>::type>
- {};
-
- // Solves the result problem for F(T,U,V,W,X,Y,Z)
- template <typename This, typename A0, typename A1,
- typename A2, typename A3,typename A4,
- typename A5, typename A6>
- struct result<This(A0,A1,A2,A3,A4,A5,A6)>
- : detail::expression::function_eval<F,
- typename boost::remove_reference<A0>::type,
- typename boost::remove_reference<A1>::type,
- typename boost::remove_reference<A2>::type,
- typename boost::remove_reference<A3>::type,
- typename boost::remove_reference<A4>::type,
- typename boost::remove_reference<A5>::type,
- typename boost::remove_reference<A6>::type>
- {};
-#else
- // TODO:
-#endif
-
- F f;
- };
-}
-
- template<typename F>
- struct result_of<phoenix::function<F>()>
- : phoenix::detail::expression::function_eval<F>
- {};
-
-}
-
-#endif
-
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/comparison.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/comparison.hpp
deleted file mode 100644
index 987c5a795f..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/comparison.hpp
+++ /dev/null
@@ -1,35 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_OPERATOR_COMPARISON_HPP
-#define BOOST_PHOENIX_OPERATOR_COMPARISON_HPP
-
-#include <boost/phoenix/operator/detail/define_operator.hpp>
-#include <boost/phoenix/core/expression.hpp>
-#include <boost/proto/operators.hpp>
-
-namespace boost { namespace phoenix
-{
- BOOST_PHOENIX_BINARY_OPERATORS(
- (equal_to)
- (not_equal_to)
- (less_equal)
- (greater_equal)
- (less)
- (greater)
- )
- using proto::exprns_::operator==;
- using proto::exprns_::operator!=;
- using proto::exprns_::operator<=;
- using proto::exprns_::operator>=;
- using proto::exprns_::operator<;
- using proto::exprns_::operator>;
-}}
-
-#include <boost/phoenix/operator/detail/undef_operator.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/detail/define_operator.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/detail/define_operator.hpp
deleted file mode 100644
index 3de63b8e48..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/detail/define_operator.hpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_DEFINE_OPERATOR_HPP
-#define BOOST_PHOENIX_DEFINE_OPERATOR_HPP
-
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/preprocessor/seq/for_each.hpp>
-
-#define BOOST_PHOENIX_UNARY_EXPRESSION(__, ___, name) \
- template <typename Operand> \
- struct name \
- : expr<proto::tag::name, Operand> \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_UNARY_RULE(__, ___, name) \
- struct name \
- : expression::name<meta_grammar> \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_UNARY_FUNCTIONAL(__, ___, name) \
- namespace functional \
- { \
- typedef \
- proto::functional::make_expr<proto::tag::name> \
- BOOST_PP_CAT(make_, name); \
- } \
- namespace result_of \
- { \
- template <typename Operand> \
- struct BOOST_PP_CAT(make_, name) \
- : boost::result_of< \
- functional:: BOOST_PP_CAT(make_, name)( \
- Operand \
- ) \
- > \
- {}; \
- } \
- template <typename Operand> \
- inline \
- typename result_of::BOOST_PP_CAT(make_, name)<Operand>::type \
- BOOST_PP_CAT(make_, name)(Operand const & operand) \
- { \
- return functional::BOOST_PP_CAT(make_, name)()(operand); \
- } \
-/**/
-
-#define BOOST_PHOENIX_BINARY_EXPRESSION(__, ___, name) \
- template <typename Lhs, typename Rhs> \
- struct name \
- : expr<proto::tag::name, Lhs, Rhs> \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_BINARY_RULE(__, ___, name) \
- struct name \
- : expression::name<meta_grammar, meta_grammar> \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_BINARY_FUNCTIONAL(__, ___, name) \
- namespace functional \
- { \
- typedef \
- proto::functional::make_expr<proto::tag::name> \
- BOOST_PP_CAT(make_, name); \
- } \
- namespace result_of \
- { \
- template <typename Lhs, typename Rhs> \
- struct BOOST_PP_CAT(make_, name) \
- : boost::result_of< \
- functional:: BOOST_PP_CAT(make_, name)( \
- Lhs, Rhs \
- ) \
- > \
- {}; \
- } \
- template <typename Rhs, typename Lhs> \
- inline \
- typename result_of::BOOST_PP_CAT(make_, name)<Rhs, Lhs>::type \
- BOOST_PP_CAT(make_, name)(Lhs const & lhs, Rhs const & rhs) \
- { \
- return functional::BOOST_PP_CAT(make_, name)()(lhs, rhs); \
- } \
-/**/
-
-#define BOOST_PHOENIX_GRAMMAR(_, __, name) \
- template <typename Dummy> \
- struct meta_grammar::case_<proto::tag::name, Dummy> \
- : enable_rule<rule::name, Dummy> \
- {}; \
-/**/
-
-#define BOOST_PHOENIX_UNARY_OPERATORS(ops) \
- namespace expression { \
- BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_UNARY_EXPRESSION, _, ops) \
- } \
- namespace rule { \
- BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_UNARY_RULE, _, ops) \
- } \
- BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_GRAMMAR, _, ops) \
- BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_UNARY_FUNCTIONAL, _, ops) \
-/**/
-
-
-#define BOOST_PHOENIX_BINARY_OPERATORS(ops) \
- namespace expression { \
- BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_BINARY_EXPRESSION, _, ops) \
- } \
- namespace rule { \
- BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_BINARY_RULE, _, ops) \
- } \
- BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_GRAMMAR, _, ops) \
- BOOST_PP_SEQ_FOR_EACH(BOOST_PHOENIX_BINARY_FUNCTIONAL, _, ops) \
-/**/
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/detail/undef_operator.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/detail/undef_operator.hpp
deleted file mode 100644
index 5068990a41..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/detail/undef_operator.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*==============================================================================
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#undef BOOST_PHOENIX_UNARY_RULE
-#undef BOOST_PHOENIX_UNARY_FUNCTIONAL
-#undef BOOST_PHOENIX_BINARY_RULE
-#undef BOOST_PHOENIX_BINARY_FUNCTIONAL
-#undef BOOST_PHOENIX_UNARY_EXPRESSION
-#undef BOOST_PHOENIX_BINARY_EXPRESSION
-#undef BOOST_PHOENIX_GRAMMAR
-#undef BOOST_PHOENIX_UNARY_OPERATORS
-#undef BOOST_PHOENIX_BINARY_OPERATORS
-#undef BOOST_PHOENIX_DEFINE_OPERATOR_HPP
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/logical.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/logical.hpp
deleted file mode 100644
index 0f6d07714e..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/operator/logical.hpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_OPERATOR_LOGICAL_HPP
-#define BOOST_PHOENIX_OPERATOR_LOGICAL_HPP
-
-#include <boost/phoenix/operator/detail/define_operator.hpp>
-#include <boost/phoenix/core/expression.hpp>
-#include <boost/proto/operators.hpp>
-
-namespace boost { namespace phoenix
-{
-
- BOOST_PHOENIX_UNARY_OPERATORS(
- (logical_not)
- )
- BOOST_PHOENIX_BINARY_OPERATORS(
- (logical_and)
- (logical_or)
- )
-
- using proto::exprns_::operator!;
- using proto::exprns_::operator&&;
- using proto::exprns_::operator||;
-}}
-
-#include <boost/phoenix/operator/detail/undef_operator.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/scope/detail/local_variable.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/scope/detail/local_variable.hpp
deleted file mode 100644
index 3d8abf03ef..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/scope/detail/local_variable.hpp
+++ /dev/null
@@ -1,232 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2004 Daniel Wallin
- Copyright (c) 2011 Thomas Heller
-
- Distributed under the 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 PHOENIX_SCOPE_DETAIL_LOCAL_VARIABLE_HPP
-#define PHOENIX_SCOPE_DETAIL_LOCAL_VARIABLE_HPP
-
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/fusion/include/value_at.hpp>
-#include <boost/preprocessor/enum.hpp>
-#include <boost/preprocessor/repeat.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/is_reference.hpp>
-
-#define BOOST_PHOENIX_MAP_LOCAL_TEMPLATE_PARAM(z, n, data) \
- typename T##n = unused<n>
-
-#define BOOST_PHOENIX_MAP_LOCAL_DISPATCH(z, n, data) \
- typedef char(&result##n)[n+2]; \
- static result##n get(T##n*);
-
-namespace boost { namespace phoenix
-{
- template <typename Env, typename OuterEnv, typename Locals, typename Map>
- struct scoped_environment;
-
- namespace detail
- {
- template <typename Key>
- struct local
- {
- typedef Key key_type;
- };
-
- namespace result_of
- {
- template <typename Locals, typename Context>
- struct initialize_locals;
-
- template <typename Context>
- struct initialize_locals<vector0<>, Context>
- {
- typedef vector0<> type;
- };
-
- #define M1(Z, N, D) \
- typename boost::phoenix::result_of::eval< \
- BOOST_PP_CAT(A, N) \
- , Context \
- >::type \
- /**/
-
- #define M0(Z, N, D) \
- template <BOOST_PHOENIX_typename_A(N), typename Context> \
- struct initialize_locals< \
- BOOST_PP_CAT(vector, N)< \
- BOOST_PHOENIX_A(N) \
- > \
- , Context \
- > \
- { \
- typedef \
- BOOST_PP_CAT(vector, N)< \
- BOOST_PP_ENUM(N, M1, _) \
- > \
- type; \
- }; \
- /**/
- BOOST_PP_REPEAT_FROM_TO(1, BOOST_PHOENIX_LIMIT, M0, _)
- #undef M0
- }
-
- template <typename Context>
- vector0<>
- initialize_locals(vector0<> const &, Context const &)
- {
- vector0<> vars;
- return vars;
- }
- #define M2(Z, N, D) \
- eval(locals. BOOST_PP_CAT(a, N), ctx) \
- /**/
-
- #define M0(Z, N, D) \
- template <BOOST_PHOENIX_typename_A(N), typename Context> \
- BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM(N, M1, _)> \
- initialize_locals( \
- BOOST_PP_CAT(vector, N)<BOOST_PHOENIX_A(N)> const & locals \
- , Context const & ctx \
- ) \
- { \
- BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM(N, M1, _)> vars \
- = {BOOST_PP_ENUM(N, M2, _)}; \
- return vars; \
- } \
- /**/
- BOOST_PP_REPEAT_FROM_TO(1, BOOST_PHOENIX_LIMIT, M0, _)
- #undef M0
- #undef M1
- #undef M2
-
- template <int N>
- struct unused;
-
- template <
- BOOST_PP_ENUM(
- BOOST_PHOENIX_LOCAL_LIMIT
- , BOOST_PHOENIX_MAP_LOCAL_TEMPLATE_PARAM
- , _
- )
- >
- struct map_local_index_to_tuple
- {
- typedef char(&not_found)[1];
- static not_found get(...);
-
- BOOST_PP_REPEAT(BOOST_PHOENIX_LOCAL_LIMIT, BOOST_PHOENIX_MAP_LOCAL_DISPATCH, _)
- };
-
- template<typename T>
- T* generate_pointer();
-
- template <typename Map, typename Tag>
- struct get_index
- {
- BOOST_STATIC_CONSTANT(int,
- value = (
- static_cast<int>((sizeof(Map::get(generate_pointer<Tag>()))) / sizeof(char)) - 2
- ));
-
- // if value == -1, Tag is not found
- typedef mpl::int_<value> type;
- };
-
-
- template <typename Local, typename Env>
- struct apply_local;
-
- template <typename Local, typename Env>
- struct outer_local
- {
- typedef typename
- apply_local<Local, typename Env::outer_env_type>::type
- type;
- };
-
- template <typename Locals, int Index>
- struct get_local_or_void
- {
- typedef typename
- mpl::eval_if_c<
- Index < Locals::size_value
- , fusion::result_of::at_c<Locals, Index>
- , mpl::identity<fusion::void_>
- >::type
- type;
- };
-
- template <typename Local, typename Env, int Index>
- struct get_local_from_index
- {
- typedef typename
- mpl::eval_if_c<
- Index == -1
- , outer_local<Local, Env>
- , get_local_or_void<typename Env::locals_type, Index>
- >::type
- type;
- };
-
- template <typename Local, typename Env>
- struct get_local
- {
- static const int index_value = get_index<typename Env::map_type, Local>::value;
-
- typedef typename
- get_local_from_index<Local, Env, index_value>::type
- type;
- };
-
- template <typename Local, typename Env>
- struct apply_local
- {
- // $$$ TODO: static assert that Env is a scoped_environment $$$
- typedef typename get_local<Local, Env>::type type;
- };
-
- template <typename Key>
- struct eval_local
- {
- template <typename RT, int Index, typename Env>
- static RT
- get(Env const& env, mpl::false_)
- {
- return RT(fusion::at_c<Index>(env.locals));
- }
-
- template <typename RT, int Index, typename Env>
- static RT
- get(Env const& env, mpl::true_)
- {
- static const int index_value = get_index<typename Env::outer_env_type::map_type, detail::local<Key> >::value;
-
- return get<RT, index_value>(
- env.outer_env
- , mpl::bool_<index_value == -1>());
- }
-
- template <typename RT, int Index, typename Env>
- static RT
- get(Env const& env)
- {
- return get<RT, Index>(
- env
- , mpl::bool_<Index == -1>());
- }
- };
- }
-}}
-
-#undef BOOST_PHOENIX_MAP_LOCAL_TEMPLATE_PARAM
-#undef BOOST_PHOENIX_MAP_LOCAL_DISPATCH
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/scope/local_variable.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/scope/local_variable.hpp
deleted file mode 100644
index bd5511bd00..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/scope/local_variable.hpp
+++ /dev/null
@@ -1,194 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010-2011 Thomas Heller
-
- Distributed under the 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_PHOENIX_SCOPE_LOCAL_VARIABLE_HPP
-#define BOOST_PHOENIX_SCOPE_LOCAL_VARIABLE_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/core/call.hpp>
-#include <boost/phoenix/core/expression.hpp>
-#include <boost/phoenix/core/reference.hpp>
-#include <boost/phoenix/core/value.hpp>
-#include <boost/phoenix/scope/scoped_environment.hpp>
-#include <boost/phoenix/scope/detail/local_variable.hpp>
-#include <boost/phoenix/statement/sequence.hpp>
-
-namespace boost { namespace phoenix
-{
- namespace expression
- {
- template <typename Key>
- struct local_variable
- : expression::terminal<detail::local<Key> >
- {
- typedef typename expression::terminal<detail::local<Key> >::type type;
-
- static type make()
- {
- type const e = {};
- return e;
- }
- };
- }
-
- namespace rule
- {
- struct local_variable
- : expression::local_variable<proto::_>
- {};
-
- struct local_var_def
- : proto::assign<local_variable, meta_grammar>
- {};
- }
-
- namespace result_of
- {
- template <typename Key>
- struct is_nullary<custom_terminal<detail::local<Key> > >
- : mpl::false_
- {};
- }
-
- namespace detail
- {
- struct scope_is_nullary_actions
- {
- template <typename Rule, typename Dummy = void>
- struct when
- : boost::phoenix::is_nullary::when<Rule, Dummy>
- {};
- };
-
- template <typename Dummy>
- struct scope_is_nullary_actions::when<boost::phoenix::rule::custom_terminal, Dummy>
- : proto::or_<
- proto::when<boost::phoenix::rule::local_variable, mpl::true_()>
- , proto::otherwise<
- is_nullary::when<boost::phoenix::rule::custom_terminal, Dummy>
- >
- >
- {};
-
- struct local_var_not_found
- {
- };
- }
-
- template<typename Key>
- struct is_custom_terminal<detail::local<Key> >
- : mpl::true_
- {};
-
- template <typename Key>
- struct custom_terminal<detail::local<Key> >
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Local, typename Context>
- struct result<This(Local, Context)>
- : result<This(Local const &, Context)>
- {};
-
- template <typename This, typename Local, typename Context>
- struct result<This(Local &, Context)>
- {
- typedef
- typename remove_reference<
- typename result_of::env<Context>::type
- >::type
- env_type;
-
- typedef typename detail::apply_local<detail::local<Key>, env_type>::type type;
- };
-
- template <typename Local, typename Context>
- typename result<custom_terminal(Local const &, Context const&)>::type
- operator()(Local, Context const & ctx)
- {
- typedef
- typename remove_reference<
- typename result_of::env<Context>::type
- >::type
- env_type;
-
- typedef typename detail::apply_local<detail::local<Key>, env_type>::type return_type;
-
- static const int index_value = detail::get_index<typename env_type::map_type, detail::local<Key> >::value;
-
- typedef detail::eval_local<Key> eval_local;
-
- // Detect if the return_type is for a value.
- //typedef typename is_value<return_type>::type is_value_type;
-
- return eval_local::template get<return_type, index_value>(
- phoenix::env(ctx));
- }
- };
-
- namespace local_names
- {
- typedef expression::local_variable<struct _a_key>::type _a_type;
- typedef expression::local_variable<struct _b_key>::type _b_type;
- typedef expression::local_variable<struct _c_key>::type _c_type;
- typedef expression::local_variable<struct _d_key>::type _d_type;
- typedef expression::local_variable<struct _e_key>::type _e_type;
- typedef expression::local_variable<struct _f_key>::type _f_type;
- typedef expression::local_variable<struct _g_key>::type _g_type;
- typedef expression::local_variable<struct _h_key>::type _h_type;
- typedef expression::local_variable<struct _i_key>::type _i_type;
- typedef expression::local_variable<struct _j_key>::type _j_type;
- typedef expression::local_variable<struct _k_key>::type _k_type;
- typedef expression::local_variable<struct _l_key>::type _l_type;
- typedef expression::local_variable<struct _m_key>::type _m_type;
- typedef expression::local_variable<struct _n_key>::type _n_type;
- typedef expression::local_variable<struct _o_key>::type _o_type;
- typedef expression::local_variable<struct _p_key>::type _p_type;
- typedef expression::local_variable<struct _q_key>::type _q_type;
- typedef expression::local_variable<struct _r_key>::type _r_type;
- typedef expression::local_variable<struct _s_key>::type _s_type;
- typedef expression::local_variable<struct _t_key>::type _t_type;
- typedef expression::local_variable<struct _u_key>::type _u_type;
- typedef expression::local_variable<struct _v_key>::type _v_type;
- typedef expression::local_variable<struct _w_key>::type _w_type;
- typedef expression::local_variable<struct _x_key>::type _x_type;
- typedef expression::local_variable<struct _y_key>::type _y_type;
- typedef expression::local_variable<struct _z_key>::type _z_type;
-
-#ifndef BOOST_PHOENIX_NO_PREDEFINED_TERMINALS
- BOOST_ATTRIBUTE_UNUSED _a_type const _a = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _b_type const _b = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _c_type const _c = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _d_type const _d = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _e_type const _e = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _f_type const _f = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _g_type const _g = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _h_type const _h = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _i_type const _i = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _j_type const _j = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _k_type const _k = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _l_type const _l = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _m_type const _m = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _n_type const _n = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _o_type const _o = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _p_type const _p = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _q_type const _q = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _r_type const _r = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _s_type const _s = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _t_type const _t = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _u_type const _u = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _v_type const _v = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _w_type const _w = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _x_type const _x = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _y_type const _y = {{{}}};
- BOOST_ATTRIBUTE_UNUSED _z_type const _z = {{{}}};
-#endif
- }
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/scope/scoped_environment.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/scope/scoped_environment.hpp
deleted file mode 100644
index 470220ed3b..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/scope/scoped_environment.hpp
+++ /dev/null
@@ -1,178 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_SCOPE_SCOPED_ENVIRONMENT_HPP
-#define BOOST_PHOENIX_SCOPE_SCOPED_ENVIRONMENT_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/fusion/sequence/sequence_facade.hpp>
-#include <boost/fusion/sequence/intrinsic/begin.hpp>
-#include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/intrinsic/value_at.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/fusion/support/category_of.hpp>
-#include <boost/fusion/include/pop_front.hpp>
-#include <boost/utility/result_of.hpp>
-
-namespace boost { namespace phoenix
-{
- template<typename Env, typename OuterEnv, typename Locals, typename Map>
- struct scoped_environment
- : fusion::sequence_facade<
- scoped_environment<Env, OuterEnv, Locals, Map>
- , fusion::random_access_traversal_tag
- >
- {
- typedef Env env_type;
- typedef OuterEnv outer_env_type;
- typedef Locals locals_type;
- typedef Map map_type;
-
- scoped_environment(
- Env const & env_
- , OuterEnv const &outer_env_
- , Locals const &locals_
- )
- : env(env_)
- , outer_env(outer_env_)
- , locals(locals_)
- {}
-
- scoped_environment(scoped_environment const & o)
- : env(o.env)
- , outer_env(o.outer_env)
- , locals(o.locals)
- {}
-
- Env const & env;
- OuterEnv const & outer_env;
- Locals const & locals;
-
- typedef typename
- fusion::result_of::pop_front<
- typename add_const<
- typename proto::detail::uncvref<Env>::type
- >::type
- >::type
- args_type;
-
- args_type args() const
- {
- return fusion::pop_front(env);
- }
-
- #define BOOST_PHOENIX_ADAPT_SCOPED_ENVIRONMENT(INTRINSIC) \
- template <typename Seq> \
- struct INTRINSIC \
- { \
- typedef \
- typename fusion::result_of::INTRINSIC< \
- typename mpl::eval_if_c< \
- is_const< \
- typename remove_reference< \
- typename Seq::env_type \
- >::type \
- >::value \
- , add_const< \
- typename proto::detail::uncvref< \
- typename Seq::env_type \
- >::type \
- > \
- , proto::detail::uncvref< \
- typename Seq::env_type \
- > \
- >::type \
- >::type \
- type; \
- \
- static type call(Seq & seq) \
- { \
- return fusion::INTRINSIC(seq.env); \
- } \
- } \
- /**/
- BOOST_PHOENIX_ADAPT_SCOPED_ENVIRONMENT(begin);
- BOOST_PHOENIX_ADAPT_SCOPED_ENVIRONMENT(end);
- BOOST_PHOENIX_ADAPT_SCOPED_ENVIRONMENT(size);
- #undef BOOST_PHOENIX_ADAPT_SCOPED_ENVIRONMENT
-
- template <typename Seq, typename N>
- struct value_at
- {
- typedef
- typename fusion::result_of::value_at<
- typename mpl::eval_if_c<
- is_const<
- typename remove_reference<
- typename Seq::env_type
- >::type
- >::value
- , add_const<
- typename proto::detail::uncvref<
- typename Seq::env_type
- >::type
- >
- , proto::detail::uncvref<
- typename Seq::env_type
- >
- >::type
- , N
- >::type
- type;
- };
-
- template <typename Seq, typename N>
- struct at
- {
- typedef
- typename fusion::result_of::at<
- typename mpl::eval_if_c<
- is_const<
- typename remove_reference<
- typename Seq::env_type
- >::type
- >::value
- , add_const<
- typename proto::detail::uncvref<
- typename Seq::env_type
- >::type
- >
- , proto::detail::uncvref<
- typename Seq::env_type
- >
- >::type
- , N
- >::type
- type;
-
- static type call(Seq & seq)
- {
- return fusion::at<N>(seq.env);
- }
- };
- };
-
- template <typename Env, typename Dummy = void>
- struct is_scoped_environment : mpl::false_ {};
-
- template <typename Env>
- struct is_scoped_environment<Env&> : is_scoped_environment<Env> {};
-
- template <typename Env, typename OuterEnv, typename Locals, typename Map>
- struct is_scoped_environment<scoped_environment<Env, OuterEnv, Locals, Map> >
- : mpl::true_
- {};
-
- template <typename Env, typename OuterEnv, typename Locals, typename Map>
- struct is_scoped_environment<scoped_environment<Env, OuterEnv, Locals, Map> const>
- : mpl::true_
- {};
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/statement/sequence.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/statement/sequence.hpp
deleted file mode 100644
index 56364aeed5..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/statement/sequence.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/*==============================================================================
- Copyright (c) 2001-2010 Joel de Guzman
- Copyright (c) 2010 Eric Niebler
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_STATEMENT_SEQUENCE_HPP
-#define BOOST_PHOENIX_STATEMENT_SEQUENCE_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/core/expression.hpp>
-#include <boost/phoenix/core/meta_grammar.hpp>
-#include <boost/proto/operators.hpp> // Included to solve #5715
-
-namespace boost { namespace phoenix
-{
- namespace expression
- {
- template <typename A0, typename A1>
- struct sequence
- : expr<proto::tag::comma, A0, A1>
- {};
- }
-
- namespace rule
- {
- struct sequence
- : expression::sequence<
- meta_grammar
- , meta_grammar
- >
- {};
- }
-
- template <typename Dummy>
- struct meta_grammar::case_<proto::tag::comma, Dummy>
- : enable_rule<rule::sequence, Dummy>
- {};
-
-}}
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/detail/iterate_define.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/support/detail/iterate_define.hpp
deleted file mode 100644
index f680e0cb4c..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/detail/iterate_define.hpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/*==============================================================================
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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 !BOOST_PHOENIX_IS_ITERATING
-
-#define BOOST_PHOENIX_typename_A(N) \
- BOOST_PP_ENUM_PARAMS(N, typename A) \
-/**/
-
-#define BOOST_PHOENIX_typename_A_void(N) \
- BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N, typename A, void) \
-/**/
-
-#define BOOST_PHOENIX_A(N) \
- BOOST_PP_ENUM_PARAMS(N, A) \
-/**/
-
-#define BOOST_PHOENIX_A_ref(N) \
- BOOST_PP_ENUM_BINARY_PARAMS(N, A, & BOOST_PP_INTERCEPT) \
-/**/
-
-#define BOOST_PHOENIX_A_const_ref(N) \
- BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& BOOST_PP_INTERCEPT) \
-/**/
-
-#define BOOST_PHOENIX_A_a(N) \
- BOOST_PP_ENUM_BINARY_PARAMS(N, A, a) \
-/**/
-
-#define BOOST_PHOENIX_A_ref_a(N) \
- BOOST_PP_ENUM_BINARY_PARAMS(N, A, & a) \
-/**/
-
-#define BOOST_PHOENIX_A_const_ref_a(N) \
- BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) \
-/**/
-
-#define BOOST_PHOENIX_a(N) \
- BOOST_PP_ENUM_PARAMS(N, a) \
-/**/
-
-#else
-
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-#include <boost/preprocessor/seq/elem.hpp>
-#include <boost/preprocessor/seq/enum.hpp>
-#include <boost/preprocessor/seq/for_each_i.hpp>
-#include <boost/preprocessor/seq/for_each_product.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-
-#define BOOST_PHOENIX_ITERATION \
- BOOST_PP_ITERATION() \
-/**/
-
-#define BOOST_PHOENIX_typename_A \
- BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, typename A) \
-/**/
-
-#define BOOST_PHOENIX_typename_A_void \
- BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_PHOENIX_ITERATION, typename A, void)
-/**/
-
-#define BOOST_PHOENIX_A \
- BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, A) \
-/**/
-
-#define BOOST_PHOENIX_A_ref \
- BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PHOENIX_ITERATION, A, & BOOST_PP_INTERCEPT)\
-/**/
-
-#define BOOST_PHOENIX_A_const_ref \
- BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PHOENIX_ITERATION, A, const& BOOST_PP_INTERCEPT)\
-/**/
-
-#define BOOST_PHOENIX_A_a \
- BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PHOENIX_ITERATION, A, a) \
-/**/
-
-#define BOOST_PHOENIX_A_ref_a \
- BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PHOENIX_ITERATION, A, & a) \
-/**/
-
-#define BOOST_PHOENIX_A_const_ref_a \
- BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PHOENIX_ITERATION, A, const& a) \
-/**/
-
-#define BOOST_PHOENIX_a \
- BOOST_PP_ENUM_PARAMS(BOOST_PHOENIX_ITERATION, a) \
-/**/
-
- /////////////////////////////////////////////////////////////////////////////
- // Begin Perfect Forward argument permutation calculation
- /////////////////////////////////////////////////////////////////////////////
-#define BOOST_PHOENIX_M0_R(_, N, __) \
- (((A ## N)(&))((A ## N)(const&))) \
-/**/
-
-#define BOOST_PHOENIX_M0 \
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, BOOST_PHOENIX_M0_R, _) \
-/**/
-
-#define BOOST_PHOENIX_M1_R_R(_, N, SEQ) \
- BOOST_PP_SEQ_ELEM(N, SEQ) \
-/**/
-
-#define BOOST_PHOENIX_M1_R(R, __, ___, ELEM) \
- (BOOST_PP_REPEAT(BOOST_PP_SEQ_SIZE(ELEM), BOOST_PHOENIX_M1_R_R, ELEM)) \
-/**/
-
-#define BOOST_PHOENIX_M1(R, PRODUCT) \
- ((BOOST_PP_SEQ_ENUM \
- (BOOST_PP_SEQ_FOR_EACH_I_R \
- (R, BOOST_PHOENIX_M1_R, _, PRODUCT)))) \
-/**/
-
-#define BOOST_PHOENIX_PERM_SEQ \
- BOOST_PP_SEQ_FOR_EACH_PRODUCT(BOOST_PHOENIX_M1, BOOST_PHOENIX_M0) \
-/**/
- ////////////////////////////////////////////////////////////////////////////
- // End
- ////////////////////////////////////////////////////////////////////////////
-
-#define BOOST_PHOENIX_PERM_SIZE \
- BOOST_PP_SEQ_SIZE(BOOST_PHOENIX_PERM_SEQ) \
-/**/
-
-#define BOOST_PHOENIX_M2(_, N, TUPLE) \
- BOOST_PP_COMMA_IF(N) BOOST_PP_TUPLE_ELEM(BOOST_PHOENIX_ITERATION, N, TUPLE) \
-/**/
-
-#define BOOST_PHOENIX_M3(_, N, TUPLE) \
- BOOST_PP_COMMA_IF(N) BOOST_PP_TUPLE_ELEM(BOOST_PHOENIX_ITERATION, N, TUPLE) a ## N\
-/**/
-
-#define BOOST_PHOENIX_PERM_ELEM(N) \
- BOOST_PP_SEQ_ELEM(N, BOOST_PHOENIX_PERM_SEQ) \
-/**/
-
-#define BOOST_PHOENIX_PERM_A(N) \
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, BOOST_PHOENIX_M2, BOOST_PHOENIX_PERM_ELEM(N))\
-/**/
-
-#define BOOST_PHOENIX_PERM_A_a(N) \
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, BOOST_PHOENIX_M3, BOOST_PHOENIX_PERM_ELEM(N))\
-/**/
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/iterate.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/support/iterate.hpp
deleted file mode 100644
index 26ec7e4a08..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/iterate.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-/*==============================================================================
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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_PHOENIX_SUPPORT_ITERATE_HPP
-#define BOOST_PHOENIX_SUPPORT_ITERATE_HPP
-
-#include <boost/preprocessor/iteration/iterate.hpp>
-
-#define BOOST_PHOENIX_IS_ITERATING 0
-
-#define BOOST_PHOENIX_ITERATE() \
- <boost/phoenix/support/detail/iterate.hpp>
-
-#include <boost/phoenix/support/detail/iterate_define.hpp>
-
-#endif
-
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector.hpp
deleted file mode 100644
index 78b68cf692..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 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)
-==============================================================================*/
-
-#if !defined(BOOST_PHOENIX_PREPROCESSED_SUPPORT_VECTOR_HPP)
-#define BOOST_PHOENIX_PREPROCESSED_SUPPORT_VECTOR_HPP
-
-#if BOOST_PHOENIX_LIMIT <= 10
-#include <boost/phoenix/support/preprocessed/vector_10.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 20
-#include <boost/phoenix/support/preprocessed/vector_20.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 30
-#include <boost/phoenix/support/preprocessed/vector_30.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 40
-#include <boost/phoenix/support/preprocessed/vector_40.hpp>
-#elif BOOST_PHOENIX_LIMIT <= 50
-#include <boost/phoenix/support/preprocessed/vector_50.hpp>
-#else
-#error "BOOST_PHOENIX_LIMIT out of bounds for preprocessed headers"
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_10.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_10.hpp
deleted file mode 100644
index 57c8a1fb63..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_10.hpp
+++ /dev/null
@@ -1,466 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-namespace boost { namespace phoenix
-{
- template <typename Dummy = void>
- struct vector0
- {
- typedef mpl::int_<0> size_type;
- static const int size_value = 0;
- };
- template <int> struct vector_chooser;
- template <>
- struct vector_chooser<0>
- {
- template <typename Dummy = void>
- struct apply
- {
- typedef vector0<> type;
- };
- };
-}}
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0>
- struct vector1
- {
- typedef A0 member_type0; A0 a0;
-
- typedef mpl::int_<1> size_type;
- static const int size_value = 1;
- typedef
- vector0<>
- args_type;
- args_type args() const
- {
- args_type r = {};
- return r;
- }
- };
- template <>
- struct vector_chooser<1>
- {
- template <typename A0>
- struct apply
- {
- typedef vector1<A0> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0)
- , ( boost::phoenix::vector1 ) (A0)
- , (A0, a0)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1>
- struct vector2
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1;
-
- typedef mpl::int_<2> size_type;
- static const int size_value = 2;
- typedef
- vector1<A1>
- args_type;
- args_type args() const
- {
- args_type r = {a1};
- return r;
- }
- };
- template <>
- struct vector_chooser<2>
- {
- template <typename A0 , typename A1>
- struct apply
- {
- typedef vector2<A0 , A1> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1)
- , ( boost::phoenix::vector2 ) (A0) (A1)
- , (A0, a0) (A1, a1)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2>
- struct vector3
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2;
-
- typedef mpl::int_<3> size_type;
- static const int size_value = 3;
- typedef
- vector2<A1 , A2>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2};
- return r;
- }
- };
- template <>
- struct vector_chooser<3>
- {
- template <typename A0 , typename A1 , typename A2>
- struct apply
- {
- typedef vector3<A0 , A1 , A2> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2)
- , ( boost::phoenix::vector3 ) (A0) (A1) (A2)
- , (A0, a0) (A1, a1) (A2, a2)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3>
- struct vector4
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3;
-
- typedef mpl::int_<4> size_type;
- static const int size_value = 4;
- typedef
- vector3<A1 , A2 , A3>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3};
- return r;
- }
- };
- template <>
- struct vector_chooser<4>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3>
- struct apply
- {
- typedef vector4<A0 , A1 , A2 , A3> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3)
- , ( boost::phoenix::vector4 ) (A0) (A1) (A2) (A3)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct vector5
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4;
-
- typedef mpl::int_<5> size_type;
- static const int size_value = 5;
- typedef
- vector4<A1 , A2 , A3 , A4>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4};
- return r;
- }
- };
- template <>
- struct vector_chooser<5>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct apply
- {
- typedef vector5<A0 , A1 , A2 , A3 , A4> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4)
- , ( boost::phoenix::vector5 ) (A0) (A1) (A2) (A3) (A4)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct vector6
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5;
-
- typedef mpl::int_<6> size_type;
- static const int size_value = 6;
- typedef
- vector5<A1 , A2 , A3 , A4 , A5>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5};
- return r;
- }
- };
- template <>
- struct vector_chooser<6>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct apply
- {
- typedef vector6<A0 , A1 , A2 , A3 , A4 , A5> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5)
- , ( boost::phoenix::vector6 ) (A0) (A1) (A2) (A3) (A4) (A5)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct vector7
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6;
-
- typedef mpl::int_<7> size_type;
- static const int size_value = 7;
- typedef
- vector6<A1 , A2 , A3 , A4 , A5 , A6>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6};
- return r;
- }
- };
- template <>
- struct vector_chooser<7>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct apply
- {
- typedef vector7<A0 , A1 , A2 , A3 , A4 , A5 , A6> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6)
- , ( boost::phoenix::vector7 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct vector8
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7;
-
- typedef mpl::int_<8> size_type;
- static const int size_value = 8;
- typedef
- vector7<A1 , A2 , A3 , A4 , A5 , A6 , A7>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7};
- return r;
- }
- };
- template <>
- struct vector_chooser<8>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct apply
- {
- typedef vector8<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
- , ( boost::phoenix::vector8 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct vector9
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8;
-
- typedef mpl::int_<9> size_type;
- static const int size_value = 9;
- typedef
- vector8<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
- return r;
- }
- };
- template <>
- struct vector_chooser<9>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct apply
- {
- typedef vector9<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
- , ( boost::phoenix::vector9 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct vector10
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9;
-
- typedef mpl::int_<10> size_type;
- static const int size_value = 10;
- typedef
- vector9<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
- return r;
- }
- };
- template <>
- struct vector_chooser<10>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct apply
- {
- typedef vector10<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
- , ( boost::phoenix::vector10 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct vector11
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10;
-
- typedef mpl::int_<11> size_type;
- static const int size_value = 11;
- typedef
- vector10<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
- return r;
- }
- };
- template <>
- struct vector_chooser<11>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct apply
- {
- typedef vector11<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
- , ( boost::phoenix::vector11 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10)
-)
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_20.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_20.hpp
deleted file mode 100644
index 8b118d5923..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_20.hpp
+++ /dev/null
@@ -1,866 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-namespace boost { namespace phoenix
-{
- template <typename Dummy = void>
- struct vector0
- {
- typedef mpl::int_<0> size_type;
- static const int size_value = 0;
- };
- template <int> struct vector_chooser;
- template <>
- struct vector_chooser<0>
- {
- template <typename Dummy = void>
- struct apply
- {
- typedef vector0<> type;
- };
- };
-}}
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0>
- struct vector1
- {
- typedef A0 member_type0; A0 a0;
-
- typedef mpl::int_<1> size_type;
- static const int size_value = 1;
- typedef
- vector0<>
- args_type;
- args_type args() const
- {
- args_type r = {};
- return r;
- }
- };
- template <>
- struct vector_chooser<1>
- {
- template <typename A0>
- struct apply
- {
- typedef vector1<A0> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0)
- , ( boost::phoenix::vector1 ) (A0)
- , (A0, a0)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1>
- struct vector2
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1;
-
- typedef mpl::int_<2> size_type;
- static const int size_value = 2;
- typedef
- vector1<A1>
- args_type;
- args_type args() const
- {
- args_type r = {a1};
- return r;
- }
- };
- template <>
- struct vector_chooser<2>
- {
- template <typename A0 , typename A1>
- struct apply
- {
- typedef vector2<A0 , A1> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1)
- , ( boost::phoenix::vector2 ) (A0) (A1)
- , (A0, a0) (A1, a1)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2>
- struct vector3
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2;
-
- typedef mpl::int_<3> size_type;
- static const int size_value = 3;
- typedef
- vector2<A1 , A2>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2};
- return r;
- }
- };
- template <>
- struct vector_chooser<3>
- {
- template <typename A0 , typename A1 , typename A2>
- struct apply
- {
- typedef vector3<A0 , A1 , A2> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2)
- , ( boost::phoenix::vector3 ) (A0) (A1) (A2)
- , (A0, a0) (A1, a1) (A2, a2)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3>
- struct vector4
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3;
-
- typedef mpl::int_<4> size_type;
- static const int size_value = 4;
- typedef
- vector3<A1 , A2 , A3>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3};
- return r;
- }
- };
- template <>
- struct vector_chooser<4>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3>
- struct apply
- {
- typedef vector4<A0 , A1 , A2 , A3> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3)
- , ( boost::phoenix::vector4 ) (A0) (A1) (A2) (A3)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct vector5
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4;
-
- typedef mpl::int_<5> size_type;
- static const int size_value = 5;
- typedef
- vector4<A1 , A2 , A3 , A4>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4};
- return r;
- }
- };
- template <>
- struct vector_chooser<5>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct apply
- {
- typedef vector5<A0 , A1 , A2 , A3 , A4> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4)
- , ( boost::phoenix::vector5 ) (A0) (A1) (A2) (A3) (A4)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct vector6
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5;
-
- typedef mpl::int_<6> size_type;
- static const int size_value = 6;
- typedef
- vector5<A1 , A2 , A3 , A4 , A5>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5};
- return r;
- }
- };
- template <>
- struct vector_chooser<6>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct apply
- {
- typedef vector6<A0 , A1 , A2 , A3 , A4 , A5> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5)
- , ( boost::phoenix::vector6 ) (A0) (A1) (A2) (A3) (A4) (A5)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct vector7
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6;
-
- typedef mpl::int_<7> size_type;
- static const int size_value = 7;
- typedef
- vector6<A1 , A2 , A3 , A4 , A5 , A6>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6};
- return r;
- }
- };
- template <>
- struct vector_chooser<7>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct apply
- {
- typedef vector7<A0 , A1 , A2 , A3 , A4 , A5 , A6> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6)
- , ( boost::phoenix::vector7 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct vector8
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7;
-
- typedef mpl::int_<8> size_type;
- static const int size_value = 8;
- typedef
- vector7<A1 , A2 , A3 , A4 , A5 , A6 , A7>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7};
- return r;
- }
- };
- template <>
- struct vector_chooser<8>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct apply
- {
- typedef vector8<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
- , ( boost::phoenix::vector8 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct vector9
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8;
-
- typedef mpl::int_<9> size_type;
- static const int size_value = 9;
- typedef
- vector8<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
- return r;
- }
- };
- template <>
- struct vector_chooser<9>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct apply
- {
- typedef vector9<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
- , ( boost::phoenix::vector9 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct vector10
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9;
-
- typedef mpl::int_<10> size_type;
- static const int size_value = 10;
- typedef
- vector9<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
- return r;
- }
- };
- template <>
- struct vector_chooser<10>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct apply
- {
- typedef vector10<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
- , ( boost::phoenix::vector10 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct vector11
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10;
-
- typedef mpl::int_<11> size_type;
- static const int size_value = 11;
- typedef
- vector10<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
- return r;
- }
- };
- template <>
- struct vector_chooser<11>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct apply
- {
- typedef vector11<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
- , ( boost::phoenix::vector11 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct vector12
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11;
-
- typedef mpl::int_<12> size_type;
- static const int size_value = 12;
- typedef
- vector11<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
- return r;
- }
- };
- template <>
- struct vector_chooser<12>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct apply
- {
- typedef vector12<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11)
- , ( boost::phoenix::vector12 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct vector13
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12;
-
- typedef mpl::int_<13> size_type;
- static const int size_value = 13;
- typedef
- vector12<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
- return r;
- }
- };
- template <>
- struct vector_chooser<13>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct apply
- {
- typedef vector13<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12)
- , ( boost::phoenix::vector13 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct vector14
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13;
-
- typedef mpl::int_<14> size_type;
- static const int size_value = 14;
- typedef
- vector13<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
- return r;
- }
- };
- template <>
- struct vector_chooser<14>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct apply
- {
- typedef vector14<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13)
- , ( boost::phoenix::vector14 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct vector15
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14;
-
- typedef mpl::int_<15> size_type;
- static const int size_value = 15;
- typedef
- vector14<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
- return r;
- }
- };
- template <>
- struct vector_chooser<15>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct apply
- {
- typedef vector15<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14)
- , ( boost::phoenix::vector15 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct vector16
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15;
-
- typedef mpl::int_<16> size_type;
- static const int size_value = 16;
- typedef
- vector15<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
- return r;
- }
- };
- template <>
- struct vector_chooser<16>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct apply
- {
- typedef vector16<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15)
- , ( boost::phoenix::vector16 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct vector17
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16;
-
- typedef mpl::int_<17> size_type;
- static const int size_value = 17;
- typedef
- vector16<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
- return r;
- }
- };
- template <>
- struct vector_chooser<17>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct apply
- {
- typedef vector17<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16)
- , ( boost::phoenix::vector17 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct vector18
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17;
-
- typedef mpl::int_<18> size_type;
- static const int size_value = 18;
- typedef
- vector17<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
- return r;
- }
- };
- template <>
- struct vector_chooser<18>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct apply
- {
- typedef vector18<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17)
- , ( boost::phoenix::vector18 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct vector19
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18;
-
- typedef mpl::int_<19> size_type;
- static const int size_value = 19;
- typedef
- vector18<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
- return r;
- }
- };
- template <>
- struct vector_chooser<19>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct apply
- {
- typedef vector19<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18)
- , ( boost::phoenix::vector19 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct vector20
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19;
-
- typedef mpl::int_<20> size_type;
- static const int size_value = 20;
- typedef
- vector19<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
- return r;
- }
- };
- template <>
- struct vector_chooser<20>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct apply
- {
- typedef vector20<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19)
- , ( boost::phoenix::vector20 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct vector21
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20;
-
- typedef mpl::int_<21> size_type;
- static const int size_value = 21;
- typedef
- vector20<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
- return r;
- }
- };
- template <>
- struct vector_chooser<21>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct apply
- {
- typedef vector21<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20)
- , ( boost::phoenix::vector21 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20)
-)
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_30.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_30.hpp
deleted file mode 100644
index b1aa2502b3..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_30.hpp
+++ /dev/null
@@ -1,1266 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-namespace boost { namespace phoenix
-{
- template <typename Dummy = void>
- struct vector0
- {
- typedef mpl::int_<0> size_type;
- static const int size_value = 0;
- };
- template <int> struct vector_chooser;
- template <>
- struct vector_chooser<0>
- {
- template <typename Dummy = void>
- struct apply
- {
- typedef vector0<> type;
- };
- };
-}}
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0>
- struct vector1
- {
- typedef A0 member_type0; A0 a0;
-
- typedef mpl::int_<1> size_type;
- static const int size_value = 1;
- typedef
- vector0<>
- args_type;
- args_type args() const
- {
- args_type r = {};
- return r;
- }
- };
- template <>
- struct vector_chooser<1>
- {
- template <typename A0>
- struct apply
- {
- typedef vector1<A0> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0)
- , ( boost::phoenix::vector1 ) (A0)
- , (A0, a0)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1>
- struct vector2
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1;
-
- typedef mpl::int_<2> size_type;
- static const int size_value = 2;
- typedef
- vector1<A1>
- args_type;
- args_type args() const
- {
- args_type r = {a1};
- return r;
- }
- };
- template <>
- struct vector_chooser<2>
- {
- template <typename A0 , typename A1>
- struct apply
- {
- typedef vector2<A0 , A1> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1)
- , ( boost::phoenix::vector2 ) (A0) (A1)
- , (A0, a0) (A1, a1)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2>
- struct vector3
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2;
-
- typedef mpl::int_<3> size_type;
- static const int size_value = 3;
- typedef
- vector2<A1 , A2>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2};
- return r;
- }
- };
- template <>
- struct vector_chooser<3>
- {
- template <typename A0 , typename A1 , typename A2>
- struct apply
- {
- typedef vector3<A0 , A1 , A2> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2)
- , ( boost::phoenix::vector3 ) (A0) (A1) (A2)
- , (A0, a0) (A1, a1) (A2, a2)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3>
- struct vector4
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3;
-
- typedef mpl::int_<4> size_type;
- static const int size_value = 4;
- typedef
- vector3<A1 , A2 , A3>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3};
- return r;
- }
- };
- template <>
- struct vector_chooser<4>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3>
- struct apply
- {
- typedef vector4<A0 , A1 , A2 , A3> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3)
- , ( boost::phoenix::vector4 ) (A0) (A1) (A2) (A3)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct vector5
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4;
-
- typedef mpl::int_<5> size_type;
- static const int size_value = 5;
- typedef
- vector4<A1 , A2 , A3 , A4>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4};
- return r;
- }
- };
- template <>
- struct vector_chooser<5>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct apply
- {
- typedef vector5<A0 , A1 , A2 , A3 , A4> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4)
- , ( boost::phoenix::vector5 ) (A0) (A1) (A2) (A3) (A4)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct vector6
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5;
-
- typedef mpl::int_<6> size_type;
- static const int size_value = 6;
- typedef
- vector5<A1 , A2 , A3 , A4 , A5>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5};
- return r;
- }
- };
- template <>
- struct vector_chooser<6>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct apply
- {
- typedef vector6<A0 , A1 , A2 , A3 , A4 , A5> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5)
- , ( boost::phoenix::vector6 ) (A0) (A1) (A2) (A3) (A4) (A5)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct vector7
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6;
-
- typedef mpl::int_<7> size_type;
- static const int size_value = 7;
- typedef
- vector6<A1 , A2 , A3 , A4 , A5 , A6>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6};
- return r;
- }
- };
- template <>
- struct vector_chooser<7>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct apply
- {
- typedef vector7<A0 , A1 , A2 , A3 , A4 , A5 , A6> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6)
- , ( boost::phoenix::vector7 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct vector8
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7;
-
- typedef mpl::int_<8> size_type;
- static const int size_value = 8;
- typedef
- vector7<A1 , A2 , A3 , A4 , A5 , A6 , A7>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7};
- return r;
- }
- };
- template <>
- struct vector_chooser<8>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct apply
- {
- typedef vector8<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
- , ( boost::phoenix::vector8 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct vector9
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8;
-
- typedef mpl::int_<9> size_type;
- static const int size_value = 9;
- typedef
- vector8<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
- return r;
- }
- };
- template <>
- struct vector_chooser<9>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct apply
- {
- typedef vector9<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
- , ( boost::phoenix::vector9 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct vector10
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9;
-
- typedef mpl::int_<10> size_type;
- static const int size_value = 10;
- typedef
- vector9<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
- return r;
- }
- };
- template <>
- struct vector_chooser<10>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct apply
- {
- typedef vector10<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
- , ( boost::phoenix::vector10 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct vector11
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10;
-
- typedef mpl::int_<11> size_type;
- static const int size_value = 11;
- typedef
- vector10<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
- return r;
- }
- };
- template <>
- struct vector_chooser<11>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct apply
- {
- typedef vector11<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
- , ( boost::phoenix::vector11 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct vector12
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11;
-
- typedef mpl::int_<12> size_type;
- static const int size_value = 12;
- typedef
- vector11<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
- return r;
- }
- };
- template <>
- struct vector_chooser<12>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct apply
- {
- typedef vector12<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11)
- , ( boost::phoenix::vector12 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct vector13
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12;
-
- typedef mpl::int_<13> size_type;
- static const int size_value = 13;
- typedef
- vector12<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
- return r;
- }
- };
- template <>
- struct vector_chooser<13>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct apply
- {
- typedef vector13<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12)
- , ( boost::phoenix::vector13 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct vector14
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13;
-
- typedef mpl::int_<14> size_type;
- static const int size_value = 14;
- typedef
- vector13<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
- return r;
- }
- };
- template <>
- struct vector_chooser<14>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct apply
- {
- typedef vector14<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13)
- , ( boost::phoenix::vector14 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct vector15
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14;
-
- typedef mpl::int_<15> size_type;
- static const int size_value = 15;
- typedef
- vector14<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
- return r;
- }
- };
- template <>
- struct vector_chooser<15>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct apply
- {
- typedef vector15<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14)
- , ( boost::phoenix::vector15 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct vector16
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15;
-
- typedef mpl::int_<16> size_type;
- static const int size_value = 16;
- typedef
- vector15<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
- return r;
- }
- };
- template <>
- struct vector_chooser<16>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct apply
- {
- typedef vector16<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15)
- , ( boost::phoenix::vector16 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct vector17
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16;
-
- typedef mpl::int_<17> size_type;
- static const int size_value = 17;
- typedef
- vector16<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
- return r;
- }
- };
- template <>
- struct vector_chooser<17>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct apply
- {
- typedef vector17<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16)
- , ( boost::phoenix::vector17 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct vector18
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17;
-
- typedef mpl::int_<18> size_type;
- static const int size_value = 18;
- typedef
- vector17<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
- return r;
- }
- };
- template <>
- struct vector_chooser<18>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct apply
- {
- typedef vector18<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17)
- , ( boost::phoenix::vector18 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct vector19
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18;
-
- typedef mpl::int_<19> size_type;
- static const int size_value = 19;
- typedef
- vector18<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
- return r;
- }
- };
- template <>
- struct vector_chooser<19>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct apply
- {
- typedef vector19<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18)
- , ( boost::phoenix::vector19 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct vector20
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19;
-
- typedef mpl::int_<20> size_type;
- static const int size_value = 20;
- typedef
- vector19<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
- return r;
- }
- };
- template <>
- struct vector_chooser<20>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct apply
- {
- typedef vector20<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19)
- , ( boost::phoenix::vector20 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct vector21
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20;
-
- typedef mpl::int_<21> size_type;
- static const int size_value = 21;
- typedef
- vector20<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
- return r;
- }
- };
- template <>
- struct vector_chooser<21>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct apply
- {
- typedef vector21<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20)
- , ( boost::phoenix::vector21 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct vector22
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21;
-
- typedef mpl::int_<22> size_type;
- static const int size_value = 22;
- typedef
- vector21<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
- return r;
- }
- };
- template <>
- struct vector_chooser<22>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct apply
- {
- typedef vector22<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21)
- , ( boost::phoenix::vector22 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct vector23
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22;
-
- typedef mpl::int_<23> size_type;
- static const int size_value = 23;
- typedef
- vector22<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
- return r;
- }
- };
- template <>
- struct vector_chooser<23>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct apply
- {
- typedef vector23<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22)
- , ( boost::phoenix::vector23 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct vector24
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23;
-
- typedef mpl::int_<24> size_type;
- static const int size_value = 24;
- typedef
- vector23<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
- return r;
- }
- };
- template <>
- struct vector_chooser<24>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct apply
- {
- typedef vector24<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23)
- , ( boost::phoenix::vector24 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct vector25
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24;
-
- typedef mpl::int_<25> size_type;
- static const int size_value = 25;
- typedef
- vector24<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
- return r;
- }
- };
- template <>
- struct vector_chooser<25>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct apply
- {
- typedef vector25<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24)
- , ( boost::phoenix::vector25 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct vector26
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25;
-
- typedef mpl::int_<26> size_type;
- static const int size_value = 26;
- typedef
- vector25<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
- return r;
- }
- };
- template <>
- struct vector_chooser<26>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct apply
- {
- typedef vector26<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25)
- , ( boost::phoenix::vector26 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct vector27
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26;
-
- typedef mpl::int_<27> size_type;
- static const int size_value = 27;
- typedef
- vector26<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
- return r;
- }
- };
- template <>
- struct vector_chooser<27>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct apply
- {
- typedef vector27<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26)
- , ( boost::phoenix::vector27 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct vector28
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27;
-
- typedef mpl::int_<28> size_type;
- static const int size_value = 28;
- typedef
- vector27<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
- return r;
- }
- };
- template <>
- struct vector_chooser<28>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct apply
- {
- typedef vector28<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27)
- , ( boost::phoenix::vector28 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct vector29
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28;
-
- typedef mpl::int_<29> size_type;
- static const int size_value = 29;
- typedef
- vector28<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
- return r;
- }
- };
- template <>
- struct vector_chooser<29>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct apply
- {
- typedef vector29<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28)
- , ( boost::phoenix::vector29 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct vector30
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29;
-
- typedef mpl::int_<30> size_type;
- static const int size_value = 30;
- typedef
- vector29<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
- return r;
- }
- };
- template <>
- struct vector_chooser<30>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct apply
- {
- typedef vector30<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29)
- , ( boost::phoenix::vector30 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct vector31
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30;
-
- typedef mpl::int_<31> size_type;
- static const int size_value = 31;
- typedef
- vector30<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30};
- return r;
- }
- };
- template <>
- struct vector_chooser<31>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct apply
- {
- typedef vector31<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30)
- , ( boost::phoenix::vector31 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30)
-)
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_40.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_40.hpp
deleted file mode 100644
index 140f4a3503..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_40.hpp
+++ /dev/null
@@ -1,1666 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-namespace boost { namespace phoenix
-{
- template <typename Dummy = void>
- struct vector0
- {
- typedef mpl::int_<0> size_type;
- static const int size_value = 0;
- };
- template <int> struct vector_chooser;
- template <>
- struct vector_chooser<0>
- {
- template <typename Dummy = void>
- struct apply
- {
- typedef vector0<> type;
- };
- };
-}}
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0>
- struct vector1
- {
- typedef A0 member_type0; A0 a0;
-
- typedef mpl::int_<1> size_type;
- static const int size_value = 1;
- typedef
- vector0<>
- args_type;
- args_type args() const
- {
- args_type r = {};
- return r;
- }
- };
- template <>
- struct vector_chooser<1>
- {
- template <typename A0>
- struct apply
- {
- typedef vector1<A0> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0)
- , ( boost::phoenix::vector1 ) (A0)
- , (A0, a0)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1>
- struct vector2
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1;
-
- typedef mpl::int_<2> size_type;
- static const int size_value = 2;
- typedef
- vector1<A1>
- args_type;
- args_type args() const
- {
- args_type r = {a1};
- return r;
- }
- };
- template <>
- struct vector_chooser<2>
- {
- template <typename A0 , typename A1>
- struct apply
- {
- typedef vector2<A0 , A1> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1)
- , ( boost::phoenix::vector2 ) (A0) (A1)
- , (A0, a0) (A1, a1)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2>
- struct vector3
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2;
-
- typedef mpl::int_<3> size_type;
- static const int size_value = 3;
- typedef
- vector2<A1 , A2>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2};
- return r;
- }
- };
- template <>
- struct vector_chooser<3>
- {
- template <typename A0 , typename A1 , typename A2>
- struct apply
- {
- typedef vector3<A0 , A1 , A2> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2)
- , ( boost::phoenix::vector3 ) (A0) (A1) (A2)
- , (A0, a0) (A1, a1) (A2, a2)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3>
- struct vector4
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3;
-
- typedef mpl::int_<4> size_type;
- static const int size_value = 4;
- typedef
- vector3<A1 , A2 , A3>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3};
- return r;
- }
- };
- template <>
- struct vector_chooser<4>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3>
- struct apply
- {
- typedef vector4<A0 , A1 , A2 , A3> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3)
- , ( boost::phoenix::vector4 ) (A0) (A1) (A2) (A3)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct vector5
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4;
-
- typedef mpl::int_<5> size_type;
- static const int size_value = 5;
- typedef
- vector4<A1 , A2 , A3 , A4>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4};
- return r;
- }
- };
- template <>
- struct vector_chooser<5>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct apply
- {
- typedef vector5<A0 , A1 , A2 , A3 , A4> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4)
- , ( boost::phoenix::vector5 ) (A0) (A1) (A2) (A3) (A4)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct vector6
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5;
-
- typedef mpl::int_<6> size_type;
- static const int size_value = 6;
- typedef
- vector5<A1 , A2 , A3 , A4 , A5>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5};
- return r;
- }
- };
- template <>
- struct vector_chooser<6>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct apply
- {
- typedef vector6<A0 , A1 , A2 , A3 , A4 , A5> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5)
- , ( boost::phoenix::vector6 ) (A0) (A1) (A2) (A3) (A4) (A5)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct vector7
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6;
-
- typedef mpl::int_<7> size_type;
- static const int size_value = 7;
- typedef
- vector6<A1 , A2 , A3 , A4 , A5 , A6>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6};
- return r;
- }
- };
- template <>
- struct vector_chooser<7>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct apply
- {
- typedef vector7<A0 , A1 , A2 , A3 , A4 , A5 , A6> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6)
- , ( boost::phoenix::vector7 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct vector8
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7;
-
- typedef mpl::int_<8> size_type;
- static const int size_value = 8;
- typedef
- vector7<A1 , A2 , A3 , A4 , A5 , A6 , A7>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7};
- return r;
- }
- };
- template <>
- struct vector_chooser<8>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct apply
- {
- typedef vector8<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
- , ( boost::phoenix::vector8 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct vector9
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8;
-
- typedef mpl::int_<9> size_type;
- static const int size_value = 9;
- typedef
- vector8<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
- return r;
- }
- };
- template <>
- struct vector_chooser<9>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct apply
- {
- typedef vector9<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
- , ( boost::phoenix::vector9 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct vector10
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9;
-
- typedef mpl::int_<10> size_type;
- static const int size_value = 10;
- typedef
- vector9<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
- return r;
- }
- };
- template <>
- struct vector_chooser<10>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct apply
- {
- typedef vector10<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
- , ( boost::phoenix::vector10 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct vector11
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10;
-
- typedef mpl::int_<11> size_type;
- static const int size_value = 11;
- typedef
- vector10<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
- return r;
- }
- };
- template <>
- struct vector_chooser<11>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct apply
- {
- typedef vector11<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
- , ( boost::phoenix::vector11 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct vector12
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11;
-
- typedef mpl::int_<12> size_type;
- static const int size_value = 12;
- typedef
- vector11<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
- return r;
- }
- };
- template <>
- struct vector_chooser<12>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct apply
- {
- typedef vector12<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11)
- , ( boost::phoenix::vector12 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct vector13
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12;
-
- typedef mpl::int_<13> size_type;
- static const int size_value = 13;
- typedef
- vector12<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
- return r;
- }
- };
- template <>
- struct vector_chooser<13>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct apply
- {
- typedef vector13<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12)
- , ( boost::phoenix::vector13 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct vector14
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13;
-
- typedef mpl::int_<14> size_type;
- static const int size_value = 14;
- typedef
- vector13<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
- return r;
- }
- };
- template <>
- struct vector_chooser<14>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct apply
- {
- typedef vector14<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13)
- , ( boost::phoenix::vector14 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct vector15
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14;
-
- typedef mpl::int_<15> size_type;
- static const int size_value = 15;
- typedef
- vector14<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
- return r;
- }
- };
- template <>
- struct vector_chooser<15>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct apply
- {
- typedef vector15<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14)
- , ( boost::phoenix::vector15 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct vector16
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15;
-
- typedef mpl::int_<16> size_type;
- static const int size_value = 16;
- typedef
- vector15<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
- return r;
- }
- };
- template <>
- struct vector_chooser<16>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct apply
- {
- typedef vector16<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15)
- , ( boost::phoenix::vector16 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct vector17
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16;
-
- typedef mpl::int_<17> size_type;
- static const int size_value = 17;
- typedef
- vector16<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
- return r;
- }
- };
- template <>
- struct vector_chooser<17>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct apply
- {
- typedef vector17<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16)
- , ( boost::phoenix::vector17 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct vector18
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17;
-
- typedef mpl::int_<18> size_type;
- static const int size_value = 18;
- typedef
- vector17<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
- return r;
- }
- };
- template <>
- struct vector_chooser<18>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct apply
- {
- typedef vector18<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17)
- , ( boost::phoenix::vector18 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct vector19
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18;
-
- typedef mpl::int_<19> size_type;
- static const int size_value = 19;
- typedef
- vector18<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
- return r;
- }
- };
- template <>
- struct vector_chooser<19>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct apply
- {
- typedef vector19<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18)
- , ( boost::phoenix::vector19 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct vector20
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19;
-
- typedef mpl::int_<20> size_type;
- static const int size_value = 20;
- typedef
- vector19<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
- return r;
- }
- };
- template <>
- struct vector_chooser<20>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct apply
- {
- typedef vector20<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19)
- , ( boost::phoenix::vector20 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct vector21
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20;
-
- typedef mpl::int_<21> size_type;
- static const int size_value = 21;
- typedef
- vector20<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
- return r;
- }
- };
- template <>
- struct vector_chooser<21>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct apply
- {
- typedef vector21<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20)
- , ( boost::phoenix::vector21 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct vector22
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21;
-
- typedef mpl::int_<22> size_type;
- static const int size_value = 22;
- typedef
- vector21<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
- return r;
- }
- };
- template <>
- struct vector_chooser<22>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct apply
- {
- typedef vector22<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21)
- , ( boost::phoenix::vector22 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct vector23
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22;
-
- typedef mpl::int_<23> size_type;
- static const int size_value = 23;
- typedef
- vector22<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
- return r;
- }
- };
- template <>
- struct vector_chooser<23>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct apply
- {
- typedef vector23<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22)
- , ( boost::phoenix::vector23 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct vector24
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23;
-
- typedef mpl::int_<24> size_type;
- static const int size_value = 24;
- typedef
- vector23<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
- return r;
- }
- };
- template <>
- struct vector_chooser<24>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct apply
- {
- typedef vector24<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23)
- , ( boost::phoenix::vector24 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct vector25
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24;
-
- typedef mpl::int_<25> size_type;
- static const int size_value = 25;
- typedef
- vector24<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
- return r;
- }
- };
- template <>
- struct vector_chooser<25>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct apply
- {
- typedef vector25<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24)
- , ( boost::phoenix::vector25 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct vector26
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25;
-
- typedef mpl::int_<26> size_type;
- static const int size_value = 26;
- typedef
- vector25<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
- return r;
- }
- };
- template <>
- struct vector_chooser<26>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct apply
- {
- typedef vector26<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25)
- , ( boost::phoenix::vector26 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct vector27
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26;
-
- typedef mpl::int_<27> size_type;
- static const int size_value = 27;
- typedef
- vector26<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
- return r;
- }
- };
- template <>
- struct vector_chooser<27>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct apply
- {
- typedef vector27<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26)
- , ( boost::phoenix::vector27 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct vector28
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27;
-
- typedef mpl::int_<28> size_type;
- static const int size_value = 28;
- typedef
- vector27<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
- return r;
- }
- };
- template <>
- struct vector_chooser<28>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct apply
- {
- typedef vector28<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27)
- , ( boost::phoenix::vector28 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct vector29
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28;
-
- typedef mpl::int_<29> size_type;
- static const int size_value = 29;
- typedef
- vector28<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
- return r;
- }
- };
- template <>
- struct vector_chooser<29>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct apply
- {
- typedef vector29<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28)
- , ( boost::phoenix::vector29 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct vector30
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29;
-
- typedef mpl::int_<30> size_type;
- static const int size_value = 30;
- typedef
- vector29<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
- return r;
- }
- };
- template <>
- struct vector_chooser<30>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct apply
- {
- typedef vector30<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29)
- , ( boost::phoenix::vector30 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct vector31
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30;
-
- typedef mpl::int_<31> size_type;
- static const int size_value = 31;
- typedef
- vector30<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30};
- return r;
- }
- };
- template <>
- struct vector_chooser<31>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct apply
- {
- typedef vector31<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30)
- , ( boost::phoenix::vector31 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct vector32
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31;
-
- typedef mpl::int_<32> size_type;
- static const int size_value = 32;
- typedef
- vector31<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31};
- return r;
- }
- };
- template <>
- struct vector_chooser<32>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct apply
- {
- typedef vector32<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31)
- , ( boost::phoenix::vector32 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct vector33
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32;
-
- typedef mpl::int_<33> size_type;
- static const int size_value = 33;
- typedef
- vector32<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32};
- return r;
- }
- };
- template <>
- struct vector_chooser<33>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct apply
- {
- typedef vector33<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32)
- , ( boost::phoenix::vector33 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct vector34
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33;
-
- typedef mpl::int_<34> size_type;
- static const int size_value = 34;
- typedef
- vector33<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33};
- return r;
- }
- };
- template <>
- struct vector_chooser<34>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct apply
- {
- typedef vector34<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33)
- , ( boost::phoenix::vector34 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct vector35
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34;
-
- typedef mpl::int_<35> size_type;
- static const int size_value = 35;
- typedef
- vector34<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34};
- return r;
- }
- };
- template <>
- struct vector_chooser<35>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct apply
- {
- typedef vector35<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34)
- , ( boost::phoenix::vector35 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct vector36
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35;
-
- typedef mpl::int_<36> size_type;
- static const int size_value = 36;
- typedef
- vector35<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35};
- return r;
- }
- };
- template <>
- struct vector_chooser<36>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct apply
- {
- typedef vector36<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35)
- , ( boost::phoenix::vector36 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct vector37
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36;
-
- typedef mpl::int_<37> size_type;
- static const int size_value = 37;
- typedef
- vector36<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36};
- return r;
- }
- };
- template <>
- struct vector_chooser<37>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct apply
- {
- typedef vector37<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36)
- , ( boost::phoenix::vector37 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct vector38
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37;
-
- typedef mpl::int_<38> size_type;
- static const int size_value = 38;
- typedef
- vector37<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37};
- return r;
- }
- };
- template <>
- struct vector_chooser<38>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct apply
- {
- typedef vector38<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37)
- , ( boost::phoenix::vector38 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct vector39
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38;
-
- typedef mpl::int_<39> size_type;
- static const int size_value = 39;
- typedef
- vector38<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38};
- return r;
- }
- };
- template <>
- struct vector_chooser<39>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct apply
- {
- typedef vector39<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38)
- , ( boost::phoenix::vector39 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct vector40
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39;
-
- typedef mpl::int_<40> size_type;
- static const int size_value = 40;
- typedef
- vector39<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39};
- return r;
- }
- };
- template <>
- struct vector_chooser<40>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct apply
- {
- typedef vector40<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39)
- , ( boost::phoenix::vector40 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- struct vector41
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40;
-
- typedef mpl::int_<41> size_type;
- static const int size_value = 41;
- typedef
- vector40<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40};
- return r;
- }
- };
- template <>
- struct vector_chooser<41>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- struct apply
- {
- typedef vector41<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40)
- , ( boost::phoenix::vector41 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40)
-)
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_50.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_50.hpp
deleted file mode 100644
index 4f9bd2599a..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessed/vector_50.hpp
+++ /dev/null
@@ -1,2066 +0,0 @@
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-namespace boost { namespace phoenix
-{
- template <typename Dummy = void>
- struct vector0
- {
- typedef mpl::int_<0> size_type;
- static const int size_value = 0;
- };
- template <int> struct vector_chooser;
- template <>
- struct vector_chooser<0>
- {
- template <typename Dummy = void>
- struct apply
- {
- typedef vector0<> type;
- };
- };
-}}
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0>
- struct vector1
- {
- typedef A0 member_type0; A0 a0;
-
- typedef mpl::int_<1> size_type;
- static const int size_value = 1;
- typedef
- vector0<>
- args_type;
- args_type args() const
- {
- args_type r = {};
- return r;
- }
- };
- template <>
- struct vector_chooser<1>
- {
- template <typename A0>
- struct apply
- {
- typedef vector1<A0> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0)
- , ( boost::phoenix::vector1 ) (A0)
- , (A0, a0)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1>
- struct vector2
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1;
-
- typedef mpl::int_<2> size_type;
- static const int size_value = 2;
- typedef
- vector1<A1>
- args_type;
- args_type args() const
- {
- args_type r = {a1};
- return r;
- }
- };
- template <>
- struct vector_chooser<2>
- {
- template <typename A0 , typename A1>
- struct apply
- {
- typedef vector2<A0 , A1> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1)
- , ( boost::phoenix::vector2 ) (A0) (A1)
- , (A0, a0) (A1, a1)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2>
- struct vector3
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2;
-
- typedef mpl::int_<3> size_type;
- static const int size_value = 3;
- typedef
- vector2<A1 , A2>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2};
- return r;
- }
- };
- template <>
- struct vector_chooser<3>
- {
- template <typename A0 , typename A1 , typename A2>
- struct apply
- {
- typedef vector3<A0 , A1 , A2> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2)
- , ( boost::phoenix::vector3 ) (A0) (A1) (A2)
- , (A0, a0) (A1, a1) (A2, a2)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3>
- struct vector4
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3;
-
- typedef mpl::int_<4> size_type;
- static const int size_value = 4;
- typedef
- vector3<A1 , A2 , A3>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3};
- return r;
- }
- };
- template <>
- struct vector_chooser<4>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3>
- struct apply
- {
- typedef vector4<A0 , A1 , A2 , A3> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3)
- , ( boost::phoenix::vector4 ) (A0) (A1) (A2) (A3)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct vector5
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4;
-
- typedef mpl::int_<5> size_type;
- static const int size_value = 5;
- typedef
- vector4<A1 , A2 , A3 , A4>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4};
- return r;
- }
- };
- template <>
- struct vector_chooser<5>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct apply
- {
- typedef vector5<A0 , A1 , A2 , A3 , A4> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4)
- , ( boost::phoenix::vector5 ) (A0) (A1) (A2) (A3) (A4)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct vector6
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5;
-
- typedef mpl::int_<6> size_type;
- static const int size_value = 6;
- typedef
- vector5<A1 , A2 , A3 , A4 , A5>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5};
- return r;
- }
- };
- template <>
- struct vector_chooser<6>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct apply
- {
- typedef vector6<A0 , A1 , A2 , A3 , A4 , A5> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5)
- , ( boost::phoenix::vector6 ) (A0) (A1) (A2) (A3) (A4) (A5)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct vector7
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6;
-
- typedef mpl::int_<7> size_type;
- static const int size_value = 7;
- typedef
- vector6<A1 , A2 , A3 , A4 , A5 , A6>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6};
- return r;
- }
- };
- template <>
- struct vector_chooser<7>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct apply
- {
- typedef vector7<A0 , A1 , A2 , A3 , A4 , A5 , A6> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6)
- , ( boost::phoenix::vector7 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct vector8
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7;
-
- typedef mpl::int_<8> size_type;
- static const int size_value = 8;
- typedef
- vector7<A1 , A2 , A3 , A4 , A5 , A6 , A7>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7};
- return r;
- }
- };
- template <>
- struct vector_chooser<8>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct apply
- {
- typedef vector8<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
- , ( boost::phoenix::vector8 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct vector9
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8;
-
- typedef mpl::int_<9> size_type;
- static const int size_value = 9;
- typedef
- vector8<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8};
- return r;
- }
- };
- template <>
- struct vector_chooser<9>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct apply
- {
- typedef vector9<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
- , ( boost::phoenix::vector9 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct vector10
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9;
-
- typedef mpl::int_<10> size_type;
- static const int size_value = 10;
- typedef
- vector9<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9};
- return r;
- }
- };
- template <>
- struct vector_chooser<10>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct apply
- {
- typedef vector10<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
- , ( boost::phoenix::vector10 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct vector11
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10;
-
- typedef mpl::int_<11> size_type;
- static const int size_value = 11;
- typedef
- vector10<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10};
- return r;
- }
- };
- template <>
- struct vector_chooser<11>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10>
- struct apply
- {
- typedef vector11<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
- , ( boost::phoenix::vector11 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct vector12
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11;
-
- typedef mpl::int_<12> size_type;
- static const int size_value = 12;
- typedef
- vector11<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11};
- return r;
- }
- };
- template <>
- struct vector_chooser<12>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11>
- struct apply
- {
- typedef vector12<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11)
- , ( boost::phoenix::vector12 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct vector13
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12;
-
- typedef mpl::int_<13> size_type;
- static const int size_value = 13;
- typedef
- vector12<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12};
- return r;
- }
- };
- template <>
- struct vector_chooser<13>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12>
- struct apply
- {
- typedef vector13<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12)
- , ( boost::phoenix::vector13 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct vector14
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13;
-
- typedef mpl::int_<14> size_type;
- static const int size_value = 14;
- typedef
- vector13<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13};
- return r;
- }
- };
- template <>
- struct vector_chooser<14>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13>
- struct apply
- {
- typedef vector14<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13)
- , ( boost::phoenix::vector14 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct vector15
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14;
-
- typedef mpl::int_<15> size_type;
- static const int size_value = 15;
- typedef
- vector14<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14};
- return r;
- }
- };
- template <>
- struct vector_chooser<15>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14>
- struct apply
- {
- typedef vector15<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14)
- , ( boost::phoenix::vector15 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct vector16
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15;
-
- typedef mpl::int_<16> size_type;
- static const int size_value = 16;
- typedef
- vector15<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15};
- return r;
- }
- };
- template <>
- struct vector_chooser<16>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15>
- struct apply
- {
- typedef vector16<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15)
- , ( boost::phoenix::vector16 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct vector17
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16;
-
- typedef mpl::int_<17> size_type;
- static const int size_value = 17;
- typedef
- vector16<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16};
- return r;
- }
- };
- template <>
- struct vector_chooser<17>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16>
- struct apply
- {
- typedef vector17<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16)
- , ( boost::phoenix::vector17 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct vector18
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17;
-
- typedef mpl::int_<18> size_type;
- static const int size_value = 18;
- typedef
- vector17<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17};
- return r;
- }
- };
- template <>
- struct vector_chooser<18>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17>
- struct apply
- {
- typedef vector18<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17)
- , ( boost::phoenix::vector18 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct vector19
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18;
-
- typedef mpl::int_<19> size_type;
- static const int size_value = 19;
- typedef
- vector18<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18};
- return r;
- }
- };
- template <>
- struct vector_chooser<19>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18>
- struct apply
- {
- typedef vector19<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18)
- , ( boost::phoenix::vector19 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct vector20
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19;
-
- typedef mpl::int_<20> size_type;
- static const int size_value = 20;
- typedef
- vector19<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19};
- return r;
- }
- };
- template <>
- struct vector_chooser<20>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19>
- struct apply
- {
- typedef vector20<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19)
- , ( boost::phoenix::vector20 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct vector21
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20;
-
- typedef mpl::int_<21> size_type;
- static const int size_value = 21;
- typedef
- vector20<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20};
- return r;
- }
- };
- template <>
- struct vector_chooser<21>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20>
- struct apply
- {
- typedef vector21<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20)
- , ( boost::phoenix::vector21 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct vector22
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21;
-
- typedef mpl::int_<22> size_type;
- static const int size_value = 22;
- typedef
- vector21<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21};
- return r;
- }
- };
- template <>
- struct vector_chooser<22>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21>
- struct apply
- {
- typedef vector22<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21)
- , ( boost::phoenix::vector22 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct vector23
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22;
-
- typedef mpl::int_<23> size_type;
- static const int size_value = 23;
- typedef
- vector22<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22};
- return r;
- }
- };
- template <>
- struct vector_chooser<23>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22>
- struct apply
- {
- typedef vector23<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22)
- , ( boost::phoenix::vector23 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct vector24
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23;
-
- typedef mpl::int_<24> size_type;
- static const int size_value = 24;
- typedef
- vector23<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23};
- return r;
- }
- };
- template <>
- struct vector_chooser<24>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23>
- struct apply
- {
- typedef vector24<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23)
- , ( boost::phoenix::vector24 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct vector25
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24;
-
- typedef mpl::int_<25> size_type;
- static const int size_value = 25;
- typedef
- vector24<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24};
- return r;
- }
- };
- template <>
- struct vector_chooser<25>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24>
- struct apply
- {
- typedef vector25<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24)
- , ( boost::phoenix::vector25 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct vector26
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25;
-
- typedef mpl::int_<26> size_type;
- static const int size_value = 26;
- typedef
- vector25<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25};
- return r;
- }
- };
- template <>
- struct vector_chooser<26>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25>
- struct apply
- {
- typedef vector26<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25)
- , ( boost::phoenix::vector26 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct vector27
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26;
-
- typedef mpl::int_<27> size_type;
- static const int size_value = 27;
- typedef
- vector26<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26};
- return r;
- }
- };
- template <>
- struct vector_chooser<27>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26>
- struct apply
- {
- typedef vector27<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26)
- , ( boost::phoenix::vector27 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct vector28
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27;
-
- typedef mpl::int_<28> size_type;
- static const int size_value = 28;
- typedef
- vector27<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27};
- return r;
- }
- };
- template <>
- struct vector_chooser<28>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27>
- struct apply
- {
- typedef vector28<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27)
- , ( boost::phoenix::vector28 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct vector29
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28;
-
- typedef mpl::int_<29> size_type;
- static const int size_value = 29;
- typedef
- vector28<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28};
- return r;
- }
- };
- template <>
- struct vector_chooser<29>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28>
- struct apply
- {
- typedef vector29<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28)
- , ( boost::phoenix::vector29 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct vector30
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29;
-
- typedef mpl::int_<30> size_type;
- static const int size_value = 30;
- typedef
- vector29<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29};
- return r;
- }
- };
- template <>
- struct vector_chooser<30>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29>
- struct apply
- {
- typedef vector30<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29)
- , ( boost::phoenix::vector30 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct vector31
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30;
-
- typedef mpl::int_<31> size_type;
- static const int size_value = 31;
- typedef
- vector30<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30};
- return r;
- }
- };
- template <>
- struct vector_chooser<31>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30>
- struct apply
- {
- typedef vector31<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30)
- , ( boost::phoenix::vector31 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct vector32
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31;
-
- typedef mpl::int_<32> size_type;
- static const int size_value = 32;
- typedef
- vector31<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31};
- return r;
- }
- };
- template <>
- struct vector_chooser<32>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31>
- struct apply
- {
- typedef vector32<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31)
- , ( boost::phoenix::vector32 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct vector33
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32;
-
- typedef mpl::int_<33> size_type;
- static const int size_value = 33;
- typedef
- vector32<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32};
- return r;
- }
- };
- template <>
- struct vector_chooser<33>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32>
- struct apply
- {
- typedef vector33<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32)
- , ( boost::phoenix::vector33 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct vector34
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33;
-
- typedef mpl::int_<34> size_type;
- static const int size_value = 34;
- typedef
- vector33<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33};
- return r;
- }
- };
- template <>
- struct vector_chooser<34>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33>
- struct apply
- {
- typedef vector34<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33)
- , ( boost::phoenix::vector34 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct vector35
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34;
-
- typedef mpl::int_<35> size_type;
- static const int size_value = 35;
- typedef
- vector34<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34};
- return r;
- }
- };
- template <>
- struct vector_chooser<35>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34>
- struct apply
- {
- typedef vector35<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34)
- , ( boost::phoenix::vector35 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct vector36
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35;
-
- typedef mpl::int_<36> size_type;
- static const int size_value = 36;
- typedef
- vector35<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35};
- return r;
- }
- };
- template <>
- struct vector_chooser<36>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35>
- struct apply
- {
- typedef vector36<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35)
- , ( boost::phoenix::vector36 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct vector37
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36;
-
- typedef mpl::int_<37> size_type;
- static const int size_value = 37;
- typedef
- vector36<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36};
- return r;
- }
- };
- template <>
- struct vector_chooser<37>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36>
- struct apply
- {
- typedef vector37<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36)
- , ( boost::phoenix::vector37 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct vector38
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37;
-
- typedef mpl::int_<38> size_type;
- static const int size_value = 38;
- typedef
- vector37<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37};
- return r;
- }
- };
- template <>
- struct vector_chooser<38>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37>
- struct apply
- {
- typedef vector38<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37)
- , ( boost::phoenix::vector38 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct vector39
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38;
-
- typedef mpl::int_<39> size_type;
- static const int size_value = 39;
- typedef
- vector38<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38};
- return r;
- }
- };
- template <>
- struct vector_chooser<39>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38>
- struct apply
- {
- typedef vector39<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38)
- , ( boost::phoenix::vector39 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct vector40
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39;
-
- typedef mpl::int_<40> size_type;
- static const int size_value = 40;
- typedef
- vector39<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39};
- return r;
- }
- };
- template <>
- struct vector_chooser<40>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39>
- struct apply
- {
- typedef vector40<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39)
- , ( boost::phoenix::vector40 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- struct vector41
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40;
-
- typedef mpl::int_<41> size_type;
- static const int size_value = 41;
- typedef
- vector40<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40};
- return r;
- }
- };
- template <>
- struct vector_chooser<41>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40>
- struct apply
- {
- typedef vector41<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40)
- , ( boost::phoenix::vector41 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- struct vector42
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40; typedef A41 member_type41; A41 a41;
-
- typedef mpl::int_<42> size_type;
- static const int size_value = 42;
- typedef
- vector41<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41};
- return r;
- }
- };
- template <>
- struct vector_chooser<42>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41>
- struct apply
- {
- typedef vector42<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41)
- , ( boost::phoenix::vector42 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40) (A41, a41)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- struct vector43
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40; typedef A41 member_type41; A41 a41; typedef A42 member_type42; A42 a42;
-
- typedef mpl::int_<43> size_type;
- static const int size_value = 43;
- typedef
- vector42<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42};
- return r;
- }
- };
- template <>
- struct vector_chooser<43>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42>
- struct apply
- {
- typedef vector43<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42)
- , ( boost::phoenix::vector43 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40) (A41, a41) (A42, a42)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- struct vector44
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40; typedef A41 member_type41; A41 a41; typedef A42 member_type42; A42 a42; typedef A43 member_type43; A43 a43;
-
- typedef mpl::int_<44> size_type;
- static const int size_value = 44;
- typedef
- vector43<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43};
- return r;
- }
- };
- template <>
- struct vector_chooser<44>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43>
- struct apply
- {
- typedef vector44<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43)
- , ( boost::phoenix::vector44 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40) (A41, a41) (A42, a42) (A43, a43)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- struct vector45
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40; typedef A41 member_type41; A41 a41; typedef A42 member_type42; A42 a42; typedef A43 member_type43; A43 a43; typedef A44 member_type44; A44 a44;
-
- typedef mpl::int_<45> size_type;
- static const int size_value = 45;
- typedef
- vector44<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44};
- return r;
- }
- };
- template <>
- struct vector_chooser<45>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44>
- struct apply
- {
- typedef vector45<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44)
- , ( boost::phoenix::vector45 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40) (A41, a41) (A42, a42) (A43, a43) (A44, a44)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- struct vector46
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40; typedef A41 member_type41; A41 a41; typedef A42 member_type42; A42 a42; typedef A43 member_type43; A43 a43; typedef A44 member_type44; A44 a44; typedef A45 member_type45; A45 a45;
-
- typedef mpl::int_<46> size_type;
- static const int size_value = 46;
- typedef
- vector45<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45};
- return r;
- }
- };
- template <>
- struct vector_chooser<46>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45>
- struct apply
- {
- typedef vector46<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45)
- , ( boost::phoenix::vector46 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40) (A41, a41) (A42, a42) (A43, a43) (A44, a44) (A45, a45)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- struct vector47
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40; typedef A41 member_type41; A41 a41; typedef A42 member_type42; A42 a42; typedef A43 member_type43; A43 a43; typedef A44 member_type44; A44 a44; typedef A45 member_type45; A45 a45; typedef A46 member_type46; A46 a46;
-
- typedef mpl::int_<47> size_type;
- static const int size_value = 47;
- typedef
- vector46<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46};
- return r;
- }
- };
- template <>
- struct vector_chooser<47>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46>
- struct apply
- {
- typedef vector47<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45) (A46)
- , ( boost::phoenix::vector47 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45) (A46)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40) (A41, a41) (A42, a42) (A43, a43) (A44, a44) (A45, a45) (A46, a46)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- struct vector48
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40; typedef A41 member_type41; A41 a41; typedef A42 member_type42; A42 a42; typedef A43 member_type43; A43 a43; typedef A44 member_type44; A44 a44; typedef A45 member_type45; A45 a45; typedef A46 member_type46; A46 a46; typedef A47 member_type47; A47 a47;
-
- typedef mpl::int_<48> size_type;
- static const int size_value = 48;
- typedef
- vector47<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47};
- return r;
- }
- };
- template <>
- struct vector_chooser<48>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47>
- struct apply
- {
- typedef vector48<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45) (A46) (A47)
- , ( boost::phoenix::vector48 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45) (A46) (A47)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40) (A41, a41) (A42, a42) (A43, a43) (A44, a44) (A45, a45) (A46, a46) (A47, a47)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- struct vector49
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40; typedef A41 member_type41; A41 a41; typedef A42 member_type42; A42 a42; typedef A43 member_type43; A43 a43; typedef A44 member_type44; A44 a44; typedef A45 member_type45; A45 a45; typedef A46 member_type46; A46 a46; typedef A47 member_type47; A47 a47; typedef A48 member_type48; A48 a48;
-
- typedef mpl::int_<49> size_type;
- static const int size_value = 49;
- typedef
- vector48<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48};
- return r;
- }
- };
- template <>
- struct vector_chooser<49>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48>
- struct apply
- {
- typedef vector49<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45) (A46) (A47) (A48)
- , ( boost::phoenix::vector49 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45) (A46) (A47) (A48)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40) (A41, a41) (A42, a42) (A43, a43) (A44, a44) (A45, a45) (A46, a46) (A47, a47) (A48, a48)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- struct vector50
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40; typedef A41 member_type41; A41 a41; typedef A42 member_type42; A42 a42; typedef A43 member_type43; A43 a43; typedef A44 member_type44; A44 a44; typedef A45 member_type45; A45 a45; typedef A46 member_type46; A46 a46; typedef A47 member_type47; A47 a47; typedef A48 member_type48; A48 a48; typedef A49 member_type49; A49 a49;
-
- typedef mpl::int_<50> size_type;
- static const int size_value = 50;
- typedef
- vector49<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49};
- return r;
- }
- };
- template <>
- struct vector_chooser<50>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49>
- struct apply
- {
- typedef vector50<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45) (A46) (A47) (A48) (A49)
- , ( boost::phoenix::vector50 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45) (A46) (A47) (A48) (A49)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40) (A41, a41) (A42, a42) (A43, a43) (A44, a44) (A45, a45) (A46, a46) (A47, a47) (A48, a48) (A49, a49)
-)
-
-
-
-
-
-
-
-namespace boost { namespace phoenix
-{
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49 , typename A50>
- struct vector51
- {
- typedef A0 member_type0; A0 a0; typedef A1 member_type1; A1 a1; typedef A2 member_type2; A2 a2; typedef A3 member_type3; A3 a3; typedef A4 member_type4; A4 a4; typedef A5 member_type5; A5 a5; typedef A6 member_type6; A6 a6; typedef A7 member_type7; A7 a7; typedef A8 member_type8; A8 a8; typedef A9 member_type9; A9 a9; typedef A10 member_type10; A10 a10; typedef A11 member_type11; A11 a11; typedef A12 member_type12; A12 a12; typedef A13 member_type13; A13 a13; typedef A14 member_type14; A14 a14; typedef A15 member_type15; A15 a15; typedef A16 member_type16; A16 a16; typedef A17 member_type17; A17 a17; typedef A18 member_type18; A18 a18; typedef A19 member_type19; A19 a19; typedef A20 member_type20; A20 a20; typedef A21 member_type21; A21 a21; typedef A22 member_type22; A22 a22; typedef A23 member_type23; A23 a23; typedef A24 member_type24; A24 a24; typedef A25 member_type25; A25 a25; typedef A26 member_type26; A26 a26; typedef A27 member_type27; A27 a27; typedef A28 member_type28; A28 a28; typedef A29 member_type29; A29 a29; typedef A30 member_type30; A30 a30; typedef A31 member_type31; A31 a31; typedef A32 member_type32; A32 a32; typedef A33 member_type33; A33 a33; typedef A34 member_type34; A34 a34; typedef A35 member_type35; A35 a35; typedef A36 member_type36; A36 a36; typedef A37 member_type37; A37 a37; typedef A38 member_type38; A38 a38; typedef A39 member_type39; A39 a39; typedef A40 member_type40; A40 a40; typedef A41 member_type41; A41 a41; typedef A42 member_type42; A42 a42; typedef A43 member_type43; A43 a43; typedef A44 member_type44; A44 a44; typedef A45 member_type45; A45 a45; typedef A46 member_type46; A46 a46; typedef A47 member_type47; A47 a47; typedef A48 member_type48; A48 a48; typedef A49 member_type49; A49 a49; typedef A50 member_type50; A50 a50;
-
- typedef mpl::int_<51> size_type;
- static const int size_value = 51;
- typedef
- vector50<A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49 , A50>
- args_type;
- args_type args() const
- {
- args_type r = {a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48 , a49 , a50};
- return r;
- }
- };
- template <>
- struct vector_chooser<51>
- {
- template <typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9 , typename A10 , typename A11 , typename A12 , typename A13 , typename A14 , typename A15 , typename A16 , typename A17 , typename A18 , typename A19 , typename A20 , typename A21 , typename A22 , typename A23 , typename A24 , typename A25 , typename A26 , typename A27 , typename A28 , typename A29 , typename A30 , typename A31 , typename A32 , typename A33 , typename A34 , typename A35 , typename A36 , typename A37 , typename A38 , typename A39 , typename A40 , typename A41 , typename A42 , typename A43 , typename A44 , typename A45 , typename A46 , typename A47 , typename A48 , typename A49 , typename A50>
- struct apply
- {
- typedef vector51<A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9 , A10 , A11 , A12 , A13 , A14 , A15 , A16 , A17 , A18 , A19 , A20 , A21 , A22 , A23 , A24 , A25 , A26 , A27 , A28 , A29 , A30 , A31 , A32 , A33 , A34 , A35 , A36 , A37 , A38 , A39 , A40 , A41 , A42 , A43 , A44 , A45 , A46 , A47 , A48 , A49 , A50> type;
- };
- };
-}}
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45) (A46) (A47) (A48) (A49) (A50)
- , ( boost::phoenix::vector51 ) (A0) (A1) (A2) (A3) (A4) (A5) (A6) (A7) (A8) (A9) (A10) (A11) (A12) (A13) (A14) (A15) (A16) (A17) (A18) (A19) (A20) (A21) (A22) (A23) (A24) (A25) (A26) (A27) (A28) (A29) (A30) (A31) (A32) (A33) (A34) (A35) (A36) (A37) (A38) (A39) (A40) (A41) (A42) (A43) (A44) (A45) (A46) (A47) (A48) (A49) (A50)
- , (A0, a0) (A1, a1) (A2, a2) (A3, a3) (A4, a4) (A5, a5) (A6, a6) (A7, a7) (A8, a8) (A9, a9) (A10, a10) (A11, a11) (A12, a12) (A13, a13) (A14, a14) (A15, a15) (A16, a16) (A17, a17) (A18, a18) (A19, a19) (A20, a20) (A21, a21) (A22, a22) (A23, a23) (A24, a24) (A25, a25) (A26, a26) (A27, a27) (A28, a28) (A29, a29) (A30, a30) (A31, a31) (A32, a32) (A33, a33) (A34, a34) (A35, a35) (A36, a36) (A37, a37) (A38, a38) (A39, a39) (A40, a40) (A41, a41) (A42, a42) (A43, a43) (A44, a44) (A45, a45) (A46, a46) (A47, a47) (A48, a48) (A49, a49) (A50, a50)
-)
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessor/round.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessor/round.hpp
deleted file mode 100644
index 93127e2b60..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/preprocessor/round.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/*=============================================================================
- Copyright (c) 2011 Thomas Heller
-
- Distributed under the 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_BOOST_PHOENIX_SUPPORT_PP_ROUND_HPP
-#define BOOST_BOOST_PHOENIX_SUPPORT_PP_ROUND_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/comparison/less.hpp>
-#include <boost/preprocessor/control/if.hpp>
-
-#define BOOST_PHOENIX_PP_ROUND_UP(N) \
- BOOST_PP_CAT(BOOST_PHOENIX_PP_DO_ROUND_UP_, N)() \
-/**/
-
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_0() 10
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_1() 10
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_2() 10
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_3() 10
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_4() 10
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_5() 10
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_6() 10
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_7() 10
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_8() 10
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_9() 10
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_10() 10
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_11() 20
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_12() 20
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_13() 20
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_14() 20
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_15() 20
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_16() 20
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_17() 20
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_18() 20
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_19() 20
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_20() 20
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_21() 30
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_22() 30
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_23() 30
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_24() 30
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_25() 30
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_26() 30
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_27() 30
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_28() 30
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_29() 30
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_30() 30
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_31() 40
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_32() 40
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_33() 40
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_34() 40
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_35() 40
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_36() 40
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_37() 40
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_38() 40
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_39() 40
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_40() 40
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_41() 50
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_42() 50
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_43() 50
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_44() 50
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_45() 50
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_46() 50
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_47() 50
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_48() 50
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_49() 50
-#define BOOST_PHOENIX_PP_DO_ROUND_UP_50() 50
-
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/vector.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/support/vector.hpp
deleted file mode 100644
index 055ebe2be9..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/support/vector.hpp
+++ /dev/null
@@ -1,166 +0,0 @@
-#ifdef BOOST_MSVC
-#pragma warning(push)
-#pragma warning(disable: 4512) // assignment operator could not be generated
-#pragma warning(disable: 4510) // default constructor could not be generated
-#pragma warning(disable: 4610) // can never be instantiated - user defined constructor required
-#endif
-#if !defined(BOOST_PHOENIX_DONT_USE_PREPROCESSED_FILES)
-
-#ifndef BOOST_PHOENIX_SUPPORT_VECTOR_HPP
-#define BOOST_PHOENIX_SUPPORT_VECTOR_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/support/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#include <boost/fusion/adapted/struct/adapt_struct.hpp>
-
-#define BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL BOOST_FUSION_ADAPT_TPL_STRUCT
-
-#include <boost/phoenix/support/preprocessed/vector.hpp>
-
-#endif
-
-#else
-
-#if !BOOST_PHOENIX_IS_ITERATING
-
-#ifndef BOOST_PHOENIX_SUPPORT_VECTOR_HPP
-#define BOOST_PHOENIX_SUPPORT_VECTOR_HPP
-
-#include <boost/phoenix/core/limits.hpp>
-#include <boost/phoenix/support/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#include <boost/fusion/adapted/struct/adapt_struct.hpp>
-
-#define BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL BOOST_FUSION_ADAPT_TPL_STRUCT
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector_" BOOST_PHOENIX_LIMIT_STR ".hpp")
-#endif
-/*==============================================================================
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2010 Thomas Heller
-
- Distributed under the 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(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(preserve: 1)
-#endif
-
-#define M0(Z, N, D) \
- typedef BOOST_PP_CAT(A, N) BOOST_PP_CAT(member_type, N); \
- BOOST_PP_CAT(A, N) BOOST_PP_CAT(a, N); \
-/**/
-#define M1(Z, N, D) \
- (BOOST_PP_CAT(A, N)) \
-/**/
-#define M2(Z, N, D) \
- (BOOST_PP_CAT(T, N)) \
-/**/
-#define M3(Z, N, D) \
- (BOOST_PP_CAT(A, N), BOOST_PP_CAT(a, N)) \
-/**/
-
-namespace boost { namespace phoenix
-{
- template <typename Dummy = void>
- struct vector0
- {
- typedef mpl::int_<0> size_type;
- static const int size_value = 0;
- };
-
- template <int> struct vector_chooser;
-
- template <>
- struct vector_chooser<0>
- {
- template <typename Dummy = void>
- struct apply
- {
- typedef vector0<> type;
- };
- };
-}}
-
-
-#define BOOST_PHOENIX_ITERATION_PARAMS \
- (3, (1, BOOST_PP_INC(BOOST_PHOENIX_LIMIT), \
- <boost/phoenix/support/vector.hpp>))
-#include BOOST_PHOENIX_ITERATE()
-
-#undef M0
-#undef M1
-#undef M2
-#undef M3
-
-#if defined(__WAVE__) && defined(BOOST_PHOENIX_CREATE_PREPROCESSED_FILES)
-#pragma wave option(output: null)
-#endif
-
-#endif
-
-#else
-
-namespace boost { namespace phoenix
-{
- template <BOOST_PHOENIX_typename_A>
- struct BOOST_PP_CAT(vector, BOOST_PHOENIX_ITERATION)
- {
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M0, _)
-
- typedef mpl::int_<BOOST_PHOENIX_ITERATION> size_type;
- static const int size_value = BOOST_PHOENIX_ITERATION;
-
- typedef
- BOOST_PP_CAT(vector, BOOST_PP_DEC(BOOST_PHOENIX_ITERATION))<BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PHOENIX_ITERATION, A)>
- args_type;
-
- args_type args() const
- {
- args_type r = {BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PHOENIX_ITERATION, a)};
- return r;
- }
- };
-
- template <>
- struct vector_chooser<BOOST_PHOENIX_ITERATION>
- {
- template <BOOST_PHOENIX_typename_A>
- struct apply
- {
- typedef BOOST_PP_CAT(vector, BOOST_PHOENIX_ITERATION)<BOOST_PHOENIX_A> type;
- };
- };
-}}
-
-#define BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM0 \
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M1, _) \
-/**/
-#define BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM1 \
- ( \
- BOOST_PP_CAT( \
- boost::phoenix::vector \
- , BOOST_PHOENIX_ITERATION \
- ) \
- ) \
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M1, _) \
-/**/
-#define BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM2 \
- BOOST_PP_REPEAT(BOOST_PHOENIX_ITERATION, M3, _) \
-/**/
-
-BOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL(
- BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM0
- , BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM1
- , BOOST_PHOENIX_SUPPORT_VECTOR_ADAT_PARAM2
-)
-
-#endif
-
-#endif
-
-#ifdef BOOST_MSVC
-#pragma warning(pop)
-#endif
diff --git a/contrib/restricted/boost/phoenix/include/boost/phoenix/version.hpp b/contrib/restricted/boost/phoenix/include/boost/phoenix/version.hpp
deleted file mode 100644
index 45e2ec05af..0000000000
--- a/contrib/restricted/boost/phoenix/include/boost/phoenix/version.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005-2008 Hartmut Kaiser
- Copyright (c) 2005-2010 Joel de Guzman
- Copyright (c) 2014-2015 John Fletcher
-
- Distributed under the 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_PHOENIX_VERSION_HPP
-#define BOOST_PHOENIX_VERSION_HPP
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// This is the version of the library
-//
-///////////////////////////////////////////////////////////////////////////////
-#define BOOST_PHOENIX_VERSION 0x3200 // 3.2.0
-
-#include <boost/predef/version_number.h>
-#define BOOST_PHOENIX_VERSION_NUMBER = BOOST_VERSION_NUMBER(3,2,0)
-
-#endif
diff --git a/contrib/restricted/boost/proto/include/boost/proto/detail/class_member_traits.hpp b/contrib/restricted/boost/proto/include/boost/proto/detail/class_member_traits.hpp
deleted file mode 100644
index 98d8ebbf48..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/detail/class_member_traits.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-#if !defined(BOOST_PROTO_DONT_USE_PREPROCESSED_FILES)
-
- #include <boost/proto/detail/preprocessed/class_member_traits.hpp>
-
-#elif !defined(BOOST_PP_IS_ITERATING)
-
- #if defined(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 2, line: 0, output: "preprocessed/class_member_traits.hpp")
- #endif
-
- ///////////////////////////////////////////////////////////////////////////////
- // class_member_traits.hpp
- // Contains specializations of the class_member_traits\<\> class template.
- //
- // Copyright 2008 Eric Niebler. Distributed under the 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(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 1)
- #endif
-
- #define BOOST_PP_ITERATION_PARAMS_1 \
- (3, (0, BOOST_PROTO_MAX_ARITY, <boost/proto/detail/class_member_traits.hpp>))
- #include BOOST_PP_ITERATE()
-
- #if defined(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(output: null)
- #endif
-
-#else
-
- #define N BOOST_PP_ITERATION()
-
- template<typename T, typename U BOOST_PP_ENUM_TRAILING_PARAMS(N, typename A)>
- struct class_member_traits<T (U::*)(BOOST_PP_ENUM_PARAMS(N, A))>
- {
- typedef U class_type;
- typedef T result_type;
- };
-
- template<typename T, typename U BOOST_PP_ENUM_TRAILING_PARAMS(N, typename A)>
- struct class_member_traits<T (U::*)(BOOST_PP_ENUM_PARAMS(N, A)) const>
- {
- typedef U class_type;
- typedef T result_type;
- };
-
- #undef N
-
-#endif // BOOST_PROTO_DONT_USE_PREPROCESSED_FILES
diff --git a/contrib/restricted/boost/proto/include/boost/proto/detail/decltype.hpp b/contrib/restricted/boost/proto/include/boost/proto/detail/decltype.hpp
deleted file mode 100644
index 58820713b0..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/detail/decltype.hpp
+++ /dev/null
@@ -1,453 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/// \file decltype.hpp
-/// Contains definition the BOOST_PROTO_DECLTYPE_() macro and assorted helpers
-//
-// Copyright 2008 Eric Niebler. Distributed under the 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_PROTO_DETAIL_DECLTYPE_HPP_EAN_04_04_2008
-#define BOOST_PROTO_DETAIL_DECLTYPE_HPP_EAN_04_04_2008
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/get_pointer.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/preprocessor/iteration/local.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_class.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/is_member_object_pointer.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/typeof/typeof.hpp>
-#include <boost/utility/addressof.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/proto/proto_fwd.hpp>
-#include <boost/proto/detail/any.hpp>
-
-#if defined(_MSC_VER)
-# pragma warning(push)
-# pragma warning(disable : 4714) // function 'xxx' marked as __forceinline not inlined
-#endif
-
-// We're STILL using Boost.Typeof on MSVC even for msvc-11.0 because of this bug:
-// https://connect.microsoft.com/VisualStudio/feedback/details/765392/decltype-of-a-pointer-to-member-operator-gets-ref-qualification-wrong
-#if !defined(BOOST_NO_CXX11_DECLTYPE) && !BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1700))
-# define BOOST_PROTO_DECLTYPE_(EXPR, TYPE) typedef decltype((EXPR)) TYPE;
-#else
-# define BOOST_PROTO_DECLTYPE_NESTED_TYPEDEF_TPL_(NESTED, EXPR) \
- BOOST_TYPEOF_NESTED_TYPEDEF_TPL(BOOST_PP_CAT(nested_and_hidden_, NESTED), EXPR) \
- static int const BOOST_PP_CAT(sz, NESTED) = sizeof(boost::proto::detail::check_reference(EXPR));\
- struct NESTED \
- : boost::mpl::if_c< \
- 1 == BOOST_PP_CAT(sz, NESTED) \
- , typename BOOST_PP_CAT(nested_and_hidden_, NESTED)::type & \
- , typename BOOST_PP_CAT(nested_and_hidden_, NESTED)::type \
- > \
- {};
-# define BOOST_PROTO_DECLTYPE_(EXPR, TYPE) \
- BOOST_PROTO_DECLTYPE_NESTED_TYPEDEF_TPL_(BOOST_PP_CAT(nested_, TYPE), (EXPR)) \
- typedef typename BOOST_PP_CAT(nested_, TYPE)::type TYPE;
-#endif
-
-namespace boost { namespace proto
-{
- namespace detail
- {
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- struct as_mutable
- {
- typedef T &type;
- };
-
- template<typename T>
- struct as_mutable<T &>
- {
- typedef T &type;
- };
-
- template<typename T>
- struct as_mutable<T const &>
- {
- typedef T &type;
- };
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- T make();
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- typename as_mutable<T>::type make_mutable();
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- struct subscript_wrapper
- : T
- {
- using T::operator[];
-
- #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1500))
- any operator[](any const volatile &) const volatile;
- #else
- any operator[](any const &) const volatile;
- #endif
- };
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- struct as_subscriptable
- {
- typedef
- typename mpl::if_c<
- is_class<T>::value
- , subscript_wrapper<T>
- , T
- >::type
- type;
- };
-
- template<typename T>
- struct as_subscriptable<T const>
- {
- typedef
- typename mpl::if_c<
- is_class<T>::value
- , subscript_wrapper<T> const
- , T const
- >::type
- type;
- };
-
- template<typename T>
- struct as_subscriptable<T &>
- {
- typedef
- typename mpl::if_c<
- is_class<T>::value
- , subscript_wrapper<T> &
- , T &
- >::type
- type;
- };
-
- template<typename T>
- struct as_subscriptable<T const &>
- {
- typedef
- typename mpl::if_c<
- is_class<T>::value
- , subscript_wrapper<T> const &
- , T const &
- >::type
- type;
- };
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- typename as_subscriptable<T>::type make_subscriptable();
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- char check_reference(T &);
-
- template<typename T>
- char (&check_reference(T const &))[2];
-
- namespace has_get_pointerns
- {
- using boost::get_pointer;
- void *(&get_pointer(...))[2];
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- struct has_get_pointer
- {
- static const bool value = sizeof(void *) == sizeof(get_pointer(make<T &>()));
- typedef mpl::bool_<value> type;
- };
- }
-
- using has_get_pointerns::has_get_pointer;
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- struct class_member_traits;
-
- template<typename T, typename U>
- struct class_member_traits<T U::*>
- {
- typedef U class_type;
- typedef T result_type;
- };
-
- // Other specializations are generated by the preprocessor
- #include <boost/proto/detail/class_member_traits.hpp>
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename T>
- T &lvalue(T &t)
- {
- return t;
- }
-
- template<typename T>
- T const &lvalue(T const &t)
- {
- return t;
- }
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename U, typename V, typename T>
- U *proto_get_pointer(T &t, V *, U *)
- {
- return boost::addressof(t);
- }
-
- template<typename U, typename V, typename T>
- U const *proto_get_pointer(T &t, V *, U const *)
- {
- return boost::addressof(t);
- }
-
- template<typename U, typename V, typename T>
- V *proto_get_pointer(T &t, V *, ...)
- {
- return get_pointer(t);
- }
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- #define BOOST_PROTO_USE_GET_POINTER() \
- using namespace boost::proto::detail::get_pointerns \
- /**/
-
- #define BOOST_PROTO_GET_POINTER(Type, Obj) \
- boost::proto::detail::proto_get_pointer<Type>( \
- boost::proto::detail::lvalue(Obj) \
- , (true ? 0 : get_pointer(Obj)) \
- , (true ? 0 : boost::addressof(boost::proto::detail::lvalue(Obj))) \
- ) \
- /**/
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- namespace get_pointerns
- {
- using boost::get_pointer;
-
- template<typename T>
- typename disable_if_c<has_get_pointer<T>::value, T *>::type
- get_pointer(T &t)
- {
- return boost::addressof(t);
- }
-
- template<typename T>
- typename disable_if_c<has_get_pointer<T>::value, T const *>::type
- get_pointer(T const &t)
- {
- return boost::addressof(t);
- }
-
- char test_ptr_to_const(void *);
- char (&test_ptr_to_const(void const *))[2];
-
- template<typename U> char test_V_is_a_U(U *);
- template<typename U> char test_V_is_a_U(U const *);
- template<typename U> char (&test_V_is_a_U(...))[2];
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- // result_of_ is a wrapper around boost::result_of that also handles "invocations" of
- // member object pointers.
- template<typename T, typename Void = void>
- struct result_of_
- : BOOST_PROTO_RESULT_OF<T>
- {};
-
- template<typename T, typename U, typename V>
- struct result_of_<T U::*(V), typename enable_if_c<is_member_object_pointer<T U::*>::value>::type>
- {
- static const bool is_V_a_smart_ptr = 2 == sizeof(test_V_is_a_U<U>(&lvalue(make<V>())));
- static const bool is_ptr_to_const = 2 == sizeof(test_ptr_to_const(BOOST_PROTO_GET_POINTER(U, make<V>())));
-
- // If V is not a U, then it is a (smart) pointer and we can always return an lvalue.
- // Otherwise, we can only return an lvalue if we are given one.
- typedef
- typename mpl::eval_if_c<
- (is_V_a_smart_ptr || is_reference<V>::value)
- , mpl::eval_if_c<
- is_ptr_to_const
- , add_reference<typename add_const<T>::type>
- , add_reference<T>
- >
- , mpl::identity<T>
- >::type
- type;
- };
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<
- typename T
- , typename U
- , bool IsMemPtr = is_member_object_pointer<
- typename remove_reference<U>::type
- >::value
- >
- struct mem_ptr_fun
- {
- BOOST_PROTO_DECLTYPE_(
- proto::detail::make_mutable<T>() ->* proto::detail::make<U>()
- , result_type
- )
-
- result_type operator()(
- typename add_reference<typename add_const<T>::type>::type t
- , typename add_reference<typename add_const<U>::type>::type u
- ) const
- {
- return t ->* u;
- }
- };
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename T, typename U>
- struct mem_ptr_fun<T, U, true>
- {
- typedef
- typename class_member_traits<
- typename uncvref<U>::type
- >::class_type
- V;
-
- BOOST_PROTO_DECLTYPE_(
- BOOST_PROTO_GET_POINTER(V, proto::detail::make_mutable<T>()) ->* proto::detail::make<U>()
- , result_type
- )
-
- result_type operator()(
- typename add_reference<typename add_const<T>::type>::type t
- , U u
- ) const
- {
- return BOOST_PROTO_GET_POINTER(V, t) ->* u;
- }
- };
- }
-
- using get_pointerns::result_of_;
- using get_pointerns::mem_ptr_fun;
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- template<typename A0, typename A1>
- struct comma_result
- {
- BOOST_PROTO_DECLTYPE_((proto::detail::make<A0>(), proto::detail::make<A1>()), type)
- };
-
- template<typename A0>
- struct comma_result<A0, void>
- {
- typedef void type;
- };
-
- template<typename A1>
- struct comma_result<void, A1>
- {
- typedef A1 type;
- };
-
- template<>
- struct comma_result<void, void>
- {
- typedef void type;
- };
-
- ////////////////////////////////////////////////////////////////////////////////////////////
- // normalize a function type for use with boost::result_of
- template<typename T, typename U = T>
- struct result_of_fixup
- : mpl::if_c<is_function<T>::value, T *, U>
- {};
-
- template<typename T, typename U>
- struct result_of_fixup<T &, U>
- : result_of_fixup<T, T>
- {};
-
- template<typename T, typename U>
- struct result_of_fixup<T const &, U>
- : result_of_fixup<T, T>
- {};
-
- template<typename T, typename U>
- struct result_of_fixup<T *, U>
- : result_of_fixup<T, U>
- {};
-
- template<typename R, typename T, typename U>
- struct result_of_fixup<R T::*, U>
- {
- typedef R T::*type;
- };
-
- template<typename T, typename U>
- struct result_of_fixup<T const, U>
- : result_of_fixup<T, U>
- {};
-
- //// Tests for result_of_fixup
- //struct bar {};
- //BOOST_MPL_ASSERT((is_same<bar, result_of_fixup<bar>::type>));
- //BOOST_MPL_ASSERT((is_same<bar const, result_of_fixup<bar const>::type>));
- //BOOST_MPL_ASSERT((is_same<bar, result_of_fixup<bar &>::type>));
- //BOOST_MPL_ASSERT((is_same<bar const, result_of_fixup<bar const &>::type>));
- //BOOST_MPL_ASSERT((is_same<void(*)(), result_of_fixup<void(*)()>::type>));
- //BOOST_MPL_ASSERT((is_same<void(*)(), result_of_fixup<void(* const)()>::type>));
- //BOOST_MPL_ASSERT((is_same<void(*)(), result_of_fixup<void(* const &)()>::type>));
- //BOOST_MPL_ASSERT((is_same<void(*)(), result_of_fixup<void(&)()>::type>));
-
- template<typename T, typename PMF>
- struct memfun
- {
- typedef typename uncvref<PMF>::type pmf_type;
- typedef typename class_member_traits<pmf_type>::class_type V;
- typedef typename class_member_traits<pmf_type>::result_type result_type;
-
- memfun(T t, pmf_type p)
- : obj(t)
- , pmf(p)
- {}
-
- result_type operator()() const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)();
- }
-
- // Other overloads generated by the preprocessor
- #include <boost/proto/detail/memfun_funop.hpp>
-
- private:
- T obj;
- pmf_type pmf;
- };
-
- } // namespace detail
-}}
-
-#if defined(_MSC_VER)
-# pragma warning(pop)
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/proto/include/boost/proto/detail/memfun_funop.hpp b/contrib/restricted/boost/proto/include/boost/proto/detail/memfun_funop.hpp
deleted file mode 100644
index 8a63a9f5c3..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/detail/memfun_funop.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#if !defined(BOOST_PROTO_DONT_USE_PREPROCESSED_FILES)
-
- #include <boost/proto/detail/preprocessed/memfun_funop.hpp>
-
-#elif !defined(BOOST_PP_IS_ITERATING)
-
- #if defined(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 2, line: 0, output: "preprocessed/memfun_funop.hpp")
- #endif
-
- ///////////////////////////////////////////////////////////////////////////////
- // memfun_funop.hpp
- // Contains overloads of memfun::operator().
- //
- // Copyright 2008 Eric Niebler. Distributed under the 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(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 1)
- #endif
-
- #define BOOST_PP_ITERATION_PARAMS_1 \
- (3, (1, BOOST_PROTO_MAX_ARITY, <boost/proto/detail/memfun_funop.hpp>))
- #include BOOST_PP_ITERATE()
-
- #if defined(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(output: null)
- #endif
-
-#else
-
- #define N BOOST_PP_ITERATION()
-
- template<BOOST_PP_ENUM_PARAMS(N, typename A)>
- BOOST_FORCEINLINE
- result_type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N, A, const &a)) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)(BOOST_PP_ENUM_PARAMS(N, a));
- }
-
- #undef N
-
-#endif // BOOST_PROTO_DONT_USE_PREPROCESSED_FILES
diff --git a/contrib/restricted/boost/proto/include/boost/proto/detail/preprocessed/class_member_traits.hpp b/contrib/restricted/boost/proto/include/boost/proto/detail/preprocessed/class_member_traits.hpp
deleted file mode 100644
index 418957a9c6..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/detail/preprocessed/class_member_traits.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
- ///////////////////////////////////////////////////////////////////////////////
- // class_member_traits.hpp
- // Contains specializations of the class_member_traits\<\> class template.
- //
- // Copyright 2008 Eric Niebler. Distributed under the Boost
- // Software License, Version 1.0. (See accompanying file
- // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- template<typename T, typename U >
- struct class_member_traits<T (U::*)()>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U >
- struct class_member_traits<T (U::*)() const>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0>
- struct class_member_traits<T (U::*)(A0)>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0>
- struct class_member_traits<T (U::*)(A0) const>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1>
- struct class_member_traits<T (U::*)(A0 , A1)>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1>
- struct class_member_traits<T (U::*)(A0 , A1) const>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2>
- struct class_member_traits<T (U::*)(A0 , A1 , A2)>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2>
- struct class_member_traits<T (U::*)(A0 , A1 , A2) const>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3)>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3) const>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4)>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4) const>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4 , A5)>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4 , A5) const>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4 , A5 , A6)>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4 , A5 , A6) const>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7) const>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8) const>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)>
- {
- typedef U class_type;
- typedef T result_type;
- };
- template<typename T, typename U , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct class_member_traits<T (U::*)(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9) const>
- {
- typedef U class_type;
- typedef T result_type;
- };
diff --git a/contrib/restricted/boost/proto/include/boost/proto/detail/preprocessed/memfun_funop.hpp b/contrib/restricted/boost/proto/include/boost/proto/detail/preprocessed/memfun_funop.hpp
deleted file mode 100644
index 3449160c36..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/detail/preprocessed/memfun_funop.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
- ///////////////////////////////////////////////////////////////////////////////
- // memfun_funop.hpp
- // Contains overloads of memfun::operator().
- //
- // Copyright 2008 Eric Niebler. Distributed under the Boost
- // Software License, Version 1.0. (See accompanying file
- // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- template<typename A0>
- BOOST_FORCEINLINE
- result_type operator()(A0 const &a0) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)(a0);
- }
- template<typename A0 , typename A1>
- BOOST_FORCEINLINE
- result_type operator()(A0 const &a0 , A1 const &a1) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)(a0 , a1);
- }
- template<typename A0 , typename A1 , typename A2>
- BOOST_FORCEINLINE
- result_type operator()(A0 const &a0 , A1 const &a1 , A2 const &a2) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)(a0 , a1 , a2);
- }
- template<typename A0 , typename A1 , typename A2 , typename A3>
- BOOST_FORCEINLINE
- result_type operator()(A0 const &a0 , A1 const &a1 , A2 const &a2 , A3 const &a3) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)(a0 , a1 , a2 , a3);
- }
- template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- BOOST_FORCEINLINE
- result_type operator()(A0 const &a0 , A1 const &a1 , A2 const &a2 , A3 const &a3 , A4 const &a4) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)(a0 , a1 , a2 , a3 , a4);
- }
- template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- BOOST_FORCEINLINE
- result_type operator()(A0 const &a0 , A1 const &a1 , A2 const &a2 , A3 const &a3 , A4 const &a4 , A5 const &a5) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)(a0 , a1 , a2 , a3 , a4 , a5);
- }
- template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- BOOST_FORCEINLINE
- result_type operator()(A0 const &a0 , A1 const &a1 , A2 const &a2 , A3 const &a3 , A4 const &a4 , A5 const &a5 , A6 const &a6) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)(a0 , a1 , a2 , a3 , a4 , a5 , a6);
- }
- template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- BOOST_FORCEINLINE
- result_type operator()(A0 const &a0 , A1 const &a1 , A2 const &a2 , A3 const &a3 , A4 const &a4 , A5 const &a5 , A6 const &a6 , A7 const &a7) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7);
- }
- template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- BOOST_FORCEINLINE
- result_type operator()(A0 const &a0 , A1 const &a1 , A2 const &a2 , A3 const &a3 , A4 const &a4 , A5 const &a5 , A6 const &a6 , A7 const &a7 , A8 const &a8) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8);
- }
- template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- BOOST_FORCEINLINE
- result_type operator()(A0 const &a0 , A1 const &a1 , A2 const &a2 , A3 const &a3 , A4 const &a4 , A5 const &a5 , A6 const &a6 , A7 const &a7 , A8 const &a8 , A9 const &a9) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- return (BOOST_PROTO_GET_POINTER(V, obj) ->* pmf)(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9);
- }
diff --git a/contrib/restricted/boost/proto/include/boost/proto/functional/fusion/at.hpp b/contrib/restricted/boost/proto/include/boost/proto/functional/fusion/at.hpp
deleted file mode 100644
index 328ac1383d..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/functional/fusion/at.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/// \file at.hpp
-/// Proto callables Fusion at
-//
-// Copyright 2010 Eric Niebler. Distributed under the 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_PROTO_FUNCTIONAL_FUSION_AT_HPP_EAN_11_27_2010
-#define BOOST_PROTO_FUNCTIONAL_FUSION_AT_HPP_EAN_11_27_2010
-
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/proto/proto_fwd.hpp>
-
-namespace boost { namespace proto { namespace functional
-{
- /// \brief A PolymorphicFunctionObject type that invokes the
- /// \c fusion::at() accessor on its argument.
- ///
- /// A PolymorphicFunctionObject type that invokes the
- /// \c fusion::at() accessor on its argument.
- struct at
- {
- BOOST_PROTO_CALLABLE()
-
- template<typename Sig>
- struct result;
-
- template<typename This, typename Seq, typename N>
- struct result<This(Seq, N)>
- : fusion::result_of::at<
- typename boost::remove_reference<Seq>::type
- , typename boost::remove_const<typename boost::remove_reference<N>::type>::type
- >
- {};
-
- template<typename Seq, typename N>
- typename fusion::result_of::at<Seq, N>::type
- operator ()(Seq &seq, N const & BOOST_PROTO_DISABLE_IF_IS_CONST(Seq)) const
- {
- return fusion::at<N>(seq);
- }
-
- template<typename Seq, typename N>
- typename fusion::result_of::at<Seq const, N>::type
- operator ()(Seq const &seq, N const &) const
- {
- return fusion::at<N>(seq);
- }
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/proto/include/boost/proto/transform.hpp b/contrib/restricted/boost/proto/include/boost/proto/transform.hpp
deleted file mode 100644
index ae376d722a..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/transform.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/// \file transform.hpp
-/// Includes all the transforms in the transform/ sub-directory.
-//
-// Copyright 2008 Eric Niebler. Distributed under the 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_PROTO_TRANSFORM_HPP_EAN_06_23_2007
-#define BOOST_PROTO_TRANSFORM_HPP_EAN_06_23_2007
-
-#include <boost/proto/transform/arg.hpp>
-#include <boost/proto/transform/call.hpp>
-#include <boost/proto/transform/default.hpp>
-#include <boost/proto/transform/env.hpp>
-#include <boost/proto/transform/fold.hpp>
-#include <boost/proto/transform/fold_tree.hpp>
-#include <boost/proto/transform/integral_c.hpp>
-#include <boost/proto/transform/lazy.hpp>
-#include <boost/proto/transform/make.hpp>
-#include <boost/proto/transform/pass_through.hpp>
-#include <boost/proto/transform/when.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/proto/include/boost/proto/transform/default.hpp b/contrib/restricted/boost/proto/include/boost/proto/transform/default.hpp
deleted file mode 100644
index cac2d6eee8..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/transform/default.hpp
+++ /dev/null
@@ -1,598 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/// \file default.hpp
-/// Contains definition of the _default transform, which gives operators their
-/// usual C++ meanings and uses Boost.Typeof to deduce return types.
-//
-// Copyright 2008 Eric Niebler. Distributed under the 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_PROTO_TRANSFORM_DEFAULT_HPP_EAN_04_04_2008
-#define BOOST_PROTO_TRANSFORM_DEFAULT_HPP_EAN_04_04_2008
-
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/arithmetic/add.hpp>
-#include <boost/preprocessor/arithmetic/sub.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_shifted.hpp>
-#include <boost/preprocessor/repetition/enum_shifted_params.hpp>
-#include <boost/ref.hpp>
-#include <boost/get_pointer.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_member_pointer.hpp>
-#include <boost/type_traits/is_member_object_pointer.hpp>
-#include <boost/type_traits/is_member_function_pointer.hpp>
-#include <boost/proto/proto_fwd.hpp>
-#include <boost/proto/traits.hpp>
-#include <boost/proto/transform/impl.hpp>
-#include <boost/proto/transform/arg.hpp>
-#include <boost/proto/detail/decltype.hpp>
-
-namespace boost { namespace proto
-{
- namespace detail
- {
- template<typename Grammar, typename Tag>
- struct default_case
- : not_<_>
- {};
-
- template<typename Grammar>
- struct default_case<Grammar, tag::terminal>
- : when<terminal<_>, _value>
- {};
-
- template<typename Grammar>
- struct default_cases
- {
- template<typename Tag>
- struct case_
- : default_case<Grammar, Tag>
- {};
- };
-
- #define BOOST_PROTO_UNARY_DEFAULT_EVAL(OP, TAG, MAKE) \
- template<typename Grammar> \
- struct BOOST_PP_CAT(default_, TAG) \
- : transform<BOOST_PP_CAT(default_, TAG)<Grammar> > \
- { \
- template<typename Expr, typename State, typename Data> \
- struct impl \
- : transform_impl<Expr, State, Data> \
- { \
- private: \
- typedef typename result_of::child_c<Expr, 0>::type e0; \
- typedef typename Grammar::template impl<e0, State, Data>::result_type r0; \
- public: \
- BOOST_PROTO_DECLTYPE_(OP proto::detail::MAKE<r0>(), result_type) \
- result_type operator ()( \
- typename impl::expr_param e \
- , typename impl::state_param s \
- , typename impl::data_param d \
- ) const \
- { \
- typename Grammar::template impl<e0, State, Data> t0; \
- return OP t0(proto::child_c<0>(e), s, d); \
- } \
- }; \
- }; \
- \
- template<typename Grammar> \
- struct default_case<Grammar, tag::TAG> \
- : when<unary_expr<tag::TAG, Grammar>, BOOST_PP_CAT(default_, TAG)<Grammar> > \
- {}; \
- /**/
-
- #define BOOST_PROTO_BINARY_DEFAULT_EVAL(OP, TAG, LMAKE, RMAKE) \
- template<typename Grammar> \
- struct BOOST_PP_CAT(default_, TAG) \
- : transform<BOOST_PP_CAT(default_, TAG)<Grammar> > \
- { \
- template<typename Expr, typename State, typename Data> \
- struct impl \
- : transform_impl<Expr, State, Data> \
- { \
- private: \
- typedef typename result_of::child_c<Expr, 0>::type e0; \
- typedef typename result_of::child_c<Expr, 1>::type e1; \
- typedef typename Grammar::template impl<e0, State, Data>::result_type r0; \
- typedef typename Grammar::template impl<e1, State, Data>::result_type r1; \
- public: \
- BOOST_PROTO_DECLTYPE_( \
- proto::detail::LMAKE<r0>() OP proto::detail::RMAKE<r1>() \
- , result_type \
- ) \
- result_type operator ()( \
- typename impl::expr_param e \
- , typename impl::state_param s \
- , typename impl::data_param d \
- ) const \
- { \
- typename Grammar::template impl<e0, State, Data> t0; \
- typename Grammar::template impl<e1, State, Data> t1; \
- return t0(proto::child_c<0>(e), s, d) \
- OP t1(proto::child_c<1>(e), s, d); \
- } \
- }; \
- }; \
- \
- template<typename Grammar> \
- struct default_case<Grammar, tag::TAG> \
- : when<binary_expr<tag::TAG, Grammar, Grammar>, BOOST_PP_CAT(default_, TAG)<Grammar> > \
- {}; \
- /**/
-
- BOOST_PROTO_UNARY_DEFAULT_EVAL(+, unary_plus, make)
- BOOST_PROTO_UNARY_DEFAULT_EVAL(-, negate, make)
- BOOST_PROTO_UNARY_DEFAULT_EVAL(*, dereference, make)
- BOOST_PROTO_UNARY_DEFAULT_EVAL(~, complement, make)
- BOOST_PROTO_UNARY_DEFAULT_EVAL(&, address_of, make)
- BOOST_PROTO_UNARY_DEFAULT_EVAL(!, logical_not, make)
- BOOST_PROTO_UNARY_DEFAULT_EVAL(++, pre_inc, make_mutable)
- BOOST_PROTO_UNARY_DEFAULT_EVAL(--, pre_dec, make_mutable)
-
- BOOST_PROTO_BINARY_DEFAULT_EVAL(<<, shift_left, make_mutable, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(>>, shift_right, make_mutable, make_mutable)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(*, multiplies, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(/, divides, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(%, modulus, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(+, plus, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(-, minus, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(<, less, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(>, greater, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(<=, less_equal, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(>=, greater_equal, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(==, equal_to, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(!=, not_equal_to, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(||, logical_or, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(&&, logical_and, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(&, bitwise_and, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(|, bitwise_or, make, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(^, bitwise_xor, make, make)
-
- BOOST_PROTO_BINARY_DEFAULT_EVAL(=, assign, make_mutable, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(<<=, shift_left_assign, make_mutable, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(>>=, shift_right_assign, make_mutable, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(*=, multiplies_assign, make_mutable, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(/=, divides_assign, make_mutable, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(%=, modulus_assign, make_mutable, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(+=, plus_assign, make_mutable, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(-=, minus_assign, make_mutable, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(&=, bitwise_and_assign, make_mutable, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(|=, bitwise_or_assign, make_mutable, make)
- BOOST_PROTO_BINARY_DEFAULT_EVAL(^=, bitwise_xor_assign, make_mutable, make)
-
- #undef BOOST_PROTO_UNARY_DEFAULT_EVAL
- #undef BOOST_PROTO_BINARY_DEFAULT_EVAL
-
- /// INTERNAL ONLY
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct is_member_function_invocation
- : is_member_function_pointer<
- typename uncvref<
- typename Grammar::template impl<
- typename result_of::child_c<Expr, 1>::type
- , State
- , Data
- >::result_type
- >::type
- >
- {};
-
- /// INTERNAL ONLY
- template<typename Grammar, typename Expr, typename State, typename Data, bool IsMemFunCall>
- struct default_mem_ptr_impl
- : transform_impl<Expr, State, Data>
- {
- private:
- typedef typename result_of::child_c<Expr, 0>::type e0;
- typedef typename result_of::child_c<Expr, 1>::type e1;
- typedef typename Grammar::template impl<e0, State, Data>::result_type r0;
- typedef typename Grammar::template impl<e1, State, Data>::result_type r1;
- public:
- typedef typename detail::mem_ptr_fun<r0, r1>::result_type result_type;
- result_type operator ()(
- typename default_mem_ptr_impl::expr_param e
- , typename default_mem_ptr_impl::state_param s
- , typename default_mem_ptr_impl::data_param d
- ) const
- {
- typename Grammar::template impl<e0, State, Data> t0;
- typename Grammar::template impl<e1, State, Data> t1;
- return detail::mem_ptr_fun<r0, r1>()(
- t0(proto::child_c<0>(e), s, d)
- , t1(proto::child_c<1>(e), s, d)
- );
- }
- };
-
- /// INTERNAL ONLY
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_mem_ptr_impl<Grammar, Expr, State, Data, true>
- : transform_impl<Expr, State, Data>
- {
- private:
- typedef typename result_of::child_c<Expr, 0>::type e0;
- typedef typename result_of::child_c<Expr, 1>::type e1;
- typedef typename Grammar::template impl<e0, State, Data>::result_type r0;
- typedef typename Grammar::template impl<e1, State, Data>::result_type r1;
- public:
- typedef detail::memfun<r0, r1> result_type;
- result_type const operator ()(
- typename default_mem_ptr_impl::expr_param e
- , typename default_mem_ptr_impl::state_param s
- , typename default_mem_ptr_impl::data_param d
- ) const
- {
- typename Grammar::template impl<e0, State, Data> t0;
- typename Grammar::template impl<e1, State, Data> t1;
- return detail::memfun<r0, r1>(
- t0(proto::child_c<0>(e), s, d)
- , t1(proto::child_c<1>(e), s, d)
- );
- }
- };
-
- template<typename Grammar>
- struct default_mem_ptr
- : transform<default_mem_ptr<Grammar> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : default_mem_ptr_impl<
- Grammar
- , Expr
- , State
- , Data
- , is_member_function_invocation<Grammar, Expr, State, Data>::value
- >
- {};
- };
-
- template<typename Grammar>
- struct default_case<Grammar, tag::mem_ptr>
- : when<mem_ptr<Grammar, Grammar>, default_mem_ptr<Grammar> >
- {};
-
- template<typename Grammar>
- struct default_post_inc
- : transform<default_post_inc<Grammar> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : transform_impl<Expr, State, Data>
- {
- private:
- typedef typename result_of::child_c<Expr, 0>::type e0;
- typedef typename Grammar::template impl<e0, State, Data>::result_type r0;
- public:
- BOOST_PROTO_DECLTYPE_(proto::detail::make_mutable<r0>() ++, result_type)
- result_type operator ()(
- typename impl::expr_param e
- , typename impl::state_param s
- , typename impl::data_param d
- ) const
- {
- typename Grammar::template impl<e0, State, Data> t0;
- return t0(proto::child_c<0>(e), s, d) ++;
- }
- };
- };
-
- template<typename Grammar>
- struct default_case<Grammar, tag::post_inc>
- : when<post_inc<Grammar>, default_post_inc<Grammar> >
- {};
-
- template<typename Grammar>
- struct default_post_dec
- : transform<default_post_dec<Grammar> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : transform_impl<Expr, State, Data>
- {
- private:
- typedef typename result_of::child_c<Expr, 0>::type e0;
- typedef typename Grammar::template impl<e0, State, Data>::result_type r0;
- public:
- BOOST_PROTO_DECLTYPE_(proto::detail::make_mutable<r0>() --, result_type)
- result_type operator ()(
- typename impl::expr_param e
- , typename impl::state_param s
- , typename impl::data_param d
- ) const
- {
- typename Grammar::template impl<e0, State, Data> t0;
- return t0(proto::child_c<0>(e), s, d) --;
- }
- };
- };
-
- template<typename Grammar>
- struct default_case<Grammar, tag::post_dec>
- : when<post_dec<Grammar>, default_post_dec<Grammar> >
- {};
-
- template<typename Grammar>
- struct default_subscript
- : transform<default_subscript<Grammar> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : transform_impl<Expr, State, Data>
- {
- private:
- typedef typename result_of::child_c<Expr, 0>::type e0;
- typedef typename result_of::child_c<Expr, 1>::type e1;
- typedef typename Grammar::template impl<e0, State, Data>::result_type r0;
- typedef typename Grammar::template impl<e1, State, Data>::result_type r1;
- public:
- BOOST_PROTO_DECLTYPE_(
- proto::detail::make_subscriptable<r0>() [ proto::detail::make<r1>() ]
- , result_type
- )
- result_type operator ()(
- typename impl::expr_param e
- , typename impl::state_param s
- , typename impl::data_param d
- ) const
- {
- typename Grammar::template impl<e0, State, Data> t0;
- typename Grammar::template impl<e1, State, Data> t1;
- return t0(proto::child_c<0>(e), s, d) [
- t1(proto::child_c<1>(e), s, d) ];
- }
- };
- };
-
- template<typename Grammar>
- struct default_case<Grammar, tag::subscript>
- : when<subscript<Grammar, Grammar>, default_subscript<Grammar> >
- {};
-
- template<typename Grammar>
- struct default_if_else_
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : transform_impl<Expr, State, Data>
- {
- private:
- typedef typename result_of::child_c<Expr, 0>::type e0;
- typedef typename result_of::child_c<Expr, 1>::type e1;
- typedef typename result_of::child_c<Expr, 2>::type e2;
- typedef typename Grammar::template impl<e0, State, Data>::result_type r0;
- typedef typename Grammar::template impl<e1, State, Data>::result_type r1;
- typedef typename Grammar::template impl<e2, State, Data>::result_type r2;
- public:
- BOOST_PROTO_DECLTYPE_(
- proto::detail::make<r0>()
- ? proto::detail::make<r1>()
- : proto::detail::make<r2>()
- , result_type
- )
- result_type operator ()(
- typename impl::expr_param e
- , typename impl::state_param s
- , typename impl::data_param d
- ) const
- {
- typename Grammar::template impl<e0, State, Data> t0;
- typename Grammar::template impl<e1, State, Data> t1;
- typename Grammar::template impl<e2, State, Data> t2;
- return t0(proto::child_c<0>(e), s, d)
- ? t1(proto::child_c<1>(e), s, d)
- : t2(proto::child_c<2>(e), s, d);
- }
- };
- };
-
- template<typename Grammar>
- struct default_case<Grammar, tag::if_else_>
- : when<if_else_<Grammar, Grammar, Grammar>, default_if_else_<Grammar> >
- {};
-
- template<typename Grammar>
- struct default_comma
- : transform<default_comma<Grammar> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : transform_impl<Expr, State, Data>
- {
- private:
- typedef typename result_of::child_c<Expr, 0>::type e0;
- typedef typename result_of::child_c<Expr, 1>::type e1;
- typedef typename Grammar::template impl<e0, State, Data>::result_type r0;
- typedef typename Grammar::template impl<e1, State, Data>::result_type r1;
- public:
- typedef typename proto::detail::comma_result<r0, r1>::type result_type;
- result_type operator ()(
- typename impl::expr_param e
- , typename impl::state_param s
- , typename impl::data_param d
- ) const
- {
- typename Grammar::template impl<e0, State, Data> t0;
- typename Grammar::template impl<e1, State, Data> t1;
- return t0(proto::child_c<0>(e), s, d)
- , t1(proto::child_c<1>(e), s, d);
- }
- };
- };
-
- template<typename Grammar>
- struct default_case<Grammar, tag::comma>
- : when<comma<Grammar, Grammar>, default_comma<Grammar> >
- {};
-
- template<typename Grammar, typename Expr, typename State, typename Data, long Arity>
- struct default_function_impl;
-
- template<typename Grammar>
- struct default_function
- : transform<default_function<Grammar> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : default_function_impl<
- Grammar
- , Expr
- , State
- , Data
- , transform_impl<Expr, State, Data>::expr::proto_arity_c
- >
- {};
- };
-
- template<typename Grammar>
- struct default_case<Grammar, tag::function>
- : when<function<Grammar, vararg<Grammar> >, default_function<Grammar> >
- {};
-
- #define BOOST_PROTO_DEFAULT_EVAL_TYPE(Z, N, DATA) \
- typedef \
- typename result_of::child_c<DATA, N>::type \
- BOOST_PP_CAT(e, N); \
- \
- typedef \
- typename Grammar::template impl<BOOST_PP_CAT(e, N), State, Data>::result_type \
- BOOST_PP_CAT(r, N); \
- /**/
-
- #define BOOST_PROTO_DEFAULT_EVAL(Z, N, DATA) \
- typename Grammar::template impl<BOOST_PP_CAT(e, N), State, Data>()( \
- proto::child_c<N>(DATA), s, d \
- ) \
- /**/
-
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_function_impl<Grammar, Expr, State, Data, 1>
- : transform_impl<Expr, State, Data>
- {
- BOOST_PROTO_DEFAULT_EVAL_TYPE(~, 0, Expr)
-
- typedef
- typename proto::detail::result_of_fixup<r0>::type
- function_type;
-
- typedef
- typename BOOST_PROTO_RESULT_OF<function_type()>::type
- result_type;
-
- result_type operator ()(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- ) const
- {
- return BOOST_PROTO_DEFAULT_EVAL(~, 0, e)();
- }
- };
-
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_function_impl<Grammar, Expr, State, Data, 2>
- : transform_impl<Expr, State, Data>
- {
- BOOST_PROTO_DEFAULT_EVAL_TYPE(~, 0, Expr)
- BOOST_PROTO_DEFAULT_EVAL_TYPE(~, 1, Expr)
-
- typedef
- typename proto::detail::result_of_fixup<r0>::type
- function_type;
-
- typedef
- typename detail::result_of_<function_type(r1)>::type
- result_type;
-
- result_type operator ()(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- ) const
- {
- return this->invoke(
- e
- , s
- , d
- , is_member_function_pointer<function_type>()
- , is_member_object_pointer<function_type>()
- );
- }
-
- private:
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::false_
- , mpl::false_
- ) const
- {
- return BOOST_PROTO_DEFAULT_EVAL(~, 0, e)(BOOST_PROTO_DEFAULT_EVAL(~, 1, e));
- }
-
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::true_
- , mpl::false_
- ) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- typedef typename detail::class_member_traits<function_type>::class_type class_type;
- return (
- BOOST_PROTO_GET_POINTER(class_type, (BOOST_PROTO_DEFAULT_EVAL(~, 1, e))) ->*
- BOOST_PROTO_DEFAULT_EVAL(~, 0, e)
- )();
- }
-
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::false_
- , mpl::true_
- ) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- typedef typename detail::class_member_traits<function_type>::class_type class_type;
- return (
- BOOST_PROTO_GET_POINTER(class_type, (BOOST_PROTO_DEFAULT_EVAL(~, 1, e))) ->*
- BOOST_PROTO_DEFAULT_EVAL(~, 0, e)
- );
- }
- };
-
- #include <boost/proto/transform/detail/default_function_impl.hpp>
-
- #undef BOOST_PROTO_DEFAULT_EVAL_TYPE
- #undef BOOST_PROTO_DEFAULT_EVAL
- }
-
- template<typename Grammar /*= detail::_default*/>
- struct _default
- : switch_<detail::default_cases<Grammar> >
- {};
-
- template<typename Grammar>
- struct is_callable<_default<Grammar> >
- : mpl::true_
- {};
-
- namespace detail
- {
- // Loopy indirection that allows proto::_default<> to be
- // used without specifying a Grammar argument.
- struct _default
- : proto::_default<>
- {};
- }
-
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/proto/include/boost/proto/transform/detail/default_function_impl.hpp b/contrib/restricted/boost/proto/include/boost/proto/transform/detail/default_function_impl.hpp
deleted file mode 100644
index a8f421c095..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/transform/detail/default_function_impl.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-#if !defined(BOOST_PROTO_DONT_USE_PREPROCESSED_FILES)
-
- #include <boost/proto/transform/detail/preprocessed/default_function_impl.hpp>
-
-#elif !defined(BOOST_PP_IS_ITERATING)
-
- #define BOOST_PROTO_DEF_FUN_INVOKE_ARG(Z, M, DATA) \
- BOOST_PROTO_DEFAULT_EVAL(Z, BOOST_PP_ADD(M, 2), DATA)
-
- #if defined(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 2, line: 0, output: "preprocessed/default_function_impl.hpp")
- #endif
-
- ///////////////////////////////////////////////////////////////////////////////
- /// \file default_function_impl.hpp
- /// Contains definition of the default_function_impl, the implementation of the
- /// _default transform for function-like nodes.
- //
- // Copyright 2008 Eric Niebler. Distributed under the 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(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 1)
- #endif
-
- #define BOOST_PP_ITERATION_PARAMS_1 \
- (3, (3, BOOST_PROTO_MAX_ARITY, <boost/proto/transform/detail/default_function_impl.hpp>))
- #include BOOST_PP_ITERATE()
-
- #if defined(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(output: null)
- #endif
-
- #undef BOOST_PROTO_DEF_FUN_INVOKE_ARG
-
-#else
-
- #define N BOOST_PP_ITERATION()
-
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_function_impl<Grammar, Expr, State, Data, N>
- : transform_impl<Expr, State, Data>
- {
- BOOST_PP_REPEAT(N, BOOST_PROTO_DEFAULT_EVAL_TYPE, Expr)
-
- typedef
- typename proto::detail::result_of_fixup<r0>::type
- function_type;
-
- typedef
- typename BOOST_PROTO_RESULT_OF<
- function_type(BOOST_PP_ENUM_SHIFTED_PARAMS(N, r))
- >::type
- result_type;
-
- result_type operator ()(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- ) const
- {
- return this->invoke(e, s, d, is_member_function_pointer<function_type>());
- }
-
- private:
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::false_
- ) const
- {
- return BOOST_PROTO_DEFAULT_EVAL(~, 0, e)(
- BOOST_PP_ENUM_SHIFTED(N, BOOST_PROTO_DEFAULT_EVAL, e)
- );
- }
-
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::true_
- ) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- typedef typename detail::class_member_traits<function_type>::class_type class_type;
- return (
- BOOST_PROTO_GET_POINTER(class_type, (BOOST_PROTO_DEFAULT_EVAL(~, 1, e))) ->*
- BOOST_PROTO_DEFAULT_EVAL(~, 0, e)
- )(BOOST_PP_ENUM(BOOST_PP_SUB(N, 2), BOOST_PROTO_DEF_FUN_INVOKE_ARG, e));
- }
- };
-
- #undef N
-
-#endif
diff --git a/contrib/restricted/boost/proto/include/boost/proto/transform/detail/lazy.hpp b/contrib/restricted/boost/proto/include/boost/proto/transform/detail/lazy.hpp
deleted file mode 100644
index fbd13651cf..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/transform/detail/lazy.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#if !defined(BOOST_PROTO_DONT_USE_PREPROCESSED_FILES)
-
- #include <boost/proto/transform/detail/preprocessed/lazy.hpp>
-
-#elif !defined(BOOST_PP_IS_ITERATING)
-
- #if defined(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 2, line: 0, output: "preprocessed/lazy.hpp")
- #endif
-
- ///////////////////////////////////////////////////////////////////////////////
- /// \file lazy.hpp
- /// Contains definition of the lazy<> transform.
- //
- // Copyright 2008 Eric Niebler. Distributed under the 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(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(preserve: 1)
- #endif
-
- #define BOOST_PP_ITERATION_PARAMS_1 \
- (3, (0, BOOST_PROTO_MAX_ARITY, <boost/proto/transform/detail/lazy.hpp>))
- #include BOOST_PP_ITERATE()
-
- #if defined(__WAVE__) && defined(BOOST_PROTO_CREATE_PREPROCESSED_FILES)
- #pragma wave option(output: null)
- #endif
-
-#else
-
- #define N BOOST_PP_ITERATION()
-
- /// \brief A PrimitiveTransform that uses <tt>make\<\></tt> to build
- /// a CallableTransform, and then uses <tt>call\<\></tt> to apply it.
- ///
- /// <tt>lazy\<\></tt> is useful as a higher-order transform, when the
- /// transform to be applied depends on the current state of the
- /// transformation. The invocation of the <tt>make\<\></tt> transform
- /// evaluates any nested transforms, and the resulting type is treated
- /// as a CallableTransform, which is evaluated with <tt>call\<\></tt>.
- template<typename Object BOOST_PP_ENUM_TRAILING_PARAMS(N, typename A)>
- struct lazy<Object(BOOST_PP_ENUM_PARAMS(N, A))>
- : transform<lazy<Object(BOOST_PP_ENUM_PARAMS(N, A))> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- (BOOST_PP_ENUM_PARAMS(N, A))
- >::template impl<Expr, State, Data>
- {};
- };
-
- #if N > 0
- template<typename Object BOOST_PP_ENUM_TRAILING_PARAMS(N, typename A)>
- struct lazy<Object(BOOST_PP_ENUM_PARAMS(N, A)...)>
- : transform<lazy<Object(BOOST_PP_ENUM_PARAMS(N, A)...)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : lazy<
- typename detail::expand_pattern<
- proto::arity_of<Expr>::value
- , BOOST_PP_CAT(A, BOOST_PP_DEC(N))
- , detail::BOOST_PP_CAT(expand_pattern_rest_, BOOST_PP_DEC(N))<
- Object
- BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_DEC(N), A)
- >
- >::type
- >::template impl<Expr, State, Data>
- {};
- };
- #endif
-
- #undef N
-
-#endif
diff --git a/contrib/restricted/boost/proto/include/boost/proto/transform/detail/preprocessed/default_function_impl.hpp b/contrib/restricted/boost/proto/include/boost/proto/transform/detail/preprocessed/default_function_impl.hpp
deleted file mode 100644
index 72ff60e80f..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/transform/detail/preprocessed/default_function_impl.hpp
+++ /dev/null
@@ -1,392 +0,0 @@
- ///////////////////////////////////////////////////////////////////////////////
- /// \file default_function_impl.hpp
- /// Contains definition of the default_function_impl, the implementation of the
- /// _default transform for function-like nodes.
- //
- // Copyright 2008 Eric Niebler. Distributed under the Boost
- // Software License, Version 1.0. (See accompanying file
- // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_function_impl<Grammar, Expr, State, Data, 3>
- : transform_impl<Expr, State, Data>
- {
- typedef typename result_of::child_c< Expr, 0>::type e0; typedef typename Grammar::template impl<e0, State, Data>::result_type r0; typedef typename result_of::child_c< Expr, 1>::type e1; typedef typename Grammar::template impl<e1, State, Data>::result_type r1; typedef typename result_of::child_c< Expr, 2>::type e2; typedef typename Grammar::template impl<e2, State, Data>::result_type r2;
- typedef
- typename proto::detail::result_of_fixup<r0>::type
- function_type;
- typedef
- typename BOOST_PROTO_RESULT_OF<
- function_type(r1 , r2)
- >::type
- result_type;
- result_type operator ()(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- ) const
- {
- return this->invoke(e, s, d, is_member_function_pointer<function_type>());
- }
- private:
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::false_
- ) const
- {
- return typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )(
- typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ) , typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d )
- );
- }
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::true_
- ) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- typedef typename detail::class_member_traits<function_type>::class_type class_type;
- return (
- BOOST_PROTO_GET_POINTER(class_type, (typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ))) ->*
- typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )
- )(typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ));
- }
- };
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_function_impl<Grammar, Expr, State, Data, 4>
- : transform_impl<Expr, State, Data>
- {
- typedef typename result_of::child_c< Expr, 0>::type e0; typedef typename Grammar::template impl<e0, State, Data>::result_type r0; typedef typename result_of::child_c< Expr, 1>::type e1; typedef typename Grammar::template impl<e1, State, Data>::result_type r1; typedef typename result_of::child_c< Expr, 2>::type e2; typedef typename Grammar::template impl<e2, State, Data>::result_type r2; typedef typename result_of::child_c< Expr, 3>::type e3; typedef typename Grammar::template impl<e3, State, Data>::result_type r3;
- typedef
- typename proto::detail::result_of_fixup<r0>::type
- function_type;
- typedef
- typename BOOST_PROTO_RESULT_OF<
- function_type(r1 , r2 , r3)
- >::type
- result_type;
- result_type operator ()(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- ) const
- {
- return this->invoke(e, s, d, is_member_function_pointer<function_type>());
- }
- private:
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::false_
- ) const
- {
- return typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )(
- typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ) , typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d )
- );
- }
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::true_
- ) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- typedef typename detail::class_member_traits<function_type>::class_type class_type;
- return (
- BOOST_PROTO_GET_POINTER(class_type, (typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ))) ->*
- typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )
- )(typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ));
- }
- };
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_function_impl<Grammar, Expr, State, Data, 5>
- : transform_impl<Expr, State, Data>
- {
- typedef typename result_of::child_c< Expr, 0>::type e0; typedef typename Grammar::template impl<e0, State, Data>::result_type r0; typedef typename result_of::child_c< Expr, 1>::type e1; typedef typename Grammar::template impl<e1, State, Data>::result_type r1; typedef typename result_of::child_c< Expr, 2>::type e2; typedef typename Grammar::template impl<e2, State, Data>::result_type r2; typedef typename result_of::child_c< Expr, 3>::type e3; typedef typename Grammar::template impl<e3, State, Data>::result_type r3; typedef typename result_of::child_c< Expr, 4>::type e4; typedef typename Grammar::template impl<e4, State, Data>::result_type r4;
- typedef
- typename proto::detail::result_of_fixup<r0>::type
- function_type;
- typedef
- typename BOOST_PROTO_RESULT_OF<
- function_type(r1 , r2 , r3 , r4)
- >::type
- result_type;
- result_type operator ()(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- ) const
- {
- return this->invoke(e, s, d, is_member_function_pointer<function_type>());
- }
- private:
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::false_
- ) const
- {
- return typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )(
- typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ) , typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d )
- );
- }
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::true_
- ) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- typedef typename detail::class_member_traits<function_type>::class_type class_type;
- return (
- BOOST_PROTO_GET_POINTER(class_type, (typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ))) ->*
- typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )
- )(typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d ));
- }
- };
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_function_impl<Grammar, Expr, State, Data, 6>
- : transform_impl<Expr, State, Data>
- {
- typedef typename result_of::child_c< Expr, 0>::type e0; typedef typename Grammar::template impl<e0, State, Data>::result_type r0; typedef typename result_of::child_c< Expr, 1>::type e1; typedef typename Grammar::template impl<e1, State, Data>::result_type r1; typedef typename result_of::child_c< Expr, 2>::type e2; typedef typename Grammar::template impl<e2, State, Data>::result_type r2; typedef typename result_of::child_c< Expr, 3>::type e3; typedef typename Grammar::template impl<e3, State, Data>::result_type r3; typedef typename result_of::child_c< Expr, 4>::type e4; typedef typename Grammar::template impl<e4, State, Data>::result_type r4; typedef typename result_of::child_c< Expr, 5>::type e5; typedef typename Grammar::template impl<e5, State, Data>::result_type r5;
- typedef
- typename proto::detail::result_of_fixup<r0>::type
- function_type;
- typedef
- typename BOOST_PROTO_RESULT_OF<
- function_type(r1 , r2 , r3 , r4 , r5)
- >::type
- result_type;
- result_type operator ()(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- ) const
- {
- return this->invoke(e, s, d, is_member_function_pointer<function_type>());
- }
- private:
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::false_
- ) const
- {
- return typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )(
- typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ) , typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d ) , typename Grammar::template impl<e5, State, Data>()( proto::child_c< 5>( e), s, d )
- );
- }
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::true_
- ) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- typedef typename detail::class_member_traits<function_type>::class_type class_type;
- return (
- BOOST_PROTO_GET_POINTER(class_type, (typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ))) ->*
- typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )
- )(typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d ) , typename Grammar::template impl<e5, State, Data>()( proto::child_c< 5>( e), s, d ));
- }
- };
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_function_impl<Grammar, Expr, State, Data, 7>
- : transform_impl<Expr, State, Data>
- {
- typedef typename result_of::child_c< Expr, 0>::type e0; typedef typename Grammar::template impl<e0, State, Data>::result_type r0; typedef typename result_of::child_c< Expr, 1>::type e1; typedef typename Grammar::template impl<e1, State, Data>::result_type r1; typedef typename result_of::child_c< Expr, 2>::type e2; typedef typename Grammar::template impl<e2, State, Data>::result_type r2; typedef typename result_of::child_c< Expr, 3>::type e3; typedef typename Grammar::template impl<e3, State, Data>::result_type r3; typedef typename result_of::child_c< Expr, 4>::type e4; typedef typename Grammar::template impl<e4, State, Data>::result_type r4; typedef typename result_of::child_c< Expr, 5>::type e5; typedef typename Grammar::template impl<e5, State, Data>::result_type r5; typedef typename result_of::child_c< Expr, 6>::type e6; typedef typename Grammar::template impl<e6, State, Data>::result_type r6;
- typedef
- typename proto::detail::result_of_fixup<r0>::type
- function_type;
- typedef
- typename BOOST_PROTO_RESULT_OF<
- function_type(r1 , r2 , r3 , r4 , r5 , r6)
- >::type
- result_type;
- result_type operator ()(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- ) const
- {
- return this->invoke(e, s, d, is_member_function_pointer<function_type>());
- }
- private:
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::false_
- ) const
- {
- return typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )(
- typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ) , typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d ) , typename Grammar::template impl<e5, State, Data>()( proto::child_c< 5>( e), s, d ) , typename Grammar::template impl<e6, State, Data>()( proto::child_c< 6>( e), s, d )
- );
- }
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::true_
- ) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- typedef typename detail::class_member_traits<function_type>::class_type class_type;
- return (
- BOOST_PROTO_GET_POINTER(class_type, (typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ))) ->*
- typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )
- )(typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d ) , typename Grammar::template impl<e5, State, Data>()( proto::child_c< 5>( e), s, d ) , typename Grammar::template impl<e6, State, Data>()( proto::child_c< 6>( e), s, d ));
- }
- };
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_function_impl<Grammar, Expr, State, Data, 8>
- : transform_impl<Expr, State, Data>
- {
- typedef typename result_of::child_c< Expr, 0>::type e0; typedef typename Grammar::template impl<e0, State, Data>::result_type r0; typedef typename result_of::child_c< Expr, 1>::type e1; typedef typename Grammar::template impl<e1, State, Data>::result_type r1; typedef typename result_of::child_c< Expr, 2>::type e2; typedef typename Grammar::template impl<e2, State, Data>::result_type r2; typedef typename result_of::child_c< Expr, 3>::type e3; typedef typename Grammar::template impl<e3, State, Data>::result_type r3; typedef typename result_of::child_c< Expr, 4>::type e4; typedef typename Grammar::template impl<e4, State, Data>::result_type r4; typedef typename result_of::child_c< Expr, 5>::type e5; typedef typename Grammar::template impl<e5, State, Data>::result_type r5; typedef typename result_of::child_c< Expr, 6>::type e6; typedef typename Grammar::template impl<e6, State, Data>::result_type r6; typedef typename result_of::child_c< Expr, 7>::type e7; typedef typename Grammar::template impl<e7, State, Data>::result_type r7;
- typedef
- typename proto::detail::result_of_fixup<r0>::type
- function_type;
- typedef
- typename BOOST_PROTO_RESULT_OF<
- function_type(r1 , r2 , r3 , r4 , r5 , r6 , r7)
- >::type
- result_type;
- result_type operator ()(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- ) const
- {
- return this->invoke(e, s, d, is_member_function_pointer<function_type>());
- }
- private:
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::false_
- ) const
- {
- return typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )(
- typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ) , typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d ) , typename Grammar::template impl<e5, State, Data>()( proto::child_c< 5>( e), s, d ) , typename Grammar::template impl<e6, State, Data>()( proto::child_c< 6>( e), s, d ) , typename Grammar::template impl<e7, State, Data>()( proto::child_c< 7>( e), s, d )
- );
- }
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::true_
- ) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- typedef typename detail::class_member_traits<function_type>::class_type class_type;
- return (
- BOOST_PROTO_GET_POINTER(class_type, (typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ))) ->*
- typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )
- )(typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d ) , typename Grammar::template impl<e5, State, Data>()( proto::child_c< 5>( e), s, d ) , typename Grammar::template impl<e6, State, Data>()( proto::child_c< 6>( e), s, d ) , typename Grammar::template impl<e7, State, Data>()( proto::child_c< 7>( e), s, d ));
- }
- };
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_function_impl<Grammar, Expr, State, Data, 9>
- : transform_impl<Expr, State, Data>
- {
- typedef typename result_of::child_c< Expr, 0>::type e0; typedef typename Grammar::template impl<e0, State, Data>::result_type r0; typedef typename result_of::child_c< Expr, 1>::type e1; typedef typename Grammar::template impl<e1, State, Data>::result_type r1; typedef typename result_of::child_c< Expr, 2>::type e2; typedef typename Grammar::template impl<e2, State, Data>::result_type r2; typedef typename result_of::child_c< Expr, 3>::type e3; typedef typename Grammar::template impl<e3, State, Data>::result_type r3; typedef typename result_of::child_c< Expr, 4>::type e4; typedef typename Grammar::template impl<e4, State, Data>::result_type r4; typedef typename result_of::child_c< Expr, 5>::type e5; typedef typename Grammar::template impl<e5, State, Data>::result_type r5; typedef typename result_of::child_c< Expr, 6>::type e6; typedef typename Grammar::template impl<e6, State, Data>::result_type r6; typedef typename result_of::child_c< Expr, 7>::type e7; typedef typename Grammar::template impl<e7, State, Data>::result_type r7; typedef typename result_of::child_c< Expr, 8>::type e8; typedef typename Grammar::template impl<e8, State, Data>::result_type r8;
- typedef
- typename proto::detail::result_of_fixup<r0>::type
- function_type;
- typedef
- typename BOOST_PROTO_RESULT_OF<
- function_type(r1 , r2 , r3 , r4 , r5 , r6 , r7 , r8)
- >::type
- result_type;
- result_type operator ()(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- ) const
- {
- return this->invoke(e, s, d, is_member_function_pointer<function_type>());
- }
- private:
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::false_
- ) const
- {
- return typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )(
- typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ) , typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d ) , typename Grammar::template impl<e5, State, Data>()( proto::child_c< 5>( e), s, d ) , typename Grammar::template impl<e6, State, Data>()( proto::child_c< 6>( e), s, d ) , typename Grammar::template impl<e7, State, Data>()( proto::child_c< 7>( e), s, d ) , typename Grammar::template impl<e8, State, Data>()( proto::child_c< 8>( e), s, d )
- );
- }
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::true_
- ) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- typedef typename detail::class_member_traits<function_type>::class_type class_type;
- return (
- BOOST_PROTO_GET_POINTER(class_type, (typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ))) ->*
- typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )
- )(typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d ) , typename Grammar::template impl<e5, State, Data>()( proto::child_c< 5>( e), s, d ) , typename Grammar::template impl<e6, State, Data>()( proto::child_c< 6>( e), s, d ) , typename Grammar::template impl<e7, State, Data>()( proto::child_c< 7>( e), s, d ) , typename Grammar::template impl<e8, State, Data>()( proto::child_c< 8>( e), s, d ));
- }
- };
- template<typename Grammar, typename Expr, typename State, typename Data>
- struct default_function_impl<Grammar, Expr, State, Data, 10>
- : transform_impl<Expr, State, Data>
- {
- typedef typename result_of::child_c< Expr, 0>::type e0; typedef typename Grammar::template impl<e0, State, Data>::result_type r0; typedef typename result_of::child_c< Expr, 1>::type e1; typedef typename Grammar::template impl<e1, State, Data>::result_type r1; typedef typename result_of::child_c< Expr, 2>::type e2; typedef typename Grammar::template impl<e2, State, Data>::result_type r2; typedef typename result_of::child_c< Expr, 3>::type e3; typedef typename Grammar::template impl<e3, State, Data>::result_type r3; typedef typename result_of::child_c< Expr, 4>::type e4; typedef typename Grammar::template impl<e4, State, Data>::result_type r4; typedef typename result_of::child_c< Expr, 5>::type e5; typedef typename Grammar::template impl<e5, State, Data>::result_type r5; typedef typename result_of::child_c< Expr, 6>::type e6; typedef typename Grammar::template impl<e6, State, Data>::result_type r6; typedef typename result_of::child_c< Expr, 7>::type e7; typedef typename Grammar::template impl<e7, State, Data>::result_type r7; typedef typename result_of::child_c< Expr, 8>::type e8; typedef typename Grammar::template impl<e8, State, Data>::result_type r8; typedef typename result_of::child_c< Expr, 9>::type e9; typedef typename Grammar::template impl<e9, State, Data>::result_type r9;
- typedef
- typename proto::detail::result_of_fixup<r0>::type
- function_type;
- typedef
- typename BOOST_PROTO_RESULT_OF<
- function_type(r1 , r2 , r3 , r4 , r5 , r6 , r7 , r8 , r9)
- >::type
- result_type;
- result_type operator ()(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- ) const
- {
- return this->invoke(e, s, d, is_member_function_pointer<function_type>());
- }
- private:
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::false_
- ) const
- {
- return typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )(
- typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ) , typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d ) , typename Grammar::template impl<e5, State, Data>()( proto::child_c< 5>( e), s, d ) , typename Grammar::template impl<e6, State, Data>()( proto::child_c< 6>( e), s, d ) , typename Grammar::template impl<e7, State, Data>()( proto::child_c< 7>( e), s, d ) , typename Grammar::template impl<e8, State, Data>()( proto::child_c< 8>( e), s, d ) , typename Grammar::template impl<e9, State, Data>()( proto::child_c< 9>( e), s, d )
- );
- }
- result_type invoke(
- typename default_function_impl::expr_param e
- , typename default_function_impl::state_param s
- , typename default_function_impl::data_param d
- , mpl::true_
- ) const
- {
- BOOST_PROTO_USE_GET_POINTER();
- typedef typename detail::class_member_traits<function_type>::class_type class_type;
- return (
- BOOST_PROTO_GET_POINTER(class_type, (typename Grammar::template impl<e1, State, Data>()( proto::child_c< 1>( e), s, d ))) ->*
- typename Grammar::template impl<e0, State, Data>()( proto::child_c< 0>( e), s, d )
- )(typename Grammar::template impl<e2, State, Data>()( proto::child_c< 2>( e), s, d ) , typename Grammar::template impl<e3, State, Data>()( proto::child_c< 3>( e), s, d ) , typename Grammar::template impl<e4, State, Data>()( proto::child_c< 4>( e), s, d ) , typename Grammar::template impl<e5, State, Data>()( proto::child_c< 5>( e), s, d ) , typename Grammar::template impl<e6, State, Data>()( proto::child_c< 6>( e), s, d ) , typename Grammar::template impl<e7, State, Data>()( proto::child_c< 7>( e), s, d ) , typename Grammar::template impl<e8, State, Data>()( proto::child_c< 8>( e), s, d ) , typename Grammar::template impl<e9, State, Data>()( proto::child_c< 9>( e), s, d ));
- }
- };
diff --git a/contrib/restricted/boost/proto/include/boost/proto/transform/detail/preprocessed/lazy.hpp b/contrib/restricted/boost/proto/include/boost/proto/transform/detail/preprocessed/lazy.hpp
deleted file mode 100644
index c32d20fa25..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/transform/detail/preprocessed/lazy.hpp
+++ /dev/null
@@ -1,407 +0,0 @@
- ///////////////////////////////////////////////////////////////////////////////
- /// \file lazy.hpp
- /// Contains definition of the lazy<> transform.
- //
- // Copyright 2008 Eric Niebler. Distributed under the Boost
- // Software License, Version 1.0. (See accompanying file
- // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-
-
-
-
-
-
-
- template<typename Object >
- struct lazy<Object()>
- : transform<lazy<Object()> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- ()
- >::template impl<Expr, State, Data>
- {};
- };
-
-
-
-
-
-
-
-
- template<typename Object , typename A0>
- struct lazy<Object(A0)>
- : transform<lazy<Object(A0)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- (A0)
- >::template impl<Expr, State, Data>
- {};
- };
- template<typename Object , typename A0>
- struct lazy<Object(A0...)>
- : transform<lazy<Object(A0...)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : lazy<
- typename detail::expand_pattern<
- proto::arity_of<Expr>::value
- , A0
- , detail::expand_pattern_rest_0<
- Object
-
- >
- >::type
- >::template impl<Expr, State, Data>
- {};
- };
-
-
-
-
-
-
-
-
- template<typename Object , typename A0 , typename A1>
- struct lazy<Object(A0 , A1)>
- : transform<lazy<Object(A0 , A1)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- (A0 , A1)
- >::template impl<Expr, State, Data>
- {};
- };
- template<typename Object , typename A0 , typename A1>
- struct lazy<Object(A0 , A1...)>
- : transform<lazy<Object(A0 , A1...)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : lazy<
- typename detail::expand_pattern<
- proto::arity_of<Expr>::value
- , A1
- , detail::expand_pattern_rest_1<
- Object
- , A0
- >
- >::type
- >::template impl<Expr, State, Data>
- {};
- };
-
-
-
-
-
-
-
-
- template<typename Object , typename A0 , typename A1 , typename A2>
- struct lazy<Object(A0 , A1 , A2)>
- : transform<lazy<Object(A0 , A1 , A2)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- (A0 , A1 , A2)
- >::template impl<Expr, State, Data>
- {};
- };
- template<typename Object , typename A0 , typename A1 , typename A2>
- struct lazy<Object(A0 , A1 , A2...)>
- : transform<lazy<Object(A0 , A1 , A2...)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : lazy<
- typename detail::expand_pattern<
- proto::arity_of<Expr>::value
- , A2
- , detail::expand_pattern_rest_2<
- Object
- , A0 , A1
- >
- >::type
- >::template impl<Expr, State, Data>
- {};
- };
-
-
-
-
-
-
-
-
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3>
- struct lazy<Object(A0 , A1 , A2 , A3)>
- : transform<lazy<Object(A0 , A1 , A2 , A3)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- (A0 , A1 , A2 , A3)
- >::template impl<Expr, State, Data>
- {};
- };
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3>
- struct lazy<Object(A0 , A1 , A2 , A3...)>
- : transform<lazy<Object(A0 , A1 , A2 , A3...)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : lazy<
- typename detail::expand_pattern<
- proto::arity_of<Expr>::value
- , A3
- , detail::expand_pattern_rest_3<
- Object
- , A0 , A1 , A2
- >
- >::type
- >::template impl<Expr, State, Data>
- {};
- };
-
-
-
-
-
-
-
-
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- (A0 , A1 , A2 , A3 , A4)
- >::template impl<Expr, State, Data>
- {};
- };
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4...)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4...)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : lazy<
- typename detail::expand_pattern<
- proto::arity_of<Expr>::value
- , A4
- , detail::expand_pattern_rest_4<
- Object
- , A0 , A1 , A2 , A3
- >
- >::type
- >::template impl<Expr, State, Data>
- {};
- };
-
-
-
-
-
-
-
-
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4 , A5)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4 , A5)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- (A0 , A1 , A2 , A3 , A4 , A5)
- >::template impl<Expr, State, Data>
- {};
- };
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4 , A5...)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4 , A5...)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : lazy<
- typename detail::expand_pattern<
- proto::arity_of<Expr>::value
- , A5
- , detail::expand_pattern_rest_5<
- Object
- , A0 , A1 , A2 , A3 , A4
- >
- >::type
- >::template impl<Expr, State, Data>
- {};
- };
-
-
-
-
-
-
-
-
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- (A0 , A1 , A2 , A3 , A4 , A5 , A6)
- >::template impl<Expr, State, Data>
- {};
- };
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6...)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6...)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : lazy<
- typename detail::expand_pattern<
- proto::arity_of<Expr>::value
- , A6
- , detail::expand_pattern_rest_6<
- Object
- , A0 , A1 , A2 , A3 , A4 , A5
- >
- >::type
- >::template impl<Expr, State, Data>
- {};
- };
-
-
-
-
-
-
-
-
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7)
- >::template impl<Expr, State, Data>
- {};
- };
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7...)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7...)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : lazy<
- typename detail::expand_pattern<
- proto::arity_of<Expr>::value
- , A7
- , detail::expand_pattern_rest_7<
- Object
- , A0 , A1 , A2 , A3 , A4 , A5 , A6
- >
- >::type
- >::template impl<Expr, State, Data>
- {};
- };
-
-
-
-
-
-
-
-
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8)
- >::template impl<Expr, State, Data>
- {};
- };
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8...)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8...)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : lazy<
- typename detail::expand_pattern<
- proto::arity_of<Expr>::value
- , A8
- , detail::expand_pattern_rest_8<
- Object
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7
- >
- >::type
- >::template impl<Expr, State, Data>
- {};
- };
-
-
-
-
-
-
-
-
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- (A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9)
- >::template impl<Expr, State, Data>
- {};
- };
- template<typename Object , typename A0 , typename A1 , typename A2 , typename A3 , typename A4 , typename A5 , typename A6 , typename A7 , typename A8 , typename A9>
- struct lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9...)>
- : transform<lazy<Object(A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8 , A9...)> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : lazy<
- typename detail::expand_pattern<
- proto::arity_of<Expr>::value
- , A9
- , detail::expand_pattern_rest_9<
- Object
- , A0 , A1 , A2 , A3 , A4 , A5 , A6 , A7 , A8
- >
- >::type
- >::template impl<Expr, State, Data>
- {};
- };
diff --git a/contrib/restricted/boost/proto/include/boost/proto/transform/integral_c.hpp b/contrib/restricted/boost/proto/include/boost/proto/transform/integral_c.hpp
deleted file mode 100644
index 200462b2ff..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/transform/integral_c.hpp
+++ /dev/null
@@ -1,111 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/// \file integral_c.hpp
-/// Contains definition of the integral_c transform and friends.
-//
-// Copyright 2011 Eric Niebler. Distributed under the 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_PROTO_TRANSFORM_INTEGRAL_C_HPP_EAN_04_28_2011
-#define BOOST_PROTO_TRANSFORM_INTEGRAL_C_HPP_EAN_04_28_2011
-
-#include <boost/proto/proto_fwd.hpp>
-#include <boost/proto/transform/impl.hpp>
-
-namespace boost { namespace proto
-{
-
- /// \brief A PrimitiveTransform that returns a specified
- /// integral constant
- ///
- template<typename T, T I>
- struct integral_c : transform<integral_c<T, I> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl : transform_impl<Expr, State, Data>
- {
- typedef T result_type;
-
- /// \return \c I
- /// \throw nothrow
- T operator()(
- typename impl::expr_param
- , typename impl::state_param
- , typename impl::data_param
- ) const
- {
- return I;
- }
- };
- };
-
- /// \brief A PrimitiveTransform that returns a specified
- /// char
- ///
- template<char I>
- struct char_
- : integral_c<char, I>
- {};
-
- /// \brief A PrimitiveTransform that returns a specified
- /// int
- ///
- template<int I>
- struct int_
- : integral_c<int, I>
- {};
-
- /// \brief A PrimitiveTransform that returns a specified
- /// long
- ///
- template<long I>
- struct long_
- : integral_c<long, I>
- {};
-
- /// \brief A PrimitiveTransform that returns a specified
- /// std::size_t
- ///
- template<std::size_t I>
- struct size_t
- : integral_c<std::size_t, I>
- {};
-
- /// INTERNAL ONLY
- ///
- template<typename T, T I>
- struct is_callable<integral_c<T, I> >
- : mpl::true_
- {};
-
- /// INTERNAL ONLY
- ///
- template<char I>
- struct is_callable<char_<I> >
- : mpl::true_
- {};
-
- /// INTERNAL ONLY
- ///
- template<int I>
- struct is_callable<int_<I> >
- : mpl::true_
- {};
-
- /// INTERNAL ONLY
- ///
- template<long I>
- struct is_callable<long_<I> >
- : mpl::true_
- {};
-
- /// INTERNAL ONLY
- ///
- template<std::size_t I>
- struct is_callable<size_t<I> >
- : mpl::true_
- {};
-
-}}
-
-#endif
diff --git a/contrib/restricted/boost/proto/include/boost/proto/transform/lazy.hpp b/contrib/restricted/boost/proto/include/boost/proto/transform/lazy.hpp
deleted file mode 100644
index e2d43abad1..0000000000
--- a/contrib/restricted/boost/proto/include/boost/proto/transform/lazy.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/// \file lazy.hpp
-/// Contains definition of the lazy<> transform.
-//
-// Copyright 2008 Eric Niebler. Distributed under the 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_PROTO_TRANSFORM_LAZY_HPP_EAN_12_02_2007
-#define BOOST_PROTO_TRANSFORM_LAZY_HPP_EAN_12_02_2007
-
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/proto/proto_fwd.hpp>
-#include <boost/proto/transform/make.hpp>
-#include <boost/proto/transform/call.hpp>
-#include <boost/proto/transform/impl.hpp>
-#include <boost/proto/transform/detail/pack.hpp>
-
-namespace boost { namespace proto
-{
- /// \brief A PrimitiveTransform that uses <tt>make\<\></tt> to build
- /// a CallableTransform, and then uses <tt>call\<\></tt> to apply it.
- ///
- /// <tt>lazy\<\></tt> is useful as a higher-order transform, when the
- /// transform to be applied depends on the current state of the
- /// transformation. The invocation of the <tt>make\<\></tt> transform
- /// evaluates any nested transforms, and the resulting type is treated
- /// as a CallableTransform, which is evaluated with <tt>call\<\></tt>.
- template<typename Object>
- struct lazy : transform<lazy<Object> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl
- : call<
- typename make<Object>::template impl<Expr, State, Data>::result_type
- >::template impl<Expr, State, Data>
- {};
- };
-
- /// INTERNAL ONLY
- template<typename Fun>
- struct lazy<detail::msvc_fun_workaround<Fun> >
- : lazy<Fun>
- {};
-
- #include <boost/proto/transform/detail/lazy.hpp>
-
- /// INTERNAL ONLY
- ///
- template<typename Object>
- struct is_callable<lazy<Object> >
- : mpl::true_
- {};
-
-}}
-
-#endif
diff --git a/contrib/restricted/boost/random/include/boost/random/detail/operators.hpp b/contrib/restricted/boost/random/include/boost/random/detail/operators.hpp
deleted file mode 100644
index f363f37b9e..0000000000
--- a/contrib/restricted/boost/random/include/boost/random/detail/operators.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/* boost random/detail/operators.hpp header file
- *
- * Copyright Steven Watanabe 2010-2011
- * Distributed under the 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 including documentation.
- *
- * $Id$
- */
-
-#ifndef BOOST_RANDOM_DETAIL_OPERATORS_HPP
-#define BOOST_RANDOM_DETAIL_OPERATORS_HPP
-
-#include <boost/random/detail/config.hpp>
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, <= 1310) \
- || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x5100))
-
-#define BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, T, t) \
- template<class CharT, class Traits> \
- friend std::basic_ostream<CharT,Traits>& \
- operator<<(std::basic_ostream<CharT,Traits>& os, const T& t) { \
- t.print(os, t); \
- return os; \
- } \
- template<class CharT, class Traits> \
- static std::basic_ostream<CharT,Traits>& \
- print(std::basic_ostream<CharT,Traits>& os, const T& t)
-
-#define BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, T, t) \
- template<class CharT, class Traits> \
- friend std::basic_istream<CharT,Traits>& \
- operator>>(std::basic_istream<CharT,Traits>& is, T& t) { \
- t.read(is, t); \
- return is; \
- } \
- template<class CharT, class Traits> \
- static std::basic_istream<CharT,Traits>& \
- read(std::basic_istream<CharT,Traits>& is, T& t)
-
-#endif
-
-#if defined(BOOST_BORLANDC)
-
-#define BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(T, lhs, rhs) \
- bool operator==(const T& rhs) const \
- { return T::is_equal(*this, rhs); } \
- static bool is_equal(const T& lhs, const T& rhs)
-
-#define BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(T) \
- bool operator!=(const T& rhs) const \
- { return !T::is_equal(*this, rhs); }
-
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR
-#define BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, T, t) \
- template<class CharT, class Traits> \
- friend std::basic_ostream<CharT,Traits>& \
- operator<<(std::basic_ostream<CharT,Traits>& os, const T& t)
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR
-#define BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, T, t) \
- template<class CharT, class Traits> \
- friend std::basic_istream<CharT,Traits>& \
- operator>>(std::basic_istream<CharT,Traits>& is, T& t)
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR
-#define BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(T, lhs, rhs) \
- friend bool operator==(const T& lhs, const T& rhs)
-#endif
-
-#ifndef BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR
-#define BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(T) \
- friend bool operator!=(const T& lhs, const T& rhs) \
- { return !(lhs == rhs); }
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/random/include/boost/random/linear_feedback_shift.hpp b/contrib/restricted/boost/random/include/boost/random/linear_feedback_shift.hpp
deleted file mode 100644
index a5c2ce7a2b..0000000000
--- a/contrib/restricted/boost/random/include/boost/random/linear_feedback_shift.hpp
+++ /dev/null
@@ -1,217 +0,0 @@
-/* boost random/linear_feedback_shift.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Copyright Steven Watanabe 2011
- * Distributed under the 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 including documentation.
- *
- * $Id$
- *
- */
-
-#ifndef BOOST_RANDOM_LINEAR_FEEDBACK_SHIFT_HPP
-#define BOOST_RANDOM_LINEAR_FEEDBACK_SHIFT_HPP
-
-#include <iosfwd>
-#include <stdexcept>
-#include <boost/config.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/integer/integer_mask.hpp>
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/operators.hpp>
-#include <boost/random/detail/seed_impl.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instatiations of @c linear_feedback_shift model a
- * \pseudo_random_number_generator. It was originally
- * proposed in
- *
- * @blockquote
- * "Random numbers generated by linear recurrence modulo two.",
- * Tausworthe, R. C.(1965), Mathematics of Computation 19, 201-209.
- * @endblockquote
- */
-template<class UIntType, int w, int k, int q, int s>
-class linear_feedback_shift_engine
-{
-public:
- typedef UIntType result_type;
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- BOOST_STATIC_CONSTANT(int, word_size = w);
- BOOST_STATIC_CONSTANT(int, exponent1 = k);
- BOOST_STATIC_CONSTANT(int, exponent2 = q);
- BOOST_STATIC_CONSTANT(int, step_size = s);
- BOOST_STATIC_CONSTANT(UIntType, default_seed = 341);
-
- /** Returns the smallest value that the generator can produce. */
- static BOOST_CONSTEXPR result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () { return 0; }
- /** Returns the largest value that the generator can produce. */
- static BOOST_CONSTEXPR result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return wordmask(); }
-
- BOOST_STATIC_ASSERT(w > 0);
- BOOST_STATIC_ASSERT(q > 0);
- BOOST_STATIC_ASSERT(k < w);
- BOOST_STATIC_ASSERT(0 < 2*q && 2*q < k);
- BOOST_STATIC_ASSERT(0 < s && s <= k-q);
-
- /** Constructs a @c linear_feedback_shift_engine, using the default seed. */
- linear_feedback_shift_engine() { seed(); }
-
- /** Constructs a @c linear_feedback_shift_engine, seeding it with s0. */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(linear_feedback_shift_engine,
- UIntType, s0)
- { seed(s0); }
-
- /** Constructs a @c linear_feedback_shift_engine, seeding it with seq. */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(linear_feedback_shift_engine,
- SeedSeq, seq)
- { seed(seq); }
-
- /**
- * Constructs a @c linear_feedback_shift_engine, seeding it with
- * values from the range [first, last).
- */
- template<class It> linear_feedback_shift_engine(It& first, It last)
- { seed(first, last); }
-
- /** Seeds a @c linear_feedback_shift_engine with the default seed. */
- void seed() { seed(default_seed); }
-
- /** Seeds a @c linear_feedback_shift_engine with @c s0. */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(linear_feedback_shift_engine,
- UIntType, s0)
- {
- value = s0 & wordmask();
- if(value < (1 << (w-k))) {
- value += 1 << (w-k);
- }
- }
-
- /**
- * Seeds a @c linear_feedback_shift_engine with values
- * produced by @c seq.generate().
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(linear_feedback_shift_engine,
- SeedSeq, seq)
- { seed(detail::seed_one_int<UIntType, (UIntType(2) << (w - 1))>(seq)); }
-
- /**
- * Seeds a @c linear_feedback_shift_engine with values
- * from the range [first, last).
- */
- template<class It> void seed(It& first, It last)
- {
- seed(detail::get_one_int<UIntType, (UIntType(2) << (w - 1))>(first, last));
- }
-
- /** Returns the next value of the generator. */
- result_type operator()()
- {
- const UIntType b = (((value << q) ^ value) & wordmask()) >> (k-s);
- const UIntType mask = (wordmask() << (w-k)) & wordmask();
- value = ((value & mask) << s) ^ b;
- return value;
- }
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_int(*this, first, last); }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- {
- for(boost::uintmax_t j = 0; j < z; ++j) {
- (*this)();
- }
- }
-
- /**
- * Writes the textual representation of the generator to a @c std::ostream.
- */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, linear_feedback_shift_engine, x)
- {
- os << x.value;
- return os;
- }
-
- /**
- * Reads the textual representation of the generator from a @c std::istream.
- */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, linear_feedback_shift_engine, x)
- {
- is >> x.value;
- return is;
- }
-
- /**
- * Returns true if the two generators will produce identical
- * sequences of outputs.
- */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(linear_feedback_shift_engine, x, y)
- { return x.value == y.value; }
-
- /**
- * Returns true if the two generators will produce different
- * sequences of outputs.
- */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(linear_feedback_shift_engine)
-
-private:
- /// \cond show_private
- static BOOST_CONSTEXPR UIntType wordmask() { return boost::low_bits_mask_t<w>::sig_bits; }
- /// \endcond
- UIntType value;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class UIntType, int w, int k, int q, int s>
-const bool linear_feedback_shift_engine<UIntType, w, k, q, s>::has_fixed_range;
-template<class UIntType, int w, int k, int q, int s>
-const int linear_feedback_shift_engine<UIntType, w, k, q, s>::word_size;
-template<class UIntType, int w, int k, int q, int s>
-const int linear_feedback_shift_engine<UIntType, w, k, q, s>::exponent1;
-template<class UIntType, int w, int k, int q, int s>
-const int linear_feedback_shift_engine<UIntType, w, k, q, s>::exponent2;
-template<class UIntType, int w, int k, int q, int s>
-const int linear_feedback_shift_engine<UIntType, w, k, q, s>::step_size;
-template<class UIntType, int w, int k, int q, int s>
-const UIntType linear_feedback_shift_engine<UIntType, w, k, q, s>::default_seed;
-#endif
-
-/// \cond show_deprecated
-
-/** Provided for backwards compatibility. */
-template<class UIntType, int w, int k, int q, int s, UIntType v = 0>
-class linear_feedback_shift :
- public linear_feedback_shift_engine<UIntType, w, k, q, s>
-{
- typedef linear_feedback_shift_engine<UIntType, w, k, q, s> base_type;
-public:
- linear_feedback_shift() {}
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(linear_feedback_shift,
- SeedSeq, seq)
- { seed(seq); }
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(linear_feedback_shift,
- UIntType, val)
- { seed(val); }
- template<class It>
- linear_feedback_shift(It& first, It last) : base_type(first, last) {}
-};
-
-/// \endcond
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_LINEAR_FEEDBACK_SHIFT_HPP
diff --git a/contrib/restricted/boost/random/include/boost/random/taus88.hpp b/contrib/restricted/boost/random/include/boost/random/taus88.hpp
deleted file mode 100644
index 68214f3aed..0000000000
--- a/contrib/restricted/boost/random/include/boost/random/taus88.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-/* boost random/taus88.hpp header file
- *
- * Copyright Jens Maurer 2000-2001
- * Copyright Steven Watanabe 2011
- * Distributed under the 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/random for documentation.
- *
- * $Id$
- *
- */
-
-#ifndef BOOST_RANDOM_TAUS88_HPP
-#define BOOST_RANDOM_TAUS88_HPP
-
-#include <boost/random/linear_feedback_shift.hpp>
-#include <boost/random/xor_combine.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * The specialization taus88 was suggested in
- *
- * @blockquote
- * "Maximally Equidistributed Combined Tausworthe Generators",
- * Pierre L'Ecuyer, Mathematics of Computation, Volume 65,
- * Number 213, January 1996, Pages 203-213
- * @endblockquote
- */
-typedef xor_combine_engine<
- xor_combine_engine<
- linear_feedback_shift_engine<uint32_t, 32, 31, 13, 12>, 0,
- linear_feedback_shift_engine<uint32_t, 32, 29, 2, 4>, 0>, 0,
- linear_feedback_shift_engine<uint32_t, 32, 28, 3, 17>, 0> taus88;
-
-} // namespace random
-
-using random::taus88;
-
-} // namespace boost
-
-#endif // BOOST_RANDOM_TAUS88_HPP
diff --git a/contrib/restricted/boost/random/include/boost/random/xor_combine.hpp b/contrib/restricted/boost/random/include/boost/random/xor_combine.hpp
deleted file mode 100644
index 312fdb8dbb..0000000000
--- a/contrib/restricted/boost/random/include/boost/random/xor_combine.hpp
+++ /dev/null
@@ -1,210 +0,0 @@
-/* boost random/xor_combine.hpp header file
- *
- * Copyright Jens Maurer 2002
- * Distributed under the 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 including documentation.
- *
- * $Id$
- *
- */
-
-#ifndef BOOST_RANDOM_XOR_COMBINE_HPP
-#define BOOST_RANDOM_XOR_COMBINE_HPP
-
-#include <istream>
-#include <iosfwd>
-#include <cassert>
-#include <algorithm> // for std::min and std::max
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/cstdint.hpp> // uint32_t
-#include <boost/random/detail/config.hpp>
-#include <boost/random/detail/seed.hpp>
-#include <boost/random/detail/seed_impl.hpp>
-#include <boost/random/detail/operators.hpp>
-
-namespace boost {
-namespace random {
-
-/**
- * Instantiations of @c xor_combine_engine model a
- * \pseudo_random_number_generator. To produce its output it
- * invokes each of the base generators, shifts their results
- * and xors them together.
- */
-template<class URNG1, int s1, class URNG2, int s2>
-class xor_combine_engine
-{
-public:
- typedef URNG1 base1_type;
- typedef URNG2 base2_type;
- typedef typename base1_type::result_type result_type;
-
- BOOST_STATIC_CONSTANT(bool, has_fixed_range = false);
- BOOST_STATIC_CONSTANT(int, shift1 = s1);
- BOOST_STATIC_CONSTANT(int, shift2 = s2);
-
- /**
- * Constructors a @c xor_combine_engine by default constructing
- * both base generators.
- */
- xor_combine_engine() : _rng1(), _rng2() { }
-
- /** Constructs a @c xor_combine by copying two base generators. */
- xor_combine_engine(const base1_type & rng1, const base2_type & rng2)
- : _rng1(rng1), _rng2(rng2) { }
-
- /**
- * Constructs a @c xor_combine_engine, seeding both base generators
- * with @c v.
- *
- * @xmlwarning
- * The exact algorithm used by this function may change in the future.
- * @endxmlwarning
- */
- BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR(xor_combine_engine,
- result_type, v)
- { seed(v); }
-
- /**
- * Constructs a @c xor_combine_engine, seeding both base generators
- * with values produced by @c seq.
- */
- BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR(xor_combine_engine,
- SeedSeq, seq)
- { seed(seq); }
-
- /**
- * Constructs a @c xor_combine_engine, seeding both base generators
- * with values from the iterator range [first, last) and changes
- * first to point to the element after the last one used. If there
- * are not enough elements in the range to seed both generators,
- * throws @c std::invalid_argument.
- */
- template<class It> xor_combine_engine(It& first, It last)
- : _rng1(first, last), _rng2( /* advanced by other call */ first, last) { }
-
- /** Calls @c seed() for both base generators. */
- void seed() { _rng1.seed(); _rng2.seed(); }
-
- /** @c seeds both base generators with @c v. */
- BOOST_RANDOM_DETAIL_ARITHMETIC_SEED(xor_combine_engine, result_type, v)
- { _rng1.seed(v); _rng2.seed(v); }
-
- /** @c seeds both base generators with values produced by @c seq. */
- BOOST_RANDOM_DETAIL_SEED_SEQ_SEED(xor_combine_engine, SeedSeq, seq)
- { _rng1.seed(seq); _rng2.seed(seq); }
-
- /**
- * seeds both base generators with values from the iterator
- * range [first, last) and changes first to point to the element
- * after the last one used. If there are not enough elements in
- * the range to seed both generators, throws @c std::invalid_argument.
- */
- template<class It> void seed(It& first, It last)
- {
- _rng1.seed(first, last);
- _rng2.seed(first, last);
- }
-
- /** Returns the first base generator. */
- const base1_type& base1() const { return _rng1; }
-
- /** Returns the second base generator. */
- const base2_type& base2() const { return _rng2; }
-
- /** Returns the next value of the generator. */
- result_type operator()()
- {
- return (_rng1() << s1) ^ (_rng2() << s2);
- }
-
- /** Fills a range with random values */
- template<class Iter>
- void generate(Iter first, Iter last)
- { detail::generate_from_int(*this, first, last); }
-
- /** Advances the state of the generator by @c z. */
- void discard(boost::uintmax_t z)
- {
- _rng1.discard(z);
- _rng2.discard(z);
- }
-
- /** Returns the smallest value that the generator can produce. */
- static BOOST_CONSTEXPR result_type min BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return (URNG1::min)()<(URNG2::min)()?(URNG1::min)():(URNG2::min)(); }
- /** Returns the largest value that the generator can produce. */
- static BOOST_CONSTEXPR result_type max BOOST_PREVENT_MACRO_SUBSTITUTION ()
- { return (URNG1::max)()>(URNG2::max)()?(URNG1::max)():(URNG2::max)(); }
-
- /**
- * Writes the textual representation of the generator to a @c std::ostream.
- */
- BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR(os, xor_combine_engine, s)
- {
- os << s._rng1 << ' ' << s._rng2;
- return os;
- }
-
- /**
- * Reads the textual representation of the generator from a @c std::istream.
- */
- BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, xor_combine_engine, s)
- {
- is >> s._rng1 >> std::ws >> s._rng2;
- return is;
- }
-
- /** Returns true if the two generators will produce identical sequences. */
- BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR(xor_combine_engine, x, y)
- { return x._rng1 == y._rng1 && x._rng2 == y._rng2; }
-
- /** Returns true if the two generators will produce different sequences. */
- BOOST_RANDOM_DETAIL_INEQUALITY_OPERATOR(xor_combine_engine)
-
-private:
- base1_type _rng1;
- base2_type _rng2;
-};
-
-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-// A definition is required even for integral static constants
-template<class URNG1, int s1, class URNG2, int s2>
-const bool xor_combine_engine<URNG1, s1, URNG2, s2>::has_fixed_range;
-template<class URNG1, int s1, class URNG2, int s2>
-const int xor_combine_engine<URNG1, s1, URNG2, s2>::shift1;
-template<class URNG1, int s1, class URNG2, int s2>
-const int xor_combine_engine<URNG1, s1, URNG2, s2>::shift2;
-#endif
-
-/// \cond show_private
-
-/** Provided for backwards compatibility. */
-template<class URNG1, int s1, class URNG2, int s2,
- typename URNG1::result_type v = 0>
-class xor_combine : public xor_combine_engine<URNG1, s1, URNG2, s2>
-{
- typedef xor_combine_engine<URNG1, s1, URNG2, s2> base_type;
-public:
- typedef typename base_type::result_type result_type;
- xor_combine() {}
- xor_combine(result_type val) : base_type(val) {}
- template<class It>
- xor_combine(It& first, It last) : base_type(first, last) {}
- xor_combine(const URNG1 & rng1, const URNG2 & rng2)
- : base_type(rng1, rng2) { }
-
- result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (std::min)((this->base1().min)(), (this->base2().min)()); }
- result_type max BOOST_PREVENT_MACRO_SUBSTITUTION () const { return (std::max)((this->base1().min)(), (this->base2().max)()); }
-};
-
-/// \endcond
-
-} // namespace random
-} // namespace boost
-
-#endif // BOOST_RANDOM_XOR_COMBINE_HPP
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/auxiliary/lazy.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/auxiliary/lazy.hpp
deleted file mode 100644
index d0cbd823b3..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/auxiliary/lazy.hpp
+++ /dev/null
@@ -1,272 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// 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(BOOST_SPIRIT_KARMA_LAZY_MARCH_27_2007_1231PM)
-#define BOOST_SPIRIT_KARMA_LAZY_MARCH_27_2007_1231PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/karma/domain.hpp>
-#include <boost/spirit/home/karma/delimit_out.hpp>
-#include <boost/spirit/home/karma/meta_compiler.hpp>
-#include <boost/spirit/home/karma/detail/attributes.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/lazy.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/proto/make_expr.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/mpl/not.hpp>
-
-namespace boost { namespace phoenix
-{
- template <typename Expr>
- struct actor;
-}}
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <typename Eval>
- struct use_terminal<karma::domain, phoenix::actor<Eval> > // enables phoenix actors
- : mpl::true_ {};
-
- // forward declaration
- template <typename Terminal, typename Actor, int Arity>
- struct lazy_terminal;
-
-}}
-
-namespace boost { namespace spirit { namespace karma
-{
- using spirit::lazy;
- typedef modify<karma::domain> karma_modify;
-
- namespace detail
- {
- template <typename Generator, typename OutputIterator, typename Context
- , typename Delimiter, typename Attribute>
- bool lazy_generate_impl(Generator const& g, OutputIterator& sink
- , Context& context, Delimiter const& delim
- , Attribute const& attr, mpl::false_)
- {
- return g.generate(sink, context, delim, attr);
- }
-
- template <typename Generator, typename OutputIterator, typename Context
- , typename Delimiter, typename Attribute>
- bool lazy_generate_impl(Generator const& g, OutputIterator& sink
- , Context& context, Delimiter const& delim
- , Attribute const& /* attr */, mpl::true_)
- {
- // If DeducedAuto is false (semantic actions is present), the
- // component's attribute is unused.
- return g.generate(sink, context, delim, unused);
- }
-
- template <typename Generator, typename OutputIterator, typename Context
- , typename Delimiter, typename Attribute>
- bool lazy_generate_impl_main(Generator const& g, OutputIterator& sink
- , Context& context, Delimiter const& delim, Attribute const& attr)
- {
- // If DeducedAuto is true (no semantic action), we pass the parser's
- // attribute on to the component.
- typedef typename traits::has_semantic_action<Generator>::type auto_rule;
- return lazy_generate_impl(g, sink, context, delim, attr, auto_rule());
- }
- }
-
- template <typename Function, typename Modifiers>
- struct lazy_generator : generator<lazy_generator<Function, Modifiers> >
- {
- typedef mpl::int_<generator_properties::all_properties> properties;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename
- boost::result_of<karma_modify(tag::lazy_eval, Modifiers)>::type
- modifier;
-
- typedef typename
- remove_reference<
- typename boost::result_of<Function(unused_type, Context)>::type
- >::type
- expr_type;
-
- // If you got an error_invalid_expression error message here,
- // then the expression (expr_type) is not a valid spirit karma
- // expression.
- BOOST_SPIRIT_ASSERT_MATCH(karma::domain, expr_type);
-
- typedef typename
- result_of::compile<karma::domain, expr_type, modifier>::type
- generator_type;
-
- typedef typename
- traits::attribute_of<generator_type, Context, Iterator>::type
- type;
- };
-
- lazy_generator(Function const& func, Modifiers const& modifiers)
- : func(func), modifiers(modifiers) {}
-
- template <
- typename OutputIterator, typename Context,
- typename Delimiter, typename Attribute
- >
- bool generate(OutputIterator& sink, Context& context,
- Delimiter const& d, Attribute const& attr) const
- {
- return detail::lazy_generate_impl_main(
- compile<karma::domain>(func(unused, context)
- , karma_modify()(tag::lazy_eval(), modifiers))
- , sink, context, d, attr);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("lazy"
- , compile<karma::domain>(func(unused, context)
- , karma_modify()(tag::lazy_eval(), modifiers))
- .what(context)
- );
- }
-
- Function func;
- Modifiers modifiers;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(lazy_generator& operator= (lazy_generator const&))
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Function, typename Subject, typename Modifiers>
- struct lazy_directive
- : unary_generator<lazy_directive<Function, Subject, Modifiers> >
- {
- typedef mpl::int_<generator_properties::all_properties> properties;
-
- typedef Subject subject_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename
- boost::result_of<karma_modify(tag::lazy_eval, Modifiers)>::type
- modifier;
-
- typedef typename
- remove_reference<
- typename boost::result_of<Function(unused_type, Context)>::type
- >::type
- directive_expr_type;
-
- typedef typename
- proto::result_of::make_expr<
- proto::tag::subscript
- , directive_expr_type
- , Subject
- >::type
- expr_type;
-
- // If you got an error_invalid_expression error message here,
- // then the expression (expr_type) is not a valid spirit karma
- // expression.
- BOOST_SPIRIT_ASSERT_MATCH(karma::domain, expr_type);
-
- typedef typename
- result_of::compile<karma::domain, expr_type, modifier>::type
- generator_type;
-
- typedef typename
- traits::attribute_of<generator_type, Context, Iterator>::type
- type;
- };
-
- lazy_directive(Function const& function, Subject const& subject
- , Modifiers const& modifiers)
- : function(function), subject(subject), modifiers(modifiers) {}
-
- template <typename OutputIterator, typename Context, typename Delimiter
- , typename Attribute>
- bool generate(OutputIterator& sink, Context& ctx, Delimiter const& d
- , Attribute const& attr) const
- {
- return detail::lazy_generate_impl_main(compile<karma::domain>(
- proto::make_expr<proto::tag::subscript>(
- function(unused, ctx), subject)
- , karma_modify()(tag::lazy_eval(), modifiers))
- , sink, ctx, d, attr);
- }
-
- template <typename Context>
- info what(Context& ctx) const
- {
- return info("lazy-directive"
- , compile<karma::domain>(
- proto::make_expr<proto::tag::subscript>(
- function(unused, ctx), subject)
- , karma_modify()(tag::lazy_eval(), modifiers))
- .what(ctx)
- );
- }
-
- Function function;
- Subject subject;
- Modifiers modifiers;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Generator generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Eval, typename Modifiers>
- struct make_primitive<phoenix::actor<Eval>, Modifiers>
- {
- typedef lazy_generator<phoenix::actor<Eval>, Modifiers> result_type;
- result_type operator()(phoenix::actor<Eval> const& f
- , Modifiers const& modifiers) const
- {
- return result_type(f, modifiers);
- }
- };
-
- template <typename Terminal, typename Actor, int Arity, typename Modifiers>
- struct make_primitive<lazy_terminal<Terminal, Actor, Arity>, Modifiers>
- {
- typedef lazy_generator<Actor, Modifiers> result_type;
- result_type operator()(
- lazy_terminal<Terminal, Actor, Arity> const& lt
- , Modifiers const& modifiers) const
- {
- return result_type(lt.actor, modifiers);
- }
- };
-
- template <
- typename Terminal, typename Actor, int Arity, typename Subject
- , typename Modifiers>
- struct make_directive<lazy_terminal<Terminal, Actor, Arity>
- , Subject, Modifiers>
- {
- typedef lazy_directive<Actor, Subject, Modifiers> result_type;
- result_type operator()(
- lazy_terminal<Terminal, Actor, Arity> const& lt
- , Subject const& subject, Modifiers const& modifiers) const
- {
- return result_type(lt.actor, subject, modifiers);
- }
- };
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/delimit_flag.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/delimit_flag.hpp
deleted file mode 100644
index ccaf688bc5..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/delimit_flag.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_DELIMIT_FLAG_DEC_02_2009_1201PM)
-#define BOOST_SPIRIT_KARMA_DELIMIT_FLAG_DEC_02_2009_1201PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/detail/scoped_enum_emulation.hpp>
-
-namespace boost { namespace spirit { namespace karma
-{
- ///////////////////////////////////////////////////////////////////////////
- BOOST_SCOPED_ENUM_START(delimit_flag)
- {
- predelimit, // force predelimiting in generate_delimited()
- dont_predelimit // inhibit predelimiting in generate_delimited()
- };
- BOOST_SCOPED_ENUM_END
-}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/delimit_out.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/delimit_out.hpp
deleted file mode 100644
index e72e219456..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/delimit_out.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_DELIMIT_FEB_20_2007_1208PM)
-#define BOOST_SPIRIT_KARMA_DELIMIT_FEB_20_2007_1208PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/karma/detail/unused_delimiter.hpp>
-
-namespace boost { namespace spirit { namespace karma
-{
- ///////////////////////////////////////////////////////////////////////////
- // Do delimiting. This is equivalent to p << d. The function is a
- // no-op if spirit::unused is passed as the delimiter-generator.
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator, typename Delimiter>
- inline bool delimit_out(OutputIterator& sink, Delimiter const& d)
- {
- return d.generate(sink, unused, unused, unused);
- }
-
- template <typename OutputIterator>
- inline bool delimit_out(OutputIterator&, unused_type)
- {
- return true;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator, typename Delimiter>
- inline bool delimit_out(OutputIterator&
- , detail::unused_delimiter<Delimiter> const&)
- {
- return true;
- }
-
-}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/attributes.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/attributes.hpp
deleted file mode 100644
index c3630ede2b..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/attributes.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// 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_SPIRIT_KARMA_DETAIL_ATTRIBUTES_HPP
-#define BOOST_SPIRIT_KARMA_DETAIL_ATTRIBUTES_HPP
-
-#include <boost/spirit/home/karma/domain.hpp>
-#include <boost/spirit/home/support/attributes_fwd.hpp>
-#include <boost/spirit/home/support/attributes.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace karma
-{
- template <typename Exposed, typename Transformed, typename Enable = void>
- struct transform_attribute
- {
- typedef Transformed type;
- static Transformed pre(Exposed& val)
- {
- return Transformed(traits::extract_from<Transformed>(val, unused));
- }
- // Karma only, no post() and no fail() required
- };
-
- template <typename Exposed, typename Transformed>
- struct transform_attribute<boost::optional<Exposed> const, Transformed
- , typename disable_if<is_same<boost::optional<Exposed>, Transformed> >::type>
- {
- typedef Transformed const& type;
- static Transformed const& pre(boost::optional<Exposed> const& val)
- {
- return boost::get<Transformed>(val);
- }
- };
-
- template <typename Attribute>
- struct transform_attribute<Attribute const, Attribute>
- {
- typedef Attribute const& type;
- static Attribute const& pre(Attribute const& val) { return val; }
- // Karma only, no post() and no fail() required
- };
-
- // unused_type needs some special handling as well
- template <>
- struct transform_attribute<unused_type, unused_type>
- {
- typedef unused_type type;
- static unused_type pre(unused_type) { return unused; }
- };
-
- template <>
- struct transform_attribute<unused_type const, unused_type>
- : transform_attribute<unused_type, unused_type>
- {};
-
- template <typename Attribute>
- struct transform_attribute<Attribute, unused_type>
- : transform_attribute<unused_type, unused_type>
- {};
-
- template <typename Attribute>
- struct transform_attribute<Attribute const, unused_type>
- : transform_attribute<unused_type, unused_type>
- {};
-}}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace traits { namespace detail
-{
- template <typename Exposed, typename Transformed>
- struct transform_attribute_base<Exposed, Transformed, karma::domain>
- : karma::transform_attribute<Exposed, Transformed>
- {};
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/enable_lit.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/enable_lit.hpp
deleted file mode 100644
index 2153582dce..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/enable_lit.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_DETAIL_ENABLE_LIT_JAN_06_2011_1009PM)
-#define BOOST_SPIRIT_KARMA_DETAIL_ENABLE_LIT_JAN_06_2011_1009PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/karma/domain.hpp>
-#include <boost/spirit/home/karma/generator.hpp>
-#include <boost/spirit/home/karma/meta_compiler.hpp>
-#include <boost/spirit/home/karma/auxiliary/lazy.hpp>
-#include <boost/fusion/include/vector.hpp>
-#include <boost/spirit/home/support/string_traits.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-
-namespace boost { namespace spirit
-{
- // enables lazy lit(...) for karma
- template <>
- struct use_lazy_terminal<karma::domain, tag::lit, 1>
- : mpl::true_ {};
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/extract_from.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/extract_from.hpp
deleted file mode 100644
index f0ec22d939..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/extract_from.hpp
+++ /dev/null
@@ -1,278 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_EXTRACT_FROM_SEP_30_2009_0732AM)
-#define BOOST_SPIRIT_KARMA_EXTRACT_FROM_SEP_30_2009_0732AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/attributes_fwd.hpp>
-#include <boost/spirit/home/karma/detail/attributes.hpp>
-#include <boost/spirit/home/support/container.hpp>
-
-#include <boost/ref.hpp>
-#include <boost/optional.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- // This file contains attribute extraction utilities. The utilities
- // provided also accept spirit's unused_type; all no-ops. Compiler
- // optimization will easily strip these away.
- ///////////////////////////////////////////////////////////////////////////
-
- namespace detail
- {
- ///////////////////////////////////////////////////////////////////////
- // extract first and second element of a fusion sequence
- template <typename T>
- struct add_const_ref
- : add_reference<typename add_const<T>::type>
- {};
-
- template <typename T, int N>
- struct value_at_c
- : add_const_ref<typename fusion::result_of::value_at_c<T, N>::type>
- {};
- }
-
- // This is the default case: the plain attribute values
- template <typename Attribute, typename Exposed
- , bool IsOneElemSeq = traits::one_element_sequence<Attribute>::value>
- struct extract_from_attribute_base
- {
- typedef Attribute const& type;
-
- template <typename Context>
- static type call(Attribute const& attr, Context&)
- {
- return attr;
- }
- };
-
- // This handles the case where the attribute is a single element fusion
- // sequence. We silently extract the only element and treat it as the
- // attribute to generate output from.
- template <typename Attribute, typename Exposed>
- struct extract_from_attribute_base<Attribute, Exposed, true>
- {
- typedef typename remove_const<
- typename remove_reference<
- typename fusion::result_of::at_c<Attribute, 0>::type
- >::type
- >::type elem_type;
-
- typedef typename result_of::extract_from<Exposed, elem_type>::type type;
-
- template <typename Context>
- static type call(Attribute const& attr, Context& ctx)
- {
- return extract_from<Exposed>(fusion::at_c<0>(attr), ctx);
- }
- };
-
- template <typename Attribute, typename Exposed, typename Enable/*= void*/>
- struct extract_from_attribute
- : extract_from_attribute_base<Attribute, Exposed>
- {};
-
- // This handles optional attributes.
- template <typename Attribute, typename Exposed>
- struct extract_from_attribute<boost::optional<Attribute>, Exposed>
- {
- typedef Attribute const& type;
-
- template <typename Context>
- static type call(boost::optional<Attribute> const& attr, Context& ctx)
- {
- return extract_from<Exposed>(boost::get<Attribute>(attr), ctx);
- }
- };
-
- template <typename Attribute, typename Exposed>
- struct extract_from_attribute<boost::optional<Attribute const>, Exposed>
- {
- typedef Attribute const& type;
-
- template <typename Context>
- static type call(boost::optional<Attribute const> const& attr, Context& ctx)
- {
- return extract_from<Exposed>(boost::get<Attribute const>(attr), ctx);
- }
- };
-
- // This handles attributes wrapped inside a boost::ref().
- template <typename Attribute, typename Exposed>
- struct extract_from_attribute<reference_wrapper<Attribute>, Exposed>
- {
- typedef Attribute const& type;
-
- template <typename Context>
- static type call(reference_wrapper<Attribute> const& attr, Context& ctx)
- {
- return extract_from<Exposed>(attr.get(), ctx);
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Attribute, typename Exposed, typename Enable>
- struct extract_from_container
- {
- typedef typename traits::container_value<Attribute const>::type
- value_type;
- typedef typename is_convertible<value_type, Exposed>::type
- is_convertible_to_value_type;
-
- typedef typename mpl::if_<
- mpl::or_<
- is_same<value_type, Exposed>, is_same<Attribute, Exposed> >
- , Exposed const&, Exposed
- >::type type;
-
- // handle case where container value type is convertible to result type
- // we simply return the front element of the container
- template <typename Context, typename Pred>
- static type call(Attribute const& attr, Context&, mpl::true_, Pred)
- {
- // return first element from container
- typedef typename traits::container_iterator<Attribute const>::type
- iterator_type;
-
- iterator_type it = traits::begin(attr);
- type result = *it;
- ++it;
- return result;
- }
-
- // handle strings
- template <typename Iterator>
- static void append_to_string(Exposed& result, Iterator begin, Iterator end)
- {
- for (Iterator i = begin; i != end; ++i)
- push_back(result, *i);
- }
-
- template <typename Context>
- static type call(Attribute const& attr, Context&, mpl::false_, mpl::true_)
- {
- typedef typename char_type_of<Attribute>::type char_type;
-
- Exposed result;
- append_to_string(result, traits::get_begin<char_type>(attr)
- , traits::get_end<char_type>(attr));
- return result;
- }
-
- // everything else gets just passed through
- template <typename Context>
- static type call(Attribute const& attr, Context&, mpl::false_, mpl::false_)
- {
- return type(attr);
- }
-
- template <typename Context>
- static type call(Attribute const& attr, Context& ctx)
- {
- typedef typename mpl::and_<
- traits::is_string<Exposed>, traits::is_string<Attribute>
- >::type handle_strings;
-
- // return first element from container
- return call(attr, ctx, is_convertible_to_value_type()
- , handle_strings());
- }
- };
-
- template <typename Attribute>
- struct extract_from_container<Attribute, Attribute>
- {
- typedef Attribute const& type;
-
- template <typename Context>
- static type call(Attribute const& attr, Context&)
- {
- return attr;
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- // overload for non-container attributes
- template <typename Exposed, typename Attribute, typename Context>
- inline typename spirit::result_of::extract_from<Exposed, Attribute>::type
- extract_from(Attribute const& attr, Context& ctx, mpl::false_)
- {
- return extract_from_attribute<Attribute, Exposed>::call(attr, ctx);
- }
-
- // overload for containers (but not for variants or optionals
- // holding containers)
- template <typename Exposed, typename Attribute, typename Context>
- inline typename spirit::result_of::extract_from<Exposed, Attribute>::type
- extract_from(Attribute const& attr, Context& ctx, mpl::true_)
- {
- return extract_from_container<Attribute, Exposed>::call(attr, ctx);
- }
- }
-
- template <typename Exposed, typename Attribute, typename Context>
- inline typename spirit::result_of::extract_from<Exposed, Attribute>::type
- extract_from(Attribute const& attr, Context& ctx
-#if (defined(__GNUC__) && (__GNUC__ < 4)) || \
- (defined(__APPLE__) && defined(__INTEL_COMPILER))
- , typename enable_if<traits::not_is_unused<Attribute> >::type*
-#endif
- )
- {
- typedef typename mpl::and_<
- traits::is_container<Attribute>
- , traits::not_is_variant<Attribute>
- , traits::not_is_optional<Attribute>
- >::type is_not_wrapped_container;
-
- return detail::extract_from<Exposed>(attr, ctx
- , is_not_wrapped_container());
- }
-
- template <typename Exposed, typename Context>
- inline unused_type extract_from(unused_type, Context&)
- {
- return unused;
- }
-}}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace result_of
-{
- template <typename Exposed, typename Attribute>
- struct extract_from
- : mpl::if_<
- mpl::and_<
- traits::is_container<Attribute>
- , traits::not_is_variant<Attribute>
- , traits::not_is_optional<Attribute> >
- , traits::extract_from_container<Attribute, Exposed>
- , traits::extract_from_attribute<Attribute, Exposed> >::type
- {};
-
- template <typename Exposed>
- struct extract_from<Exposed, unused_type>
- {
- typedef unused_type type;
- };
-
- template <typename Exposed>
- struct extract_from<Exposed, unused_type const>
- {
- typedef unused_type type;
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/generate.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/generate.hpp
deleted file mode 100644
index 7c8b9f4d7b..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/generate.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_DETAIL_GENERATE_FEB_20_2007_0959AM)
-#define BOOST_SPIRIT_KARMA_DETAIL_GENERATE_FEB_20_2007_0959AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/karma/meta_compiler.hpp>
-#include <boost/spirit/home/karma/delimit_out.hpp>
-#include <boost/spirit/home/karma/delimit_flag.hpp>
-#include <boost/spirit/home/karma/detail/output_iterator.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace spirit { namespace karma { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Expr, typename Enable = void>
- struct generate_impl
- {
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then the expression (Expr) is not a valid spirit karma expression.
- // Did you intend to use the auto_ facilities while forgetting to
- // #include <boost/spirit/include/karma_auto.hpp>?
- BOOST_SPIRIT_ASSERT_MATCH(karma::domain, Expr);
- };
-
- template <typename Expr>
- struct generate_impl<Expr
- , typename enable_if<traits::matches<karma::domain, Expr> >::type>
- {
- template <typename OutputIterator>
- static bool call(
- OutputIterator& target_sink
- , Expr const& expr)
- {
- typedef traits::properties_of<
- typename result_of::compile<karma::domain, Expr>::type
- > properties;
-
- // wrap user supplied iterator into our own output iterator
- output_iterator<OutputIterator
- , mpl::int_<properties::value> > sink(target_sink);
- return compile<karma::domain>(expr).
- generate(sink, unused, unused, unused);
- }
-
- template <typename OutputIterator, typename Properties>
- static bool call(
- detail::output_iterator<OutputIterator, Properties>& sink
- , Expr const& expr)
- {
- return compile<karma::domain>(expr).
- generate(sink, unused, unused, unused);
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Expr, typename Enable = void>
- struct generate_delimited_impl
- {
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then the expression (Expr) is not a valid spirit karma expression.
- // Did you intend to use the auto_ facilities while forgetting to
- // #include <boost/spirit/include/karma_auto.hpp>?
- BOOST_SPIRIT_ASSERT_MATCH(karma::domain, Expr);
- };
-
- template <typename Expr>
- struct generate_delimited_impl<Expr
- , typename enable_if<traits::matches<karma::domain, Expr> >::type>
- {
- template <typename OutputIterator, typename Delimiter>
- static bool call(
- OutputIterator& target_sink
- , Expr const& expr
- , Delimiter const& delimiter
- , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit)
- {
- typedef traits::properties_of<
- typename result_of::compile<karma::domain, Expr>::type
- > properties;
- typedef traits::properties_of<
- typename result_of::compile<karma::domain, Delimiter>::type
- > delimiter_properties;
-
- // wrap user supplied iterator into our own output iterator
- detail::output_iterator<OutputIterator
- , mpl::int_<properties::value | delimiter_properties::value>
- > sink(target_sink);
- return call(sink, expr, delimiter, pre_delimit);
- }
-
- template <typename OutputIterator, typename Properties
- , typename Delimiter>
- static bool call(
- detail::output_iterator<OutputIterator, Properties>& sink
- , Expr const& expr
- , Delimiter const& delimiter
- , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit)
- {
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then the delimiter is not a valid spirit karma expression.
- BOOST_SPIRIT_ASSERT_MATCH(karma::domain, Delimiter);
-
- typename result_of::compile<karma::domain, Delimiter>::type const
- delimiter_ = compile<karma::domain>(delimiter);
-
- if (pre_delimit == delimit_flag::predelimit &&
- !karma::delimit_out(sink, delimiter_))
- {
- return false;
- }
- return compile<karma::domain>(expr).
- generate(sink, unused, delimiter_, unused);
- }
- };
-
-}}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/generate_to.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/generate_to.hpp
deleted file mode 100644
index 05c715713b..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/generate_to.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_DETAIL_GENERATE_TO_FEB_20_2007_0417PM)
-#define BOOST_SPIRIT_KARMA_DETAIL_GENERATE_TO_FEB_20_2007_0417PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/char_class.hpp>
-#include <boost/spirit/home/karma/detail/output_iterator.hpp>
-
-namespace boost { namespace spirit { namespace karma { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- // These utility functions insert the given parameter into the supplied
- // output iterator.
- // If the attribute is spirit's unused_type, this is a no_op.
- ///////////////////////////////////////////////////////////////////////////
- template <
- typename OutputIterator, typename Attribute, typename CharEncoding
- , typename Tag>
- inline bool
- generate_to(OutputIterator& sink, Attribute const& p, CharEncoding, Tag)
- {
- *sink = spirit::char_class::convert<CharEncoding>::to(Tag(), p);
- ++sink;
- return detail::sink_is_good(sink);
- }
-
- template <typename OutputIterator, typename Attribute>
- inline bool
- generate_to(OutputIterator& sink, Attribute const& p, unused_type, unused_type)
- {
- *sink = p;
- ++sink;
- return detail::sink_is_good(sink);
- }
-
- template <typename OutputIterator, typename CharEncoding, typename Tag>
- inline bool generate_to(OutputIterator&, unused_type, CharEncoding, Tag)
- {
- return true;
- }
-
- template <typename OutputIterator, typename Attribute>
- inline bool
- generate_to(OutputIterator& sink, Attribute const& p)
- {
- *sink = p;
- ++sink;
- return detail::sink_is_good(sink);
- }
-
- template <typename OutputIterator>
- inline bool generate_to(OutputIterator&, unused_type)
- {
- return true;
- }
-
-}}}} // namespace boost::spirit::karma::detail
-
-#endif // KARMA_CORE_DETAIL_INSERT_TO_HPP
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/get_casetag.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/get_casetag.hpp
deleted file mode 100644
index 1d5a464fa4..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/get_casetag.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// 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(BOOST_SPIRIT_KARMA_GET_CASETAG_JANUARY_19_2009_1107AM)
-#define BOOST_SPIRIT_KARMA_GET_CASETAG_JANUARY_19_2009_1107AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/identity.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-
-namespace boost { namespace spirit { namespace karma { namespace detail
-{
- template <typename Modifiers, bool case_modifier = false>
- struct get_casetag : mpl::identity<unused_type> {};
-
- template <typename Modifiers>
- struct get_casetag<Modifiers, true>
- : mpl::if_<has_modifier<Modifiers, tag::char_code_base<tag::lower> >
- , tag::lower, tag::upper> {};
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/output_iterator.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/output_iterator.hpp
deleted file mode 100644
index 137e345dd8..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/output_iterator.hpp
+++ /dev/null
@@ -1,650 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_OUTPUT_ITERATOR_MAY_26_2007_0506PM)
-#define BOOST_SPIRIT_KARMA_OUTPUT_ITERATOR_MAY_26_2007_0506PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <iterator>
-#include <vector>
-#include <algorithm>
-
-#include <boost/config.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/mpl/if.hpp>
-
-#include <boost/spirit/home/karma/generator.hpp>
-#include <boost/spirit/home/support/iterators/ostream_iterator.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-
-#if defined(BOOST_MSVC) && defined(BOOST_SPIRIT_UNICODE)
-#include <boost/spirit/home/support/char_encoding/unicode.hpp>
-#endif
-
-namespace boost { namespace spirit { namespace karma { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- // This class is used to keep track of the current position in the output.
- ///////////////////////////////////////////////////////////////////////////
- class position_sink
- {
- public:
- position_sink() : count(0), line(1), column(1) {}
- void tidy() { count = 0; line = 1; column = 1; }
-
- template <typename T>
- void output(T const& value)
- {
- ++count;
- if (value == '\n') {
- ++line;
- column = 1;
- }
- else {
- ++column;
- }
- }
- std::size_t get_count() const { return count; }
- std::size_t get_line() const { return line; }
- std::size_t get_column() const { return column; }
-
- private:
- std::size_t count;
- std::size_t line;
- std::size_t column;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- struct position_policy
- {
- position_policy() {}
- position_policy(position_policy const& rhs)
- : track_position_data(rhs.track_position_data) {}
-
- template <typename T>
- void output(T const& value)
- {
- // track position in the output
- track_position_data.output(value);
- }
-
- // return the current count in the output
- std::size_t get_out_count() const
- {
- return track_position_data.get_count();
- }
-
- // return the current line in the output
- std::size_t get_line() const
- {
- return track_position_data.get_line();
- }
-
- // return the current column in the output
- std::size_t get_column() const
- {
- return track_position_data.get_column();
- }
-
- private:
- position_sink track_position_data; // for position tracking
- };
-
- struct no_position_policy
- {
- no_position_policy() {}
- no_position_policy(no_position_policy const&) {}
-
- template <typename T>
- void output(T const& /*value*/) {}
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // This class is used to count the number of characters streamed into the
- // output.
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator>
- class counting_sink : boost::noncopyable
- {
- public:
- counting_sink(OutputIterator& sink_, std::size_t count_ = 0
- , bool enabled = true)
- : count(count_), initial_count(count), prev_count(0), sink(sink_)
- {
- prev_count = sink.chain_counting(enabled ? this : NULL);
- }
- ~counting_sink()
- {
- if (prev_count) // propagate count
- prev_count->update_count(count-initial_count);
- sink.chain_counting(prev_count);
- }
-
- void output()
- {
- ++count;
- }
- std::size_t get_count() const { return count; }
-
- // propagate count from embedded counters
- void update_count(std::size_t c)
- {
- count += c;
- }
-
- private:
- std::size_t count;
- std::size_t initial_count;
- counting_sink* prev_count; // previous counter in chain
- OutputIterator& sink;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator>
- struct counting_policy
- {
- public:
- counting_policy() : count(NULL) {}
- counting_policy(counting_policy const& rhs) : count(rhs.count) {}
-
- // functions related to counting
- counting_sink<OutputIterator>* chain_counting(
- counting_sink<OutputIterator>* count_data)
- {
- counting_sink<OutputIterator>* prev_count = count;
- count = count_data;
- return prev_count;
- }
-
- template <typename T>
- void output(T const&)
- {
- // count characters, if appropriate
- if (NULL != count)
- count->output();
- }
-
- private:
- counting_sink<OutputIterator>* count; // for counting
- };
-
- struct no_counting_policy
- {
- no_counting_policy() {}
- no_counting_policy(no_counting_policy const&) {}
-
- template <typename T>
- void output(T const& /*value*/) {}
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // The following classes are used to intercept the output into a buffer
- // allowing to do things like alignment, character escaping etc.
- ///////////////////////////////////////////////////////////////////////////
- class buffer_sink : boost::noncopyable
- {
- // wchar_t is only 16-bits on Windows. If BOOST_SPIRIT_UNICODE is
- // defined, the character type is 32-bits wide so we need to make
- // sure the buffer is at least that wide.
-#if (defined(_MSC_VER) || defined(__SIZEOF_WCHAR_T__) && __SIZEOF_WCHAR_T__ == 2) && defined(BOOST_SPIRIT_UNICODE)
- typedef spirit::char_encoding::unicode::char_type buffer_char_type;
-#else
- typedef wchar_t buffer_char_type;
-#endif
-
- public:
- buffer_sink()
- : width(0) {}
-
- ~buffer_sink()
- {
- tidy();
- }
-
- void enable(std::size_t width_)
- {
- tidy(); // release existing buffer
- width = (width_ == std::size_t(-1)) ? 0 : width_;
- buffer.reserve(width);
- }
-
- void tidy()
- {
- buffer.clear();
- width = 0;
- }
-
- template <typename T>
- void output(T const& value)
- {
- BOOST_STATIC_ASSERT(sizeof(T) <= sizeof(buffer_char_type));
- buffer.push_back(value);
- }
-
- template <typename OutputIterator_>
- bool copy(OutputIterator_& sink, std::size_t maxwidth) const
- {
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#pragma warning(disable: 4267)
-#endif
- typename std::basic_string<buffer_char_type>::const_iterator end =
- buffer.begin() + (std::min)(buffer.size(), maxwidth);
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4244) // conversion from 'x' to 'y', possible loss of data
-#endif
- std::copy(buffer.begin(), end, sink);
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
- return true;
- }
- template <typename RestIterator>
- bool copy_rest(RestIterator& sink, std::size_t start_at) const
- {
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-#pragma warning(disable: 4267)
-#endif
- typename std::basic_string<buffer_char_type>::const_iterator begin =
- buffer.begin() + (std::min)(buffer.size(), start_at);
-
-#if defined(BOOST_MSVC)
-#pragma warning(disable: 4244) // conversion from 'x' to 'y', possible loss of data
-#endif
- std::copy(begin, buffer.end(), sink);
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
- return true;
- }
-
- std::size_t buffer_size() const
- {
- return buffer.size();
- }
-
- private:
- std::size_t width;
- std::basic_string<buffer_char_type> buffer;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- struct buffering_policy
- {
- public:
- buffering_policy() : buffer(NULL) {}
- buffering_policy(buffering_policy const& rhs) : buffer(rhs.buffer) {}
-
- // functions related to buffering
- buffer_sink* chain_buffering(buffer_sink* buffer_data)
- {
- buffer_sink* prev_buffer = buffer;
- buffer = buffer_data;
- return prev_buffer;
- }
-
- template <typename T>
- bool output(T const& value)
- {
- // buffer characters, if appropriate
- if (NULL != buffer) {
- buffer->output(value);
- return false;
- }
- return true;
- }
-
- bool has_buffer() const { return NULL != buffer; }
-
- private:
- buffer_sink* buffer;
- };
-
- struct no_buffering_policy
- {
- no_buffering_policy() {}
- no_buffering_policy(no_buffering_policy const&) {}
-
- template <typename T>
- bool output(T const& /*value*/)
- {
- return true;
- }
-
- bool has_buffer() const { return false; }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // forward declaration only
- template <typename OutputIterator>
- struct enable_buffering;
-
- template <typename OutputIterator, typename Properties
- , typename Derived = unused_type>
- class output_iterator;
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Buffering, typename Counting, typename Tracking>
- struct output_iterator_base : Buffering, Counting, Tracking
- {
- typedef Buffering buffering_policy;
- typedef Counting counting_policy;
- typedef Tracking tracking_policy;
-
- output_iterator_base() {}
- output_iterator_base(output_iterator_base const& rhs)
- : buffering_policy(rhs), counting_policy(rhs), tracking_policy(rhs)
- {}
-
- template <typename T>
- bool output(T const& value)
- {
- this->counting_policy::output(value);
- this->tracking_policy::output(value);
- return this->buffering_policy::output(value);
- }
- };
-
- template <typename Buffering, typename Counting, typename Tracking>
- struct disabling_output_iterator : Buffering, Counting, Tracking
- {
- typedef Buffering buffering_policy;
- typedef Counting counting_policy;
- typedef Tracking tracking_policy;
-
- disabling_output_iterator() : do_output(true) {}
- disabling_output_iterator(disabling_output_iterator const& rhs)
- : buffering_policy(rhs), counting_policy(rhs), tracking_policy(rhs)
- , do_output(rhs.do_output)
- {}
-
- template <typename T>
- bool output(T const& value)
- {
- if (!do_output)
- return false;
-
- this->counting_policy::output(value);
- this->tracking_policy::output(value);
- return this->buffering_policy::output(value);
- }
-
- bool do_output;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator, typename Properties, typename Derived>
- struct make_output_iterator
- {
- // get the most derived type of this class
- typedef typename mpl::if_<
- traits::not_is_unused<Derived>, Derived
- , output_iterator<OutputIterator, Properties, Derived>
- >::type most_derived_type;
-
- static const generator_properties::enum_type properties = static_cast<generator_properties::enum_type>(Properties::value);
-
- typedef typename mpl::if_c<
- (properties & generator_properties::tracking) ? true : false
- , position_policy, no_position_policy
- >::type tracking_type;
-
- typedef typename mpl::if_c<
- (properties & generator_properties::buffering) ? true : false
- , buffering_policy, no_buffering_policy
- >::type buffering_type;
-
- typedef typename mpl::if_c<
- (properties & generator_properties::counting) ? true : false
- , counting_policy<most_derived_type>, no_counting_policy
- >::type counting_type;
-
- typedef typename mpl::if_c<
- (properties & generator_properties::disabling) ? true : false
- , disabling_output_iterator<buffering_type, counting_type, tracking_type>
- , output_iterator_base<buffering_type, counting_type, tracking_type>
- >::type type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Karma uses an output iterator wrapper for all output operations. This
- // is necessary to avoid the dreaded 'scanner business' problem, i.e. the
- // dependency of rules and grammars on the used output iterator.
- //
- // By default the user supplied output iterator is wrapped inside an
- // instance of this internal output_iterator class.
- //
- // This output_iterator class normally just forwards to the embedded user
- // supplied iterator. But it is possible to enable additional functionality
- // on demand, such as counting, buffering, and position tracking.
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator, typename Properties, typename Derived>
- class output_iterator
- : public make_output_iterator<OutputIterator, Properties, Derived>::type
- {
- private:
- // base iterator type
- typedef typename make_output_iterator<
- OutputIterator, Properties, Derived>::type base_iterator;
-
- public:
- typedef std::output_iterator_tag iterator_category;
- typedef void value_type;
- typedef void difference_type;
- typedef void pointer;
- typedef void reference;
-
- explicit output_iterator(OutputIterator& sink_)
- : sink(&sink_)
- {}
- output_iterator(output_iterator const& rhs)
- : base_iterator(rhs), sink(rhs.sink)
- {}
-
- output_iterator& operator*() { return *this; }
- output_iterator& operator++()
- {
- if (!this->base_iterator::has_buffer())
- ++(*sink); // increment only if not buffering
- return *this;
- }
- output_iterator operator++(int)
- {
- if (!this->base_iterator::has_buffer()) {
- output_iterator t(*this);
- ++(*sink);
- return t;
- }
- return *this;
- }
-
-#if defined(BOOST_MSVC)
-// 'argument' : conversion from '...' to '...', possible loss of data
-#pragma warning (push)
-#pragma warning (disable: 4244)
-#endif
- template <typename T>
- void operator=(T const& value)
- {
- if (this->base_iterator::output(value))
- *(*sink) = value;
- }
-#if defined(BOOST_MSVC)
-#pragma warning (pop)
-#endif
-
- // plain output iterators are considered to be good all the time
- bool good() const { return true; }
-
- // allow to access underlying output iterator
- OutputIterator& base() { return *sink; }
-
- protected:
- // this is the wrapped user supplied output iterator
- OutputIterator* sink;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Elem, typename Traits, typename Properties>
- class output_iterator<karma::ostream_iterator<T, Elem, Traits>, Properties>
- : public output_iterator<karma::ostream_iterator<T, Elem, Traits>, Properties
- , output_iterator<karma::ostream_iterator<T, Elem, Traits>, Properties> >
- {
- private:
- typedef output_iterator<karma::ostream_iterator<T, Elem, Traits>, Properties
- , output_iterator<karma::ostream_iterator<T, Elem, Traits>, Properties>
- > base_type;
- typedef karma::ostream_iterator<T, Elem, Traits> base_iterator_type;
- typedef std::basic_ostream<Elem, Traits> ostream_type;
-
- public:
- output_iterator(base_iterator_type& sink)
- : base_type(sink) {}
-
- ostream_type& get_ostream() { return (*this->sink).get_ostream(); }
- ostream_type const& get_ostream() const { return (*this->sink).get_ostream(); }
-
- // expose good bit of underlying stream object
- bool good() const { return (*this->sink).get_ostream().good(); }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Helper class for exception safe enabling of character counting in the
- // output iterator
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator>
- struct enable_counting
- {
- enable_counting(OutputIterator& sink_, std::size_t count = 0)
- : count_data(sink_, count) {}
-
- // get number of characters counted since last enable
- std::size_t count() const
- {
- return count_data.get_count();
- }
-
- private:
- counting_sink<OutputIterator> count_data; // for counting
- };
-
- template <typename OutputIterator>
- struct disable_counting
- {
- disable_counting(OutputIterator& sink_)
- : count_data(sink_, 0, false) {}
-
- private:
- counting_sink<OutputIterator> count_data;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Helper class for exception safe enabling of character buffering in the
- // output iterator
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator>
- struct enable_buffering
- {
- enable_buffering(OutputIterator& sink_
- , std::size_t width = std::size_t(-1))
- : sink(sink_), prev_buffer(NULL), enabled(false)
- {
- buffer_data.enable(width);
- prev_buffer = sink.chain_buffering(&buffer_data);
- enabled = true;
- }
- ~enable_buffering()
- {
- disable();
- }
-
- // reset buffer chain to initial state
- void disable()
- {
- if (enabled) {
- BOOST_VERIFY(&buffer_data == sink.chain_buffering(prev_buffer));
- enabled = false;
- }
- }
-
- // copy to the underlying sink whatever is in the local buffer
- bool buffer_copy(std::size_t maxwidth = std::size_t(-1)
- , bool disable_ = true)
- {
- if (disable_)
- disable();
- return buffer_data.copy(sink, maxwidth) && sink.good();
- }
-
- // return number of characters stored in the buffer
- std::size_t buffer_size() const
- {
- return buffer_data.buffer_size();
- }
-
- // copy to the remaining characters to the specified sink
- template <typename RestIterator>
- bool buffer_copy_rest(RestIterator& sink, std::size_t start_at = 0) const
- {
- return buffer_data.copy_rest(sink, start_at);
- }
-
- // copy the contents to the given output iterator
- template <typename OutputIterator_>
- bool buffer_copy_to(OutputIterator_& sink
- , std::size_t maxwidth = std::size_t(-1)) const
- {
- return buffer_data.copy(sink, maxwidth);
- }
-
- private:
- OutputIterator& sink;
- buffer_sink buffer_data; // for buffering
- buffer_sink* prev_buffer; // previous buffer in chain
- bool enabled;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Helper class for exception safe disabling of output
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator>
- struct disable_output
- {
- disable_output(OutputIterator& sink_)
- : sink(sink_), prev_do_output(sink.do_output)
- {
- sink.do_output = false;
- }
- ~disable_output()
- {
- sink.do_output = prev_do_output;
- }
-
- OutputIterator& sink;
- bool prev_do_output;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Sink>
- bool sink_is_good(Sink const&)
- {
- return true; // the general case is always good
- }
-
- template <typename OutputIterator, typename Derived>
- bool sink_is_good(output_iterator<OutputIterator, Derived> const& sink)
- {
- return sink.good(); // our own output iterators are handled separately
- }
-
-}}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/string_generate.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/string_generate.hpp
deleted file mode 100644
index d37480b436..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/string_generate.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_STRING_GENERATE_FEB_23_2007_1232PM)
-#define BOOST_SPIRIT_KARMA_STRING_GENERATE_FEB_23_2007_1232PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/char_class.hpp>
-#include <boost/spirit/home/karma/detail/generate_to.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-
-namespace boost { namespace spirit { namespace karma { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- // pass through character transformation
- struct pass_through_filter
- {
- template <typename Char>
- Char operator()(Char ch) const
- {
- return ch;
- }
- };
-
- template <typename CharEncoding, typename Tag>
- struct encoding_filter
- {
- template <typename Char>
- Char operator()(Char ch) const
- {
- return spirit::char_class::convert<CharEncoding>::to(Tag(), ch);
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // generate a string given by a std::string, applying the given filter
- template <typename OutputIterator, typename Char, typename Filter>
- inline bool string_generate(OutputIterator& sink, Char const* str
- , Filter filter)
- {
- for (Char ch = *str; ch != 0; ch = *++str)
- {
- *sink = filter(ch);
- ++sink;
- }
- return detail::sink_is_good(sink);
- }
-
- template <typename OutputIterator, typename Container, typename Filter>
- inline bool string_generate(OutputIterator& sink
- , Container const& c, Filter filter)
- {
- typedef typename traits::container_iterator<Container const>::type
- iterator;
-
- const iterator end = boost::end(c);
- for (iterator it = boost::begin(c); it != end; ++it)
- {
- *sink = filter(*it);
- ++sink;
- }
- return detail::sink_is_good(sink);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // generate a string without any transformation
- template <typename OutputIterator, typename Char>
- inline bool string_generate(OutputIterator& sink, Char const* str)
- {
- return string_generate(sink, str, pass_through_filter());
- }
-
- template <typename OutputIterator, typename Container>
- inline bool string_generate(OutputIterator& sink
- , Container const& c)
- {
- return string_generate(sink, c, pass_through_filter());
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // generate a string given by a pointer, converting according using a
- // given character class and case tag
- template <typename OutputIterator, typename Char, typename CharEncoding
- , typename Tag>
- inline bool string_generate(OutputIterator& sink
- , Char const* str
- , CharEncoding, Tag)
- {
- return string_generate(sink, str, encoding_filter<CharEncoding, Tag>());
- }
-
- template <typename OutputIterator, typename Container
- , typename CharEncoding, typename Tag>
- inline bool
- string_generate(OutputIterator& sink
- , Container const& c
- , CharEncoding, Tag)
- {
- return string_generate(sink, c, encoding_filter<CharEncoding, Tag>());
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator, typename Char>
- inline bool string_generate(OutputIterator& sink
- , Char const* str
- , unused_type, unused_type)
- {
- return string_generate(sink, str);
- }
-
- template <typename OutputIterator, typename Container>
- inline bool string_generate(OutputIterator& sink
- , Container const& c
- , unused_type, unused_type)
- {
- return string_generate(sink, c);
- }
-
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/unused_delimiter.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/unused_delimiter.hpp
deleted file mode 100644
index cec13cac17..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/detail/unused_delimiter.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_UNUSED_DELIMITER_MAR_15_2009_0923PM)
-#define BOOST_SPIRIT_KARMA_UNUSED_DELIMITER_MAR_15_2009_0923PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-
-namespace boost { namespace spirit { namespace karma { namespace detail
-{
- template <typename Delimiter>
- struct unused_delimiter : unused_type
- {
- unused_delimiter(Delimiter const& delim)
- : delimiter(delim) {}
- Delimiter const& delimiter;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(unused_delimiter& operator= (unused_delimiter const&))
- };
-
- // If a surrounding verbatim[] directive was specified, the current
- // delimiter is of the type unused_delimiter. In this case we
- // re-activate the delimiter which was active before the verbatim[]
- // directive.
- template <typename Delimiter, typename Default>
- inline Delimiter const&
- get_delimiter(unused_delimiter<Delimiter> const& u, Default const&)
- {
- return u.delimiter;
- }
-
- // If no surrounding verbatim[] directive was specified we activate
- // a single space as the delimiter to use.
- template <typename Delimiter, typename Default>
- inline Default const&
- get_delimiter(Delimiter const&, Default const& d)
- {
- return d;
- }
-
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/domain.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/domain.hpp
deleted file mode 100644
index 8ef771dd38..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/domain.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// 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(BOOST_SPIRIT_KARMA_DOMAIN_FEB_20_2007_0943AM)
-#define BOOST_SPIRIT_KARMA_DOMAIN_FEB_20_2007_0943AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/meta_compiler.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/argument.hpp>
-#include <boost/spirit/home/support/context.hpp>
-
-#include <boost/preprocessor/repeat.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace spirit { namespace karma
-{
- // karma's domain
- struct domain {};
-
- // bring in some of spirit parts into spirit::karma
- using spirit::unused;
- using spirit::unused_type;
- using spirit::compile;
- using spirit::info;
-
- // You can bring these in with the using directive
- // without worrying about bringing in too much.
- namespace labels
- {
- BOOST_PP_REPEAT(SPIRIT_ARGUMENTS_LIMIT, SPIRIT_USING_ARGUMENT, _)
- BOOST_PP_REPEAT(SPIRIT_ATTRIBUTES_LIMIT, SPIRIT_USING_ATTRIBUTE, _)
-
- using spirit::_pass_type;
- using spirit::_val_type;
- using spirit::_a_type;
- using spirit::_b_type;
- using spirit::_c_type;
- using spirit::_d_type;
- using spirit::_e_type;
- using spirit::_f_type;
- using spirit::_g_type;
- using spirit::_h_type;
- using spirit::_i_type;
- using spirit::_j_type;
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
-
- using spirit::_pass;
- using spirit::_val;
- using spirit::_a;
- using spirit::_b;
- using spirit::_c;
- using spirit::_d;
- using spirit::_e;
- using spirit::_f;
- using spirit::_g;
- using spirit::_h;
- using spirit::_i;
- using spirit::_j;
-
-#endif
- }
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/generate.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/generate.hpp
deleted file mode 100644
index 68f9b1883e..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/generate.hpp
+++ /dev/null
@@ -1,232 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_GENERATE_DEC_01_2009_0734PM)
-#define BOOST_SPIRIT_KARMA_GENERATE_DEC_01_2009_0734PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/context.hpp>
-#include <boost/spirit/home/support/nonterminal/locals.hpp>
-#include <boost/spirit/home/karma/detail/generate.hpp>
-
-namespace boost { namespace spirit { namespace karma
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator, typename Expr>
- inline bool
- generate(
- OutputIterator& sink
- , Expr const& expr)
- {
- return detail::generate_impl<Expr>::call(sink, expr);
- }
-
- template <typename OutputIterator, typename Expr>
- inline bool
- generate(
- OutputIterator const& sink_
- , Expr const& expr)
- {
- OutputIterator sink = sink_;
- return karma::generate(sink, expr);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename T>
- struct make_context
- {
- typedef context<fusion::cons<T const&>, locals<> > type;
- };
-
- template <>
- struct make_context<unused_type>
- {
- typedef unused_type type;
- };
- }
-
- template <typename OutputIterator, typename Properties, typename Expr
- , typename Attr>
- inline bool
- generate(
- detail::output_iterator<OutputIterator, Properties>& sink
- , Expr const& expr
- , Attr const& attr)
- {
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then the expression (expr) is not a valid spirit karma expression.
- BOOST_SPIRIT_ASSERT_MATCH(karma::domain, Expr);
-
- typename detail::make_context<Attr>::type context(attr);
- return compile<karma::domain>(expr).generate(sink, context, unused, attr);
- }
-
- template <typename OutputIterator, typename Expr, typename Attr>
- inline bool
- generate(
- OutputIterator& sink_
- , Expr const& expr
- , Attr const& attr)
- {
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then the expression (expr) is not a valid spirit karma expression.
- BOOST_SPIRIT_ASSERT_MATCH(karma::domain, Expr);
-
- typedef traits::properties_of<
- typename result_of::compile<karma::domain, Expr>::type
- > properties;
-
- // wrap user supplied iterator into our own output iterator
- detail::output_iterator<OutputIterator
- , mpl::int_<properties::value> > sink(sink_);
- return karma::generate(sink, expr, attr);
- }
-
- template <typename OutputIterator, typename Expr, typename Attr>
- inline bool
- generate(
- OutputIterator const& sink_
- , Expr const& expr
- , Attr const& attr)
- {
- OutputIterator sink = sink_;
- return karma::generate(sink, expr, attr);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator, typename Expr, typename Delimiter>
- inline bool
- generate_delimited(
- OutputIterator& sink
- , Expr const& expr
- , Delimiter const& delimiter
- , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit =
- delimit_flag::dont_predelimit)
- {
- return detail::generate_delimited_impl<Expr>::call(
- sink, expr, delimiter, pre_delimit);
- }
-
- template <typename OutputIterator, typename Expr, typename Delimiter>
- inline bool
- generate_delimited(
- OutputIterator const& sink_
- , Expr const& expr
- , Delimiter const& delimiter
- , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit =
- delimit_flag::dont_predelimit)
- {
- OutputIterator sink = sink_;
- return karma::generate_delimited(sink, expr, delimiter, pre_delimit);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator, typename Properties, typename Expr
- , typename Delimiter, typename Attribute>
- inline bool
- generate_delimited(
- detail::output_iterator<OutputIterator, Properties>& sink
- , Expr const& expr
- , Delimiter const& delimiter
- , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit
- , Attribute const& attr)
- {
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then either the expression (expr) or skipper is not a valid
- // spirit karma expression.
- BOOST_SPIRIT_ASSERT_MATCH(karma::domain, Expr);
- BOOST_SPIRIT_ASSERT_MATCH(karma::domain, Delimiter);
-
- typename result_of::compile<karma::domain, Delimiter>::type const
- delimiter_ = compile<karma::domain>(delimiter);
-
- if (pre_delimit == delimit_flag::predelimit &&
- !karma::delimit_out(sink, delimiter_))
- {
- return false;
- }
-
- typename detail::make_context<Attribute>::type context(attr);
- return compile<karma::domain>(expr).
- generate(sink, context, delimiter_, attr);
- }
-
- template <typename OutputIterator, typename Expr, typename Delimiter
- , typename Attribute>
- inline bool
- generate_delimited(
- OutputIterator& sink_
- , Expr const& expr
- , Delimiter const& delimiter
- , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit
- , Attribute const& attr)
- {
- typedef traits::properties_of<
- typename result_of::compile<karma::domain, Expr>::type
- > properties;
- typedef traits::properties_of<
- typename result_of::compile<karma::domain, Delimiter>::type
- > delimiter_properties;
-
- // wrap user supplied iterator into our own output iterator
- detail::output_iterator<OutputIterator
- , mpl::int_<properties::value | delimiter_properties::value>
- > sink(sink_);
- return karma::generate_delimited(sink, expr, delimiter, pre_delimit, attr);
- }
-
- template <typename OutputIterator, typename Expr, typename Delimiter
- , typename Attribute>
- inline bool
- generate_delimited(
- OutputIterator const& sink_
- , Expr const& expr
- , Delimiter const& delimiter
- , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit
- , Attribute const& attr)
- {
- OutputIterator sink = sink_;
- return karma::generate_delimited(sink, expr, delimiter, pre_delimit, attr);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename OutputIterator, typename Expr, typename Delimiter
- , typename Attribute>
- inline bool
- generate_delimited(
- OutputIterator& sink
- , Expr const& expr
- , Delimiter const& delimiter
- , Attribute const& attr)
- {
- return karma::generate_delimited(sink, expr, delimiter
- , delimit_flag::dont_predelimit, attr);
- }
-
- template <typename OutputIterator, typename Expr, typename Delimiter
- , typename Attribute>
- inline bool
- generate_delimited(
- OutputIterator const& sink_
- , Expr const& expr
- , Delimiter const& delimiter
- , Attribute const& attr)
- {
- OutputIterator sink = sink_;
- return karma::generate_delimited(sink, expr, delimiter
- , delimit_flag::dont_predelimit, attr);
- }
-}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/generator.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/generator.hpp
deleted file mode 100644
index a8f06c616e..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/generator.hpp
+++ /dev/null
@@ -1,159 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// 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(BOOST_SPIRIT_GENERATOR_JANUARY_13_2009_1002AM)
-#define BOOST_SPIRIT_GENERATOR_JANUARY_13_2009_1002AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/spirit/home/karma/domain.hpp>
-
-namespace boost { namespace spirit { namespace karma
-{
- struct generator_properties
- {
- enum enum_type {
- no_properties = 0,
- buffering = 0x01, // generator requires buffering
- counting = 0x02, // generator requires counting
- tracking = 0x04, // generator requires position tracking
- disabling = 0x08, // generator requires disabling of output
-
- countingbuffer = 0x03, // buffering | counting
- all_properties = 0x0f // buffering | counting | tracking | disabling
- };
- };
-
- template <typename Derived>
- struct generator
- {
- struct generator_id;
- typedef mpl::int_<generator_properties::no_properties> properties;
- typedef Derived derived_type;
- typedef karma::domain domain;
-
- // Requirement: g.generate(o, context, delimiter, attr) -> bool
- //
- // g: a generator
- // o: output iterator
- // context: enclosing rule context (can be unused_type)
- // delimit: delimiter (can be unused_type)
- // attr: attribute (can be unused_type)
-
- // Requirement: g.what(context) -> info
- //
- // g: a generator
- // context: enclosing rule context (can be unused_type)
-
- // Requirement: G::template attribute<Ctx, Iter>::type
- //
- // G: a generator type
- // Ctx: A context type (can be unused_type)
- // Iter: An iterator type (always unused_type)
-
- Derived const& derived() const
- {
- return *static_cast<Derived const*>(this);
- }
- };
-
- template <typename Derived>
- struct primitive_generator : generator<Derived>
- {
- struct primitive_generator_id;
- };
-
- template <typename Derived>
- struct nary_generator : generator<Derived>
- {
- struct nary_generator_id;
-
- // Requirement: g.elements -> fusion sequence
- //
- // g: a composite generator
-
- // Requirement: G::elements_type -> fusion sequence
- //
- // G: a composite generator type
- };
-
- template <typename Derived>
- struct unary_generator : generator<Derived>
- {
- struct unary_generator_id;
-
- // Requirement: g.subject -> subject generator
- //
- // g: a unary generator
-
- // Requirement: G::subject_type -> subject generator type
- //
- // G: a unary generator type
- };
-
- template <typename Derived>
- struct binary_generator : generator<Derived>
- {
- struct binary_generator_id;
-
- // Requirement: g.left -> left generator
- //
- // g: a binary generator
-
- // Requirement: G::left_type -> left generator type
- //
- // G: a binary generator type
-
- // Requirement: g.right -> right generator
- //
- // g: a binary generator
-
- // Requirement: G::right_type -> right generator type
- //
- // G: a binary generator type
- };
-
-}}}
-
-namespace boost { namespace spirit { namespace traits // classification
-{
- namespace detail
- {
- // generator tags
- BOOST_MPL_HAS_XXX_TRAIT_DEF(generator_id)
- BOOST_MPL_HAS_XXX_TRAIT_DEF(primitive_generator_id)
- BOOST_MPL_HAS_XXX_TRAIT_DEF(nary_generator_id)
- BOOST_MPL_HAS_XXX_TRAIT_DEF(unary_generator_id)
- BOOST_MPL_HAS_XXX_TRAIT_DEF(binary_generator_id)
- }
-
- // check for generator tags
- template <typename T>
- struct is_generator : detail::has_generator_id<T> {};
-
- template <typename T>
- struct is_primitive_generator : detail::has_primitive_generator_id<T> {};
-
- template <typename T>
- struct is_nary_generator : detail::has_nary_generator_id<T> {};
-
- template <typename T>
- struct is_unary_generator : detail::has_unary_generator_id<T> {};
-
- template <typename T>
- struct is_binary_generator : detail::has_binary_generator_id<T> {};
-
- // check for generator properties
- template <typename T>
- struct properties_of : T::properties {};
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/meta_compiler.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/meta_compiler.hpp
deleted file mode 100644
index 3b8ea5e212..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/meta_compiler.hpp
+++ /dev/null
@@ -1,178 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// 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(BOOST_SPIRIT_KARMA_META_COMPILER_JANUARY_13_2009_1011AM)
-#define BOOST_SPIRIT_KARMA_META_COMPILER_JANUARY_13_2009_1011AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/meta_compiler.hpp>
-#include <boost/spirit/home/karma/domain.hpp>
-#include <boost/spirit/home/karma/generator.hpp>
-#include <boost/spirit/home/support/string_traits.hpp>
-#include <boost/proto/tags.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/fusion/include/at.hpp>
-
-namespace boost { namespace spirit
-{
- template <typename T>
- struct use_terminal<karma::domain, T
- , typename enable_if<traits::is_generator<T> >::type> // enables generators
- : mpl::true_ {};
-
- namespace karma
- {
- template <typename T, typename Modifiers, typename Enable = void>
- struct make_primitive // by default, return it as-is
- {
- typedef T result_type;
-
- template <typename T_>
- T_& operator()(T_& val, unused_type) const
- {
- return val;
- }
-
- template <typename T_>
- T_ const& operator()(T_ const& val, unused_type) const
- {
- return val;
- }
- };
-
- template <typename Tag, typename Elements
- , typename Modifiers, typename Enable = void>
- struct make_composite;
-
- template <typename Directive, typename Body
- , typename Modifiers, typename Enable = void>
- struct make_directive
- {
- typedef Body result_type;
- result_type operator()(unused_type, Body const& body, unused_type) const
- {
- return body; // By default, a directive simply returns its subject
- }
- };
- }
-
- // Karma primitive meta-compiler
- template <>
- struct make_component<karma::domain, proto::tag::terminal>
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Elements, typename Modifiers>
- struct result<This(Elements, Modifiers)>
- {
- typedef typename karma::make_primitive<
- typename remove_const<typename Elements::car_type>::type
- , typename remove_reference<Modifiers>::type
- >::result_type type;
- };
-
- template <typename Elements, typename Modifiers>
- typename result<make_component(Elements, Modifiers)>::type
- operator()(Elements const& elements, Modifiers const& modifiers) const
- {
- typedef typename remove_const<typename Elements::car_type>::type term;
- return karma::make_primitive<term, Modifiers>()(elements.car, modifiers);
- }
- };
-
- // Karma composite meta-compiler
- template <typename Tag>
- struct make_component<karma::domain, Tag>
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Elements, typename Modifiers>
- struct result<This(Elements, Modifiers)>
- {
- typedef typename
- karma::make_composite<Tag, Elements
- , typename remove_reference<Modifiers>::type>::result_type
- type;
- };
-
- template <typename Elements, typename Modifiers>
- typename result<make_component(Elements, Modifiers)>::type
- operator()(Elements const& elements, Modifiers const& modifiers) const
- {
- return karma::make_composite<Tag, Elements, Modifiers>()(
- elements, modifiers);
- }
- };
-
- // Karma function meta-compiler
- template <>
- struct make_component<karma::domain, proto::tag::function>
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Elements, typename Modifiers>
- struct result<This(Elements, Modifiers)>
- {
- typedef typename
- karma::make_composite<
- typename remove_const<typename Elements::car_type>::type,
- typename Elements::cdr_type,
- typename remove_reference<Modifiers>::type
- >::result_type
- type;
- };
-
- template <typename Elements, typename Modifiers>
- typename result<make_component(Elements, Modifiers)>::type
- operator()(Elements const& elements, Modifiers const& modifiers) const
- {
- return karma::make_composite<
- typename remove_const<typename Elements::car_type>::type,
- typename Elements::cdr_type,
- Modifiers>()(elements.cdr, modifiers);
- }
- };
-
- // Karma directive meta-compiler
- template <>
- struct make_component<karma::domain, tag::directive>
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Elements, typename Modifiers>
- struct result<This(Elements, Modifiers)>
- {
- typedef typename
- karma::make_directive<
- typename remove_const<typename Elements::car_type>::type,
- typename remove_const<typename Elements::cdr_type::car_type>::type,
- typename remove_reference<Modifiers>::type
- >::result_type
- type;
- };
-
- template <typename Elements, typename Modifiers>
- typename result<make_component(Elements, Modifiers)>::type
- operator()(Elements const& elements, Modifiers const& modifiers) const
- {
- return karma::make_directive<
- typename remove_const<typename Elements::car_type>::type,
- typename remove_const<typename Elements::cdr_type::car_type>::type,
- Modifiers>()(elements.car, elements.cdr.car, modifiers);
- }
- };
-
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp
deleted file mode 100644
index 77cfba40cd..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/numeric/detail/numeric_utils.hpp
+++ /dev/null
@@ -1,786 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_NUMERIC_UTILS_FEB_23_2007_0841PM)
-#define BOOST_SPIRIT_KARMA_NUMERIC_UTILS_FEB_23_2007_0841PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/limits.hpp>
-
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/spirit/home/support/char_class.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/numeric_traits.hpp>
-#include <boost/spirit/home/support/detail/pow10.hpp>
-#include <boost/spirit/home/karma/detail/generate_to.hpp>
-#include <boost/spirit/home/karma/detail/string_generate.hpp>
-
-#include <boost/core/cmath.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// The value BOOST_KARMA_NUMERICS_LOOP_UNROLL specifies, how to unroll the
-// integer string generation loop (see below).
-//
-// Set the value to some integer in between 0 (no unrolling) and the
-// largest expected generated integer string length (complete unrolling).
-// If not specified, this value defaults to 6.
-//
-///////////////////////////////////////////////////////////////////////////////
-#if !defined(BOOST_KARMA_NUMERICS_LOOP_UNROLL)
-#define BOOST_KARMA_NUMERICS_LOOP_UNROLL 6
-#endif
-
-#if BOOST_KARMA_NUMERICS_LOOP_UNROLL < 0
-#error "Please set the BOOST_KARMA_NUMERICS_LOOP_UNROLL to a non-negative value!"
-#endif
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////
- //
- // return the absolute value from a given number, avoiding over- and
- // underflow
- //
- ///////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable/* = void*/>
- struct absolute_value
- {
- typedef T type;
- static T call (T n)
- {
- // allow for ADL to find the correct overloads for fabs
- using namespace std;
- return fabs(n);
- }
- };
-
-#define BOOST_SPIRIT_ABSOLUTE_VALUE(signedtype, unsignedtype) \
- template <> \
- struct absolute_value<signedtype> \
- { \
- typedef unsignedtype type; \
- static type call(signedtype n) \
- { \
- /* implementation is well-defined for one's complement, */ \
- /* two's complement, and signed magnitude architectures */ \
- /* by the C++ Standard. [conv.integral] [expr.unary.op] */ \
- return (n >= 0) ? static_cast<type>(n) \
- : -static_cast<type>(n); \
- } \
- } \
- /**/
-#define BOOST_SPIRIT_ABSOLUTE_VALUE_UNSIGNED(unsignedtype) \
- template <> \
- struct absolute_value<unsignedtype> \
- { \
- typedef unsignedtype type; \
- static type call(unsignedtype n) \
- { \
- return n; \
- } \
- } \
- /**/
-
-#if defined(BOOST_MSVC)
-# pragma warning(push)
-// unary minus operator applied to unsigned type, result still unsigned
-# pragma warning(disable: 4146)
-#endif
- BOOST_SPIRIT_ABSOLUTE_VALUE(signed char, unsigned char);
- BOOST_SPIRIT_ABSOLUTE_VALUE(char, unsigned char);
- BOOST_SPIRIT_ABSOLUTE_VALUE(short, unsigned short);
- BOOST_SPIRIT_ABSOLUTE_VALUE(int, unsigned int);
- BOOST_SPIRIT_ABSOLUTE_VALUE(long, unsigned long);
- BOOST_SPIRIT_ABSOLUTE_VALUE_UNSIGNED(unsigned char);
- BOOST_SPIRIT_ABSOLUTE_VALUE_UNSIGNED(unsigned short);
- BOOST_SPIRIT_ABSOLUTE_VALUE_UNSIGNED(unsigned int);
- BOOST_SPIRIT_ABSOLUTE_VALUE_UNSIGNED(unsigned long);
-#ifdef BOOST_HAS_LONG_LONG
- BOOST_SPIRIT_ABSOLUTE_VALUE(boost::long_long_type, boost::ulong_long_type);
- BOOST_SPIRIT_ABSOLUTE_VALUE_UNSIGNED(boost::ulong_long_type);
-#endif
-#if defined(BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#undef BOOST_SPIRIT_ABSOLUTE_VALUE
-#undef BOOST_SPIRIT_ABSOLUTE_VALUE_UNSIGNED
-
- template <>
- struct absolute_value<float>
- {
- typedef float type;
- static type call(float n)
- {
- return (std::fabs)(n);
- }
- };
-
- template <>
- struct absolute_value<double>
- {
- typedef double type;
- static type call(double n)
- {
- return (std::fabs)(n);
- }
- };
-
- template <>
- struct absolute_value<long double>
- {
- typedef long double type;
- static type call(long double n)
- {
- return (std::fabs)(n);
- }
- };
-
- // specialization for pointers
- template <typename T>
- struct absolute_value<T*>
- {
- typedef std::size_t type;
- static type call (T* p)
- {
- return std::size_t(p);
- }
- };
-
- template <typename T>
- inline typename absolute_value<T>::type
- get_absolute_value(T n)
- {
- return absolute_value<T>::call(n);
- }
-
- ///////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable/* = void*/>
- struct is_negative
- {
- static bool call(T n)
- {
- return (n < 0) ? true : false;
- }
- };
-
- template <>
- struct is_negative<float>
- {
- static bool call(float n)
- {
- return (core::signbit)(n) ? true : false;
- }
- };
-
- template <>
- struct is_negative<double>
- {
- static bool call(double n)
- {
- return (core::signbit)(n) ? true : false;
- }
- };
-
- template <>
- struct is_negative<long double>
- {
- static bool call(long double n)
- {
- return (core::signbit)(n) ? true : false;
- }
- };
-
- template <typename T>
- inline bool test_negative(T n)
- {
- return is_negative<T>::call(n);
- }
-
- ///////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable/* = void*/>
- struct is_zero
- {
- static bool call(T n)
- {
- return (n == 0) ? true : false;
- }
- };
-
- template <>
- struct is_zero<float>
- {
- static bool call(float n)
- {
- return (core::fpclassify)(n) == core::fp_zero;
- }
- };
-
- template <>
- struct is_zero<double>
- {
- static bool call(double n)
- {
- return (core::fpclassify)(n) == core::fp_zero;
- }
- };
-
- template <>
- struct is_zero<long double>
- {
- static bool call(long double n)
- {
- return (core::fpclassify)(n) == core::fp_zero;
- }
- };
-
- template <typename T>
- inline bool test_zero(T n)
- {
- return is_zero<T>::call(n);
- }
-
- ///////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable/* = void*/>
- struct is_nan
- {
- static bool call(T n)
- {
- // NaN numbers are not equal to anything
- return (n != n) ? true : false;
- }
- };
-
- template <>
- struct is_nan<float>
- {
- static bool call(float n)
- {
- return (core::fpclassify)(n) == core::fp_nan;
- }
- };
-
- template <>
- struct is_nan<double>
- {
- static bool call(double n)
- {
- return (core::fpclassify)(n) == core::fp_nan;
- }
- };
-
- template <>
- struct is_nan<long double>
- {
- static bool call(long double n)
- {
- return (core::fpclassify)(n) == core::fp_nan;
- }
- };
-
- template <typename T>
- inline bool test_nan(T n)
- {
- return is_nan<T>::call(n);
- }
-
- ///////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable/* = void*/>
- struct is_infinite
- {
- static bool call(T n)
- {
- return std::numeric_limits<T>::has_infinity
- && n == std::numeric_limits<T>::infinity();
- }
- };
-
- template <>
- struct is_infinite<float>
- {
- static bool call(float n)
- {
- return (core::fpclassify)(n) == core::fp_infinite;
- }
- };
-
- template <>
- struct is_infinite<double>
- {
- static bool call(double n)
- {
- return (core::fpclassify)(n) == core::fp_infinite;
- }
- };
-
- template <>
- struct is_infinite<long double>
- {
- static bool call(long double n)
- {
- return (core::fpclassify)(n) == core::fp_infinite;
- }
- };
-
- template <typename T>
- inline bool test_infinite(T n)
- {
- return is_infinite<T>::call(n);
- }
-
- ///////////////////////////////////////////////////////////////////////
- struct cast_to_long
- {
- static long call(float n, mpl::false_)
- {
- return static_cast<long>(std::floor(n));
- }
-
- static long call(double n, mpl::false_)
- {
- return static_cast<long>(std::floor(n));
- }
-
- static long call(long double n, mpl::false_)
- {
- return static_cast<long>(std::floor(n));
- }
-
- template <typename T>
- static long call(T n, mpl::false_)
- {
- // allow for ADL to find the correct overload for floor and
- // lround
- using namespace std;
- return lround(floor(n));
- }
-
- template <typename T>
- static long call(T n, mpl::true_)
- {
- return static_cast<long>(n);
- }
-
- template <typename T>
- static long call(T n)
- {
- return call(n, mpl::bool_<is_integral<T>::value>());
- }
- };
-
- ///////////////////////////////////////////////////////////////////////
- struct truncate_to_long
- {
- static long call(float n, mpl::false_)
- {
- return test_negative(n) ? static_cast<long>(std::ceil(n)) :
- static_cast<long>(std::floor(n));
- }
-
- static long call(double n, mpl::false_)
- {
- return test_negative(n) ? static_cast<long>(std::ceil(n)) :
- static_cast<long>(std::floor(n));
- }
-
- static long call(long double n, mpl::false_)
- {
- return test_negative(n) ? static_cast<long>(std::ceil(n)) :
- static_cast<long>(std::floor(n));
- }
-
- template <typename T>
- static long call(T n, mpl::false_)
- {
- // allow for ADL to find the correct overloads for ltrunc
- using namespace std;
- return ltrunc(n);
- }
-
- template <typename T>
- static long call(T n, mpl::true_)
- {
- return static_cast<long>(n);
- }
-
- template <typename T>
- static long call(T n)
- {
- return call(n, mpl::bool_<is_integral<T>::value>());
- }
- };
-
- ///////////////////////////////////////////////////////////////////////
- //
- // Traits class for radix specific number conversion
- //
- // Convert a digit from binary representation to character
- // representation:
- //
- // static int call(unsigned n);
- //
- ///////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename CharEncoding, typename Tag, bool radix_less_than_10>
- struct convert_digit
- {
- static int call(unsigned n)
- {
- if (n <= 9)
- return n + '0';
-
- using spirit::char_class::convert;
- return convert<CharEncoding>::to(Tag(), n - 10 + 'a');
- }
- };
-
- template <>
- struct convert_digit<unused_type, unused_type, false>
- {
- static int call(unsigned n)
- {
- if (n <= 9)
- return n + '0';
- return n - 10 + 'a';
- }
- };
-
- template <typename CharEncoding, typename Tag>
- struct convert_digit<CharEncoding, Tag, true>
- {
- static int call(unsigned n)
- {
- return n + '0';
- }
- };
- }
-
- template <unsigned Radix, typename CharEncoding, typename Tag>
- struct convert_digit
- : detail::convert_digit<CharEncoding, Tag, (Radix <= 10) ? true : false>
- {};
-
- ///////////////////////////////////////////////////////////////////////
- template <unsigned Radix>
- struct divide
- {
- template <typename T>
- static T call(T& n, mpl::true_)
- {
- return n / Radix;
- }
-
- template <typename T>
- static T call(T& n, mpl::false_)
- {
- // Allow ADL to find the correct overload for floor
- using namespace std;
- return floor(n / Radix);
- }
-
- template <typename T>
- static T call(T& n, T const&, int)
- {
- return call(n, mpl::bool_<is_integral<T>::value>());
- }
-
- template <typename T>
- static T call(T& n)
- {
- return call(n, mpl::bool_<is_integral<T>::value>());
- }
- };
-
- // specialization for division by 10
- template <>
- struct divide<10>
- {
- template <typename T>
- static T call(T& n, T, int, mpl::true_)
- {
- return n / 10;
- }
-
- template <typename T>
- static T call(T, T& num, int exp, mpl::false_)
- {
- // Allow ADL to find the correct overload for floor
- using namespace std;
- return floor(num / spirit::traits::pow10<T>(exp));
- }
-
- template <typename T>
- static T call(T& n, T& num, int exp)
- {
- return call(n, num, exp, mpl::bool_<is_integral<T>::value>());
- }
-
- template <typename T>
- static T call(T& n)
- {
- return call(n, n, 1, mpl::bool_<is_integral<T>::value>());
- }
- };
-
- ///////////////////////////////////////////////////////////////////////
- template <unsigned Radix>
- struct remainder
- {
- template <typename T>
- static long call(T n, mpl::true_)
- {
- // this cast is safe since we know the result is not larger
- // than Radix
- return static_cast<long>(n % Radix);
- }
-
- template <typename T>
- static long call(T n, mpl::false_)
- {
- // Allow ADL to find the correct overload for fmod
- using namespace std;
- return cast_to_long::call(fmod(n, T(Radix)));
- }
-
- template <typename T>
- static long call(T n)
- {
- return call(n, mpl::bool_<is_integral<T>::value>());
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace karma
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // The int_inserter template takes care of the integer to string
- // conversion. If specified, the loop is unrolled for better performance.
- //
- // Set the value BOOST_KARMA_NUMERICS_LOOP_UNROLL to some integer in
- // between 0 (no unrolling) and the largest expected generated integer
- // string length (complete unrolling).
- // If not specified, this value defaults to 6.
- //
- ///////////////////////////////////////////////////////////////////////////
-#define BOOST_KARMA_NUMERICS_INNER_LOOP_PREFIX(z, x, data) \
- if (!traits::test_zero(n)) { \
- int ch_##x = radix_type::call(remainder_type::call(n)); \
- n = divide_type::call(n, num, ++exp); \
- /**/
-
-#define BOOST_KARMA_NUMERICS_INNER_LOOP_SUFFIX(z, x, n_rolls_sub1) \
- *sink = char(BOOST_PP_CAT(ch_, BOOST_PP_SUB(n_rolls_sub1, x))); \
- ++sink; \
- } \
- /**/
-
- template <
- unsigned Radix, typename CharEncoding = unused_type
- , typename Tag = unused_type>
- struct int_inserter
- {
- typedef traits::convert_digit<Radix, CharEncoding, Tag> radix_type;
- typedef traits::divide<Radix> divide_type;
- typedef traits::remainder<Radix> remainder_type;
-
- template <typename OutputIterator, typename T>
- static bool
- call(OutputIterator& sink, T n, T& num, int exp)
- {
- // remainder_type::call returns n % Radix
- int ch = radix_type::call(remainder_type::call(n));
- n = divide_type::call(n, num, ++exp);
-
- BOOST_PP_REPEAT(
- BOOST_KARMA_NUMERICS_LOOP_UNROLL,
- BOOST_KARMA_NUMERICS_INNER_LOOP_PREFIX, _);
-
- if (!traits::test_zero(n))
- call(sink, n, num, exp);
-
- BOOST_PP_REPEAT(
- BOOST_KARMA_NUMERICS_LOOP_UNROLL,
- BOOST_KARMA_NUMERICS_INNER_LOOP_SUFFIX,
- BOOST_PP_DEC(BOOST_KARMA_NUMERICS_LOOP_UNROLL));
-
- *sink = char(ch);
- ++sink;
- return true;
- }
-
- // Common code for integer string representations
- template <typename OutputIterator, typename T>
- static bool
- call(OutputIterator& sink, T n)
- {
- return call(sink, n, n, 0);
- }
-
- private:
- // helper function returning the biggest number representable either in
- // a boost::long_long_type (if this does exist) or in a plain long
- // otherwise
-#if defined(BOOST_HAS_LONG_LONG)
- typedef boost::long_long_type biggest_long_type;
-#else
- typedef long biggest_long_type;
-#endif
-
- static biggest_long_type max_long()
- {
- return (std::numeric_limits<biggest_long_type>::max)();
- }
-
- public:
- // Specialization for doubles and floats, falling back to long integers
- // for representable values. These specializations speed up formatting
- // of floating point numbers considerably as all the required
- // arithmetics will be executed using integral data types.
- template <typename OutputIterator>
- static bool
- call(OutputIterator& sink, long double n)
- {
- if (std::fabs(n) < max_long())
- {
- biggest_long_type l((biggest_long_type)n);
- return call(sink, l, l, 0);
- }
- return call(sink, n, n, 0);
- }
- template <typename OutputIterator>
- static bool
- call(OutputIterator& sink, double n)
- {
- if (std::fabs(n) < max_long())
- {
- biggest_long_type l((biggest_long_type)n);
- return call(sink, l, l, 0);
- }
- return call(sink, n, n, 0);
- }
- template <typename OutputIterator>
- static bool
- call(OutputIterator& sink, float n)
- {
- if (std::fabs(n) < max_long())
- {
- biggest_long_type l((biggest_long_type)n);
- return call(sink, l, l, 0);
- }
- return call(sink, n, n, 0);
- }
- };
-
-#undef BOOST_KARMA_NUMERICS_INNER_LOOP_PREFIX
-#undef BOOST_KARMA_NUMERICS_INNER_LOOP_SUFFIX
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // The uint_inserter template takes care of the conversion of any integer
- // to a string, while interpreting the number as an unsigned type.
- //
- ///////////////////////////////////////////////////////////////////////////
- template <
- unsigned Radix, typename CharEncoding = unused_type
- , typename Tag = unused_type>
- struct uint_inserter : int_inserter<Radix, CharEncoding, Tag>
- {
- typedef int_inserter<Radix, CharEncoding, Tag> base_type;
-
- // Common code for integer string representations
- template <typename OutputIterator, typename T>
- static bool
- call(OutputIterator& sink, T const& n)
- {
- typedef typename traits::absolute_value<T>::type type;
- type un = type(n);
- return base_type::call(sink, un, un, 0);
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // The sign_inserter template generates a sign for a given numeric value.
- //
- // The parameter forcesign allows to generate a sign even for positive
- // numbers.
- //
- ///////////////////////////////////////////////////////////////////////////
- struct sign_inserter
- {
- template <typename OutputIterator>
- static bool
- call_noforce(OutputIterator& sink, bool is_zero, bool is_negative,
- bool sign_if_zero)
- {
- // generate a sign for negative numbers only
- if (is_negative || (is_zero && sign_if_zero)) {
- *sink = '-';
- ++sink;
- }
- return true;
- }
-
- template <typename OutputIterator>
- static bool
- call_force(OutputIterator& sink, bool is_zero, bool is_negative,
- bool sign_if_zero)
- {
- // generate a sign for all numbers except zero
- if (!is_zero || sign_if_zero)
- *sink = is_negative ? '-' : '+';
- else
- *sink = ' ';
-
- ++sink;
- return true;
- }
-
- template <typename OutputIterator>
- static bool
- call(OutputIterator& sink, bool is_zero, bool is_negative
- , bool forcesign, bool sign_if_zero = false)
- {
- return forcesign ?
- call_force(sink, is_zero, is_negative, sign_if_zero) :
- call_noforce(sink, is_zero, is_negative, sign_if_zero);
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // These are helper functions for the real policies allowing to generate
- // a single character and a string
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharEncoding = unused_type, typename Tag = unused_type>
- struct char_inserter
- {
- template <typename OutputIterator, typename Char>
- static bool call(OutputIterator& sink, Char c)
- {
- return detail::generate_to(sink, c, CharEncoding(), Tag());
- }
- };
-
- template <typename CharEncoding = unused_type, typename Tag = unused_type>
- struct string_inserter
- {
- template <typename OutputIterator, typename String>
- static bool call(OutputIterator& sink, String str)
- {
- return detail::string_generate(sink, str, CharEncoding(), Tag());
- }
- };
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/numeric/uint.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/numeric/uint.hpp
deleted file mode 100644
index 1a34b8d18b..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/numeric/uint.hpp
+++ /dev/null
@@ -1,576 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_UINT_FEB_23_2007_0840PM)
-#define BOOST_SPIRIT_KARMA_UINT_FEB_23_2007_0840PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/limits.hpp>
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/string_traits.hpp>
-#include <boost/spirit/home/support/numeric_traits.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/char_class.hpp>
-#include <boost/spirit/home/support/container.hpp>
-#include <boost/spirit/home/support/detail/get_encoding.hpp>
-#include <boost/spirit/home/support/detail/is_spirit_tag.hpp>
-#include <boost/spirit/home/karma/meta_compiler.hpp>
-#include <boost/spirit/home/karma/delimit_out.hpp>
-#include <boost/spirit/home/karma/auxiliary/lazy.hpp>
-#include <boost/spirit/home/karma/detail/get_casetag.hpp>
-#include <boost/spirit/home/karma/detail/extract_from.hpp>
-#include <boost/spirit/home/karma/detail/enable_lit.hpp>
-#include <boost/spirit/home/karma/domain.hpp>
-#include <boost/spirit/home/karma/numeric/detail/numeric_utils.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/fusion/include/value_at.hpp>
-#include <boost/fusion/include/vector.hpp>
-
-namespace boost { namespace spirit
-{
- namespace tag
- {
- template <typename T, unsigned Radix>
- struct uint_generator
- {
- BOOST_SPIRIT_IS_TAG()
- };
- }
-
- namespace karma
- {
- ///////////////////////////////////////////////////////////////////////
- // This one is the class that the user can instantiate directly in
- // order to create a customized int generator
- template <typename T = unsigned int, unsigned Radix = 10>
- struct uint_generator
- : spirit::terminal<tag::uint_generator<T, Radix> >
- {};
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_terminal<karma::domain, tag::ushort_> // enables ushort_
- : mpl::true_ {};
-
- template <>
- struct use_terminal<karma::domain, tag::uint_> // enables uint_
- : mpl::true_ {};
-
- template <>
- struct use_terminal<karma::domain, tag::ulong_> // enables ulong_
- : mpl::true_ {};
-
- template <>
- struct use_terminal<karma::domain, tag::bin> // enables bin
- : mpl::true_ {};
-
- template <>
- struct use_terminal<karma::domain, tag::oct> // enables oct
- : mpl::true_ {};
-
- template <>
- struct use_terminal<karma::domain, tag::hex> // enables hex
- : mpl::true_ {};
-
-#ifdef BOOST_HAS_LONG_LONG
- template <>
- struct use_terminal<karma::domain, tag::ulong_long> // enables ulong_long
- : mpl::true_ {};
-#endif
-
- ///////////////////////////////////////////////////////////////////////////
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
- template <> // enables lit(unsigned short(0))
- struct use_terminal<karma::domain, unsigned short>
- : mpl::true_ {};
-#endif
-
- template <> // enables lit(0U)
- struct use_terminal<karma::domain, unsigned int>
- : mpl::true_ {};
-
- template <> // enables lit(0UL)
- struct use_terminal<karma::domain, unsigned long>
- : mpl::true_ {};
-
-#ifdef BOOST_HAS_LONG_LONG
- template <> // enables lit(0ULL)
- struct use_terminal<karma::domain, boost::ulong_long_type>
- : mpl::true_ {};
-#endif
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename A0>
- struct use_terminal<karma::domain // enables ushort_(...)
- , terminal_ex<tag::ushort_, fusion::vector1<A0> >
- > : mpl::true_ {};
-
- template <typename A0>
- struct use_terminal<karma::domain // enables uint_(...)
- , terminal_ex<tag::uint_, fusion::vector1<A0> >
- > : mpl::true_ {};
-
- template <typename A0>
- struct use_terminal<karma::domain // enables ulong_(...)
- , terminal_ex<tag::ulong_, fusion::vector1<A0> >
- > : mpl::true_ {};
-
- template <typename A0>
- struct use_terminal<karma::domain // enables bin(...)
- , terminal_ex<tag::bin, fusion::vector1<A0> >
- > : mpl::true_ {};
-
- template <typename A0>
- struct use_terminal<karma::domain // enables oct(...)
- , terminal_ex<tag::oct, fusion::vector1<A0> >
- > : mpl::true_ {};
-
- template <typename A0>
- struct use_terminal<karma::domain // enables hex(...)
- , terminal_ex<tag::hex, fusion::vector1<A0> >
- > : mpl::true_ {};
-
-#ifdef BOOST_HAS_LONG_LONG
- template <typename A0>
- struct use_terminal<karma::domain // enables ulong_long(...)
- , terminal_ex<tag::ulong_long, fusion::vector1<A0> >
- > : mpl::true_ {};
-#endif
-
- ///////////////////////////////////////////////////////////////////////////
- template <> // enables *lazy* ushort_(...)
- struct use_lazy_terminal<karma::domain, tag::ushort_, 1>
- : mpl::true_ {};
-
- template <> // enables *lazy* uint_(...)
- struct use_lazy_terminal<karma::domain, tag::uint_, 1>
- : mpl::true_ {};
-
- template <> // enables *lazy* ulong_(...)
- struct use_lazy_terminal<karma::domain, tag::ulong_, 1>
- : mpl::true_ {};
-
- template <> // enables *lazy* bin(...)
- struct use_lazy_terminal<karma::domain, tag::bin, 1>
- : mpl::true_ {};
-
- template <> // enables *lazy* oct(...)
- struct use_lazy_terminal<karma::domain, tag::oct, 1>
- : mpl::true_ {};
-
- template <> // enables *lazy* hex(...)
- struct use_lazy_terminal<karma::domain, tag::hex, 1>
- : mpl::true_ {};
-
-#ifdef BOOST_HAS_LONG_LONG
- template <> // enables *lazy* ulong_long(...)
- struct use_lazy_terminal<karma::domain, tag::ulong_long, 1>
- : mpl::true_ {};
-#endif
-
- ///////////////////////////////////////////////////////////////////////////
- // enables any custom uint_generator
- template <typename T, unsigned Radix>
- struct use_terminal<karma::domain, tag::uint_generator<T, Radix> >
- : mpl::true_ {};
-
- // enables any custom uint_generator(...)
- template <typename T, unsigned Radix, typename A0>
- struct use_terminal<karma::domain
- , terminal_ex<tag::uint_generator<T, Radix>, fusion::vector1<A0> >
- > : mpl::true_ {};
-
- // enables *lazy* custom uint_generator
- template <typename T, unsigned Radix>
- struct use_lazy_terminal<
- karma::domain
- , tag::uint_generator<T, Radix>
- , 1 // arity
- > : mpl::true_ {};
-
- // enables lit(uint)
- template <typename A0>
- struct use_terminal<karma::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<traits::is_uint<A0> >::type>
- : mpl::true_ {};
-}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace karma
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::ushort_;
- using spirit::uint_;
- using spirit::ulong_;
-#ifdef BOOST_HAS_LONG_LONG
- using spirit::ulong_long;
-#endif
- using spirit::bin;
- using spirit::oct;
- using spirit::hex;
-
- using spirit::lit; // lit(1U) is equivalent to 1U
-#endif
-
- using spirit::ushort_type;
- using spirit::uint_type;
- using spirit::ulong_type;
-#ifdef BOOST_HAS_LONG_LONG
- using spirit::ulong_long_type;
-#endif
- using spirit::bin_type;
- using spirit::oct_type;
- using spirit::hex_type;
-
- using spirit::lit_type;
-
- ///////////////////////////////////////////////////////////////////////////
- // This specialization is used for unsigned int generators not having a
- // direct initializer: uint_, ulong_ etc. These generators must be used in
- // conjunction with an Attribute.
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename CharEncoding, typename Tag, unsigned Radix>
- struct any_uint_generator
- : primitive_generator<any_uint_generator<T, CharEncoding, Tag, Radix> >
- {
- template <typename Context, typename Unused>
- struct attribute
- {
- typedef T type;
- };
-
- // check template Attribute 'Radix' for validity
- BOOST_SPIRIT_ASSERT_MSG(
- Radix >= 2 && Radix <= 36, not_supported_radix, ());
-
- BOOST_SPIRIT_ASSERT_MSG(
- // the following is a workaround for STLPort, where the simpler
- // `!std::numeric_limits<T>::is_signed` wouldn't compile
- mpl::not_<mpl::bool_<std::numeric_limits<T>::is_signed> >::value,
- signed_unsigned_mismatch, ());
-
- // int has a Attribute attached
- template <typename OutputIterator, typename Context, typename Delimiter
- , typename Attribute>
- static bool
- generate(OutputIterator& sink, Context& context, Delimiter const& d
- , Attribute const& attr)
- {
- if (!traits::has_optional_value(attr))
- return false; // fail if it's an uninitialized optional
-
- return uint_inserter<Radix, CharEncoding, Tag>::
- call(sink, traits::extract_from<T>(attr, context)) &&
- delimit_out(sink, d); // always do post-delimiting
- }
-
- // this int has no Attribute attached, it needs to have been
- // initialized from a direct literal
- template <typename OutputIterator, typename Context, typename Delimiter>
- static bool
- generate(OutputIterator&, Context&, Delimiter const&, unused_type)
- {
- // It is not possible (doesn't make sense) to use numeric generators
- // without providing any attribute, as the generator doesn't 'know'
- // what to output. The following assertion fires if this situation
- // is detected in your code.
- BOOST_SPIRIT_ASSERT_FAIL(OutputIterator, uint_not_usable_without_attribute, ());
- return false;
- }
-
- template <typename Context>
- static info what(Context const& /*context*/)
- {
- return info("unsigned-integer");
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // This specialization is used for unsigned int generators having a direct
- // initializer: uint_(10), ulong_(20) etc.
- ///////////////////////////////////////////////////////////////////////////
- template <
- typename T, typename CharEncoding, typename Tag, unsigned Radix
- , bool no_attribute>
- struct literal_uint_generator
- : primitive_generator<literal_uint_generator<T, CharEncoding, Tag, Radix
- , no_attribute> >
- {
- template <typename Context, typename Unused = unused_type>
- struct attribute
- : mpl::if_c<no_attribute, unused_type, T>
- {};
-
- literal_uint_generator(typename add_const<T>::type n)
- : n_(n) {}
-
- // check template Attribute 'Radix' for validity
- BOOST_SPIRIT_ASSERT_MSG(
- Radix >= 2 && Radix <= 36, not_supported_radix, ());
-
- BOOST_SPIRIT_ASSERT_MSG(
- // the following is a workaround for STLPort, where the simpler
- // `!std::numeric_limits<T>::is_signed wouldn't` compile
- mpl::not_<mpl::bool_<std::numeric_limits<T>::is_signed> >::value,
- signed_unsigned_mismatch, ());
-
- // A uint(1U) which additionally has an associated attribute emits
- // its immediate literal only if it matches the attribute, otherwise
- // it fails.
- template <typename OutputIterator, typename Context, typename Delimiter
- , typename Attribute>
- bool generate(OutputIterator& sink, Context& context
- , Delimiter const& d, Attribute const& attr) const
- {
- typedef typename attribute<Context>::type attribute_type;
- if (!traits::has_optional_value(attr) ||
- n_ != traits::extract_from<attribute_type>(attr, context))
- {
- return false;
- }
- return uint_inserter<Radix, CharEncoding, Tag>::call(sink, n_) &&
- delimit_out(sink, d); // always do post-delimiting
- }
-
- // A uint(1U) without any associated attribute just emits its
- // immediate literal
- template <typename OutputIterator, typename Context, typename Delimiter>
- bool generate(OutputIterator& sink, Context&, Delimiter const& d
- , unused_type) const
- {
- return uint_inserter<Radix, CharEncoding, Tag>::call(sink, n_) &&
- delimit_out(sink, d); // always do post-delimiting
- }
-
- template <typename Context>
- static info what(Context const& /*context*/)
- {
- return info("unsigned-integer");
- }
-
- T n_;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Generator generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename T, typename Modifiers, unsigned Radix = 10>
- struct make_uint
- {
- static bool const lower =
- has_modifier<Modifiers, tag::char_code_base<tag::lower> >::value;
- static bool const upper =
- has_modifier<Modifiers, tag::char_code_base<tag::upper> >::value;
-
- typedef any_uint_generator<
- T
- , typename spirit::detail::get_encoding_with_case<
- Modifiers, unused_type, lower || upper>::type
- , typename detail::get_casetag<Modifiers, lower || upper>::type
- , Radix
- > result_type;
-
- result_type operator()(unused_type, unused_type) const
- {
- return result_type();
- }
- };
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::ushort_, Modifiers>
- : detail::make_uint<unsigned short, Modifiers> {};
-
- template <typename Modifiers>
- struct make_primitive<tag::uint_, Modifiers>
- : detail::make_uint<unsigned int, Modifiers> {};
-
- template <typename Modifiers>
- struct make_primitive<tag::ulong_, Modifiers>
- : detail::make_uint<unsigned long, Modifiers> {};
-
- template <typename Modifiers>
- struct make_primitive<tag::bin, Modifiers>
- : detail::make_uint<unsigned, Modifiers, 2> {};
-
- template <typename Modifiers>
- struct make_primitive<tag::oct, Modifiers>
- : detail::make_uint<unsigned, Modifiers, 8> {};
-
- template <typename Modifiers>
- struct make_primitive<tag::hex, Modifiers>
- : detail::make_uint<unsigned, Modifiers, 16> {};
-
-#ifdef BOOST_HAS_LONG_LONG
- template <typename Modifiers>
- struct make_primitive<tag::ulong_long, Modifiers>
- : detail::make_uint<boost::ulong_long_type, Modifiers> {};
-#endif
-
- template <typename T, unsigned Radix, typename Modifiers>
- struct make_primitive<tag::uint_generator<T, Radix>, Modifiers>
- : detail::make_uint<typename remove_const<T>::type, Modifiers, Radix> {};
-
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename T, typename Modifiers, unsigned Radix = 10>
- struct make_uint_direct
- {
- static bool const lower =
- has_modifier<Modifiers, tag::char_code_base<tag::lower> >::value;
- static bool const upper =
- has_modifier<Modifiers, tag::char_code_base<tag::upper> >::value;
-
- typedef literal_uint_generator<
- T
- , typename spirit::detail::get_encoding_with_case<
- Modifiers, unused_type, lower || upper>::type
- , typename detail::get_casetag<Modifiers, lower || upper>::type
- , Radix, false
- > result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args));
- }
- };
- }
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::ushort_, fusion::vector1<A0> >, Modifiers>
- : detail::make_uint_direct<unsigned short, Modifiers> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::uint_, fusion::vector1<A0> >, Modifiers>
- : detail::make_uint_direct<unsigned int, Modifiers> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::ulong_, fusion::vector1<A0> >, Modifiers>
- : detail::make_uint_direct<unsigned long, Modifiers> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::bin, fusion::vector1<A0> >, Modifiers>
- : detail::make_uint_direct<unsigned, Modifiers, 2> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::oct, fusion::vector1<A0> >, Modifiers>
- : detail::make_uint_direct<unsigned, Modifiers, 8> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::hex, fusion::vector1<A0> >, Modifiers>
- : detail::make_uint_direct<unsigned, Modifiers, 16> {};
-
-#ifdef BOOST_HAS_LONG_LONG
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::ulong_long, fusion::vector1<A0> >, Modifiers>
- : detail::make_uint_direct<boost::ulong_long_type, Modifiers> {};
-#endif
-
- template <typename T, unsigned Radix, typename A0, typename Modifiers>
- struct make_primitive<
- terminal_ex<tag::uint_generator<T, Radix>, fusion::vector1<A0> >
- , Modifiers>
- : detail::make_uint_direct<typename remove_const<T>::type, Modifiers, Radix>
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename T, typename Modifiers>
- struct basic_uint_literal
- {
- static bool const lower =
- has_modifier<Modifiers, tag::char_code_base<tag::lower> >::value;
- static bool const upper =
- has_modifier<Modifiers, tag::char_code_base<tag::upper> >::value;
-
- typedef literal_uint_generator<
- T
- , typename spirit::detail::get_encoding_with_case<
- Modifiers, unused_type, lower || upper>::type
- , typename detail::get_casetag<Modifiers, lower || upper>::type
- , 10, true
- > result_type;
-
- template <typename T_>
- result_type operator()(T_ i, unused_type) const
- {
- return result_type(i);
- }
- };
- }
-
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
- template <typename Modifiers>
- struct make_primitive<unsigned short, Modifiers>
- : detail::basic_uint_literal<unsigned short, Modifiers> {};
-#endif
-
- template <typename Modifiers>
- struct make_primitive<unsigned int, Modifiers>
- : detail::basic_uint_literal<unsigned int, Modifiers> {};
-
- template <typename Modifiers>
- struct make_primitive<unsigned long, Modifiers>
- : detail::basic_uint_literal<unsigned long, Modifiers> {};
-
-#ifdef BOOST_HAS_LONG_LONG
- template <typename Modifiers>
- struct make_primitive<boost::ulong_long_type, Modifiers>
- : detail::basic_uint_literal<boost::ulong_long_type, Modifiers> {};
-#endif
-
- // lit(uint)
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers
- , typename enable_if<traits::is_uint<A0> >::type>
- {
- static bool const lower =
- has_modifier<Modifiers, tag::char_code_base<tag::lower> >::value;
- static bool const upper =
- has_modifier<Modifiers, tag::char_code_base<tag::upper> >::value;
-
- typedef literal_uint_generator<
- typename remove_const<A0>::type
- , typename spirit::detail::get_encoding_with_case<
- Modifiers, unused_type, lower || upper>::type
- , typename detail::get_casetag<Modifiers, lower || upper>::type
- , 10, true
- > result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args));
- }
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/stream/ostream_iterator.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/stream/ostream_iterator.hpp
deleted file mode 100644
index 0aabfac149..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/karma/stream/ostream_iterator.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_KARMA_OSTREAM_ITERATOR_MAY_26_2007_1016PM)
-#define BOOST_SPIRIT_KARMA_OSTREAM_ITERATOR_MAY_26_2007_1016PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <iterator>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace karma
-{
- ///////////////////////////////////////////////////////////////////////////
- // We need our own implementation of an ostream_iterator just to be able
- // to access the wrapped ostream, which is necessary for the
- // stream_generator, where we must generate the output using the original
- // ostream to retain possibly registered facets.
- ///////////////////////////////////////////////////////////////////////////
- template <
- typename T, typename Elem = char
- , typename Traits = std::char_traits<Elem> >
- class ostream_iterator
- {
- public:
- typedef std::output_iterator_tag iterator_category;
- typedef void value_type;
- typedef void difference_type;
- typedef void pointer;
- typedef void reference;
- typedef Elem char_type;
- typedef Traits traits_type;
- typedef std::basic_ostream<Elem, Traits> ostream_type;
- typedef ostream_iterator<T, Elem, Traits> self_type;
-
- ostream_iterator(ostream_type& os_, Elem const* delim_ = 0)
- : os(&os_), delim(delim_) {}
-
- self_type& operator= (T const& val)
- {
- *os << val;
- if (0 != delim)
- *os << delim;
- return *this;
- }
-
- self_type& operator*() { return *this; }
- self_type& operator++() { return *this; }
- self_type operator++(int) { return *this; }
-
- // expose underlying stream
- ostream_type& get_ostream() { return *os; }
- ostream_type const& get_ostream() const { return *os; }
-
- // expose good bit of underlying stream object
- bool good() const { return get_ostream().good(); }
-
- protected:
- ostream_type *os;
- Elem const* delim;
- };
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/action.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/action.hpp
deleted file mode 100644
index 5819a51a69..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/action.hpp
+++ /dev/null
@@ -1,16 +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)
-==============================================================================*/
-#ifndef BOOST_SPIRIT_QI_ACTION_HPP
-#define BOOST_SPIRIT_QI_ACTION_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/action/action.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/action/action.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/action/action.hpp
deleted file mode 100644
index a123d6035a..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/action/action.hpp
+++ /dev/null
@@ -1,195 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_ACTION_ACTION_HPP
-#define BOOST_SPIRIT_QI_ACTION_ACTION_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/argument.hpp>
-#include <boost/spirit/home/support/context.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/action_dispatch.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- BOOST_PP_REPEAT(SPIRIT_ARGUMENTS_LIMIT, SPIRIT_USING_ARGUMENT, _)
-
- template <typename Subject, typename Action>
- struct action : unary_parser<action<Subject, Action> >
- {
- typedef Subject subject_type;
- typedef Action action_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- : traits::attribute_of<Subject, Context, Iterator>
- {};
-
- action(Subject const& subject_, Action f_)
- : subject(subject_), f(f_) {}
-
-#ifndef BOOST_SPIRIT_ACTIONS_ALLOW_ATTR_COMPAT
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef typename attribute<Context, Iterator>::type attr_type;
-
- // create an attribute if one is not supplied
- typedef traits::transform_attribute<
- Attribute, attr_type, domain> transform;
-
- typename transform::type attr = transform::pre(attr_);
-
- Iterator save = first;
- if (subject.parse(first, last, context, skipper, attr))
- {
- // call the function, passing the attribute, the context.
- // The client can return false to fail parsing.
- if (traits::action_dispatch<Subject>()(f, attr, context))
- {
- // Do up-stream transformation, this integrates the results
- // back into the original attribute value, if appropriate.
- transform::post(attr_, attr);
- return true;
- }
-
- // reset iterators if semantic action failed the match
- // retrospectively
- first = save;
- }
- return false;
- }
-#else
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr) const
- {
- Iterator save = first;
- if (subject.parse(first, last, context, skipper, attr)) // Use the attribute as-is
- {
- // call the function, passing the attribute, the context.
- // The client can return false to fail parsing.
- if (traits::action_dispatch<Subject>()(f, attr, context))
- return true;
-
- // reset iterators if semantic action failed the match
- // retrospectively
- first = save;
- }
- return false;
- }
-
- template <typename Iterator, typename Context
- , typename Skipper>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , unused_type) const
- {
- typedef typename attribute<Context, Iterator>::type attr_type;
-
- // synthesize the attribute since one is not supplied
- attr_type attr = attr_type();
-
- Iterator save = first;
- if (subject.parse(first, last, context, skipper, attr))
- {
- // call the function, passing the attribute, the context.
- // The client can return false to fail parsing.
- if (traits::action_dispatch<Subject>()(f, attr, context))
- return true;
-
- // reset iterators if semantic action failed the match
- // retrospectively
- first = save;
- }
- return false;
- }
-#endif
-
- template <typename Context>
- info what(Context& context) const
- {
- // the action is transparent (does not add any info)
- return subject.what(context);
- }
-
- Subject subject;
- Action f;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(action& operator= (action const&))
- action(const action&) = default;
- };
-}}}
-
-namespace boost { namespace spirit
-{
- // Qi action meta-compiler
- template <>
- struct make_component<qi::domain, tag::action>
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Elements, typename Modifiers>
- struct result<This(Elements, Modifiers)>
- {
- typedef typename
- remove_const<typename Elements::car_type>::type
- subject_type;
-
- typedef typename
- remove_const<typename Elements::cdr_type::car_type>::type
- action_type;
-
- typedef qi::action<subject_type, action_type> type;
- };
-
- template <typename Elements>
- typename result<make_component(Elements, unused_type)>::type
- operator()(Elements const& elements, unused_type) const
- {
- typename result<make_component(Elements, unused_type)>::type
- result(elements.car, elements.cdr.car);
- return result;
- }
- };
-}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Action>
- struct has_semantic_action<qi::action<Subject, Action> >
- : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Action, typename Attribute
- , typename Context, typename Iterator>
- struct handles_container<qi::action<Subject, Action>, Attribute
- , Context, Iterator>
- : unary_handles_container<Subject, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/auxiliary/lazy.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/auxiliary/lazy.hpp
deleted file mode 100644
index d0f2f687f2..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/auxiliary/lazy.hpp
+++ /dev/null
@@ -1,294 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_LAZY_MARCH_27_2007_1002AM)
-#define BOOST_SPIRIT_LAZY_MARCH_27_2007_1002AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/lazy.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/proto/make_expr.hpp>
-#include <boost/proto/tags.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/mpl/not.hpp>
-
-namespace boost { namespace phoenix
-{
- template <typename Expr>
- struct actor;
-}}
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <typename Eval>
- struct use_terminal<qi::domain, phoenix::actor<Eval> > // enables phoenix actors
- : mpl::true_ {};
-
- // forward declaration
- template <typename Terminal, typename Actor, int Arity>
- struct lazy_terminal;
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- using spirit::lazy;
- typedef modify<qi::domain> qi_modify;
-
- namespace detail
- {
- template <typename Parser, typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool lazy_parse_impl(Parser const& p
- , Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr, mpl::false_)
- {
- return p.parse(first, last, context, skipper, attr);
- }
-
- template <typename Parser, typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool lazy_parse_impl(Parser const& p
- , Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& /*attr*/, mpl::true_)
- {
- // If DeducedAuto is false (semantic actions is present), the
- // component's attribute is unused.
- return p.parse(first, last, context, skipper, unused);
- }
-
- template <typename Parser, typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool lazy_parse_impl_main(Parser const& p
- , Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr)
- {
- // If DeducedAuto is true (no semantic action), we pass the parser's
- // attribute on to the component.
- typedef typename traits::has_semantic_action<Parser>::type auto_rule;
- return lazy_parse_impl(p, first, last, context, skipper, attr, auto_rule());
- }
- }
-
- template <typename Function, typename Modifiers>
- struct lazy_parser : parser<lazy_parser<Function, Modifiers> >
- {
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename
- boost::result_of<qi_modify(tag::lazy_eval, Modifiers)>::type
- modifier;
-
- typedef typename
- remove_reference<
- typename boost::result_of<Function(unused_type, Context)>::type
- >::type
- expr_type;
-
- // If you got an error_invalid_expression error message here,
- // then the expression (expr_type) is not a valid spirit qi
- // expression.
- BOOST_SPIRIT_ASSERT_MATCH(qi::domain, expr_type);
-
- typedef typename
- result_of::compile<qi::domain, expr_type, modifier>::type
- parser_type;
-
- typedef typename
- traits::attribute_of<parser_type, Context, Iterator>::type
- type;
- };
-
- lazy_parser(Function const& function_, Modifiers const& modifiers_)
- : function(function_), modifiers(modifiers_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr) const
- {
- return detail::lazy_parse_impl_main(
- compile<qi::domain>(function(unused, context)
- , qi_modify()(tag::lazy_eval(), modifiers))
- , first, last, context, skipper, attr);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("lazy"
- , compile<qi::domain>(function(unused, context)
- , qi_modify()(tag::lazy_eval(), modifiers))
- .what(context)
- );
- }
-
- Function function;
- Modifiers modifiers;
- };
-
-
- template <typename Function, typename Subject, typename Modifiers>
- struct lazy_directive
- : unary_parser<lazy_directive<Function, Subject, Modifiers> >
- {
- typedef Subject subject_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename
- boost::result_of<qi_modify(tag::lazy_eval, Modifiers)>::type
- modifier;
-
- typedef typename
- remove_reference<
- typename boost::result_of<Function(unused_type, Context)>::type
- >::type
- directive_expr_type;
-
- typedef typename
- proto::result_of::make_expr<
- proto::tag::subscript
- , directive_expr_type
- , Subject
- >::type
- expr_type;
-
- // If you got an error_invalid_expression error message here,
- // then the expression (expr_type) is not a valid spirit qi
- // expression.
- BOOST_SPIRIT_ASSERT_MATCH(qi::domain, expr_type);
-
- typedef typename
- result_of::compile<qi::domain, expr_type, modifier>::type
- parser_type;
-
- typedef typename
- traits::attribute_of<parser_type, Context, Iterator>::type
- type;
- };
-
- lazy_directive(
- Function const& function_
- , Subject const& subject_
- , Modifiers const& modifiers_)
- : function(function_), subject(subject_), modifiers(modifiers_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr) const
- {
- return detail::lazy_parse_impl_main(compile<qi::domain>(
- proto::make_expr<proto::tag::subscript>(
- function(unused, context)
- , subject)
- , qi_modify()(tag::lazy_eval(), modifiers))
- , first, last, context, skipper, attr);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("lazy-directive"
- , compile<qi::domain>(
- proto::make_expr<proto::tag::subscript>(
- function(unused, context)
- , subject
- ), qi_modify()(tag::lazy_eval(), modifiers))
- .what(context)
- );
- }
-
- Function function;
- Subject subject;
- Modifiers modifiers;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Eval, typename Modifiers>
- struct make_primitive<phoenix::actor<Eval>, Modifiers>
- {
- typedef lazy_parser<phoenix::actor<Eval>, Modifiers> result_type;
- result_type operator()(phoenix::actor<Eval> const& f
- , Modifiers const& modifiers) const
- {
- return result_type(f, modifiers);
- }
- };
-
- template <typename Terminal, typename Actor, int Arity, typename Modifiers>
- struct make_primitive<lazy_terminal<Terminal, Actor, Arity>, Modifiers>
- {
- typedef lazy_parser<Actor, Modifiers> result_type;
- result_type operator()(
- lazy_terminal<Terminal, Actor, Arity> const& lt
- , Modifiers const& modifiers) const
- {
- return result_type(lt.actor, modifiers);
- }
- };
-
- template <typename Terminal, typename Actor, int Arity, typename Subject, typename Modifiers>
- struct make_directive<lazy_terminal<Terminal, Actor, Arity>, Subject, Modifiers>
- {
- typedef lazy_directive<Actor, Subject, Modifiers> result_type;
- result_type operator()(
- lazy_terminal<Terminal, Actor, Arity> const& lt
- , Subject const& subject, Modifiers const& modifiers) const
- {
- return result_type(lt.actor, subject, modifiers);
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Actor, typename Modifiers, typename Attribute
- , typename Context, typename Iterator>
- struct handles_container<
- qi::lazy_parser<Actor, Modifiers>, Attribute, Context, Iterator>
- : handles_container<
- typename qi::lazy_parser<Actor, Modifiers>::template
- attribute<Context, Iterator>::parser_type
- , Attribute, Context, Iterator>
- {};
-
- template <typename Subject, typename Actor, typename Modifiers
- , typename Attribute, typename Context, typename Iterator>
- struct handles_container<
- qi::lazy_directive<Actor, Subject, Modifiers>, Attribute
- , Context, Iterator>
- : handles_container<
- typename qi::lazy_directive<Actor, Subject, Modifiers>::template
- attribute<Context, Iterator>::parser_type
- , Attribute, Context, Iterator>
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char.hpp
deleted file mode 100644
index 66739db354..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char.hpp
+++ /dev/null
@@ -1,18 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_CHAR_FEBRUARY_02_2007_0921AM)
-#define BOOST_SPIRIT_CHAR_FEBRUARY_02_2007_0921AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/char/char_parser.hpp>
-#include <boost/spirit/home/qi/char/char.hpp>
-#include <boost/spirit/home/qi/char/char_class.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char.hpp
deleted file mode 100644
index 8c22aaa77d..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char.hpp
+++ /dev/null
@@ -1,615 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2010 Bryce Lelbach
-
- Distributed under the 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_CHAR_APRIL_16_2006_1051AM)
-#define BOOST_SPIRIT_CHAR_APRIL_16_2006_1051AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/string_traits.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/detail/get_encoding.hpp>
-#include <boost/spirit/home/support/char_set/basic_chset.hpp>
-#include <boost/spirit/home/qi/char/char_parser.hpp>
-#include <boost/spirit/home/qi/char/char_class.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/auxiliary/lazy.hpp>
-#include <boost/spirit/home/qi/detail/enable_lit.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <string>
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharEncoding>
- struct use_terminal<qi::domain
- , terminal<
- tag::char_code<tag::char_, CharEncoding> // enables char_
- >
- > : mpl::true_ {};
-
- template <typename CharEncoding, typename A0>
- struct use_terminal<qi::domain
- , terminal_ex<
- tag::char_code<tag::char_, CharEncoding> // enables char_('x'), char_("x")
- , fusion::vector1<A0> // and char_("a-z0-9")
- >
- > : mpl::true_ {};
-
- template <typename CharEncoding, typename A0, typename A1>
- struct use_terminal<qi::domain
- , terminal_ex<
- tag::char_code<tag::char_, CharEncoding> // enables char_('a','z')
- , fusion::vector2<A0, A1>
- >
- > : mpl::true_ {};
-
- template <typename CharEncoding> // enables *lazy* char_('x'), char_("x")
- struct use_lazy_terminal< // and char_("a-z0-9")
- qi::domain
- , tag::char_code<tag::char_, CharEncoding>
- , 1 // arity
- > : mpl::true_ {};
-
- template <typename CharEncoding> // enables *lazy* char_('a','z')
- struct use_lazy_terminal<
- qi::domain
- , tag::char_code<tag::char_, CharEncoding>
- , 2 // arity
- > : mpl::true_ {};
-
- template <>
- struct use_terminal<qi::domain, char> // enables 'x'
- : mpl::true_ {};
-
- template <>
- struct use_terminal<qi::domain, char[2]> // enables "x"
- : mpl::true_ {};
-
- template <>
- struct use_terminal<qi::domain, wchar_t> // enables wchar_t
- : mpl::true_ {};
-
- template <>
- struct use_terminal<qi::domain, wchar_t[2]> // enables L"x"
- : mpl::true_ {};
-
- // enables lit(...)
- template <typename A0>
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<traits::is_char<A0> >::type>
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::lit; // lit('x') is equivalent to 'x'
-#endif
- using spirit::lit_type;
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser for a single character
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharEncoding, bool no_attribute, bool no_case = false>
- struct literal_char
- : char_parser<
- literal_char<CharEncoding, no_attribute, false>
- , typename CharEncoding::char_type
- , typename mpl::if_c<no_attribute, unused_type
- , typename CharEncoding::char_type>::type>
- {
- typedef typename CharEncoding::char_type char_type;
- typedef CharEncoding char_encoding;
-
- template <typename Char>
- literal_char(Char ch_)
- : ch(static_cast<char_type>(ch_)) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename mpl::if_c<
- no_attribute, unused_type, char_type>::type
- type;
- };
-
- template <typename CharParam, typename Context>
- bool test(CharParam ch_, Context&) const
- {
- return traits::ischar<CharParam, char_encoding>::call(ch_) &&
- ch == char_type(ch_);
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("literal-char", char_encoding::toucs4(ch));
- }
-
- char_type ch;
- };
-
- template <typename CharEncoding, bool no_attribute>
- struct literal_char<CharEncoding, no_attribute, true> // case insensitive
- : char_parser<
- literal_char<CharEncoding, no_attribute, true>
- , typename mpl::if_c<no_attribute, unused_type
- , typename CharEncoding::char_type>::type>
- {
- typedef typename CharEncoding::char_type char_type;
- typedef CharEncoding char_encoding;
-
- literal_char(char_type ch)
- : lo(static_cast<char_type>(char_encoding::tolower(ch)))
- , hi(static_cast<char_type>(char_encoding::toupper(ch))) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename mpl::if_c<
- no_attribute, unused_type, char_type>::type
- type;
- };
-
- template <typename CharParam, typename Context>
- bool test(CharParam ch_, Context&) const
- {
- if (!traits::ischar<CharParam, char_encoding>::call(ch_))
- return false;
-
- char_type ch = char_type(ch_); // optimize for token based parsing
- return this->lo == ch || this->hi == ch;
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("no-case-literal-char", char_encoding::toucs4(lo));
- }
-
- char_type lo, hi;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser for a character range
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharEncoding, bool no_case = false>
- struct char_range
- : char_parser<char_range<CharEncoding, false>, typename CharEncoding::char_type>
- {
- typedef typename CharEncoding::char_type char_type;
- typedef CharEncoding char_encoding;
-
- char_range(char_type from_, char_type to_)
- : from(from_), to(to_) {}
-
- template <typename CharParam, typename Context>
- bool test(CharParam ch_, Context&) const
- {
- if (!traits::ischar<CharParam, char_encoding>::call(ch_))
- return false;
-
- char_type ch = char_type(ch_); // optimize for token based parsing
- return !(ch < from) && !(to < ch);
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- info result("char-range", char_encoding::toucs4(from));
- boost::get<std::string>(result.value) += '-';
- boost::get<std::string>(result.value) += to_utf8(char_encoding::toucs4(to));
- return result;
- }
-
- char_type from, to;
- };
-
- template <typename CharEncoding>
- struct char_range<CharEncoding, true> // case insensitive
- : char_parser<char_range<CharEncoding, true>, typename CharEncoding::char_type>
- {
- typedef typename CharEncoding::char_type char_type;
- typedef CharEncoding char_encoding;
-
- char_range(char_type from, char_type to)
- : from_lo(static_cast<char_type>(char_encoding::tolower(from)))
- , to_lo(static_cast<char_type>(char_encoding::tolower(to)))
- , from_hi(static_cast<char_type>(char_encoding::toupper(from)))
- , to_hi(static_cast<char_type>(char_encoding::toupper(to)))
- {}
-
- template <typename CharParam, typename Context>
- bool test(CharParam ch_, Context&) const
- {
- if (!traits::ischar<CharParam, char_encoding>::call(ch_))
- return false;
-
- char_type ch = char_type(ch_); // optimize for token based parsing
- return (!(ch < from_lo) && !(to_lo < ch))
- || (!(ch < from_hi) && !(to_hi < ch))
- ;
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- info result("no-case-char-range", char_encoding::toucs4(from_lo));
- boost::get<std::string>(result.value) += '-';
- boost::get<std::string>(result.value) += to_utf8(char_encoding::toucs4(to_lo));
- return result;
- }
-
- char_type from_lo, to_lo, from_hi, to_hi;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser for a character set
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharEncoding, bool no_attribute, bool no_case = false>
- struct char_set
- : char_parser<char_set<CharEncoding, no_attribute, false>
- , typename mpl::if_c<no_attribute, unused_type
- , typename CharEncoding::char_type>::type>
- {
- typedef typename CharEncoding::char_type char_type;
- typedef CharEncoding char_encoding;
-
- template <typename String>
- char_set(String const& str)
- {
- using spirit::detail::cast_char;
-
- typedef typename
- remove_const<
- typename traits::char_type_of<String>::type
- >::type
- in_type;
-
- BOOST_SPIRIT_ASSERT_MSG((
- (sizeof(char_type) >= sizeof(in_type))
- ), cannot_convert_string, (String));
-
- in_type const* definition =
- (in_type const*)traits::get_c_string(str);
- in_type ch = *definition++;
- while (ch)
- {
- in_type next = *definition++;
- if (next == '-')
- {
- next = *definition++;
- if (next == 0)
- {
- chset.set(cast_char<char_type>(ch));
- chset.set('-');
- break;
- }
- chset.set(
- cast_char<char_type>(ch),
- cast_char<char_type>(next)
- );
- }
- else
- {
- chset.set(cast_char<char_type>(ch));
- }
- ch = next;
- }
- }
-
- template <typename CharParam, typename Context>
- bool test(CharParam ch, Context&) const
- {
- return traits::ischar<CharParam, char_encoding>::call(ch) &&
- chset.test(char_type(ch));
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("char-set");
- }
-
- support::detail::basic_chset<char_type> chset;
- };
-
- template <typename CharEncoding, bool no_attribute>
- struct char_set<CharEncoding, no_attribute, true> // case insensitive
- : char_parser<char_set<CharEncoding, no_attribute, true>
- , typename mpl::if_c<no_attribute, unused_type
- , typename CharEncoding::char_type>::type>
- {
- typedef typename CharEncoding::char_type char_type;
- typedef CharEncoding char_encoding;
-
- template <typename String>
- char_set(String const& str)
- {
- typedef typename traits::char_type_of<String>::type in_type;
-
- BOOST_SPIRIT_ASSERT_MSG((
- (sizeof(char_type) == sizeof(in_type))
- ), cannot_convert_string, (String));
-
- char_type const* definition =
- (char_type const*)traits::get_c_string(str);
- char_type ch = *definition++;
- while (ch)
- {
- char_type next = *definition++;
- if (next == '-')
- {
- next = *definition++;
- if (next == 0)
- {
- chset.set(static_cast<char_type>(CharEncoding::tolower(ch)));
- chset.set(static_cast<char_type>(CharEncoding::toupper(ch)));
- chset.set('-');
- break;
- }
- chset.set(static_cast<char_type>(CharEncoding::tolower(ch))
- , static_cast<char_type>(CharEncoding::tolower(next)));
- chset.set(static_cast<char_type>(CharEncoding::toupper(ch))
- , static_cast<char_type>(CharEncoding::toupper(next)));
- }
- else
- {
- chset.set(static_cast<char_type>(CharEncoding::tolower(ch)));
- chset.set(static_cast<char_type>(CharEncoding::toupper(ch)));
- }
- ch = next;
- }
- }
-
- template <typename CharParam, typename Context>
- bool test(CharParam ch, Context&) const
- {
- return traits::ischar<CharParam, char_encoding>::call(ch) &&
- chset.test(char_type(ch));
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("no-case-char-set");
- }
-
- support::detail::basic_chset<char_type> chset;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename Modifiers, typename Encoding>
- struct basic_literal
- {
- static bool const no_case =
- has_modifier<
- Modifiers
- , tag::char_code_base<tag::no_case>
- >::value;
-
- static bool const no_attr =
- !has_modifier<
- Modifiers
- , tag::lazy_eval
- >::value;
-
- typedef literal_char<
- typename spirit::detail::get_encoding_with_case<
- Modifiers, Encoding, no_case>::type
- , no_attr
- , no_case>
- result_type;
-
- template <typename Char>
- result_type operator()(Char ch, unused_type) const
- {
- return result_type(ch);
- }
-
- template <typename Char>
- result_type operator()(Char const* str, unused_type) const
- {
- return result_type(str[0]);
- }
- };
- }
-
- template <typename Modifiers>
- struct make_primitive<char, Modifiers>
- : detail::basic_literal<Modifiers, char_encoding::standard> {};
-
- template <typename Modifiers>
- struct make_primitive<char const(&)[2], Modifiers>
- : detail::basic_literal<Modifiers, char_encoding::standard> {};
-
- template <typename Modifiers>
- struct make_primitive<wchar_t, Modifiers>
- : detail::basic_literal<Modifiers, char_encoding::standard_wide> {};
-
- template <typename Modifiers>
- struct make_primitive<wchar_t const(&)[2], Modifiers>
- : detail::basic_literal<Modifiers, char_encoding::standard_wide> {};
-
- template <typename CharEncoding, typename Modifiers>
- struct make_primitive<
- terminal<tag::char_code<tag::char_, CharEncoding> >, Modifiers>
- {
- typedef typename
- spirit::detail::get_encoding<Modifiers, CharEncoding>::type
- char_encoding;
-
- typedef tag::char_code<tag::char_, char_encoding> tag;
- typedef char_class<tag> result_type;
- result_type operator()(unused_type, unused_type) const
- {
- return result_type();
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // char_('x')
- template <typename CharEncoding, typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<
- tag::char_code<tag::char_, CharEncoding>
- , fusion::vector1<A0> >
- , Modifiers>
- {
- static bool const no_case =
- has_modifier<Modifiers, tag::char_code_base<tag::no_case> >::value;
-
- typedef typename
- spirit::detail::get_encoding<Modifiers, CharEncoding>::type
- char_encoding;
-
- typedef typename
- mpl::if_<
- traits::is_string<A0>
- , char_set<char_encoding, false, no_case>
- , literal_char<char_encoding, false, no_case>
- >::type
- result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args));
- }
- };
-
- // lit('x')
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers
- , typename enable_if<traits::is_char<A0> >::type>
- {
- static bool const no_case =
- has_modifier<
- Modifiers
- , tag::char_code_base<tag::no_case>
- >::value;
-
- typedef typename traits::char_encoding_from_char<
- typename traits::char_type_of<A0>::type>::type encoding;
-
- typedef literal_char<
- typename spirit::detail::get_encoding_with_case<
- Modifiers, encoding, no_case>::type
- , true, no_case>
- result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args));
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharEncoding, typename Modifiers, typename Char>
- struct make_primitive<
- terminal_ex<
- tag::char_code<tag::char_, CharEncoding>
- , fusion::vector1<Char(&)[2]> // For single char strings
- >
- , Modifiers>
- {
- static bool const no_case =
- has_modifier<Modifiers, tag::char_code_base<tag::no_case> >::value;
-
- typedef typename
- spirit::detail::get_encoding<Modifiers, CharEncoding>::type
- char_encoding;
-
- typedef literal_char<char_encoding, false, no_case> result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args)[0]);
- }
- };
-
- template <typename CharEncoding, typename Modifiers, typename A0, typename A1>
- struct make_primitive<
- terminal_ex<
- tag::char_code<tag::char_, CharEncoding>
- , fusion::vector2<A0, A1>
- >
- , Modifiers>
- {
- static bool const no_case =
- has_modifier<Modifiers, tag::char_code_base<tag::no_case> >::value;
-
- typedef typename
- spirit::detail::get_encoding<Modifiers, CharEncoding>::type
- char_encoding;
-
- typedef char_range<char_encoding, no_case> result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(
- fusion::at_c<0>(term.args)
- , fusion::at_c<1>(term.args)
- );
- }
- };
-
- template <typename CharEncoding, typename Modifiers, typename Char>
- struct make_primitive<
- terminal_ex<
- tag::char_code<tag::char_, CharEncoding>
- , fusion::vector2<Char(&)[2], Char(&)[2]> // For single char strings
- >
- , Modifiers>
- {
- static bool const no_case =
- has_modifier<Modifiers, tag::char_code_base<tag::no_case> >::value;
-
- typedef typename
- spirit::detail::get_encoding<Modifiers, CharEncoding>::type
- char_encoding;
-
- typedef char_range<char_encoding, no_case> result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(
- fusion::at_c<0>(term.args)[0]
- , fusion::at_c<1>(term.args)[0]
- );
- }
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char_class.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char_class.hpp
deleted file mode 100644
index 9b77b7d54a..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char_class.hpp
+++ /dev/null
@@ -1,118 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_CHAR_CLASS_APRIL_16_2006_1051AM)
-#define BOOST_SPIRIT_CHAR_CLASS_APRIL_16_2006_1051AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/char/char_parser.hpp>
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/support/char_class.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/modify.hpp>
-#include <boost/spirit/home/support/detail/get_encoding.hpp>
-#include <boost/mpl/eval_if.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- // enables alnum, alpha, graph, etc.
- template <typename CharClass, typename CharEncoding>
- struct use_terminal<qi::domain, tag::char_code<CharClass, CharEncoding> >
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- // hoist the char classification namespaces into qi sub-namespaces of the
- // same name
- namespace ascii { using namespace boost::spirit::ascii; }
- namespace iso8859_1 { using namespace boost::spirit::iso8859_1; }
- namespace standard { using namespace boost::spirit::standard; }
- namespace standard_wide { using namespace boost::spirit::standard_wide; }
-#if defined(BOOST_SPIRIT_UNICODE)
- namespace unicode { using namespace boost::spirit::unicode; }
-#endif
-
- // Import the standard namespace into the qi namespace. This allows
- // for default handling of all character/string related operations if not
- // prefixed with a character set namespace.
- using namespace boost::spirit::standard;
-
- // Import encoding
- using spirit::encoding;
-
- ///////////////////////////////////////////////////////////////////////////
- // Generic char classification parser (for alnum, alpha, graph, etc.)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Tag>
- struct char_class
- : char_parser<char_class<Tag>, typename Tag::char_encoding::char_type>
- {
- typedef typename Tag::char_encoding char_encoding;
- typedef typename Tag::char_class classification;
-
- template <typename CharParam, typename Context>
- bool test(CharParam ch, Context&) const
- {
- using spirit::char_class::classify;
- return traits::ischar<CharParam, char_encoding>::call(ch) &&
- classify<char_encoding>::is(classification(), ch);
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- typedef spirit::char_class::what<char_encoding> what_;
- return info(what_::is(classification()));
- }
- };
-
- namespace detail
- {
- template <typename Tag, bool no_case = false>
- struct make_char_class : mpl::identity<Tag> {};
-
- template <>
- struct make_char_class<tag::lower, true> : mpl::identity<tag::alpha> {};
-
- template <>
- struct make_char_class<tag::upper, true> : mpl::identity<tag::alpha> {};
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharClass, typename CharEncoding, typename Modifiers>
- struct make_primitive<tag::char_code<CharClass, CharEncoding>, Modifiers>
- {
- static bool const no_case =
- has_modifier<Modifiers, tag::char_code_base<tag::no_case> >::value;
-
- typedef typename
- spirit::detail::get_encoding<Modifiers, CharEncoding>::type
- char_encoding;
-
- typedef tag::char_code<
- typename detail::make_char_class<CharClass, no_case>::type
- , char_encoding>
- tag;
-
- typedef char_class<tag> result_type;
- result_type operator()(unused_type, unused_type) const
- {
- return result_type();
- }
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char_parser.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char_parser.hpp
deleted file mode 100644
index ea497f1f12..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/char/char_parser.hpp
+++ /dev/null
@@ -1,159 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_CHAR_PARSER_APR_16_2006_0906AM)
-#define BOOST_SPIRIT_CHAR_PARSER_APR_16_2006_0906AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/detail/assign_to.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::complement> // enables ~
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace traits // classification
-{
- namespace detail
- {
- BOOST_MPL_HAS_XXX_TRAIT_DEF(char_parser_id)
- }
-
- template <typename T>
- struct is_char_parser : detail::has_char_parser_id<T> {};
-}}}
-
-namespace boost { namespace spirit { namespace qi
-{
- ///////////////////////////////////////////////////////////////////////////
- // The base char_parser
- ///////////////////////////////////////////////////////////////////////////
- template <typename Derived, typename Char, typename Attr = Char>
- struct char_parser : primitive_parser<Derived>
- {
- typedef Char char_type;
- struct char_parser_id;
-
- // if Attr is unused_type, Derived must supply its own attribute
- // metafunction
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef Attr type;
- };
-
- template <typename Iterator, typename Context, typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, Attribute& attr_) const
- {
- qi::skip_over(first, last, skipper);
-
- if (first != last && this->derived().test(*first, context))
- {
- spirit::traits::assign_to(*first, attr_);
- ++first;
- return true;
- }
- return false;
- }
-
- // Requirement: p.test(ch, context) -> bool
- //
- // ch: character being parsed
- // context: enclosing rule context
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // negated_char_parser handles ~cp expressions (cp is a char_parser)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Positive>
- struct negated_char_parser :
- char_parser<negated_char_parser<Positive>, typename Positive::char_type>
- {
- negated_char_parser(Positive const& positive_)
- : positive(positive_) {}
-
- template <typename CharParam, typename Context>
- bool test(CharParam ch, Context& context) const
- {
- return !positive.test(ch, context);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("not", positive.what(context));
- }
-
- Positive positive;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename Positive>
- struct make_negated_char_parser
- {
- typedef negated_char_parser<Positive> result_type;
- result_type operator()(Positive const& positive) const
- {
- return result_type(positive);
- }
- };
-
- template <typename Positive>
- struct make_negated_char_parser<negated_char_parser<Positive> >
- {
- typedef Positive result_type;
- result_type operator()(negated_char_parser<Positive> const& ncp) const
- {
- return ncp.positive;
- }
- };
- }
-
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::complement, Elements, Modifiers>
- {
- typedef typename
- fusion::result_of::value_at_c<Elements, 0>::type
- subject;
-
- BOOST_SPIRIT_ASSERT_MSG((
- traits::is_char_parser<subject>::value
- ), subject_is_not_negatable, (subject));
-
- typedef typename
- detail::make_negated_char_parser<subject>::result_type
- result_type;
-
- result_type operator()(Elements const& elements, unused_type) const
- {
- return detail::make_negated_char_parser<subject>()(
- fusion::at_c<0>(elements));
- }
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/alternative_function.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/alternative_function.hpp
deleted file mode 100644
index c0c4a96a00..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/alternative_function.hpp
+++ /dev/null
@@ -1,212 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 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_SPIRIT_QI_DETAIL_ALTERNATIVE_FUNCTION_HPP
-#define BOOST_SPIRIT_QI_DETAIL_ALTERNATIVE_FUNCTION_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/detail/assign_to.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/variant.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- template <typename Variant, typename T>
- struct find_substitute
- {
- // Get the type from the Variant that can be a substitute for T.
- // If none is found, just return T
-
- typedef Variant variant_type;
- typedef typename variant_type::types types;
- typedef typename mpl::end<types>::type end;
-
- typedef typename mpl::find<types, T>::type iter_1;
-
- typedef typename
- mpl::eval_if<
- is_same<iter_1, end>,
- mpl::find_if<types, traits::is_substitute<T, mpl::_1> >,
- mpl::identity<iter_1>
- >::type
- iter;
-
- typedef typename
- mpl::eval_if<
- is_same<iter, end>,
- mpl::identity<T>,
- mpl::deref<iter>
- >::type
- type;
- };
-
- template <typename Iterator, typename Context, typename Skipper,
- typename Attribute>
- struct alternative_function
- {
- alternative_function(
- Iterator& first_, Iterator const& last_, Context& context_,
- Skipper const& skipper_, Attribute& attr_)
- : first(first_), last(last_), context(context_), skipper(skipper_),
- attr(attr_)
- {
- }
-
- template <typename Component>
- bool call(Component const& component, mpl::true_) const
- {
- // if Attribute is not a variant, then pass it as-is
- return component.parse(first, last, context, skipper, attr);
- }
-
- template <typename Component>
- bool call_optional_or_variant(Component const& component, mpl::true_) const
- {
- // If Attribute is an optional, then create an attribute for the Component
- // with the type optional::value_type. If the expected attribute is unused type,
- // use it instead.
- typedef typename
- traits::attribute_of<Component, Context, Iterator>::type
- expected_type;
-
- typename mpl::if_<
- is_same<expected_type, unused_type>,
- unused_type,
- typename Attribute::value_type>::type
- val;
-
- if (component.parse(first, last, context, skipper, val))
- {
- traits::assign_to(val, attr);
- return true;
- }
- return false;
- }
-
- template <typename Component>
- bool call_variant(Component const& component, mpl::false_) const
- {
- // If Attribute is a variant, then search the variant types for a
- // suitable substitute type.
-
- typename
- find_substitute<Attribute,
- typename traits::attribute_of<Component, Context, Iterator>::type
- >::type
- val;
-
- if (component.parse(first, last, context, skipper, val))
- {
- traits::assign_to(val, attr);
- return true;
- }
- return false;
- }
-
- template <typename Component>
- bool call_variant(Component const& component, mpl::true_) const
- {
- // If Attribute is a variant and the expected attribute is
- // the same type (pass the variant as-is).
-
- return component.parse(first, last, context, skipper, attr);
- }
-
- template <typename Component>
- bool call_optional_or_variant(Component const& component, mpl::false_) const
- {
- // Attribute is a variant...
-
- typedef typename
- traits::attribute_of<Component, Context, Iterator>::type
- expected;
- return call_variant(component,
- is_same<Attribute, expected>());
- }
-
- template <typename Component>
- bool call(Component const& component, mpl::false_) const
- {
- return call_optional_or_variant(
- component, spirit::traits::not_is_variant<Attribute, qi::domain>());
- }
-
- template <typename Component>
- bool call_unused(Component const& component, mpl::true_) const
- {
- // return true if the parser succeeds
- return call(component,
- mpl::and_<
- spirit::traits::not_is_variant<Attribute, qi::domain>,
- spirit::traits::not_is_optional<Attribute, qi::domain>
- >());
- }
-
- template <typename Component>
- bool call_unused(Component const& component, mpl::false_) const
- {
- return component.parse(first, last, context, skipper, unused);
- }
-
- template <typename Component>
- bool operator()(Component const& component) const
- {
- // return true if the parser succeeds
- typedef typename traits::not_is_unused<
- typename traits::attribute_of<Component, Context, Iterator>::type
- >::type predicate;
-
- return call_unused(component, predicate());
- }
-
- Iterator& first;
- Iterator const& last;
- Context& context;
- Skipper const& skipper;
- Attribute& attr;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(alternative_function& operator= (alternative_function const&))
- alternative_function(const alternative_function&) = default;
- };
-
- template <typename Iterator, typename Context, typename Skipper>
- struct alternative_function<Iterator, Context, Skipper, unused_type const>
- {
- alternative_function(
- Iterator& first_, Iterator const& last_, Context& context_,
- Skipper const& skipper_, unused_type)
- : first(first_), last(last_), context(context_), skipper(skipper_)
- {
- }
-
- template <typename Component>
- bool operator()(Component const& component) const
- {
- // return true if the parser succeeds
- return component.parse(first, last, context, skipper,
- unused);
- }
-
- Iterator& first;
- Iterator const& last;
- Context& context;
- Skipper const& skipper;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(alternative_function& operator= (alternative_function const&))
- alternative_function(const alternative_function&) = default;
- };
-
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/assign_to.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/assign_to.hpp
deleted file mode 100644
index 90299ba2c3..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/assign_to.hpp
+++ /dev/null
@@ -1,403 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_ASSIGN_TO_APR_16_2006_0812PM)
-#define BOOST_SPIRIT_ASSIGN_TO_APR_16_2006_0812PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/detail/construct.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/container.hpp>
-#include <boost/fusion/include/copy.hpp>
-#include <boost/fusion/adapted/struct/detail/extension.hpp>
-#include <boost/ref.hpp>
-#include <boost/range/range_fwd.hpp>
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- // This file contains assignment utilities. The utilities provided also
- // accept spirit's unused_type; all no-ops. Compiler optimization will
- // easily strip these away.
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename T>
- struct is_iter_range : mpl::false_ {};
-
- template <typename I>
- struct is_iter_range<boost::iterator_range<I> > : mpl::true_ {};
-
- template <typename C>
- struct is_container_of_ranges
- : is_iter_range<typename C::value_type> {};
- }
-
- template <typename Attribute, typename Iterator, typename Enable>
- struct assign_to_attribute_from_iterators
- {
- // Common case
- static void
- call(Iterator const& first, Iterator const& last, Attribute& attr, mpl::false_)
- {
- if (traits::is_empty(attr))
- attr = Attribute(first, last);
- else {
- for (Iterator i = first; i != last; ++i)
- push_back(attr, *i);
- }
- }
-
- // If Attribute is a container with value_type==iterator_range<T> just push the
- // iterator_range into it
- static void
- call(Iterator const& first, Iterator const& last, Attribute& attr, mpl::true_)
- {
- typename Attribute::value_type rng(first, last);
- push_back(attr, rng);
- }
-
- static void
- call(Iterator const& first, Iterator const& last, Attribute& attr)
- {
- call(first, last, attr, detail::is_container_of_ranges<Attribute>());
- }
- };
-
- template <typename Attribute, typename Iterator>
- struct assign_to_attribute_from_iterators<
- reference_wrapper<Attribute>, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last
- , reference_wrapper<Attribute> attr)
- {
- if (traits::is_empty(attr))
- attr = Attribute(first, last);
- else {
- for (Iterator i = first; i != last; ++i)
- push_back(attr, *i);
- }
- }
- };
-
- template <typename Attribute, typename Iterator>
- struct assign_to_attribute_from_iterators<
- boost::optional<Attribute>, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last
- , boost::optional<Attribute>& attr)
- {
- Attribute val;
- assign_to(first, last, val);
- attr = val;
- }
- };
-
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<
- iterator_range<Iterator>, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last
- , iterator_range<Iterator>& attr)
- {
- attr = iterator_range<Iterator>(first, last);
- }
- };
-
- template <typename Iterator, typename Attribute>
- inline void
- assign_to(Iterator const& first, Iterator const& last, Attribute& attr)
- {
- assign_to_attribute_from_iterators<Attribute, Iterator>::
- call(first, last, attr);
- }
-
- template <typename Iterator>
- inline void
- assign_to(Iterator const&, Iterator const&, unused_type)
- {
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Attribute>
- void assign_to(T const& val, Attribute& attr);
-
- template <typename Attribute, typename T, typename Enable>
- struct assign_to_attribute_from_value
- {
- typedef typename traits::one_element_sequence<Attribute>::type
- is_one_element_sequence;
-
- typedef typename mpl::eval_if<
- is_one_element_sequence
- , fusion::result_of::at_c<Attribute, 0>
- , mpl::identity<Attribute&>
- >::type type;
-
- template <typename T_>
- static void
- call(T_ const& val, Attribute& attr, mpl::false_)
- {
- attr = static_cast<Attribute>(val);
- }
-
- // This handles the case where the attribute is a single element fusion
- // sequence. We silently assign to the only element and treat it as the
- // attribute to parse the results into.
- template <typename T_>
- static void
- call(T_ const& val, Attribute& attr, mpl::true_)
- {
- typedef typename fusion::result_of::value_at_c<Attribute, 0>::type
- element_type;
- fusion::at_c<0>(attr) = static_cast<element_type>(val);
- }
-
- static void
- call(T const& val, Attribute& attr)
- {
- call(val, attr, is_one_element_sequence());
- }
- };
-
- template <typename Attribute>
- struct assign_to_attribute_from_value<Attribute, Attribute>
- {
- static void
- call(Attribute const& val, Attribute& attr)
- {
- attr = val;
- }
- };
-
- template <typename Attribute, typename T>
- struct assign_to_attribute_from_value<Attribute, reference_wrapper<T>
- , typename disable_if<is_same<Attribute, reference_wrapper<T> > >::type>
- {
- static void
- call(reference_wrapper<T> const& val, Attribute& attr)
- {
- assign_to(val.get(), attr);
- }
- };
-
- template <typename Attribute, typename T>
- struct assign_to_attribute_from_value<Attribute, boost::optional<T>
- , typename disable_if<is_same<Attribute, boost::optional<T> > >::type>
- {
- static void
- call(boost::optional<T> const& val, Attribute& attr)
- {
- assign_to(val.get(), attr);
- }
- };
-
- template <typename Attribute, int N, bool Const, typename T>
- struct assign_to_attribute_from_value<fusion::extension::adt_attribute_proxy<Attribute, N, Const>, T>
- {
- static void
- call(T const& val, typename fusion::extension::adt_attribute_proxy<Attribute, N, Const>& attr)
- {
- attr = val;
- }
- };
-
- namespace detail
- {
- template <typename A, typename B>
- struct is_same_size_sequence
- : mpl::bool_<fusion::result_of::size<A>::value
- == fusion::result_of::size<B>::value>
- {};
- }
-
- template <typename Attribute, typename T>
- struct assign_to_attribute_from_value<Attribute, T,
- mpl::and_<
- fusion::traits::is_sequence<Attribute>,
- fusion::traits::is_sequence<T>,
- detail::is_same_size_sequence<Attribute, T>
- >
- >
- {
- static void
- call(T const& val, Attribute& attr)
- {
- fusion::copy(val, attr);
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Attribute, typename T, typename Enable>
- struct assign_to_container_from_value
- {
- // T is not a container and not a string
- template <typename T_>
- static void call(T_ const& val, Attribute& attr, mpl::false_, mpl::false_)
- {
- traits::push_back(attr, val);
- }
-
- // T is a container (but not a string), and T is convertible to the
- // value_type of the Attribute container
- template <typename T_>
- static void
- append_to_container_not_string(T_ const& val, Attribute& attr, mpl::true_)
- {
- traits::push_back(attr, val);
- }
-
- // T is a container (but not a string), generic overload
- template <typename T_>
- static void
- append_to_container_not_string(T_ const& val, Attribute& attr, mpl::false_)
- {
- typedef typename traits::container_iterator<T_ const>::type
- iterator_type;
-
- iterator_type end = traits::end(val);
- for (iterator_type i = traits::begin(val); i != end; traits::next(i))
- traits::push_back(attr, traits::deref(i));
- }
-
- // T is a container (but not a string)
- template <typename T_>
- static void call(T_ const& val, Attribute& attr, mpl::true_, mpl::false_)
- {
- typedef typename container_value<Attribute>::type value_type;
- typedef typename is_convertible<T, value_type>::type is_value_type;
-
- append_to_container_not_string(val, attr, is_value_type());
- }
-
- ///////////////////////////////////////////////////////////////////////
- // T is a string
- template <typename Iterator>
- static void append_to_string(Attribute& attr, Iterator begin, Iterator end)
- {
- for (Iterator i = begin; i != end; ++i)
- traits::push_back(attr, *i);
- }
-
- // T is string, but not convertible to value_type of container
- template <typename T_>
- static void append_to_container(T_ const& val, Attribute& attr, mpl::false_)
- {
- typedef typename char_type_of<T_>::type char_type;
-
- append_to_string(attr, traits::get_begin<char_type>(val)
- , traits::get_end<char_type>(val));
- }
-
- // T is string, and convertible to value_type of container
- template <typename T_>
- static void append_to_container(T_ const& val, Attribute& attr, mpl::true_)
- {
- traits::push_back(attr, val);
- }
-
- template <typename T_, typename Pred>
- static void call(T_ const& val, Attribute& attr, Pred, mpl::true_)
- {
- typedef typename container_value<Attribute>::type value_type;
- typedef typename is_convertible<T, value_type>::type is_value_type;
-
- append_to_container(val, attr, is_value_type());
- }
-
- ///////////////////////////////////////////////////////////////////////
- static void call(T const& val, Attribute& attr)
- {
- typedef typename traits::is_container<T>::type is_container;
- typedef typename traits::is_string<T>::type is_string;
-
- call(val, attr, is_container(), is_string());
- }
- };
-
- template <typename Attribute>
- struct assign_to_container_from_value<Attribute, Attribute>
- {
- static void
- call(Attribute const& val, Attribute& attr)
- {
- attr = val;
- }
- };
-
- template <typename Attribute, typename T>
- struct assign_to_container_from_value<Attribute, boost::optional<T>
- , typename disable_if<is_same<Attribute, boost::optional<T> > >::type>
- {
- static void
- call(boost::optional<T> const& val, Attribute& attr)
- {
- assign_to(val.get(), attr);
- }
- };
-
- template <typename Attribute, typename T>
- struct assign_to_container_from_value<Attribute, reference_wrapper<T>
- , typename disable_if<is_same<Attribute, reference_wrapper<T> > >::type>
- {
- static void
- call(reference_wrapper<T> const& val, Attribute& attr)
- {
- assign_to(val.get(), attr);
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- // overload for non-container attributes
- template <typename T, typename Attribute>
- inline void
- assign_to(T const& val, Attribute& attr, mpl::false_)
- {
- assign_to_attribute_from_value<Attribute, T>::call(val, attr);
- }
-
- // overload for containers (but not for variants or optionals
- // holding containers)
- template <typename T, typename Attribute>
- inline void
- assign_to(T const& val, Attribute& attr, mpl::true_)
- {
- assign_to_container_from_value<Attribute, T>::call(val, attr);
- }
- }
-
- template <typename T, typename Attribute>
- inline void
- assign_to(T const& val, Attribute& attr)
- {
- typedef typename mpl::and_<
- traits::is_container<Attribute>
- , traits::not_is_variant<Attribute>
- , traits::not_is_optional<Attribute>
- >::type is_not_wrapped_container;
-
- detail::assign_to(val, attr, is_not_wrapped_container());
- }
-
- template <typename T>
- inline void
- assign_to(T const&, unused_type)
- {
- }
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/attributes.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/attributes.hpp
deleted file mode 100644
index 24d1f4fe99..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/attributes.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// 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_SPIRIT_QI_DETAIL_ATTRIBUTES_HPP
-#define BOOST_SPIRIT_QI_DETAIL_ATTRIBUTES_HPP
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/support/attributes_fwd.hpp>
-#include <boost/spirit/home/support/attributes.hpp>
-#include <boost/spirit/home/support/utree/utree_traits_fwd.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Exposed, typename Transformed>
- struct default_transform_attribute
- {
- typedef Transformed type;
-
- static Transformed pre(Exposed&) { return Transformed(); }
-
- static void post(Exposed& val, Transformed const& attr)
- {
- traits::assign_to(attr, val);
- }
-
- // fail() will be called by Qi rule's if the rhs failed parsing
- static void fail(Exposed&) {}
- };
-
- // handle case where no transformation is required as the types are the same
- template <typename Attribute>
- struct default_transform_attribute<Attribute, Attribute>
- {
- typedef Attribute& type;
- static Attribute& pre(Attribute& val) { return val; }
- static void post(Attribute&, Attribute const&) {}
- static void fail(Attribute&) {}
- };
-
- template <typename Exposed, typename Transformed>
- struct proxy_transform_attribute
- {
- typedef Transformed type;
-
- static Transformed pre(Exposed& val) { return Transformed(val); }
- static void post(Exposed&, Transformed const&) { /* no-op */ }
-
- // fail() will be called by Qi rule's if the rhs failed parsing
- static void fail(Exposed&) {}
- };
-
- // handle case where no transformation is required as the types are the same
- template <typename Attribute>
- struct proxy_transform_attribute<Attribute, Attribute>
- {
- typedef Attribute& type;
- static Attribute& pre(Attribute& val) { return val; }
- static void post(Attribute&, Attribute const&) {}
- static void fail(Attribute&) {}
- };
-
- // main specialization for Qi
- template <typename Exposed, typename Transformed, typename Enable = void>
- struct transform_attribute
- : mpl::if_<
- mpl::and_<
- mpl::not_<is_const<Exposed> >
- , mpl::not_<is_reference<Exposed> >
- , traits::is_proxy<Transformed> >
- , proxy_transform_attribute<Exposed, Transformed>
- , default_transform_attribute<Exposed, Transformed>
- >::type
- {};
-
- template <typename Exposed, typename Transformed>
- struct transform_attribute<boost::optional<Exposed>, Transformed
- , typename disable_if<is_same<boost::optional<Exposed>, Transformed> >::type>
- {
- typedef Transformed& type;
- static Transformed& pre(boost::optional<Exposed>& val)
- {
- if (!val)
- val = Transformed();
- return boost::get<Transformed>(val);
- }
- static void post(boost::optional<Exposed>&, Transformed const&) {}
- static void fail(boost::optional<Exposed>& val)
- {
- val = none; // leave optional uninitialized if rhs failed
- }
- };
-
- // unused_type needs some special handling as well
- template <>
- struct transform_attribute<unused_type, unused_type>
- {
- typedef unused_type type;
- static unused_type pre(unused_type) { return unused; }
- static void post(unused_type, unused_type) {}
- static void fail(unused_type) {}
- };
-
- template <>
- struct transform_attribute<unused_type const, unused_type>
- : transform_attribute<unused_type, unused_type>
- {};
-
- template <typename Attribute>
- struct transform_attribute<Attribute, unused_type>
- : transform_attribute<unused_type, unused_type>
- {};
-
- template <typename Attribute>
- struct transform_attribute<Attribute const, unused_type>
- : transform_attribute<unused_type, unused_type>
- {};
-}}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace traits
-{
- namespace detail {
- template <typename Exposed, typename Transformed>
- struct transform_attribute_base<Exposed, Transformed, qi::domain>
- : qi::transform_attribute<Exposed, Transformed>
- {};
- }
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/construct.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/construct.hpp
deleted file mode 100644
index 829190e98e..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/construct.hpp
+++ /dev/null
@@ -1,202 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_CONSTRUCT_MAR_24_2007_0629PM)
-#define BOOST_SPIRIT_CONSTRUCT_MAR_24_2007_0629PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/spirit/home/qi/parse.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/attributes_fwd.hpp>
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- // We provide overloads for the assign_to_attribute_from_iterators
- // customization point for all built in types
- ///////////////////////////////////////////////////////////////////////////
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<char, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const&, char& attr)
- {
- attr = *first;
- }
- };
-
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<signed char, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const&, signed char& attr)
- {
- attr = *first;
- }
- };
-
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<unsigned char, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const&, unsigned char& attr)
- {
- attr = *first;
- }
- };
-
- // wchar_t is intrinsic
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<wchar_t, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const&, wchar_t& attr)
- {
- attr = *first;
- }
- };
-
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
- // wchar_t is intrinsic, have separate overload for unsigned short
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<unsigned short, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const&, unsigned short& attr)
- {
- attr = *first;
- }
- };
-#endif
-
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<bool, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last, bool& attr)
- {
- Iterator first_ = first;
- qi::parse(first_, last, bool_type(), attr);
- }
- };
-
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<short, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last, short& attr)
- {
- Iterator first_ = first;
- qi::parse(first_, last, short_type(), attr);
- }
- };
-
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<int, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last, int& attr)
- {
- Iterator first_ = first;
- qi::parse(first_, last, int_type(), attr);
- }
- };
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<unsigned int, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last, unsigned int& attr)
- {
- Iterator first_ = first;
- qi::parse(first_, last, uint_type(), attr);
- }
- };
-
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<long, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last, long& attr)
- {
- Iterator first_ = first;
- qi::parse(first_, last, long_type(), attr);
- }
- };
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<unsigned long, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last, unsigned long& attr)
- {
- Iterator first_ = first;
- qi::parse(first_, last, ulong_type(), attr);
- }
- };
-
-#ifdef BOOST_HAS_LONG_LONG
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<boost::long_long_type, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last, boost::long_long_type& attr)
- {
- Iterator first_ = first;
- qi::parse(first_, last, long_long_type(), attr);
- }
- };
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<boost::ulong_long_type, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last, boost::ulong_long_type& attr)
- {
- Iterator first_ = first;
- qi::parse(first_, last, ulong_long_type(), attr);
- }
- };
-#endif
-
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<float, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last, float& attr)
- {
- Iterator first_ = first;
- qi::parse(first_, last, float_type(), attr);
- }
- };
-
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<double, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last, double& attr)
- {
- Iterator first_ = first;
- qi::parse(first_, last, double_type(), attr);
- }
- };
-
- template <typename Iterator>
- struct assign_to_attribute_from_iterators<long double, Iterator>
- {
- static void
- call(Iterator const& first, Iterator const& last, long double& attr)
- {
- Iterator first_ = first;
- qi::parse(first_, last, long_double_type(), attr);
- }
- };
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/enable_lit.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/enable_lit.hpp
deleted file mode 100644
index 8bf2518297..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/enable_lit.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_QI_DETAIL_ENABLE_LIT_JAN_06_2011_0945PM)
-#define BOOST_SPIRIT_QI_DETAIL_ENABLE_LIT_JAN_06_2011_0945PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/auxiliary/lazy.hpp>
-#include <boost/fusion/include/vector.hpp>
-#include <boost/spirit/home/support/string_traits.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-
-namespace boost { namespace spirit
-{
- // enables lazy lit(...) for qi
- template <>
- struct use_lazy_terminal<qi::domain, tag::lit, 1>
- : mpl::true_ {};
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/expect_function.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/expect_function.hpp
deleted file mode 100644
index bc829be046..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/expect_function.hpp
+++ /dev/null
@@ -1,105 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DETAIL_EXPECT_FUNCTION_HPP
-#define BOOST_SPIRIT_QI_DETAIL_EXPECT_FUNCTION_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/multi_pass_wrapper.hpp>
-#include <boost/throw_exception.hpp>
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- template <
- typename Iterator, typename Context
- , typename Skipper, typename Exception>
- struct expect_function
- {
- typedef Iterator iterator_type;
- typedef Context context_type;
-
- expect_function(
- Iterator& first_, Iterator const& last_
- , Context& context_, Skipper const& skipper_)
- : first(first_)
- , last(last_)
- , context(context_)
- , skipper(skipper_)
- , is_first(true)
- {
- }
-
- template <typename Component, typename Attribute>
- bool operator()(Component const& component, Attribute& attr) const
- {
- // if this is not the first component in the expect chain we
- // need to flush any multi_pass iterator we might be acting on
- if (!is_first)
- spirit::traits::clear_queue(first);
-
- // if we are testing the first component in the sequence,
- // return true if the parser fails, if this is not the first
- // component, throw exception if the parser fails
- if (!component.parse(first, last, context, skipper, attr))
- {
- if (is_first)
- {
- is_first = false;
- return true; // true means the match failed
- }
- boost::throw_exception(Exception(first, last, component.what(context)));
-#if defined(BOOST_NO_EXCEPTIONS)
- return true; // for systems not supporting exceptions
-#endif
- }
- is_first = false;
- return false;
- }
-
- template <typename Component>
- bool operator()(Component const& component) const
- {
- // if this is not the first component in the expect chain we
- // need to flush any multi_pass iterator we might be acting on
- if (!is_first)
- spirit::traits::clear_queue(first);
-
- // if we are testing the first component in the sequence,
- // return true if the parser fails, if this not the first
- // component, throw exception if the parser fails
- if (!component.parse(first, last, context, skipper, unused))
- {
- if (is_first)
- {
- is_first = false;
- return true;
- }
- boost::throw_exception(Exception(first, last, component.what(context)));
-#if defined(BOOST_NO_EXCEPTIONS)
- return false; // for systems not supporting exceptions
-#endif
- }
- is_first = false;
- return false;
- }
-
- Iterator& first;
- Iterator const& last;
- Context& context;
- Skipper const& skipper;
- mutable bool is_first;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(expect_function& operator= (expect_function const&))
- expect_function(const expect_function&) = default;
- };
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/expectation_failure.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/expectation_failure.hpp
deleted file mode 100644
index 551be1cacb..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/expectation_failure.hpp
+++ /dev/null
@@ -1,35 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DETAIL_EXPECTATION_FAILURE_HPP
-#define BOOST_SPIRIT_QI_DETAIL_EXPECTATION_FAILURE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/info.hpp>
-
-#include <boost/config.hpp> // for BOOST_SYMBOL_VISIBLE
-#include <stdexcept>
-
-namespace boost { namespace spirit { namespace qi {
- template <typename Iterator>
- struct BOOST_SYMBOL_VISIBLE expectation_failure : std::runtime_error
- {
- expectation_failure(Iterator first_, Iterator last_, info const& what)
- : std::runtime_error("boost::spirit::qi::expectation_failure")
- , first(first_), last(last_), what_(what)
- {}
- ~expectation_failure() BOOST_NOEXCEPT_OR_NOTHROW BOOST_OVERRIDE {}
-
- Iterator first;
- Iterator last;
- info what_;
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/fail_function.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/fail_function.hpp
deleted file mode 100644
index 14da766f8f..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/fail_function.hpp
+++ /dev/null
@@ -1,59 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DETAIL_FAIL_FUNCTION_HPP
-#define BOOST_SPIRIT_QI_DETAIL_FAIL_FUNCTION_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- template <typename Iterator, typename Context, typename Skipper>
- struct fail_function
- {
- typedef Iterator iterator_type;
- typedef Context context_type;
-
- fail_function(
- Iterator& first_, Iterator const& last_
- , Context& context_, Skipper const& skipper_)
- : first(first_)
- , last(last_)
- , context(context_)
- , skipper(skipper_)
- {
- }
-
- template <typename Component, typename Attribute>
- bool operator()(Component const& component, Attribute& attr) const
- {
- // return true if the parser fails
- return !component.parse(first, last, context, skipper, attr);
- }
-
- template <typename Component>
- bool operator()(Component const& component) const
- {
- // return true if the parser fails
- return !component.parse(first, last, context, skipper, unused);
- }
-
- Iterator& first;
- Iterator const& last;
- Context& context;
- Skipper const& skipper;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(fail_function& operator= (fail_function const&))
- fail_function(const fail_function&) = default;
- };
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/parse.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/parse.hpp
deleted file mode 100644
index b81f1e76a0..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/parse.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 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)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_DETAIL_PARSE_DEC_02_2009_0411PM)
-#define BOOST_SPIRIT_DETAIL_PARSE_DEC_02_2009_0411PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/skip_flag.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Expr, typename Enable = void>
- struct parse_impl
- {
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then the expression (expr) is not a valid spirit qi expression.
- // Did you intend to use the auto_ facilities while forgetting to
- // #include <boost/spirit/include/qi_auto.hpp>?
- BOOST_SPIRIT_ASSERT_MATCH(qi::domain, Expr);
- };
-
- template <typename Expr>
- struct parse_impl<Expr
- , typename enable_if<traits::matches<qi::domain, Expr> >::type>
- {
- template <typename Iterator>
- static bool call(
- Iterator& first
- , Iterator last
- , Expr const& expr)
- {
- return compile<qi::domain>(expr).parse(
- first, last, unused, unused, unused);
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Expr, typename Enable = void>
- struct phrase_parse_impl
- {
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then the expression (expr) is not a valid spirit qi expression.
- // Did you intend to use the auto_ facilities while forgetting to
- // #include <boost/spirit/include/qi_auto.hpp>?
- BOOST_SPIRIT_ASSERT_MATCH(qi::domain, Expr);
- };
-
- template <typename Expr>
- struct phrase_parse_impl<Expr
- , typename enable_if<traits::matches<qi::domain, Expr> >::type>
- {
- template <typename Iterator, typename Skipper>
- static bool call(
- Iterator& first
- , Iterator last
- , Expr const& expr
- , Skipper const& skipper
- , BOOST_SCOPED_ENUM(skip_flag) post_skip)
- {
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then the skipper is not a valid spirit qi expression.
- BOOST_SPIRIT_ASSERT_MATCH(qi::domain, Skipper);
-
- typedef
- typename result_of::compile<qi::domain, Skipper>::type
- skipper_type;
- skipper_type const skipper_ = compile<qi::domain>(skipper);
-
- if (!compile<qi::domain>(expr).parse(
- first, last, unused, skipper_, unused))
- return false;
-
- if (post_skip == skip_flag::postskip)
- qi::skip_over(first, last, skipper_);
- return true;
- }
- };
-
-}}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/pass_container.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/pass_container.hpp
deleted file mode 100644
index fdf9311d1c..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/pass_container.hpp
+++ /dev/null
@@ -1,382 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_DETAIL_PASS_CONTAINER_HPP
-#define BOOST_SPIRIT_QI_DETAIL_PASS_CONTAINER_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/container.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- // Helper meta-function allowing to evaluate weak substitutability and
- // negate the result if the predicate (Sequence) is not true
- template <typename Sequence, typename Attribute, typename ValueType>
- struct negate_weak_substitute_if_not
- : mpl::if_<
- Sequence
- , typename traits::is_weak_substitute<Attribute, ValueType>::type
- , typename mpl::not_<
- traits::is_weak_substitute<Attribute, ValueType>
- >::type>
- {};
-
- // pass_through_container: utility to check decide whether a provided
- // container attribute needs to be passed through to the current component
- // or of we need to split the container by passing along instances of its
- // value type
-
- // if the expected attribute of the current component is neither a Fusion
- // sequence nor a container, we will pass through the provided container
- // only if its value type is not compatible with the component
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence, typename Enable = void>
- struct pass_through_container_base
- : negate_weak_substitute_if_not<Sequence, Attribute, ValueType>
- {};
-
- // Specialization for fusion sequences, in this case we check whether all
- // the types in the sequence are convertible to the lhs attribute.
- //
- // We return false if the rhs attribute itself is a fusion sequence, which
- // is compatible with the LHS sequence (we want to pass through this
- // attribute without it being split apart).
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence = mpl::true_>
- struct not_compatible_element
- : mpl::and_<
- negate_weak_substitute_if_not<Sequence, Attribute, Container>
- , negate_weak_substitute_if_not<Sequence, Attribute, ValueType> >
- {};
-
- // If the value type of the container is not a Fusion sequence, we pass
- // through the container if each of the elements of the Attribute
- // sequence is compatible with either the container or its value type.
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence
- , bool IsSequence = fusion::traits::is_sequence<ValueType>::value>
- struct pass_through_container_fusion_sequence
- {
- typedef typename mpl::find_if<
- Attribute, not_compatible_element<Container, ValueType, mpl::_1>
- >::type iter;
- typedef typename mpl::end<Attribute>::type end;
-
- typedef typename is_same<iter, end>::type type;
- };
-
- // If both, the Attribute and the value type of the provided container
- // are Fusion sequences, we pass the container only if the two
- // sequences are not compatible.
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence>
- struct pass_through_container_fusion_sequence<
- Container, ValueType, Attribute, Sequence, true>
- {
- typedef typename mpl::find_if<
- Attribute
- , not_compatible_element<Container, ValueType, mpl::_1, Sequence>
- >::type iter;
- typedef typename mpl::end<Attribute>::type end;
-
- typedef typename is_same<iter, end>::type type;
- };
-
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence>
- struct pass_through_container_base<Container, ValueType, Attribute
- , Sequence
- , typename enable_if<fusion::traits::is_sequence<Attribute> >::type>
- : pass_through_container_fusion_sequence<
- Container, ValueType, Attribute, Sequence>
- {};
-
- // Specialization for containers
- //
- // If the value type of the attribute of the current component is not
- // a Fusion sequence, we have to pass through the provided container if
- // both are compatible.
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence, typename AttributeValueType
- , bool IsSequence = fusion::traits::is_sequence<AttributeValueType>::value>
- struct pass_through_container_container
- : mpl::or_<
- traits::is_weak_substitute<Attribute, Container>
- , traits::is_weak_substitute<AttributeValueType, Container> >
- {};
-
- // If the value type of the exposed container attribute is a Fusion
- // sequence, we use the already existing logic for those.
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence, typename AttributeValueType>
- struct pass_through_container_container<
- Container, ValueType, Attribute, Sequence, AttributeValueType, true>
- : pass_through_container_fusion_sequence<
- Container, ValueType, AttributeValueType, Sequence>
- {};
-
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence>
- struct pass_through_container_base<
- Container, ValueType, Attribute, Sequence
- , typename enable_if<traits::is_container<Attribute> >::type>
- : detail::pass_through_container_container<
- Container, ValueType, Attribute, Sequence
- , typename traits::container_value<Attribute>::type>
- {};
-
- // Specialization for exposed optional attributes
- //
- // If the type embedded in the exposed optional is not a Fusion
- // sequence we pass through the container attribute if it is compatible
- // either to the optionals embedded type or to the containers value
- // type.
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence
- , bool IsSequence = fusion::traits::is_sequence<Attribute>::value>
- struct pass_through_container_optional
- : mpl::or_<
- traits::is_weak_substitute<Attribute, Container>
- , traits::is_weak_substitute<Attribute, ValueType> >
- {};
-
- // If the embedded type of the exposed optional attribute is a Fusion
- // sequence, we use the already existing logic for those.
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence>
- struct pass_through_container_optional<
- Container, ValueType, Attribute, Sequence, true>
- : pass_through_container_fusion_sequence<
- Container, ValueType, Attribute, Sequence>
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence>
- struct pass_through_container
- : pass_through_container_base<Container, ValueType, Attribute, Sequence>
- {};
-
- // Handle optional attributes
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence>
- struct pass_through_container<
- Container, ValueType, boost::optional<Attribute>, Sequence>
- : pass_through_container_optional<
- Container, ValueType, Attribute, Sequence>
- {};
-
- // If both, the containers value type and the exposed attribute type are
- // optionals we are allowed to pass through the container only if the
- // embedded types of those optionals are not compatible.
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence>
- struct pass_through_container<
- Container, boost::optional<ValueType>, boost::optional<Attribute>
- , Sequence>
- : mpl::not_<traits::is_weak_substitute<Attribute, ValueType> >
- {};
-
- // Specialization for exposed variant attributes
- //
- // We pass through the container attribute if at least one of the embedded
- // types in the variant requires to pass through the attribute
-
-#if !defined(BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES)
- template <typename Container, typename ValueType, typename Sequence
- , typename T>
- struct pass_through_container<Container, ValueType, boost::variant<T>
- , Sequence>
- : pass_through_container<Container, ValueType, T, Sequence>
- {};
-
- template <typename Container, typename ValueType, typename Sequence
- , typename T0, typename ...TN>
- struct pass_through_container<Container, ValueType
- , boost::variant<T0, TN...>, Sequence>
- : mpl::bool_<pass_through_container<
- Container, ValueType, T0, Sequence
- >::type::value || pass_through_container<
- Container, ValueType, boost::variant<TN...>, Sequence
- >::type::value>
- {};
-#else
-#define BOOST_SPIRIT_PASS_THROUGH_CONTAINER(z, N, _) \
- pass_through_container<Container, ValueType, \
- BOOST_PP_CAT(T, N), Sequence>::type::value || \
- /***/
-
- // make sure unused variant parameters do not affect the outcome
- template <typename Container, typename ValueType, typename Sequence>
- struct pass_through_container<Container, ValueType
- , boost::detail::variant::void_, Sequence>
- : mpl::false_
- {};
-
- template <typename Container, typename ValueType, typename Sequence
- , BOOST_VARIANT_ENUM_PARAMS(typename T)>
- struct pass_through_container<Container, ValueType
- , boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>, Sequence>
- : mpl::bool_<BOOST_PP_REPEAT(BOOST_VARIANT_LIMIT_TYPES
- , BOOST_SPIRIT_PASS_THROUGH_CONTAINER, _) false>
- {};
-
-#undef BOOST_SPIRIT_PASS_THROUGH_CONTAINER
-#endif
-}}}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- // forwarding customization point for domain qi::domain
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence>
- struct pass_through_container<
- Container, ValueType, Attribute, Sequence, qi::domain>
- : qi::detail::pass_through_container<
- Container, ValueType, Attribute, Sequence>
- {};
-}}}
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- // This function handles the case where the attribute (Attr) given
- // the sequence is an STL container. This is a wrapper around F.
- // The function F does the actual parsing.
- template <typename F, typename Attr, typename Sequence>
- struct pass_container
- {
- typedef typename F::context_type context_type;
- typedef typename F::iterator_type iterator_type;
-
- pass_container(F const& f_, Attr& attr_)
- : f(f_), attr(attr_) {}
-
- // this is for the case when the current element exposes an attribute
- // which is pushed back onto the container
- template <typename Component>
- bool dispatch_container(Component const& component, mpl::false_) const
- {
- // synthesized attribute needs to be default constructed
- typename traits::container_value<Attr>::type val =
- typename traits::container_value<Attr>::type();
-
- iterator_type save = f.first;
- bool r = f(component, val);
- if (!r)
- {
- // push the parsed value into our attribute
- r = !traits::push_back(attr, val);
- if (r)
- f.first = save;
- }
- return r;
- }
-
- // this is for the case when the current element is able to handle an
- // attribute which is a container itself, this element will push its
- // data directly into the attribute container
- template <typename Component>
- bool dispatch_container(Component const& component, mpl::true_) const
- {
- return f(component, attr);
- }
-
- ///////////////////////////////////////////////////////////////////////
- // this is for the case when the current element doesn't expect an
- // attribute
- template <typename Component>
- bool dispatch_attribute(Component const& component, mpl::false_) const
- {
- return f(component, unused);
- }
-
- // the current element expects an attribute
- template <typename Component>
- bool dispatch_attribute(Component const& component, mpl::true_) const
- {
- typedef typename traits::container_value<Attr>::type value_type;
- typedef typename traits::attribute_of<
- Component, context_type, iterator_type>::type
- rhs_attribute;
-
- // this predicate detects, whether the attribute of the current
- // element is a substitute for the value type of the container
- // attribute
- typedef mpl::and_<
- traits::handles_container<
- Component, Attr, context_type, iterator_type>
- , traits::pass_through_container<
- Attr, value_type, rhs_attribute, Sequence, qi::domain>
- > predicate;
-
- return dispatch_container(component, predicate());
- }
-
- // Dispatches to dispatch_main depending on the attribute type
- // of the Component
- template <typename Component>
- bool operator()(Component const& component) const
- {
- // we need to dispatch depending on the type of the attribute
- // of the current element (component). If this is has no attribute
- // we shouldn't pass an attribute at all.
- typedef typename traits::not_is_unused<
- typename traits::attribute_of<
- Component, context_type, iterator_type
- >::type
- >::type predicate;
-
- // ensure the attribute is actually a container type
- traits::make_container(attr);
-
- return dispatch_attribute(component, predicate());
- }
-
- F f;
- Attr& attr;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(pass_container& operator= (pass_container const&))
- pass_container(const pass_container&) = default;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Utility function to make a pass_container for container components
- // (kleene, list, plus, repeat)
- template <typename F, typename Attr>
- inline pass_container<F, Attr, mpl::false_>
- make_pass_container(F const& f, Attr& attr)
- {
- return pass_container<F, Attr, mpl::false_>(f, attr);
- }
-
- // Utility function to make a pass_container for sequences
- template <typename F, typename Attr>
- inline pass_container<F, Attr, mpl::true_>
- make_sequence_pass_container(F const& f, Attr& attr)
- {
- return pass_container<F, Attr, mpl::true_>(f, attr);
- }
-}}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/pass_function.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/pass_function.hpp
deleted file mode 100644
index 1c3c3dd17d..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/pass_function.hpp
+++ /dev/null
@@ -1,69 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DETAIL_PASS_FUNCTION_HPP
-#define BOOST_SPIRIT_QI_DETAIL_PASS_FUNCTION_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/optional.hpp>
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- template <typename Iterator, typename Context, typename Skipper>
- struct pass_function
- {
- pass_function(
- Iterator& first_, Iterator const& last_
- , Context& context_, Skipper const& skipper_)
- : first(first_)
- , last(last_)
- , context(context_)
- , skipper(skipper_)
- {
- }
-
- template <typename Component, typename Attribute>
- bool operator()(Component const& component, Attribute& attr)
- {
- // return true if the parser succeeds
- return component.parse(first, last, context, skipper, attr);
- }
-
- template <typename Component, typename Attribute>
- bool operator()(Component const& component, boost::optional<Attribute>& attr)
- {
- // return true if the parser succeeds
- Attribute val;
- if (component.parse(first, last, context, skipper, val))
- {
- attr = val;
- return true;
- }
- return false;
- }
-
- template <typename Component>
- bool operator()(Component const& component)
- {
- // return true if the parser succeeds
- return component.parse(first, last, context, skipper, unused);
- }
-
- Iterator& first;
- Iterator const& last;
- Context& context;
- Skipper const& skipper;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(pass_function& operator= (pass_function const&))
- };
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/permute_function.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/permute_function.hpp
deleted file mode 100644
index d0b87655e0..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/permute_function.hpp
+++ /dev/null
@@ -1,71 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DETAIL_PERMUTE_FUNCTION_HPP
-#define BOOST_SPIRIT_QI_DETAIL_PERMUTE_FUNCTION_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/optional.hpp>
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- template <typename Iterator, typename Context, typename Skipper>
- struct permute_function
- {
- permute_function(
- Iterator& first_, Iterator const& last_
- , Context& context_, Skipper const& skipper_)
- : first(first_)
- , last(last_)
- , context(context_)
- , skipper(skipper_)
- {
- }
-
- template <typename Component, typename Attribute>
- bool operator()(Component const& component, Attribute& attr)
- {
- // return true if the parser succeeds and the slot is not yet taken
- if (!*taken && component.parse(first, last, context, skipper, attr))
- {
- *taken = true;
- ++taken;
- return true;
- }
- ++taken;
- return false;
- }
-
- template <typename Component>
- bool operator()(Component const& component)
- {
- // return true if the parser succeeds and the slot is not yet taken
- if (!*taken && component.parse(first, last, context, skipper, unused))
- {
- *taken = true;
- ++taken;
- return true;
- }
- ++taken;
- return false;
- }
-
- Iterator& first;
- Iterator const& last;
- Context& context;
- Skipper const& skipper;
- bool* taken;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(permute_function& operator= (permute_function const&))
- };
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/string_parse.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/string_parse.hpp
deleted file mode 100644
index 4025df550d..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/string_parse.hpp
+++ /dev/null
@@ -1,89 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_STRING_PARSE_APR_18_2006_1125PM)
-#define BOOST_SPIRIT_STRING_PARSE_APR_18_2006_1125PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/detail/assign_to.hpp>
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- template <typename Char, typename Iterator, typename Attribute>
- inline bool string_parse(
- Char const* str
- , Iterator& first, Iterator const& last, Attribute& attr)
- {
- Iterator i = first;
- Char ch = *str;
-
- for (; !!ch; ++i)
- {
- if (i == last || (ch != *i))
- return false;
- ch = *++str;
- }
-
- spirit::traits::assign_to(first, i, attr);
- first = i;
- return true;
- }
-
- template <typename String, typename Iterator, typename Attribute>
- inline bool string_parse(
- String const& str
- , Iterator& first, Iterator const& last, Attribute& attr)
- {
- Iterator i = first;
- typename String::const_iterator stri = str.begin();
- typename String::const_iterator str_last = str.end();
-
- for (; stri != str_last; ++stri, ++i)
- if (i == last || (*stri != *i))
- return false;
- spirit::traits::assign_to(first, i, attr);
- first = i;
- return true;
- }
-
- template <typename Char, typename Iterator, typename Attribute>
- inline bool string_parse(
- Char const* uc_i, Char const* lc_i
- , Iterator& first, Iterator const& last, Attribute& attr)
- {
- Iterator i = first;
-
- for (; *uc_i && *lc_i; ++uc_i, ++lc_i, ++i)
- if (i == last || ((*uc_i != *i) && (*lc_i != *i)))
- return false;
- spirit::traits::assign_to(first, i, attr);
- first = i;
- return true;
- }
-
- template <typename String, typename Iterator, typename Attribute>
- inline bool string_parse(
- String const& ucstr, String const& lcstr
- , Iterator& first, Iterator const& last, Attribute& attr)
- {
- typename String::const_iterator uc_i = ucstr.begin();
- typename String::const_iterator uc_last = ucstr.end();
- typename String::const_iterator lc_i = lcstr.begin();
- Iterator i = first;
-
- for (; uc_i != uc_last; ++uc_i, ++lc_i, ++i)
- if (i == last || ((*uc_i != *i) && (*lc_i != *i)))
- return false;
- spirit::traits::assign_to(first, i, attr);
- first = i;
- return true;
- }
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/unused_skipper.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/unused_skipper.hpp
deleted file mode 100644
index f8b6bf9984..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/detail/unused_skipper.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_QI_UNUSED_SKIPPER_JUL_25_2009_0921AM)
-#define BOOST_SPIRIT_QI_UNUSED_SKIPPER_JUL_25_2009_0921AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- template <typename Skipper>
- struct unused_skipper : unused_type
- {
- unused_skipper(Skipper const& skipper_)
- : skipper(skipper_) {}
- Skipper const& skipper;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(unused_skipper& operator= (unused_skipper const&))
- };
-
- template <typename Skipper>
- struct is_unused_skipper
- : mpl::false_ {};
-
- template <typename Skipper>
- struct is_unused_skipper<unused_skipper<Skipper> >
- : mpl::true_ {};
-
- template <>
- struct is_unused_skipper<unused_type>
- : mpl::true_ {};
-
- // If a surrounding lexeme[] directive was specified, the current
- // skipper is of the type unused_skipper. In this case we
- // re-activate the skipper which was active before the skip[]
- // directive.
- template <typename Skipper>
- inline Skipper const&
- get_skipper(unused_skipper<Skipper> const& u)
- {
- return u.skipper;
- }
-
- // If no surrounding lexeme[] directive was specified we keep what we got.
- template <typename Skipper>
- inline Skipper const&
- get_skipper(Skipper const& u)
- {
- return u;
- }
-
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive.hpp
deleted file mode 100644
index 71e56f4efd..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive.hpp
+++ /dev/null
@@ -1,27 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_DIRECTIVE_FEBRUARY_05_2007_0313PM)
-#define BOOST_SPIRIT_DIRECTIVE_FEBRUARY_05_2007_0313PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/directive/as.hpp>
-#include <boost/spirit/home/qi/directive/encoding.hpp>
-#include <boost/spirit/home/qi/directive/hold.hpp>
-#include <boost/spirit/home/qi/directive/lexeme.hpp>
-#include <boost/spirit/home/qi/directive/no_skip.hpp>
-#include <boost/spirit/home/qi/directive/matches.hpp>
-#include <boost/spirit/home/qi/directive/no_case.hpp>
-#include <boost/spirit/home/qi/directive/omit.hpp>
-#include <boost/spirit/home/qi/directive/raw.hpp>
-#include <boost/spirit/home/qi/directive/repeat.hpp>
-#include <boost/spirit/home/qi/directive/skip.hpp>
-#include <boost/spirit/home/qi/directive/expect.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/as.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/as.hpp
deleted file mode 100644
index 4a76824f07..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/as.hpp
+++ /dev/null
@@ -1,176 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2010 Bryce Lelbach
-
- Distributed under the 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_SPIRIT_QI_DIRECTIVE_AS_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_AS_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/detail/assign_to.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/spirit/home/support/assert_msg.hpp>
-#include <boost/spirit/home/support/container.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename T>
- struct as
- : stateful_tag_type<T, tag::as>
- {
- //~ BOOST_SPIRIT_ASSERT_MSG(
- //~ (traits::is_container<T>::type::value),
- //~ error_type_must_be_a_container,
- //~ (T));
- };
-}}}
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- // enables as_string[...]
- template <>
- struct use_directive<qi::domain, tag::as_string>
- : mpl::true_ {};
-
- // enables as_wstring[...]
- template <>
- struct use_directive<qi::domain, tag::as_wstring>
- : mpl::true_ {};
-
- // enables as<T>[...]
- template <typename T>
- struct use_directive<qi::domain, tag::stateful_tag<T, tag::as> >
- : mpl::true_
- {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::as_string;
- using spirit::as_wstring;
-#endif
- using spirit::as_string_type;
- using spirit::as_wstring_type;
-
- template <typename Subject, typename T>
- struct as_directive : unary_parser<as_directive<Subject, T> >
- {
- typedef Subject subject_type;
- as_directive(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef T type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, Attribute& attr_) const
- {
- Iterator i = first;
- T as_attr;
- if (subject.parse(i, last, context, skipper, as_attr))
- {
- spirit::traits::assign_to(as_attr, attr_);
- first = i;
- return true;
- }
- return false;
- }
-
- template <typename Iterator, typename Context, typename Skipper>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, T& attr_) const
- {
- Iterator i = first;
- if (subject.parse(i, last, context, skipper, attr_))
- {
- first = i;
- return true;
- }
- return false;
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("as", subject.what(context));
- }
-
- Subject subject;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Modifiers>
- struct make_directive<tag::as_string, Subject, Modifiers>
- {
- typedef as_directive<Subject, std::string> result_type;
- result_type operator()(unused_type, Subject const& subject
- , unused_type) const
- {
- return result_type(subject);
- }
- };
-
- template <typename Subject, typename Modifiers>
- struct make_directive<tag::as_wstring, Subject, Modifiers>
- {
- typedef as_directive<Subject, std::basic_string<wchar_t> > result_type;
- result_type operator()(unused_type, Subject const& subject
- , unused_type) const
- {
- return result_type(subject);
- }
- };
-
- template <typename T, typename Subject, typename Modifiers>
- struct make_directive<tag::stateful_tag<T, tag::as>, Subject, Modifiers>
- {
- typedef as_directive<Subject, T> result_type;
- result_type operator()(unused_type, Subject const& subject
- , unused_type) const
- {
- return result_type(subject);
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename T>
- struct has_semantic_action<qi::as_directive<Subject, T> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename T, typename Attribute
- , typename Context, typename Iterator>
- struct handles_container<qi::as_directive<Subject, T>, Attribute
- , Context, Iterator>
- : mpl::false_ {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/encoding.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/encoding.hpp
deleted file mode 100644
index 27ef8a1fd5..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/encoding.hpp
+++ /dev/null
@@ -1,32 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DIRECTIVE_ENCODING_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_ENCODING_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharEncoding>
- struct use_directive<
- qi::domain, tag::char_code<tag::encoding, CharEncoding> > // enables encoding
- : mpl::true_ {};
-
- template <typename CharEncoding>
- struct is_modifier_directive<qi::domain, tag::char_code<tag::encoding, CharEncoding> >
- : mpl::true_ {};
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/expect.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/expect.hpp
deleted file mode 100644
index 9f238b9f3c..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/expect.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/*=============================================================================
-Copyright (c) 2016 Frank Hein, maxence business consulting gmbh
-
-Distributed under the 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_SPIRIT_QI_DIRECTIVE_EXPECT_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_EXPECT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/qi/detail/expectation_failure.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-
-namespace boost { namespace spirit {
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_directive<qi::domain, tag::expect> // enables expect[p]
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi {
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::expect;
-#endif
- using spirit::expect_type;
-
- template <typename Subject>
- struct expect_directive : unary_parser<expect_directive<Subject> >
- {
- typedef result_of::compile<domain, Subject> subject_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef traits::attribute_of<subject_type, Context, Iterator>
- type;
- };
-
- expect_directive(Subject const& subject_) : subject(subject_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef expectation_failure<Iterator> exception;
-
- if (!subject.parse(first, last, context, skipper, attr_))
- {
- boost::throw_exception(
- exception(first, last, subject.what(context)));
-#if defined(BOOST_NO_EXCEPTIONS)
- return false; // for systems not supporting exceptions
-#endif
- }
- return true;
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("expect", subject.what(context));
- }
-
- Subject subject;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Modifiers>
- struct make_directive<tag::expect, Subject, Modifiers>
- {
- typedef expect_directive<Subject> result_type;
-
- result_type operator()
- (unused_type, Subject const& subject, unused_type) const
- {
- return result_type(subject);
- }
- };
-
-}}}
-
-namespace boost { namespace spirit { namespace traits {
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::expect_directive<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute
- , typename Context, typename Iterator>
- struct handles_container<
- qi::expect_directive<Subject>, Attribute, Context, Iterator
- >
- : unary_handles_container<Subject, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/hold.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/hold.hpp
deleted file mode 100644
index c9cbf54d5b..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/hold.hpp
+++ /dev/null
@@ -1,109 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DIRECTIVE_HOLD_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_HOLD_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/support/attributes.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_directive<qi::domain, tag::hold> // enables hold
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::hold;
-#endif
- using spirit::hold_type;
-
- template <typename Subject>
- struct hold_directive : unary_parser<hold_directive<Subject> >
- {
- typedef Subject subject_type;
- hold_directive(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename
- traits::attribute_of<subject_type, Context, Iterator>::type
- type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, Attribute& attr_) const
- {
- Attribute copy(attr_);
- if (subject.parse(first, last, context, skipper, copy))
- {
- traits::swap_impl(copy, attr_);
- return true;
- }
- return false;
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("hold", subject.what(context));
-
- }
-
- Subject subject;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Modifiers>
- struct make_directive<tag::hold, Subject, Modifiers>
- {
- typedef hold_directive<Subject> result_type;
- result_type operator()(unused_type, Subject const& subject, unused_type) const
- {
- return result_type(subject);
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::hold_directive<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::hold_directive<Subject>, Attribute
- , Context, Iterator>
- : unary_handles_container<Subject, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/lexeme.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/lexeme.hpp
deleted file mode 100644
index 9dc0a57bb4..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/lexeme.hpp
+++ /dev/null
@@ -1,120 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DIRECTIVE_LEXEME_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_LEXEME_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/detail/unused_skipper.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_directive<qi::domain, tag::lexeme> // enables lexeme
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::lexeme;
-#endif
- using spirit::lexeme_type;
-
- template <typename Subject>
- struct lexeme_directive : unary_parser<lexeme_directive<Subject> >
- {
- typedef Subject subject_type;
- lexeme_directive(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename
- traits::attribute_of<subject_type, Context, Iterator>::type
- type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- typename disable_if<detail::is_unused_skipper<Skipper>, bool>::type
- parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- qi::skip_over(first, last, skipper);
- return subject.parse(first, last, context
- , detail::unused_skipper<Skipper>(skipper), attr_);
- }
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- typename enable_if<detail::is_unused_skipper<Skipper>, bool>::type
- parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- // no need to pre-skip if skipper is unused
- //- qi::skip_over(first, last, skipper);
- return subject.parse(first, last, context
- , skipper, attr_);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("lexeme", subject.what(context));
-
- }
-
- Subject subject;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Modifiers>
- struct make_directive<tag::lexeme, Subject, Modifiers>
- {
- typedef lexeme_directive<Subject> result_type;
- result_type operator()(unused_type, Subject const& subject, unused_type) const
- {
- return result_type(subject);
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::lexeme_directive<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::lexeme_directive<Subject>, Attribute
- , Context, Iterator>
- : unary_handles_container<Subject, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/matches.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/matches.hpp
deleted file mode 100644
index f56f4b6a9b..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/matches.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 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_SPIRIT_QI_DIRECTIVE_MATCHES_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_MATCHES_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/detail/assign_to.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_directive<qi::domain, tag::matches> // enables matches
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::matches;
-#endif
- using spirit::matches_type;
-
- ///////////////////////////////////////////////////////////////////////////
- // matches_directive returns whether the embedded parser matched
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct matches_directive : unary_parser<matches_directive<Subject> >
- {
- typedef Subject subject_type;
- matches_directive(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef bool type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, Attribute& attr_) const
- {
- bool result = subject.parse(first, last, context, skipper, unused);
- spirit::traits::assign_to(result, attr_);
- return true;
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("matches", subject.what(context));
- }
-
- Subject subject;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(matches_directive& operator= (matches_directive const&))
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Modifiers>
- struct make_directive<tag::matches, Subject, Modifiers>
- {
- typedef matches_directive<Subject> result_type;
- result_type operator()(unused_type, Subject const& subject, unused_type) const
- {
- return result_type(subject);
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::matches_directive<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::matches_directive<Subject>, Attribute
- , Context, Iterator>
- : unary_handles_container<Subject, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/no_case.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/no_case.hpp
deleted file mode 100644
index d961dbca9f..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/no_case.hpp
+++ /dev/null
@@ -1,32 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DIRECTIVE_NO_CASE_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_NO_CASE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharEncoding>
- struct use_directive<
- qi::domain, tag::char_code<tag::no_case, CharEncoding> > // enables no_case
- : mpl::true_ {};
-
- template <typename CharEncoding>
- struct is_modifier_directive<qi::domain, tag::char_code<tag::no_case, CharEncoding> >
- : mpl::true_ {};
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/no_skip.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/no_skip.hpp
deleted file mode 100644
index 0f35d46f49..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/no_skip.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_DIRECTIVE_NO_SKIP_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_NO_SKIP_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/detail/unused_skipper.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/attributes.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_directive<qi::domain, tag::no_skip> // enables no_skip
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::no_skip;
-#endif
- using spirit::no_skip_type;
-
- // same as lexeme[], but does not pre-skip
- template <typename Subject>
- struct no_skip_directive : unary_parser<no_skip_directive<Subject> >
- {
- typedef Subject subject_type;
- no_skip_directive(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename
- traits::attribute_of<subject_type, Context, Iterator>::type
- type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- typename disable_if<detail::is_unused_skipper<Skipper>, bool>::type
- parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- return subject.parse(first, last, context
- , detail::unused_skipper<Skipper>(skipper), attr_);
- }
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- typename enable_if<detail::is_unused_skipper<Skipper>, bool>::type
- parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- return subject.parse(first, last, context
- , skipper, attr_);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("no_skip", subject.what(context));
-
- }
-
- Subject subject;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Modifiers>
- struct make_directive<tag::no_skip, Subject, Modifiers>
- {
- typedef no_skip_directive<Subject> result_type;
- result_type operator()(unused_type, Subject const& subject, unused_type) const
- {
- return result_type(subject);
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::no_skip_directive<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::no_skip_directive<Subject>, Attribute
- , Context, Iterator>
- : unary_handles_container<Subject, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/omit.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/omit.hpp
deleted file mode 100644
index 0d3c686128..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/omit.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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DIRECTIVE_OMIT_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_OMIT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_directive<qi::domain, tag::omit> // enables omit
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::omit;
-#endif
- using spirit::omit_type;
-
- ///////////////////////////////////////////////////////////////////////////
- // omit_directive forces the attribute of subject parser
- // to be unused_type
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct omit_directive : unary_parser<omit_directive<Subject> >
- {
- typedef Subject subject_type;
- omit_directive(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef unused_type type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, Attribute& attr_) const
- {
- return subject.parse(first, last, context, skipper, attr_);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("omit", subject.what(context));
- }
-
- Subject subject;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(omit_directive& operator= (omit_directive const&))
- omit_directive(const omit_directive&) = default;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Modifiers>
- struct make_directive<tag::omit, Subject, Modifiers>
- {
- typedef omit_directive<Subject> result_type;
- result_type operator()(unused_type, Subject const& subject, unused_type) const
- {
- return result_type(subject);
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::omit_directive<Subject> >
- : mpl::false_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::omit_directive<Subject>, Attribute
- , Context, Iterator>
- : unary_handles_container<Subject, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/raw.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/raw.hpp
deleted file mode 100644
index f93b6ce8ea..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/raw.hpp
+++ /dev/null
@@ -1,111 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DIRECTIVE_RAW_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_RAW_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/detail/assign_to.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/range/iterator_range_core.hpp> // TODO: use forward include
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_directive<qi::domain, tag::raw> // enables raw
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::raw;
-#endif
- using spirit::raw_type;
-
- template <typename Subject>
- struct raw_directive : unary_parser<raw_directive<Subject> >
- {
- typedef Subject subject_type;
- raw_directive(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef iterator_range<Iterator> type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, Attribute& attr_) const
- {
- qi::skip_over(first, last, skipper);
- Iterator i = first;
- if (subject.parse(i, last, context, skipper, unused))
- {
- spirit::traits::assign_to(first, i, attr_);
- first = i;
- return true;
- }
- return false;
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("raw", subject.what(context));
-
- }
-
- Subject subject;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Modifiers>
- struct make_directive<tag::raw, Subject, Modifiers>
- {
- typedef raw_directive<Subject> result_type;
- result_type operator()(unused_type, Subject const& subject, unused_type) const
- {
- return result_type(subject);
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::raw_directive<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::raw_directive<Subject>, Attribute
- , Context, Iterator>
- : mpl::true_ {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/repeat.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/repeat.hpp
deleted file mode 100644
index 07e262c5f7..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/repeat.hpp
+++ /dev/null
@@ -1,296 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_DIRECTIVE_REPEAT_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_REPEAT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/auxiliary/lazy.hpp>
-#include <boost/spirit/home/qi/operator/kleene.hpp>
-#include <boost/spirit/home/support/container.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/qi/detail/fail_function.hpp>
-#include <boost/spirit/home/qi/detail/pass_container.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <vector>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_directive<qi::domain, tag::repeat> // enables repeat[p]
- : mpl::true_ {};
-
- template <typename T>
- struct use_directive<qi::domain
- , terminal_ex<tag::repeat // enables repeat(exact)[p]
- , fusion::vector1<T> >
- > : mpl::true_ {};
-
- template <typename T>
- struct use_directive<qi::domain
- , terminal_ex<tag::repeat // enables repeat(min, max)[p]
- , fusion::vector2<T, T> >
- > : mpl::true_ {};
-
- template <typename T>
- struct use_directive<qi::domain
- , terminal_ex<tag::repeat // enables repeat(min, inf)[p]
- , fusion::vector2<T, inf_type> >
- > : mpl::true_ {};
-
- template <> // enables *lazy* repeat(exact)[p]
- struct use_lazy_directive<
- qi::domain
- , tag::repeat
- , 1 // arity
- > : mpl::true_ {};
-
- template <> // enables *lazy* repeat(min, max)[p]
- struct use_lazy_directive< // and repeat(min, inf)[p]
- qi::domain
- , tag::repeat
- , 2 // arity
- > : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::repeat;
- using spirit::inf;
-#endif
- using spirit::repeat_type;
- using spirit::inf_type;
-
- template <typename T>
- struct exact_iterator // handles repeat(exact)[p]
- {
- exact_iterator(T const exact_)
- : exact(exact_) {}
-
- typedef T type;
- T start() const { return 0; }
- bool got_max(T i) const { return i >= exact; }
- bool got_min(T i) const { return i >= exact; }
-
- T const exact;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(exact_iterator& operator= (exact_iterator const&))
- exact_iterator(const exact_iterator&) = default;
- };
-
- template <typename T>
- struct finite_iterator // handles repeat(min, max)[p]
- {
- finite_iterator(T const min_, T const max_)
- : min BOOST_PREVENT_MACRO_SUBSTITUTION (min_)
- , max BOOST_PREVENT_MACRO_SUBSTITUTION (max_) {}
-
- typedef T type;
- T start() const { return 0; }
- bool got_max(T i) const { return i >= max; }
- bool got_min(T i) const { return i >= min; }
-
- T const min;
- T const max;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(finite_iterator& operator= (finite_iterator const&))
- finite_iterator(const finite_iterator&) = default;
- };
-
- template <typename T>
- struct infinite_iterator // handles repeat(min, inf)[p]
- {
- infinite_iterator(T const min_)
- : min BOOST_PREVENT_MACRO_SUBSTITUTION (min_) {}
-
- typedef T type;
- T start() const { return 0; }
- bool got_max(T /*i*/) const { return false; }
- bool got_min(T i) const { return i >= min; }
-
- T const min;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(infinite_iterator& operator= (infinite_iterator const&))
- };
-
- template <typename Subject, typename LoopIter>
- struct repeat_parser : unary_parser<repeat_parser<Subject, LoopIter> >
- {
- typedef Subject subject_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- // Build a std::vector from the subject's attribute. Note
- // that build_std_vector may return unused_type if the
- // subject's attribute is an unused_type.
- typedef typename
- traits::build_std_vector<
- typename traits::attribute_of<
- Subject, Context, Iterator>::type
- >::type
- type;
- };
-
- repeat_parser(Subject const& subject_, LoopIter const& iter_)
- : subject(subject_), iter(iter_) {}
-
- template <typename F>
- bool parse_container(F f) const
- {
- typename LoopIter::type i = iter.start();
- for (/**/; !iter.got_min(i); ++i)
- {
- if (f (subject))
- return false;
- }
-
- // parse some more up to the maximum specified
- typename F::iterator_type save = f.f.first;
- for (/**/; !iter.got_max(i); ++i)
- {
- if (f (subject))
- break;
- save = f.f.first;
- }
-
- f.f.first = save;
- return true;
- }
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef detail::fail_function<Iterator, Context, Skipper>
- fail_function;
-
- // ensure the attribute is actually a container type
- traits::make_container(attr_);
-
- Iterator iter_local = first;
- fail_function f(iter_local, last, context, skipper);
- if (!parse_container(detail::make_pass_container(f, attr_)))
- return false;
-
- first = f.first;
- return true;
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("repeat", subject.what(context));
- }
-
- Subject subject;
- LoopIter iter;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(repeat_parser& operator= (repeat_parser const&))
- repeat_parser(const repeat_parser&) = default;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Modifiers>
- struct make_directive<tag::repeat, Subject, Modifiers>
- {
- typedef kleene<Subject> result_type;
- result_type operator()(unused_type, Subject const& subject, unused_type) const
- {
- return result_type(subject);
- }
- };
-
- template <typename T, typename Subject, typename Modifiers>
- struct make_directive<
- terminal_ex<tag::repeat, fusion::vector1<T> >, Subject, Modifiers>
- {
- typedef exact_iterator<T> iterator_type;
- typedef repeat_parser<Subject, iterator_type> result_type;
-
- template <typename Terminal>
- result_type operator()(
- Terminal const& term, Subject const& subject, unused_type) const
- {
- return result_type(subject, fusion::at_c<0>(term.args));
- }
- };
-
- template <typename T, typename Subject, typename Modifiers>
- struct make_directive<
- terminal_ex<tag::repeat, fusion::vector2<T, T> >, Subject, Modifiers>
- {
- typedef finite_iterator<T> iterator_type;
- typedef repeat_parser<Subject, iterator_type> result_type;
-
- template <typename Terminal>
- result_type operator()(
- Terminal const& term, Subject const& subject, unused_type) const
- {
- return result_type(subject,
- iterator_type(
- fusion::at_c<0>(term.args)
- , fusion::at_c<1>(term.args)
- )
- );
- }
- };
-
- template <typename T, typename Subject, typename Modifiers>
- struct make_directive<
- terminal_ex<tag::repeat
- , fusion::vector2<T, inf_type> >, Subject, Modifiers>
- {
- typedef infinite_iterator<T> iterator_type;
- typedef repeat_parser<Subject, iterator_type> result_type;
-
- template <typename Terminal>
- result_type operator()(
- Terminal const& term, Subject const& subject, unused_type) const
- {
- return result_type(subject, fusion::at_c<0>(term.args));
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename LoopIter>
- struct has_semantic_action<qi::repeat_parser<Subject, LoopIter> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename LoopIter, typename Attribute
- , typename Context, typename Iterator>
- struct handles_container<qi::repeat_parser<Subject, LoopIter>
- , Attribute, Context, Iterator>
- : mpl::true_ {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/skip.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/skip.hpp
deleted file mode 100644
index 55f114d226..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/directive/skip.hpp
+++ /dev/null
@@ -1,202 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_DIRECTIVE_SKIP_HPP
-#define BOOST_SPIRIT_QI_DIRECTIVE_SKIP_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/auxiliary/lazy.hpp>
-#include <boost/spirit/home/qi/operator/kleene.hpp>
-#include <boost/spirit/home/qi/directive/lexeme.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/detail/unused_skipper.hpp>
-#include <boost/spirit/home/support/container.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/fusion/include/vector.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_directive<qi::domain, tag::skip> // enables skip[p]
- : mpl::true_ {};
-
- template <typename T>
- struct use_directive<qi::domain
- , terminal_ex<tag::skip // enables skip(s)[p]
- , fusion::vector1<T> >
- > : boost::spirit::traits::matches<qi::domain, T> {};
-
- template <> // enables *lazy* skip(s)[p]
- struct use_lazy_directive<
- qi::domain
- , tag::skip
- , 1 // arity
- > : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::skip;
-#endif
- using spirit::skip_type;
-
- template <typename Subject>
- struct reskip_parser : unary_parser<reskip_parser<Subject> >
- {
- typedef Subject subject_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename
- traits::attribute_of<Subject, Context, Iterator>::type
- type;
- };
-
- reskip_parser(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- typename enable_if<detail::is_unused_skipper<Skipper>, bool>::type
- parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& u // --> The skipper is reintroduced
- , Attribute& attr_) const
- {
- return subject.parse(first, last, context
- , detail::get_skipper(u), attr_);
- }
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- typename disable_if<detail::is_unused_skipper<Skipper>, bool>::type
- parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- return subject.parse(first, last, context
- , skipper, attr_);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("skip", subject.what(context));
- }
-
- Subject subject;
- };
-
- template <typename Subject, typename Skipper>
- struct skip_parser : unary_parser<skip_parser<Subject, Skipper> >
- {
- typedef Subject subject_type;
- typedef Skipper skipper_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename
- traits::attribute_of<Subject, Context, Iterator>::type
- type;
- };
-
- skip_parser(Subject const& subject_, Skipper const& skipper_)
- : subject(subject_), skipper(skipper_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper_, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper_ const& //skipper --> bypass the supplied skipper
- , Attribute& attr_) const
- {
- return subject.parse(first, last, context, skipper, attr_);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("skip", subject.what(context));
- }
-
- Subject subject;
- Skipper skipper;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Modifiers>
- struct make_directive<tag::skip, Subject, Modifiers>
- {
- typedef reskip_parser<Subject> result_type;
- result_type operator()(unused_type, Subject const& subject, unused_type) const
- {
- return result_type(subject);
- }
- };
-
- template <typename Skipper, typename Subject, typename Modifiers>
- struct make_directive<
- terminal_ex<tag::skip, fusion::vector1<Skipper> >, Subject, Modifiers>
- {
- typedef typename
- result_of::compile<qi::domain, Skipper, Modifiers>::type
- skipper_type;
-
- typedef skip_parser<Subject, skipper_type> result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, Subject const& subject
- , Modifiers const& modifiers) const
- {
- return result_type(subject
- , compile<qi::domain>(fusion::at_c<0>(term.args), modifiers));
- }
- };
-
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::reskip_parser<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- template <typename Subject, typename Skipper>
- struct has_semantic_action<qi::skip_parser<Subject, Skipper> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::reskip_parser<Subject>, Attribute
- , Context, Iterator>
- : unary_handles_container<Subject, Attribute, Context, Iterator> {};
-
- template <typename Subject, typename Skipper, typename Attribute
- , typename Context, typename Iterator>
- struct handles_container<qi::skip_parser<Subject, Skipper>, Attribute
- , Context, Iterator>
- : unary_handles_container<Subject, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/domain.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/domain.hpp
deleted file mode 100644
index cc6b8c3911..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/domain.hpp
+++ /dev/null
@@ -1,74 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_DOMAIN_JANUARY_29_2007_0954AM)
-#define BOOST_SPIRIT_DOMAIN_JANUARY_29_2007_0954AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/meta_compiler.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/argument.hpp>
-#include <boost/spirit/home/support/context.hpp>
-
-#include <boost/preprocessor/repeat.hpp>
-#include <boost/preprocessor/cat.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- // qi's domain
- struct domain {};
-
- // bring in some of spirit parts into spirit::qi
- using spirit::unused;
- using spirit::unused_type;
- using spirit::compile;
- using spirit::info;
-
- // You can bring these in with the using directive
- // without worrying about bringing in too much.
- namespace labels
- {
- BOOST_PP_REPEAT(SPIRIT_ARGUMENTS_LIMIT, SPIRIT_USING_ARGUMENT, _)
- BOOST_PP_REPEAT(SPIRIT_ATTRIBUTES_LIMIT, SPIRIT_USING_ATTRIBUTE, _)
-
- using spirit::_pass_type;
- using spirit::_val_type;
- using spirit::_a_type;
- using spirit::_b_type;
- using spirit::_c_type;
- using spirit::_d_type;
- using spirit::_e_type;
- using spirit::_f_type;
- using spirit::_g_type;
- using spirit::_h_type;
- using spirit::_i_type;
- using spirit::_j_type;
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
-
- using spirit::_pass;
- using spirit::_val;
- using spirit::_a;
- using spirit::_b;
- using spirit::_c;
- using spirit::_d;
- using spirit::_e;
- using spirit::_f;
- using spirit::_g;
- using spirit::_h;
- using spirit::_i;
- using spirit::_j;
-
-#endif
- }
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/meta_compiler.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/meta_compiler.hpp
deleted file mode 100644
index afebaa3e37..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/meta_compiler.hpp
+++ /dev/null
@@ -1,178 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_META_COMPILER_OCTOBER_16_2008_0347PM)
-#define BOOST_SPIRIT_META_COMPILER_OCTOBER_16_2008_0347PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/meta_compiler.hpp>
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/support/string_traits.hpp>
-#include <boost/proto/tags.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/fusion/include/at.hpp>
-
-namespace boost { namespace spirit
-{
- template <typename T>
- struct use_terminal<qi::domain, T
- , typename enable_if<traits::is_parser<T> >::type> // enables parsers
- : mpl::true_ {};
-
- namespace qi
- {
- template <typename T, typename Modifiers, typename Enable = void>
- struct make_primitive // by default, return it as-is
- {
- typedef T result_type;
-
- template <typename T_>
- T_& operator()(T_& val, unused_type) const
- {
- return val;
- }
-
- template <typename T_>
- T_ const& operator()(T_ const& val, unused_type) const
- {
- return val;
- }
- };
-
- template <typename Tag, typename Elements
- , typename Modifiers, typename Enable = void>
- struct make_composite;
-
- template <typename Directive, typename Body
- , typename Modifiers, typename Enable = void>
- struct make_directive
- {
- typedef Body result_type;
- result_type operator()(unused_type, Body const& body, unused_type) const
- {
- return body; // By default, a directive simply returns its subject
- }
- };
- }
-
- // Qi primitive meta-compiler
- template <>
- struct make_component<qi::domain, proto::tag::terminal>
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Elements, typename Modifiers>
- struct result<This(Elements, Modifiers)>
- {
- typedef typename qi::make_primitive<
- typename remove_const<typename Elements::car_type>::type,
- typename remove_reference<Modifiers>::type>::result_type
- type;
- };
-
- template <typename Elements, typename Modifiers>
- typename result<make_component(Elements, Modifiers)>::type
- operator()(Elements const& elements, Modifiers const& modifiers) const
- {
- typedef typename remove_const<typename Elements::car_type>::type term;
- return qi::make_primitive<term, Modifiers>()(elements.car, modifiers);
- }
- };
-
- // Qi composite meta-compiler
- template <typename Tag>
- struct make_component<qi::domain, Tag>
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Elements, typename Modifiers>
- struct result<This(Elements, Modifiers)>
- {
- typedef typename
- qi::make_composite<Tag, Elements,
- typename remove_reference<Modifiers>::type>::result_type
- type;
- };
-
- template <typename Elements, typename Modifiers>
- typename result<make_component(Elements, Modifiers)>::type
- operator()(Elements const& elements, Modifiers const& modifiers) const
- {
- return qi::make_composite<Tag, Elements, Modifiers>()(
- elements, modifiers);
- }
- };
-
- // Qi function meta-compiler
- template <>
- struct make_component<qi::domain, proto::tag::function>
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Elements, typename Modifiers>
- struct result<This(Elements, Modifiers)>
- {
- typedef typename
- qi::make_composite<
- typename remove_const<typename Elements::car_type>::type,
- typename Elements::cdr_type,
- typename remove_reference<Modifiers>::type
- >::result_type
- type;
- };
-
- template <typename Elements, typename Modifiers>
- typename result<make_component(Elements, Modifiers)>::type
- operator()(Elements const& elements, Modifiers const& modifiers) const
- {
- return qi::make_composite<
- typename remove_const<typename Elements::car_type>::type,
- typename Elements::cdr_type,
- Modifiers>()(elements.cdr, modifiers);
- }
- };
-
- // Qi directive meta-compiler
- template <>
- struct make_component<qi::domain, tag::directive>
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Elements, typename Modifiers>
- struct result<This(Elements, Modifiers)>
- {
- typedef typename
- qi::make_directive<
- typename remove_const<typename Elements::car_type>::type,
- typename remove_const<typename Elements::cdr_type::car_type>::type,
- typename remove_reference<Modifiers>::type
- >::result_type
- type;
- };
-
- template <typename Elements, typename Modifiers>
- typename result<make_component(Elements, Modifiers)>::type
- operator()(Elements const& elements, Modifiers const& modifiers) const
- {
- return qi::make_directive<
- typename remove_const<typename Elements::car_type>::type,
- typename remove_const<typename Elements::cdr_type::car_type>::type,
- Modifiers>()(elements.car, elements.cdr.car, modifiers);
- }
- };
-
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal.hpp
deleted file mode 100644
index e96fbf5fb4..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal.hpp
+++ /dev/null
@@ -1,21 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_NONTERMINAL_FEBRUARY_12_2007_1018AM)
-#define BOOST_SPIRIT_NONTERMINAL_FEBRUARY_12_2007_1018AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/nonterminal/rule.hpp>
-#include <boost/spirit/home/qi/nonterminal/grammar.hpp>
-#include <boost/spirit/home/qi/nonterminal/error_handler.hpp>
-#include <boost/spirit/home/qi/nonterminal/debug_handler.hpp>
-#include <boost/spirit/home/qi/nonterminal/simple_trace.hpp>
-#include <boost/spirit/home/qi/nonterminal/success_handler.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/debug_handler.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/debug_handler.hpp
deleted file mode 100644
index b7bab6fe6d..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/debug_handler.hpp
+++ /dev/null
@@ -1,145 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_DEBUG_HANDLER_DECEMBER_05_2008_0734PM)
-#define BOOST_SPIRIT_DEBUG_HANDLER_DECEMBER_05_2008_0734PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/qi/nonterminal/rule.hpp>
-#include <boost/spirit/home/qi/nonterminal/debug_handler_state.hpp>
-#include <boost/spirit/home/qi/detail/expectation_failure.hpp>
-#include <boost/function.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/fusion/include/vector.hpp>
-#include <boost/fusion/include/out.hpp>
-#include <iostream>
-
-namespace boost { namespace spirit { namespace qi
-{
- template <
- typename Iterator, typename Context
- , typename Skipper, typename F>
- struct debug_handler
- {
- typedef function<
- bool(Iterator& first, Iterator const& last
- , Context& context
- , Skipper const& skipper
- )>
- function_type;
-
- debug_handler(
- function_type subject_
- , F f_
- , std::string const& rule_name_)
- : subject(subject_)
- , f(f_)
- , rule_name(rule_name_)
- {
- }
-
- bool operator()(
- Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper) const
- {
- f(first, last, context, pre_parse, rule_name);
- try // subject might throw an exception
- {
- if (subject(first, last, context, skipper))
- {
- f(first, last, context, successful_parse, rule_name);
- return true;
- }
- f(first, last, context, failed_parse, rule_name);
- }
- catch (expectation_failure<Iterator> const& e)
- {
- f(first, last, context, failed_parse, rule_name);
- boost::throw_exception(e);
- }
- return false;
- }
-
- function_type subject;
- F f;
- std::string rule_name;
- };
-
- template <typename Iterator
- , typename T1, typename T2, typename T3, typename T4, typename F>
- void debug(rule<Iterator, T1, T2, T3, T4>& r, F f)
- {
- typedef rule<Iterator, T1, T2, T3, T4> rule_type;
-
- typedef
- debug_handler<
- Iterator
- , typename rule_type::context_type
- , typename rule_type::skipper_type
- , F>
- debug_handler;
- r.f = debug_handler(r.f, f, r.name());
- }
-
- struct simple_trace;
-
- namespace detail
- {
- // This class provides an extra level of indirection through a
- // template to produce the simple_trace type. This way, the use
- // of simple_trace below is hidden behind a dependent type, so
- // that compilers eagerly type-checking template definitions
- // won't complain that simple_trace is incomplete.
- template<typename T>
- struct get_simple_trace
- {
- typedef simple_trace type;
- };
- }
-
- template <typename Iterator
- , typename T1, typename T2, typename T3, typename T4>
- void debug(rule<Iterator, T1, T2, T3, T4>& r)
- {
- typedef rule<Iterator, T1, T2, T3, T4> rule_type;
-
- typedef
- debug_handler<
- Iterator
- , typename rule_type::context_type
- , typename rule_type::skipper_type
- , simple_trace>
- debug_handler;
-
- typedef typename qi::detail::get_simple_trace<Iterator>::type trace;
- r.f = debug_handler(r.f, trace(), r.name());
- }
-
-}}}
-
-///////////////////////////////////////////////////////////////////////////////
-// Utility macro for easy enabling of rule and grammar debugging
-#if !defined(BOOST_SPIRIT_DEBUG_NODE)
- #if defined(BOOST_SPIRIT_DEBUG) || defined(BOOST_SPIRIT_QI_DEBUG)
- #define BOOST_SPIRIT_DEBUG_NODE(r) r.name(#r); debug(r)
- #else
- #define BOOST_SPIRIT_DEBUG_NODE(r) r.name(#r)
- #endif
-#endif
-
-#define BOOST_SPIRIT_DEBUG_NODE_A(r, _, name) \
- BOOST_SPIRIT_DEBUG_NODE(name); \
- /***/
-
-#define BOOST_SPIRIT_DEBUG_NODES(seq) \
- BOOST_PP_SEQ_FOR_EACH(BOOST_SPIRIT_DEBUG_NODE_A, _, seq) \
- /***/
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/debug_handler_state.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/debug_handler_state.hpp
deleted file mode 100644
index cb24c01f47..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/debug_handler_state.hpp
+++ /dev/null
@@ -1,24 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_DEBUG_HANDLER_STATE_APR_21_2010_0733PM)
-#define BOOST_SPIRIT_DEBUG_HANDLER_STATE_APR_21_2010_0733PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-namespace boost { namespace spirit { namespace qi
-{
- enum debug_handler_state
- {
- pre_parse
- , successful_parse
- , failed_parse
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/fcall.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/fcall.hpp
deleted file mode 100644
index e4fa17f985..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/fcall.hpp
+++ /dev/null
@@ -1,53 +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)
-==============================================================================*/
-#ifndef BOOST_PP_IS_ITERATING
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-
-#define BOOST_PP_FILENAME_1 \
- <boost/spirit/home/qi/nonterminal/detail/fcall.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, SPIRIT_ARGUMENTS_LIMIT)
-#include BOOST_PP_ITERATE()
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-#else // defined(BOOST_PP_IS_ITERATING)
-
-#define N BOOST_PP_ITERATION()
-
- template <BOOST_PP_ENUM_PARAMS(N, typename A)>
- typename lazy_enable_if_c<
- (params_size == N)
- , proto::terminal<
- spirit::qi::parameterized_nonterminal<
- parameterized_subject_type
- , fusion::vector<BOOST_PP_ENUM_PARAMS(N, A)> >
- >
- >::type
- operator()(BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& f)) const
- {
- typedef fusion::vector<BOOST_PP_ENUM_PARAMS(N, A)> vector_type;
- typedef spirit::qi::parameterized_nonterminal<
- parameterized_subject_type, vector_type> parameterized_type;
- typedef typename proto::terminal<parameterized_type>::type result_type;
-
- return result_type::make(
- parameterized_type(
- this->get_parameterized_subject()
- , fusion::make_vector(BOOST_PP_ENUM_PARAMS(N, f)))
- );
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
-
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/parameterized.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/parameterized.hpp
deleted file mode 100644
index 825fa40732..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/parameterized.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2009 Francois Barel
-
- Distributed under the 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_PARAMETERIZED_AUGUST_09_2009_0539AM)
-#define BOOST_SPIRIT_PARAMETERIZED_AUGUST_09_2009_0539AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/ref.hpp>
-
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- ///////////////////////////////////////////////////////////////////////////
- // parameterized_nonterminal: parser representing the invocation of a
- // nonterminal, passing inherited attributes
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Params>
- struct parameterized_nonterminal
- : parser<parameterized_nonterminal<Subject, Params> >
- {
- parameterized_nonterminal(Subject const& subject, Params const& params_)
- : ref(subject), params(params_)
- {
- }
-
- template <typename Context, typename Iterator>
- struct attribute
- // Forward to subject.
- : Subject::template attribute<Context, Iterator> {};
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- // Forward to subject, passing the additional
- // params argument to parse.
- return ref.get().parse(first, last, context, skipper, attr_, params);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- // Forward to subject.
- return ref.get().what(context);
- }
-
- boost::reference_wrapper<Subject const> ref;
- Params params;
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Params, typename Attribute
- , typename Context, typename Iterator>
- struct handles_container<qi::parameterized_nonterminal<Subject, Params>
- , Attribute, Context, Iterator>
- : handles_container<typename remove_const<Subject>::type
- , Attribute, Context, Iterator>
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp
deleted file mode 100644
index 87d8e84ec4..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp
+++ /dev/null
@@ -1,87 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_PARSER_BINDER_DECEMBER_05_2008_0516_PM)
-#define BOOST_SPIRIT_PARSER_BINDER_DECEMBER_05_2008_0516_PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/fusion/include/at.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- // parser_binder for plain rules
- template <typename Parser, typename Auto>
- struct parser_binder
- {
- parser_binder(Parser const& p_)
- : p(p_) {}
-
- template <typename Iterator, typename Skipper, typename Context>
- bool call(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, mpl::true_) const
- {
- // If DeducedAuto is false (semantic actions is present), the
- // component's attribute is unused.
- return p.parse(first, last, context, skipper, unused);
- }
-
- template <typename Iterator, typename Skipper, typename Context>
- bool call(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper, mpl::false_) const
- {
- // If DeducedAuto is true (no semantic action), we pass the rule's
- // attribute on to the component.
- return p.parse(first, last, context, skipper
- , fusion::at_c<0>(context.attributes));
- }
-
- template <typename Iterator, typename Skipper, typename Context>
- bool operator()(
- Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper) const
- {
- // If Auto is false, we need to deduce whether to apply auto rule
- typedef typename traits::has_semantic_action<Parser>::type auto_rule;
- return call(first, last, context, skipper, auto_rule());
- }
-
- Parser p;
- };
-
- // parser_binder for auto rules
- template <typename Parser>
- struct parser_binder<Parser, mpl::true_>
- {
- parser_binder(Parser const& p_)
- : p(p_) {}
-
- template <typename Iterator, typename Skipper, typename Context>
- bool operator()(
- Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper) const
- {
- // If Auto is true, we pass the rule's attribute on to the component.
- return p.parse(first, last, context, skipper
- , fusion::at_c<0>(context.attributes));
- }
-
- Parser p;
- };
-
- template <typename Auto, typename Parser>
- inline parser_binder<Parser, Auto>
- bind_parser(Parser const& p)
- {
- return parser_binder<Parser, Auto>(p);
- }
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/error_handler.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/error_handler.hpp
deleted file mode 100644
index e8c4f8771a..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/error_handler.hpp
+++ /dev/null
@@ -1,176 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_ERROR_HANDLER_APRIL_29_2007_1042PM)
-#define BOOST_SPIRIT_ERROR_HANDLER_APRIL_29_2007_1042PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/operator/expect.hpp>
-#include <boost/spirit/home/qi/nonterminal/rule.hpp>
-#include <boost/spirit/home/support/multi_pass_wrapper.hpp>
-#include <boost/function.hpp>
-#include <boost/assert.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- enum error_handler_result
- {
- fail
- , retry
- , accept
- , rethrow
- };
-
- namespace detail
- {
- // Helper template allowing to manage the inhibit clear queue flag in
- // a multi_pass iterator. This is the usual specialization used for
- // anything but a multi_pass iterator.
- template <typename Iterator, bool active>
- struct reset_on_exit
- {
- reset_on_exit(Iterator&) {}
- };
-
- // For 'retry' or 'fail' error handlers we need to inhibit the flushing
- // of the internal multi_pass buffers which otherwise might happen at
- // deterministic expectation points inside the encapsulated right hand
- // side of rule.
- template <typename Iterator>
- struct reset_on_exit<Iterator, true>
- {
- reset_on_exit(Iterator& it)
- : it_(it)
- , inhibit_clear_queue_(spirit::traits::inhibit_clear_queue(it))
- {
- spirit::traits::inhibit_clear_queue(it_, true);
- }
-
- ~reset_on_exit()
- {
- // reset inhibit flag in multi_pass on exit
- spirit::traits::inhibit_clear_queue(it_, inhibit_clear_queue_);
- }
-
- Iterator& it_;
- bool inhibit_clear_queue_;
- };
- }
-
- template <
- typename Iterator, typename Context
- , typename Skipper, typename F, error_handler_result action
- >
- struct error_handler
- {
- typedef function<
- bool(Iterator& first, Iterator const& last
- , Context& context
- , Skipper const& skipper
- )>
- function_type;
-
- error_handler(function_type subject_, F f_)
- : subject(subject_)
- , f(f_)
- {
- }
-
- bool operator()(
- Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper) const
- {
- typedef qi::detail::reset_on_exit<Iterator
- , traits::is_multi_pass<Iterator>::value &&
- (action == retry || action == fail)> on_exit_type;
-
- on_exit_type on_exit(first);
- for(;;)
- {
- try
- {
- Iterator i = first;
- bool r = subject(i, last, context, skipper);
- if (r)
- first = i;
- return r;
- }
- catch (expectation_failure<Iterator> const& x)
- {
- typedef
- fusion::vector<
- Iterator&
- , Iterator const&
- , Iterator const&
- , info const&>
- params;
- error_handler_result r = action;
- params args(first, last, x.first, x.what_);
- f(args, context, r);
-
- // The assertions below will fire if you are using a
- // multi_pass as the underlying iterator, one of your error
- // handlers forced its guarded rule to 'fail' or 'retry',
- // and the error handler has not been instantiated using
- // either 'fail' or 'retry' in the first place. Please see
- // the multi_pass docs for more information.
- switch (r)
- {
- case fail:
- BOOST_ASSERT(
- !traits::is_multi_pass<Iterator>::value ||
- action == retry || action == fail);
- return false;
- case retry:
- BOOST_ASSERT(
- !traits::is_multi_pass<Iterator>::value ||
- action == retry || action == fail);
- continue;
- case accept: return true;
- case rethrow: boost::throw_exception(x);
- }
- }
- }
- return false;
- }
-
- function_type subject;
- F f;
- };
-
- template <
- error_handler_result action
- , typename Iterator, typename T0, typename T1, typename T2
- , typename F>
- void on_error(rule<Iterator, T0, T1, T2>& r, F f)
- {
- typedef rule<Iterator, T0, T1, T2> rule_type;
-
- typedef
- error_handler<
- Iterator
- , typename rule_type::context_type
- , typename rule_type::skipper_type
- , F
- , action>
- error_handler;
- r.f = error_handler(r.f, f);
- }
-
- // Error handling support when <action> is not
- // specified. We will default to <fail>.
- template <typename Iterator, typename T0, typename T1
- , typename T2, typename F>
- void on_error(rule<Iterator, T0, T1, T2>& r, F f)
- {
- on_error<fail>(r, f);
- }
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/grammar.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/grammar.hpp
deleted file mode 100644
index ac91acf309..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/grammar.hpp
+++ /dev/null
@@ -1,134 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_GRAMMAR_FEBRUARY_19_2007_0236PM)
-#define BOOST_SPIRIT_GRAMMAR_FEBRUARY_19_2007_0236PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/assert_msg.hpp>
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/nonterminal/rule.hpp>
-#include <boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp>
-#include <boost/spirit/home/qi/reference.hpp>
-#include <boost/noncopyable.hpp>
-#include <boost/proto/extends.hpp>
-#include <boost/proto/traits.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- template <
- typename Iterator, typename T1, typename T2, typename T3
- , typename T4>
- struct grammar
- : proto::extends<
- typename proto::terminal<
- reference<rule<Iterator, T1, T2, T3, T4> const>
- >::type
- , grammar<Iterator, T1, T2, T3, T4>
- >
- , parser<grammar<Iterator, T1, T2, T3, T4> >
- , noncopyable
- {
- typedef Iterator iterator_type;
- typedef rule<Iterator, T1, T2, T3, T4> start_type;
- typedef typename start_type::sig_type sig_type;
- typedef typename start_type::locals_type locals_type;
- typedef typename start_type::skipper_type skipper_type;
- typedef typename start_type::encoding_type encoding_type;
- typedef grammar<Iterator, T1, T2, T3, T4> base_type;
- typedef reference<start_type const> reference_;
- typedef typename proto::terminal<reference_>::type terminal;
-
- static size_t const params_size = start_type::params_size;
-
- template <typename Context, typename Iterator_>
- struct attribute
- {
- typedef typename start_type::attr_type type;
- };
-
- grammar(
- start_type const& start
- , std::string const& name = "unnamed-grammar")
- : proto::extends<terminal, base_type>(terminal::make(reference_(start)))
- , name_(name)
- {}
-
- // This constructor is used to catch if the start rule is not
- // compatible with the grammar.
- template <typename Iterator_,
- typename T1_, typename T2_, typename T3_, typename T4_>
- grammar(
- rule<Iterator_, T1_, T2_, T3_, T4_> const&
- , std::string const& = "unnamed-grammar")
- {
- // If you see the assertion below failing then the start rule
- // passed to the constructor of the grammar is not compatible with
- // the grammar (i.e. it uses different template parameters).
- BOOST_SPIRIT_ASSERT_MSG(
- (is_same<start_type, rule<Iterator_, T1_, T2_, T3_, T4_> >::value)
- , incompatible_start_rule, (rule<Iterator_, T1_, T2_, T3_, T4_>));
- }
-
- std::string name() const
- {
- return name_;
- }
-
- void name(std::string const& str)
- {
- name_ = str;
- }
-
- template <typename Context, typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- return this->proto_base().child0.parse(
- first, last, context, skipper, attr_);
- }
-
- template <typename Context>
- info what(Context&) const
- {
- return info(name_);
- }
-
- // bring in the operator() overloads
- start_type const& get_parameterized_subject() const
- { return this->proto_base().child0.ref.get(); }
- typedef start_type parameterized_subject_type;
- #include <boost/spirit/home/qi/nonterminal/detail/fcall.hpp>
-
- std::string name_;
-
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <
- typename IteratorA, typename IteratorB, typename Attribute
- , typename Context, typename T1, typename T2, typename T3, typename T4>
- struct handles_container<
- qi::grammar<IteratorA, T1, T2, T3, T4>, Attribute, Context, IteratorB>
- : traits::is_container<
- typename attribute_of<
- qi::grammar<IteratorA, T1, T2, T3, T4>, Context, IteratorB
- >::type
- >
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp
deleted file mode 100644
index 9e393452ac..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_QI_NONTERMINAL_FWD_DEC_24_2010_1105PM)
-#define BOOST_SPIRIT_QI_NONTERMINAL_FWD_DEC_24_2010_1105PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- // forward declaration only
- template <
- typename Iterator, typename T1 = unused_type
- , typename T2 = unused_type, typename T3 = unused_type
- , typename T4 = unused_type>
- struct rule;
-
- template <
- typename Iterator, typename T1 = unused_type
- , typename T2 = unused_type, typename T3 = unused_type
- , typename T4 = unused_type>
- struct grammar;
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/rule.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/rule.hpp
deleted file mode 100644
index 60a2b1c64c..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/rule.hpp
+++ /dev/null
@@ -1,458 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_RULE_FEBRUARY_12_2007_1020AM)
-#define BOOST_SPIRIT_RULE_FEBRUARY_12_2007_1020AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/config.hpp>
-#include <boost/function.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/fusion/include/vector.hpp>
-#include <boost/fusion/include/size.hpp>
-#include <boost/fusion/include/make_vector.hpp>
-#include <boost/fusion/include/cons.hpp>
-#include <boost/fusion/include/as_list.hpp>
-#include <boost/fusion/include/as_vector.hpp>
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/argument.hpp>
-#include <boost/spirit/home/support/context.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/nonterminal/extract_param.hpp>
-#include <boost/spirit/home/support/nonterminal/locals.hpp>
-#include <boost/spirit/home/qi/reference.hpp>
-#include <boost/spirit/home/qi/nonterminal/detail/parameterized.hpp>
-#include <boost/spirit/home/qi/nonterminal/detail/parser_binder.hpp>
-#include <boost/spirit/home/qi/nonterminal/nonterminal_fwd.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-
-#include <boost/proto/extends.hpp>
-#include <boost/proto/traits.hpp>
-#include <boost/type_traits/is_reference.hpp>
-
-#if defined(BOOST_MSVC)
-# pragma warning(push)
-# pragma warning(disable: 4355) // 'this' : used in base member initializer list warning
-# pragma warning(disable: 4127) // conditional expression is constant
-#endif
-
-namespace boost { namespace spirit { namespace qi
-{
- BOOST_PP_REPEAT(SPIRIT_ATTRIBUTES_LIMIT, SPIRIT_USING_ATTRIBUTE, _)
-
- using spirit::_pass_type;
- using spirit::_val_type;
- using spirit::_a_type;
- using spirit::_b_type;
- using spirit::_c_type;
- using spirit::_d_type;
- using spirit::_e_type;
- using spirit::_f_type;
- using spirit::_g_type;
- using spirit::_h_type;
- using spirit::_i_type;
- using spirit::_j_type;
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
-
- using spirit::_pass;
- using spirit::_val;
- using spirit::_a;
- using spirit::_b;
- using spirit::_c;
- using spirit::_d;
- using spirit::_e;
- using spirit::_f;
- using spirit::_g;
- using spirit::_h;
- using spirit::_i;
- using spirit::_j;
-
-#endif
-
- using spirit::info;
- using spirit::locals;
-
- template <
- typename Iterator, typename T1, typename T2, typename T3
- , typename T4>
- struct rule
- : proto::extends<
- typename proto::terminal<
- reference<rule<Iterator, T1, T2, T3, T4> const>
- >::type
- , rule<Iterator, T1, T2, T3, T4>
- >
- , parser<rule<Iterator, T1, T2, T3, T4> >
- {
- typedef Iterator iterator_type;
- typedef rule<Iterator, T1, T2, T3, T4> this_type;
- typedef reference<this_type const> reference_;
- typedef typename proto::terminal<reference_>::type terminal;
- typedef proto::extends<terminal, this_type> base_type;
- typedef mpl::vector<T1, T2, T3, T4> template_params;
-
- // The rule's locals_type: a sequence of types to be used as local variables
- typedef typename
- spirit::detail::extract_locals<template_params>::type
- locals_type;
-
- // The rule's skip-parser type
- typedef typename
- spirit::detail::extract_component<
- qi::domain, template_params>::type
- skipper_type;
-
- // The rule's encoding type
- typedef typename
- spirit::detail::extract_encoding<template_params>::type
- encoding_type;
-
- // The rule's signature
- typedef typename
- spirit::detail::extract_sig<template_params, encoding_type, qi::domain>::type
- sig_type;
-
- // This is the rule's attribute type
- typedef typename
- spirit::detail::attr_from_sig<sig_type>::type
- attr_type;
- BOOST_STATIC_ASSERT_MSG(
- !is_reference<attr_type>::value,
- "Reference qualifier on Qi rule attribute is meaningless");
- typedef attr_type& attr_reference_type;
-
- // parameter_types is a sequence of types passed as parameters to the rule
- typedef typename
- spirit::detail::params_from_sig<sig_type>::type
- parameter_types;
-
- static size_t const params_size =
- fusion::result_of::size<parameter_types>::type::value;
-
- typedef context<
- fusion::cons<attr_reference_type, parameter_types>
- , locals_type>
- context_type;
-
- typedef function<
- bool(Iterator& first, Iterator const& last
- , context_type& context
- , skipper_type const& skipper
- )>
- function_type;
-
- typedef typename
- mpl::if_<
- is_same<encoding_type, unused_type>
- , unused_type
- , tag::char_code<tag::encoding, encoding_type>
- >::type
- encoding_modifier_type;
-
- explicit rule(std::string const& name = "unnamed-rule")
- : base_type(terminal::make(reference_(*this)))
- , name_(name)
- {
- }
-
- rule(rule const& rhs)
- : base_type(terminal::make(reference_(*this)))
- , name_(rhs.name_)
- , f(rhs.f)
- {
- }
-
- template <typename Auto, typename Expr>
- static void define(rule& /*lhs*/, Expr const& /*expr*/, mpl::false_)
- {
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then the expression (expr) is not a valid spirit qi expression.
- BOOST_SPIRIT_ASSERT_MATCH(qi::domain, Expr);
- }
-
- template <typename Auto, typename Expr>
- static void define(rule& lhs, Expr const& expr, mpl::true_)
- {
- lhs.f = detail::bind_parser<Auto>(
- compile<qi::domain>(expr, encoding_modifier_type()));
- }
-
- template <typename Expr>
- rule(Expr const& expr, std::string const& name = "unnamed-rule")
- : base_type(terminal::make(reference_(*this)))
- , name_(name)
- {
- define<mpl::false_>(*this, expr, traits::matches<qi::domain, Expr>());
- }
-
- rule& operator=(rule const& rhs)
- {
- // The following assertion fires when you try to initialize a rule
- // from an uninitialized one. Did you mean to refer to the right
- // hand side rule instead of assigning from it? In this case you
- // should write lhs = rhs.alias();
- BOOST_ASSERT(rhs.f && "Did you mean rhs.alias() instead of rhs?");
-
- f = rhs.f;
- name_ = rhs.name_;
- return *this;
- }
-
- std::string const& name() const
- {
- return name_;
- }
-
- void name(std::string const& str)
- {
- name_ = str;
- }
-
- template <typename Expr>
- rule& operator=(Expr const& expr)
- {
- define<mpl::false_>(*this, expr, traits::matches<qi::domain, Expr>());
- return *this;
- }
-
-// VC7.1 has problems to resolve 'rule' without explicit template parameters
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1400)
- // g++ 3.3 barfs if this is a member function :(
- template <typename Expr>
- friend rule& operator%=(rule& r, Expr const& expr)
- {
- define<mpl::true_>(r, expr, traits::matches<qi::domain, Expr>());
- return r;
- }
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- // non-const version needed to suppress proto's %= kicking in
- template <typename Expr>
- friend rule& operator%=(rule& r, Expr& expr)
- {
- return r %= static_cast<Expr const&>(expr);
- }
-#else
- // for rvalue references
- template <typename Expr>
- friend rule& operator%=(rule& r, Expr&& expr)
- {
- define<mpl::true_>(r, expr, traits::matches<qi::domain, Expr>());
- return r;
- }
-#endif
-
-#else
- // both friend functions have to be defined out of class as VC7.1
- // will complain otherwise
- template <typename OutputIterator_, typename T1_, typename T2_
- , typename T3_, typename T4_, typename Expr>
- friend rule<OutputIterator_, T1_, T2_, T3_, T4_>& operator%=(
- rule<OutputIterator_, T1_, T2_, T3_, T4_>& r, Expr const& expr);
-
- // non-const version needed to suppress proto's %= kicking in
- template <typename OutputIterator_, typename T1_, typename T2_
- , typename T3_, typename T4_, typename Expr>
- friend rule<OutputIterator_, T1_, T2_, T3_, T4_>& operator%=(
- rule<OutputIterator_, T1_, T2_, T3_, T4_>& r, Expr& expr);
-#endif
-
- template <typename Context, typename Iterator_>
- struct attribute
- {
- typedef attr_type type;
- };
-
- template <typename Context, typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& /*context*/, Skipper const& skipper
- , Attribute& attr_param) const
- {
- BOOST_STATIC_ASSERT_MSG((is_same<skipper_type, unused_type>::value ||
- !is_same<Skipper, unused_type>::value),
- "The rule was instantiated with a skipper type but you have not pass any. "
- "Did you use `parse` instead of `phrase_parse`?");
- BOOST_STATIC_ASSERT_MSG(
- (is_convertible<Skipper const&, skipper_type>::value),
- "The passed skipper is not compatible/convertible to one "
- "that the rule was instantiated with");
- if (f)
- {
- // do a preskip if this is an implied lexeme
- if (is_same<skipper_type, unused_type>::value)
- qi::skip_over(first, last, skipper);
-
- // do down-stream transformation, provides attribute for
- // rhs parser
- typedef traits::transform_attribute<
- Attribute, attr_type, domain>
- transform;
-
- typename transform::type attr_ = transform::pre(attr_param);
-
- // If you are seeing a compilation error here, you are probably
- // trying to use a rule or a grammar which has inherited
- // attributes, without passing values for them.
- context_type context(attr_);
-
- // If you are seeing a compilation error here stating that the
- // fourth parameter can't be converted to a required target type
- // then you are probably trying to use a rule or a grammar with
- // an incompatible skipper type.
- if (f(first, last, context, skipper))
- {
- // do up-stream transformation, this integrates the results
- // back into the original attribute value, if appropriate
- transform::post(attr_param, attr_);
- return true;
- }
-
- // inform attribute transformation of failed rhs
- transform::fail(attr_param);
- }
- return false;
- }
-
- template <typename Context, typename Skipper
- , typename Attribute, typename Params>
- bool parse(Iterator& first, Iterator const& last
- , Context& caller_context, Skipper const& skipper
- , Attribute& attr_param, Params const& params) const
- {
- BOOST_STATIC_ASSERT_MSG((is_same<skipper_type, unused_type>::value ||
- !is_same<Skipper, unused_type>::value),
- "The rule was instantiated with a skipper type but you have not pass any. "
- "Did you use `parse` instead of `phrase_parse`?");
- BOOST_STATIC_ASSERT_MSG(
- (is_convertible<Skipper const&, skipper_type>::value),
- "The passed skipper is not compatible/convertible to one "
- "that the rule was instantiated with");
- if (f)
- {
- // do a preskip if this is an implied lexeme
- if (is_same<skipper_type, unused_type>::value)
- qi::skip_over(first, last, skipper);
-
- // do down-stream transformation, provides attribute for
- // rhs parser
- typedef traits::transform_attribute<
- Attribute, attr_type, domain>
- transform;
-
- typename transform::type attr_ = transform::pre(attr_param);
-
- // If you are seeing a compilation error here, you are probably
- // trying to use a rule or a grammar which has inherited
- // attributes, passing values of incompatible types for them.
- context_type context(attr_, params, caller_context);
-
- // If you are seeing a compilation error here stating that the
- // fourth parameter can't be converted to a required target type
- // then you are probably trying to use a rule or a grammar with
- // an incompatible skipper type.
- if (f(first, last, context, skipper))
- {
- // do up-stream transformation, this integrates the results
- // back into the original attribute value, if appropriate
- transform::post(attr_param, attr_);
- return true;
- }
-
- // inform attribute transformation of failed rhs
- transform::fail(attr_param);
- }
- return false;
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info(name_);
- }
-
- reference_ alias() const
- {
- return reference_(*this);
- }
-
- typename proto::terminal<this_type>::type copy() const
- {
- typename proto::terminal<this_type>::type result = {*this};
- return result;
- }
-
- // bring in the operator() overloads
- rule const& get_parameterized_subject() const { return *this; }
- typedef rule parameterized_subject_type;
- #include <boost/spirit/home/qi/nonterminal/detail/fcall.hpp>
-
- std::string name_;
- function_type f;
- };
-
-#if BOOST_WORKAROUND(BOOST_MSVC, < 1400)
- template <typename OutputIterator_, typename T1_, typename T2_
- , typename T3_, typename T4_, typename Expr>
- rule<OutputIterator_, T1_, T2_, T3_, T4_>& operator%=(
- rule<OutputIterator_, T1_, T2_, T3_, T4_>& r, Expr const& expr)
- {
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then the expression (expr) is not a valid spirit qi expression.
- BOOST_SPIRIT_ASSERT_MATCH(qi::domain, Expr);
-
- typedef typename
- rule<OutputIterator_, T1_, T2_, T3_, T4_>::encoding_modifier_type
- encoding_modifier_type;
-
- r.f = detail::bind_parser<mpl::true_>(
- compile<qi::domain>(expr, encoding_modifier_type()));
- return r;
- }
-
- template <typename Iterator_, typename T1_, typename T2_
- , typename T3_, typename T4_, typename Expr>
- rule<Iterator_, T1_, T2_, T3_, T4_>& operator%=(
- rule<Iterator_, T1_, T2_, T3_, T4_>& r, Expr& expr)
- {
- return r %= static_cast<Expr const&>(expr);
- }
-#endif
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <
- typename IteratorA, typename IteratorB, typename Attribute
- , typename Context, typename T1, typename T2, typename T3, typename T4>
- struct handles_container<
- qi::rule<IteratorA, T1, T2, T3, T4>, Attribute, Context, IteratorB>
- : traits::is_container<
- typename attribute_of<
- qi::rule<IteratorA, T1, T2, T3, T4>, Context, IteratorB
- >::type
- >
- {};
-}}}
-
-#if defined(BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/simple_trace.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/simple_trace.hpp
deleted file mode 100644
index 74382f556e..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/simple_trace.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_SIMPLE_TRACE_DECEMBER_06_2008_1102AM)
-#define BOOST_SPIRIT_SIMPLE_TRACE_DECEMBER_06_2008_1102AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/qi/nonterminal/debug_handler_state.hpp>
-#include <boost/fusion/include/out.hpp>
-#include <iostream>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/spirit/home/support/attributes.hpp>
-
-// The stream to use for debug output
-#if !defined(BOOST_SPIRIT_DEBUG_OUT)
-#define BOOST_SPIRIT_DEBUG_OUT std::cerr
-#endif
-
-// number of tokens to print while debugging
-#if !defined(BOOST_SPIRIT_DEBUG_PRINT_SOME)
-#define BOOST_SPIRIT_DEBUG_PRINT_SOME 20
-#endif
-
-// number of spaces to indent
-#if !defined(BOOST_SPIRIT_DEBUG_INDENT)
-#define BOOST_SPIRIT_DEBUG_INDENT 2
-#endif
-
-namespace boost { namespace spirit { namespace qi
-{
- namespace detail
- {
- template<typename Char>
- inline void token_printer(std::ostream& o, Char c)
- {
- // allow to customize the token printer routine
- spirit::traits::print_token(o, c);
- }
- }
-
- struct simple_trace
- {
- int& get_indent() const
- {
- static int indent = 0;
- return indent;
- }
-
- void print_indent(int n) const
- {
- n *= BOOST_SPIRIT_DEBUG_INDENT;
- for (int i = 0; i != n; ++i)
- BOOST_SPIRIT_DEBUG_OUT << ' ';
- }
-
- template <typename Iterator>
- void print_some(
- char const* tag
- , int /*indent*/
- , Iterator first, Iterator const& last) const
- {
- print_indent(get_indent());
- BOOST_SPIRIT_DEBUG_OUT << '<' << tag << '>';
- int const n = BOOST_SPIRIT_DEBUG_PRINT_SOME;
- for (int i = 0; first != last && i != n && *first; ++i, ++first)
- detail::token_printer(BOOST_SPIRIT_DEBUG_OUT, *first);
- BOOST_SPIRIT_DEBUG_OUT << "</" << tag << '>' << std::endl;
-
- // $$$ FIXME convert invalid xml characters (e.g. '<') to valid
- // character entities. $$$
- }
-
- template <typename Iterator, typename Context, typename State>
- void operator()(
- Iterator const& first
- , Iterator const& last
- , Context const& context
- , State state
- , std::string const& rule_name) const
- {
- switch (state)
- {
- case pre_parse:
- print_indent(get_indent()++);
- BOOST_SPIRIT_DEBUG_OUT
- << '<' << rule_name << '>'
- << std::endl;
- print_some("try", get_indent(), first, last);
- break;
- case successful_parse:
- print_some("success", get_indent(), first, last);
- print_indent(get_indent());
- BOOST_SPIRIT_DEBUG_OUT
- << "<attributes>";
- traits::print_attribute(
- BOOST_SPIRIT_DEBUG_OUT,
- context.attributes
- );
- BOOST_SPIRIT_DEBUG_OUT
- << "</attributes>";
- if (!fusion::empty(context.locals))
- BOOST_SPIRIT_DEBUG_OUT
- << "<locals>"
- << context.locals
- << "</locals>";
- BOOST_SPIRIT_DEBUG_OUT << std::endl;
- print_indent(--get_indent());
- BOOST_SPIRIT_DEBUG_OUT
- << "</" << rule_name << '>'
- << std::endl;
- break;
- case failed_parse:
- print_indent(get_indent());
- BOOST_SPIRIT_DEBUG_OUT << "<fail/>" << std::endl;
- print_indent(--get_indent());
- BOOST_SPIRIT_DEBUG_OUT
- << "</" << rule_name << '>'
- << std::endl;
- break;
- }
- }
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/success_handler.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/success_handler.hpp
deleted file mode 100644
index 5db83a2aa3..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/nonterminal/success_handler.hpp
+++ /dev/null
@@ -1,83 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_SUCCESS_HANDLER_FEBRUARY_25_2011_1051AM)
-#define BOOST_SPIRIT_SUCCESS_HANDLER_FEBRUARY_25_2011_1051AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/nonterminal/rule.hpp>
-#include <boost/function.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- template <
- typename Iterator, typename Context
- , typename Skipper, typename F
- >
- struct success_handler
- {
- typedef function<
- bool(Iterator& first, Iterator const& last
- , Context& context
- , Skipper const& skipper
- )>
- function_type;
-
- success_handler(function_type subject_, F f_)
- : subject(subject_)
- , f(f_)
- {
- }
-
- bool operator()(
- Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper) const
- {
- Iterator i = first;
- bool r = subject(i, last, context, skipper);
- if (r)
- {
- typedef
- fusion::vector<
- Iterator&
- , Iterator const&
- , Iterator const&>
- params;
- skip_over(first, last, skipper);
- params args(first, last, i);
- f(args, context);
-
- first = i;
- }
- return r;
- }
-
- function_type subject;
- F f;
- };
-
- template <
- typename Iterator, typename T0, typename T1, typename T2
- , typename F>
- void on_success(rule<Iterator, T0, T1, T2>& r, F f)
- {
- typedef rule<Iterator, T0, T1, T2> rule_type;
-
- typedef
- success_handler<
- Iterator
- , typename rule_type::context_type
- , typename rule_type::skipper_type
- , F>
- success_handler;
- r.f = success_handler(r.f, f);
- }
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric.hpp
deleted file mode 100644
index 7e1ef2691a..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric.hpp
+++ /dev/null
@@ -1,19 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_NUMERIC_FEBRUARY_05_2007_1231PM)
-#define BOOST_SPIRIT_NUMERIC_FEBRUARY_05_2007_1231PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/numeric/bool.hpp>
-#include <boost/spirit/home/qi/numeric/int.hpp>
-#include <boost/spirit/home/qi/numeric/uint.hpp>
-#include <boost/spirit/home/qi/numeric/real.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/bool.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/bool.hpp
deleted file mode 100644
index c270184887..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/bool.hpp
+++ /dev/null
@@ -1,338 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2011 Bryce Lelbach
-
- Distributed under the 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_SPIRIT_QI_NUMERIC_BOOL_HPP
-#define BOOST_SPIRIT_QI_NUMERIC_BOOL_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/detail/enable_lit.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/numeric/bool_policies.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit
-{
- namespace qi
- {
- ///////////////////////////////////////////////////////////////////////
- // forward declaration only
- template <typename T>
- struct bool_policies;
-
- ///////////////////////////////////////////////////////////////////////
- // This is the class that the user can instantiate directly in
- // order to create a customized bool parser
- template <typename T, typename BoolPolicies = bool_policies<T> >
- struct bool_parser
- : spirit::terminal<tag::stateful_tag<BoolPolicies, tag::bool_, T> >
- {
- typedef tag::stateful_tag<BoolPolicies, tag::bool_, T> tag_type;
-
- bool_parser() {}
- bool_parser(BoolPolicies const& data)
- : spirit::terminal<tag_type>(data) {}
- };
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <> // enables bool_
- struct use_terminal<qi::domain, tag::bool_>
- : mpl::true_ {};
-
- template <> // enables true_
- struct use_terminal<qi::domain, tag::true_>
- : mpl::true_ {};
-
- template <> // enables false_
- struct use_terminal<qi::domain, tag::false_>
- : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename A0> // enables lit(...)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, bool> >::type>
- : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename A0> // enables bool_(...)
- struct use_terminal<qi::domain
- , terminal_ex<tag::bool_, fusion::vector1<A0> >
- > : mpl::true_ {};
-
- template <> // enables *lazy* bool_(...)
- struct use_lazy_terminal<qi::domain, tag::bool_, 1>
- : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- // enables any custom bool_parser
- template <typename T, typename BoolPolicies>
- struct use_terminal<qi::domain
- , tag::stateful_tag<BoolPolicies, tag::bool_, T> >
- : mpl::true_ {};
-
- // enables any custom bool_parser(...)
- template <typename T, typename BoolPolicies, typename A0>
- struct use_terminal<qi::domain
- , terminal_ex<tag::stateful_tag<BoolPolicies, tag::bool_, T>
- , fusion::vector1<A0> > >
- : mpl::true_ {};
-
- // enables *lazy* custom bool_parser(...)
- template <typename T, typename BoolPolicies>
- struct use_lazy_terminal<
- qi::domain
- , tag::stateful_tag<BoolPolicies, tag::bool_, T>
- , 1 // arity
- > : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::bool_;
- using spirit::true_;
- using spirit::false_;
- using spirit::lit; // lit(true) is equivalent to true
-#endif
- using spirit::bool_type;
- using spirit::true_type;
- using spirit::false_type;
- using spirit::lit_type;
-
- namespace detail
- {
- template <typename T, typename BoolPolicies>
- struct bool_impl
- {
- template <typename Iterator, typename Attribute>
- static bool parse(Iterator& first, Iterator const& last
- , Attribute& attr, BoolPolicies const& p, bool allow_true = true
- , bool disallow_false = false)
- {
- if (first == last)
- return false;
-
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
- (void)p; // suppresses warning: C4100: 'p' : unreferenced formal parameter
-#endif
- return (allow_true && p.parse_true(first, last, attr)) ||
- (!disallow_false && p.parse_false(first, last, attr));
- }
- };
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // This actual boolean parser
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename BoolPolicies = bool_policies<T> >
- struct any_bool_parser
- : primitive_parser<any_bool_parser<T, BoolPolicies> >
- {
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef T type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& /*context*/, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef detail::bool_impl<T, BoolPolicies> extract;
- qi::skip_over(first, last, skipper);
- return extract::parse(first, last, attr_, BoolPolicies());
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("boolean");
- }
- };
-
- template <typename T, typename BoolPolicies = bool_policies<T>
- , bool no_attribute = true>
- struct literal_bool_parser
- : primitive_parser<literal_bool_parser<T, BoolPolicies, no_attribute> >
- {
- template <typename Value>
- literal_bool_parser(Value const& n) : n_(n) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- : mpl::if_c<no_attribute, unused_type, T>
- {};
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& /*context*/, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef detail::bool_impl<T, BoolPolicies> extract;
- qi::skip_over(first, last, skipper);
- return extract::parse(first, last, attr_, BoolPolicies(), n_, n_);
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("boolean");
- }
-
- T n_;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Modifiers
- , typename Policies = bool_policies<T> >
- struct make_bool
- {
- typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> >
- no_case;
-
- typedef typename mpl::if_<
- mpl::and_<
- no_case
- , is_same<bool_policies<T>, Policies>
- >
- , any_bool_parser<T, no_case_bool_policies<T> >
- , any_bool_parser<T, Policies> >::type
- result_type;
-
- result_type operator()(unused_type, unused_type) const
- {
- return result_type();
- }
- };
-
- template <typename T, typename Modifiers
- , typename Policies = bool_policies<T> >
- struct make_direct_bool
- {
- typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> >
- no_case;
-
- typedef typename mpl::if_<
- mpl::and_<
- no_case
- , is_same<bool_policies<T>, Policies>
- >
- , literal_bool_parser<T, no_case_bool_policies<T>, false>
- , literal_bool_parser<T, Policies, false> >::type
- result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args));
- }
- };
-
- template <typename T, typename Modifiers, bool b
- , typename Policies = bool_policies<T> >
- struct make_predefined_direct_bool
- {
- typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> >
- no_case;
-
- typedef typename mpl::if_<
- mpl::and_<
- no_case
- , is_same<bool_policies<T>, Policies>
- >
- , literal_bool_parser<T, no_case_bool_policies<T>, false>
- , literal_bool_parser<T, Policies, false> >::type
- result_type;
-
- result_type operator()(unused_type, unused_type) const
- {
- return result_type(b);
- }
- };
-
- template <typename T, typename Modifiers
- , typename Policies = bool_policies<T> >
- struct make_literal_bool
- {
- typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> >
- no_case;
-
- typedef typename mpl::if_<
- mpl::and_<
- no_case
- , is_same<bool_policies<T>, Policies>
- >
- , literal_bool_parser<T, no_case_bool_policies<T> >
- , literal_bool_parser<T, Policies> >::type
- result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args));
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, bool> >::type>
- : make_literal_bool<bool, Modifiers> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::false_, Modifiers>
- : make_predefined_direct_bool<bool, Modifiers, false>
- {};
-
- template <typename Modifiers>
- struct make_primitive<tag::true_, Modifiers>
- : make_predefined_direct_bool<bool, Modifiers, true>
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Policies, typename Modifiers>
- struct make_primitive<
- tag::stateful_tag<Policies, tag::bool_, T>, Modifiers>
- : make_bool<T, Modifiers, Policies> {};
-
- template <typename T, typename Policies, typename A0, typename Modifiers>
- struct make_primitive<
- terminal_ex<tag::stateful_tag<Policies, tag::bool_, T>
- , fusion::vector1<A0> >, Modifiers>
- : make_direct_bool<T, Modifiers, Policies> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::bool_, Modifiers>
- : make_bool<bool, Modifiers> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::bool_
- , fusion::vector1<A0> >, Modifiers>
- : make_direct_bool<bool, Modifiers> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/bool_policies.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/bool_policies.hpp
deleted file mode 100644
index a220e1e908..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/bool_policies.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 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_SPIRIT_QI_NUMERIC_BOOL_POLICIES_HPP
-#define BOOST_SPIRIT_QI_NUMERIC_BOOL_POLICIES_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/detail/string_parse.hpp>
-#include <boost/spirit/home/qi/detail/assign_to.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- ///////////////////////////////////////////////////////////////////////////
- // Default boolean policies
- ///////////////////////////////////////////////////////////////////////////
- template <typename T = bool>
- struct bool_policies
- {
- template <typename Iterator, typename Attribute>
- static bool
- parse_true(Iterator& first, Iterator const& last, Attribute& attr_)
- {
- if (detail::string_parse("true", first, last, unused))
- {
- spirit::traits::assign_to(T(true), attr_); // result is true
- return true;
- }
- return false;
- }
-
- template <typename Iterator, typename Attribute>
- static bool
- parse_false(Iterator& first, Iterator const& last, Attribute& attr_)
- {
- if (detail::string_parse("false", first, last, unused))
- {
- spirit::traits::assign_to(T(false), attr_); // result is false
- return true;
- }
- return false;
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T = bool>
- struct no_case_bool_policies
- {
- template <typename Iterator, typename Attribute>
- static bool
- parse_true(Iterator& first, Iterator const& last, Attribute& attr_)
- {
- if (detail::string_parse("true", "TRUE", first, last, unused))
- {
- spirit::traits::assign_to(T(true), attr_); // result is true
- return true;
- }
- return false;
- }
-
- template <typename Iterator, typename Attribute>
- static bool
- parse_false(Iterator& first, Iterator const& last, Attribute& attr_)
- {
- if (detail::string_parse("false", "FALSE", first, last, unused))
- {
- spirit::traits::assign_to(T(false), attr_); // result is false
- return true;
- }
- return false;
- }
- };
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp
deleted file mode 100644
index c17519c6f2..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/detail/numeric_utils.hpp
+++ /dev/null
@@ -1,517 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2011 Jan Frederick Eick
- Copyright (c) 2011 Christopher Jefferson
- Copyright (c) 2006 Stephen Nutt
-
- Distributed under the 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_SPIRIT_QI_NUMERIC_DETAIL_NUMERIC_UTILS_HPP
-#define BOOST_SPIRIT_QI_NUMERIC_DETAIL_NUMERIC_UTILS_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/char_encoding/ascii.hpp>
-#include <boost/spirit/home/support/numeric_traits.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/iteration/local.hpp>
-#include <boost/preprocessor/comparison/less.hpp>
-#include <boost/preprocessor/control/if.hpp>
-#include <boost/preprocessor/seq/elem.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/limits.hpp>
-#include <boost/static_assert.hpp>
-#include <iterator> // for std::iterator_traits
-
-#if defined(BOOST_MSVC)
-# pragma warning(push)
-# pragma warning(disable: 4127) // conditional expression is constant
-#endif
-
-#if !defined(SPIRIT_NUMERICS_LOOP_UNROLL)
-# define SPIRIT_NUMERICS_LOOP_UNROLL 3
-#endif
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // The maximum radix digits that can be represented without
- // overflow:
- //
- // template<typename T, unsigned Radix>
- // struct digits_traits::value;
- //
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, unsigned Radix>
- struct digits_traits;
-
- template <int Digits, unsigned Radix>
- struct digits2_to_n;
-
-// lookup table for log2(x) : 2 <= x <= 36
-#define BOOST_SPIRIT_LOG2 (#error)(#error) \
- (1000000)(1584960)(2000000)(2321920)(2584960)(2807350) \
- (3000000)(3169920)(3321920)(3459430)(3584960)(3700430) \
- (3807350)(3906890)(4000000)(4087460)(4169920)(4247920) \
- (4321920)(4392310)(4459430)(4523560)(4584960)(4643850) \
- (4700430)(4754880)(4807350)(4857980)(4906890)(4954190) \
- (5000000)(5044390)(5087460)(5129280)(5169925) \
- /***/
-
-#define BOOST_PP_LOCAL_MACRO(Radix) \
- template <int Digits> struct digits2_to_n<Digits, Radix> \
- { \
- BOOST_STATIC_CONSTANT(int, value = static_cast<int>( \
- (Digits * 1000000) / \
- BOOST_PP_SEQ_ELEM(Radix, BOOST_SPIRIT_LOG2))); \
- }; \
- /***/
-
-#define BOOST_PP_LOCAL_LIMITS (2, 36)
-#include BOOST_PP_LOCAL_ITERATE()
-
-#undef BOOST_SPIRIT_LOG2
-
- template <typename T, unsigned Radix>
- struct digits_traits : digits2_to_n<std::numeric_limits<T>::digits, Radix>
- {
- BOOST_STATIC_ASSERT(std::numeric_limits<T>::radix == 2);
- };
-
- template <typename T>
- struct digits_traits<T, 10>
- {
- static int const value = std::numeric_limits<T>::digits10;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // Traits class for radix specific number conversion
- //
- // Test the validity of a single character:
- //
- // template<typename Char> static bool is_valid(Char ch);
- //
- // Convert a digit from character representation to binary
- // representation:
- //
- // template<typename Char> static int digit(Char ch);
- //
- ///////////////////////////////////////////////////////////////////////////
- template <unsigned Radix>
- struct radix_traits
- {
- template <typename Char>
- inline static bool is_valid(Char ch)
- {
- return (ch >= '0' && ch <= (Radix > 10 ? '9' : static_cast<Char>('0' + Radix -1)))
- || (Radix > 10 && ch >= 'a' && ch <= static_cast<Char>('a' + Radix -10 -1))
- || (Radix > 10 && ch >= 'A' && ch <= static_cast<Char>('A' + Radix -10 -1));
- }
-
- template <typename Char>
- inline static unsigned digit(Char ch)
- {
- if (Radix <= 10 || (ch >= '0' && ch <= '9'))
- return ch - '0';
- return spirit::char_encoding::ascii::tolower(ch) - 'a' + 10;
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // positive_accumulator/negative_accumulator: Accumulator policies for
- // extracting integers. Use positive_accumulator if number is positive.
- // Use negative_accumulator if number is negative.
- ///////////////////////////////////////////////////////////////////////////
- template <unsigned Radix>
- struct positive_accumulator
- {
- template <typename T, typename Char>
- inline static void add(T& n, Char ch, mpl::false_) // unchecked add
- {
- const int digit = radix_traits<Radix>::digit(ch);
- n = n * T(Radix) + T(digit);
- }
-
- template <typename T, typename Char>
- inline static bool add(T& n, Char ch, mpl::true_) // checked add
- {
- // Ensure n *= Radix will not overflow
- T const max = (std::numeric_limits<T>::max)();
- T const val = max / Radix;
-
- if (n > val)
- return false;
-
- T tmp = n * Radix;
-
- // Ensure n += digit will not overflow
- const int digit = radix_traits<Radix>::digit(ch);
- if (tmp > max - digit)
- return false;
-
- n = tmp + static_cast<T>(digit);
- return true;
- }
- };
-
- template <unsigned Radix>
- struct negative_accumulator
- {
- template <typename T, typename Char>
- inline static void add(T& n, Char ch, mpl::false_) // unchecked subtract
- {
- const int digit = radix_traits<Radix>::digit(ch);
- n = n * T(Radix) - T(digit);
- }
-
- template <typename T, typename Char>
- inline static bool add(T& n, Char ch, mpl::true_) // checked subtract
- {
- // Ensure n *= Radix will not underflow
- T const min = (std::numeric_limits<T>::min)();
- T const val = min / T(Radix);
-
- if (n < val)
- return false;
-
- T tmp = n * Radix;
-
- // Ensure n -= digit will not underflow
- int const digit = radix_traits<Radix>::digit(ch);
- if (tmp < min + digit)
- return false;
-
- n = tmp - static_cast<T>(digit);
- return true;
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Common code for extract_int::parse specializations
- ///////////////////////////////////////////////////////////////////////////
- template <unsigned Radix, typename Accumulator, int MaxDigits, bool AlwaysCheckOverflow>
- struct int_extractor
- {
- template <typename Char, typename T>
- inline static bool
- call(Char ch, std::size_t count, T& n, mpl::true_)
- {
- std::size_t const overflow_free = digits_traits<T, Radix>::value - 1;
-
- if (!AlwaysCheckOverflow && (count < overflow_free))
- {
- Accumulator::add(n, ch, mpl::false_());
- }
- else
- {
- if (!Accumulator::add(n, ch, mpl::true_()))
- return false; // over/underflow!
- }
- return true;
- }
-
- template <typename Char, typename T>
- inline static bool
- call(Char ch, std::size_t /*count*/, T& n, mpl::false_)
- {
- // no need to check for overflow
- Accumulator::add(n, ch, mpl::false_());
- return true;
- }
-
- template <typename Char>
- inline static bool
- call(Char /*ch*/, std::size_t /*count*/, unused_type, mpl::false_)
- {
- return true;
- }
-
- template <typename Char, typename T>
- inline static bool
- call(Char ch, std::size_t count, T& n)
- {
- return call(ch, count, n
- , mpl::bool_<
- ( (MaxDigits < 0)
- || (MaxDigits > digits_traits<T, Radix>::value)
- )
- && traits::check_overflow<T>::value
- >()
- );
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // End of loop checking: check if the number of digits
- // being parsed exceeds MaxDigits. Note: if MaxDigits == -1
- // we don't do any checking.
- ///////////////////////////////////////////////////////////////////////////
- template <int MaxDigits>
- struct check_max_digits
- {
- inline static bool
- call(std::size_t count)
- {
- return count < MaxDigits; // bounded
- }
- };
-
- template <>
- struct check_max_digits<-1>
- {
- inline static bool
- call(std::size_t /*count*/)
- {
- return true; // unbounded
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // extract_int: main code for extracting integers
- ///////////////////////////////////////////////////////////////////////////
-#define SPIRIT_NUMERIC_INNER_LOOP(z, x, data) \
- if (!check_max_digits<MaxDigits>::call(count + leading_zeros) \
- || it == last) \
- { \
- break; \
- } \
- ch = *it; \
- if (!radix_check::is_valid(ch)) \
- { \
- break; \
- } \
- if (!extractor::call(ch, count, val)) \
- { \
- if (IgnoreOverflowDigits) \
- { \
- first = it; \
- } \
- traits::assign_to(val, attr); \
- return IgnoreOverflowDigits; \
- } \
- ++it; \
- ++count; \
- /**/
-
- template <
- typename T, unsigned Radix, unsigned MinDigits, int MaxDigits
- , typename Accumulator = positive_accumulator<Radix>
- , bool Accumulate = false
- , bool IgnoreOverflowDigits = false
- >
- struct extract_int
- {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(push)
-# pragma warning(disable: 4127) // conditional expression is constant
-#endif
- template <typename Iterator, typename Attribute>
- inline static bool
- parse_main(
- Iterator& first
- , Iterator const& last
- , Attribute& attr)
- {
- typedef radix_traits<Radix> radix_check;
- typedef int_extractor<Radix, Accumulator, MaxDigits, Accumulate> extractor;
- typedef typename std::iterator_traits<Iterator>::value_type char_type;
-
- Iterator it = first;
- std::size_t leading_zeros = 0;
- if (!Accumulate)
- {
- // skip leading zeros
- while (it != last && *it == '0' && (MaxDigits < 0 || leading_zeros < static_cast< std::size_t >(MaxDigits)))
- {
- ++it;
- ++leading_zeros;
- }
- }
-
- typedef typename
- traits::attribute_type<Attribute>::type
- attribute_type;
-
- attribute_type val = Accumulate ? attr : attribute_type(0);
- std::size_t count = 0;
- char_type ch;
-
- while (true)
- {
- BOOST_PP_REPEAT(
- SPIRIT_NUMERICS_LOOP_UNROLL
- , SPIRIT_NUMERIC_INNER_LOOP, _)
- }
-
- if (count + leading_zeros >= MinDigits)
- {
- traits::assign_to(val, attr);
- first = it;
- return true;
- }
- return false;
- }
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(pop)
-#endif
-
- template <typename Iterator>
- inline static bool
- parse(
- Iterator& first
- , Iterator const& last
- , unused_type)
- {
- T n = 0; // must calculate value to detect over/underflow
- return parse_main(first, last, n);
- }
-
- template <typename Iterator, typename Attribute>
- inline static bool
- parse(
- Iterator& first
- , Iterator const& last
- , Attribute& attr)
- {
- return parse_main(first, last, attr);
- }
- };
-#undef SPIRIT_NUMERIC_INNER_LOOP
-
- ///////////////////////////////////////////////////////////////////////////
- // extract_int: main code for extracting integers
- // common case where MinDigits == 1 and MaxDigits = -1
- ///////////////////////////////////////////////////////////////////////////
-#define SPIRIT_NUMERIC_INNER_LOOP(z, x, data) \
- if (it == last) \
- { \
- break; \
- } \
- ch = *it; \
- if (!radix_check::is_valid(ch)) \
- { \
- break; \
- } \
- if (!extractor::call(ch, count, val)) \
- { \
- traits::assign_to(val, attr); \
- return false; \
- } \
- ++it; \
- ++count; \
- /**/
-
- template <typename T, unsigned Radix, typename Accumulator, bool Accumulate>
- struct extract_int<T, Radix, 1, -1, Accumulator, Accumulate>
- {
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(push)
-# pragma warning(disable: 4127) // conditional expression is constant
-#endif
- template <typename Iterator, typename Attribute>
- inline static bool
- parse_main(
- Iterator& first
- , Iterator const& last
- , Attribute& attr)
- {
- typedef radix_traits<Radix> radix_check;
- typedef int_extractor<Radix, Accumulator, -1, Accumulate> extractor;
- typedef typename std::iterator_traits<Iterator>::value_type char_type;
-
- Iterator it = first;
- std::size_t count = 0;
- if (!Accumulate)
- {
- // skip leading zeros
- while (it != last && *it == '0')
- {
- ++it;
- ++count;
- }
-
- if (it == last)
- {
- if (count == 0) // must have at least one digit
- return false;
- traits::assign_to(0, attr);
- first = it;
- return true;
- }
- }
-
- typedef typename
- traits::attribute_type<Attribute>::type
- attribute_type;
-
- attribute_type val = Accumulate ? attr : attribute_type(0);
- char_type ch = *it;
-
- if (!radix_check::is_valid(ch) || !extractor::call(ch, 0, val))
- {
- if (count == 0) // must have at least one digit
- return false;
- traits::assign_to(val, attr);
- first = it;
- return true;
- }
-
- // count = 0; $$$ verify: I think this is wrong $$$
- ++it;
- while (true)
- {
- BOOST_PP_REPEAT(
- SPIRIT_NUMERICS_LOOP_UNROLL
- , SPIRIT_NUMERIC_INNER_LOOP, _)
- }
-
- traits::assign_to(val, attr);
- first = it;
- return true;
- }
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(pop)
-#endif
-
- template <typename Iterator>
- inline static bool
- parse(
- Iterator& first
- , Iterator const& last
- , unused_type)
- {
- T n = 0; // must calculate value to detect over/underflow
- return parse_main(first, last, n);
- }
-
- template <typename Iterator, typename Attribute>
- inline static bool
- parse(
- Iterator& first
- , Iterator const& last
- , Attribute& attr)
- {
- return parse_main(first, last, attr);
- }
- };
-
-#undef SPIRIT_NUMERIC_INNER_LOOP
-}}}}
-
-#if defined(BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/detail/real_impl.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/detail/real_impl.hpp
deleted file mode 100644
index 7ac106721c..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/detail/real_impl.hpp
+++ /dev/null
@@ -1,350 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2019 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_QI_NUMERIC_DETAIL_REAL_IMPL_HPP
-#define BOOST_SPIRIT_QI_NUMERIC_DETAIL_REAL_IMPL_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <cmath>
-#include <boost/limits.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/detail/pow10.hpp>
-#include <boost/integer.hpp>
-#include <boost/assert.hpp>
-
-#include <boost/core/cmath.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(push)
-# pragma warning(disable: 4100) // 'p': unreferenced formal parameter
-# pragma warning(disable: 4127) // conditional expression is constant
-#endif
-
-namespace boost { namespace spirit { namespace traits
-{
- using spirit::traits::pow10;
-
- namespace detail
- {
- template <typename T, typename AccT>
- void compensate_roundoff(T& n, AccT acc_n, mpl::true_)
- {
- // at the lowest extremes, we compensate for floating point
- // roundoff errors by doing imprecise computation using T
- int const comp = 10;
- n = T((acc_n / comp) * comp);
- n += T(acc_n % comp);
- }
-
- template <typename T, typename AccT>
- void compensate_roundoff(T& n, AccT acc_n, mpl::false_)
- {
- // no need to compensate
- n = acc_n;
- }
-
- template <typename T, typename AccT>
- void compensate_roundoff(T& n, AccT acc_n)
- {
- compensate_roundoff(n, acc_n, is_integral<AccT>());
- }
- }
-
- template <typename T, typename AccT>
- inline bool
- scale(int exp, T& n, AccT acc_n)
- {
- if (exp >= 0)
- {
- int const max_exp = std::numeric_limits<T>::max_exponent10;
-
- // return false if exp exceeds the max_exp
- // do this check only for primitive types!
- if (is_floating_point<T>() && (exp > max_exp))
- return false;
- n = acc_n * pow10<T>(exp);
- }
- else
- {
- if (exp < std::numeric_limits<T>::min_exponent10)
- {
- int const min_exp = std::numeric_limits<T>::min_exponent10;
- detail::compensate_roundoff(n, acc_n);
- n /= pow10<T>(-min_exp);
-
- // return false if exp still exceeds the min_exp
- // do this check only for primitive types!
- exp += -min_exp;
- if (is_floating_point<T>() && exp < min_exp)
- return false;
-
- n /= pow10<T>(-exp);
- }
- else
- {
- n = T(acc_n) / pow10<T>(-exp);
- }
- }
- return true;
- }
-
- inline bool
- scale(int /*exp*/, unused_type /*n*/, unused_type /*acc_n*/)
- {
- // no-op for unused_type
- return true;
- }
-
- template <typename T, typename AccT>
- inline bool
- scale(int exp, int frac, T& n, AccT acc_n)
- {
- return scale(exp - frac, n, acc_n);
- }
-
- inline bool
- scale(int /*exp*/, int /*frac*/, unused_type /*n*/)
- {
- // no-op for unused_type
- return true;
- }
-
- inline float
- negate(bool neg, float n)
- {
- return neg ? (core::copysign)(n, -1.f) : n;
- }
-
- inline double
- negate(bool neg, double n)
- {
- return neg ? (core::copysign)(n, -1.) : n;
- }
-
- inline long double
- negate(bool neg, long double n)
- {
- return neg ? (core::copysign)(n, static_cast<long double>(-1)) : n;
- }
-
- template <typename T>
- inline T
- negate(bool neg, T const& n)
- {
- return neg ? -n : n;
- }
-
- inline unused_type
- negate(bool /*neg*/, unused_type n)
- {
- // no-op for unused_type
- return n;
- }
-
- template <typename T>
- struct real_accumulator : mpl::identity<T> {};
-
- template <>
- struct real_accumulator<float>
- : mpl::identity<uint_t<(sizeof(float)*CHAR_BIT)>::least> {};
-
- template <>
- struct real_accumulator<double>
- : mpl::identity<uint_t<(sizeof(double)*CHAR_BIT)>::least> {};
-}}}
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- BOOST_MPL_HAS_XXX_TRAIT_DEF(version)
-
- template <typename T, typename RealPolicies>
- struct real_impl
- {
- template <typename Iterator>
- static std::size_t
- ignore_excess_digits(Iterator& /* first */, Iterator const& /* last */, mpl::false_)
- {
- return 0;
- }
-
- template <typename Iterator>
- static std::size_t
- ignore_excess_digits(Iterator& first, Iterator const& last, mpl::true_)
- {
- return RealPolicies::ignore_excess_digits(first, last);
- }
-
- template <typename Iterator>
- static std::size_t
- ignore_excess_digits(Iterator& first, Iterator const& last)
- {
- typedef mpl::bool_<has_version<RealPolicies>::value> has_version;
- return ignore_excess_digits(first, last, has_version());
- }
-
- template <typename Iterator, typename Attribute>
- static bool
- parse(Iterator& first, Iterator const& last, Attribute& attr,
- RealPolicies const& p)
- {
- if (first == last)
- return false;
- Iterator save = first;
-
- // Start by parsing the sign. neg will be true if
- // we got a "-" sign, false otherwise.
- bool neg = p.parse_sign(first, last);
-
- // Now attempt to parse an integer
- T n;
-
- typename traits::real_accumulator<T>::type acc_n = 0;
- bool got_a_number = p.parse_n(first, last, acc_n);
- int excess_n = 0;
-
- // If we did not get a number it might be a NaN, Inf or a leading
- // dot.
- if (!got_a_number)
- {
- // Check whether the number to parse is a NaN or Inf
- if (p.parse_nan(first, last, n) ||
- p.parse_inf(first, last, n))
- {
- // If we got a negative sign, negate the number
- traits::assign_to(traits::negate(neg, n), attr);
- return true; // got a NaN or Inf, return early
- }
-
- // If we did not get a number and our policies do not
- // allow a leading dot, fail and return early (no-match)
- if (!p.allow_leading_dot)
- {
- first = save;
- return false;
- }
- }
- else
- {
- // We got a number and we still see digits. This happens if acc_n (an integer)
- // exceeds the integer's capacity. Collect the excess digits.
- excess_n = static_cast<int>(ignore_excess_digits(first, last));
- }
-
- bool e_hit = false;
- Iterator e_pos;
- int frac_digits = 0;
-
- // Try to parse the dot ('.' decimal point)
- if (p.parse_dot(first, last))
- {
- // We got the decimal point. Now we will try to parse
- // the fraction if it is there. If not, it defaults
- // to zero (0) only if we already got a number.
- if (excess_n != 0)
- {
- // We skip the fractions if we already exceeded our digits capacity
- ignore_excess_digits(first, last);
- }
- else if (p.parse_frac_n(first, last, acc_n, frac_digits))
- {
- BOOST_ASSERT(frac_digits >= 0);
- }
- else if (!got_a_number || !p.allow_trailing_dot)
- {
- // We did not get a fraction. If we still haven't got a
- // number and our policies do not allow a trailing dot,
- // return no-match.
- first = save;
- return false;
- }
-
- // Now, let's see if we can parse the exponent prefix
- e_pos = first;
- e_hit = p.parse_exp(first, last);
- }
- else
- {
- // No dot and no number! Return no-match.
- if (!got_a_number)
- {
- first = save;
- return false;
- }
-
- // If we must expect a dot and we didn't see an exponent
- // prefix, return no-match.
- e_pos = first;
- e_hit = p.parse_exp(first, last);
- if (p.expect_dot && !e_hit)
- {
- first = save;
- return false;
- }
- }
-
- if (e_hit)
- {
- // We got the exponent prefix. Now we will try to parse the
- // actual exponent.
- int exp = 0;
- if (p.parse_exp_n(first, last, exp))
- {
- // Got the exponent value. Scale the number by
- // exp + excess_n - frac_digits.
- if (!traits::scale(exp + excess_n, frac_digits, n, acc_n))
- return false;
- }
- else
- {
- // If there is no number, disregard the exponent altogether.
- // by resetting 'first' prior to the exponent prefix (e|E)
- first = e_pos;
- // Scale the number by -frac_digits.
- bool r = traits::scale(-frac_digits, n, acc_n);
- BOOST_VERIFY(r);
- }
- }
- else if (frac_digits)
- {
- // No exponent found. Scale the number by -frac_digits.
- bool r = traits::scale(-frac_digits, n, acc_n);
- BOOST_VERIFY(r);
- }
- else
- {
- if (excess_n)
- {
- if (!traits::scale(excess_n, n, acc_n))
- return false;
- }
- else
- {
- n = static_cast<T>(acc_n);
- }
- }
-
- // If we got a negative sign, negate the number
- traits::assign_to(traits::negate(neg, n), attr);
-
- // Success!!!
- return true;
- }
- };
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(pop)
-#endif
-
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/int.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/int.hpp
deleted file mode 100644
index 68e214cef7..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/int.hpp
+++ /dev/null
@@ -1,411 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2011 Bryce Lelbach
-
- Distributed under the 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_INT_APR_17_2006_0830AM)
-#define BOOST_SPIRIT_INT_APR_17_2006_0830AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/detail/enable_lit.hpp>
-#include <boost/spirit/home/qi/numeric/numeric_utils.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/detail/is_spirit_tag.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit
-{
- namespace tag
- {
- template <typename T, unsigned Radix, unsigned MinDigits
- , int MaxDigits>
- struct int_parser
- {
- BOOST_SPIRIT_IS_TAG()
- };
- }
-
- namespace qi
- {
- ///////////////////////////////////////////////////////////////////////
- // This one is the class that the user can instantiate directly in
- // order to create a customized int parser
- template <typename T = int, unsigned Radix = 10, unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct int_parser
- : spirit::terminal<tag::int_parser<T, Radix, MinDigits, MaxDigits> >
- {};
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- //[primitive_parsers_enable_short
- template <> // enables short_
- struct use_terminal<qi::domain, tag::short_> : mpl::true_ {};
- //]
-
- template <typename A0> // enables lit(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, signed short> >::type>
- : mpl::true_ {};
-
- template <typename A0> // enables short_(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::short_, fusion::vector1<A0> > >
- : is_arithmetic<A0> {};
-
- template <> // enables *lazy* short_(n)
- struct use_lazy_terminal<qi::domain, tag::short_, 1> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- //[primitive_parsers_enable_int
- template <> // enables int_
- struct use_terminal<qi::domain, tag::int_> : mpl::true_ {};
- //]
-
- template <typename A0> // enables lit(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, signed> >::type>
- : mpl::true_ {};
-
- template <typename A0> // enables int_(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::int_, fusion::vector1<A0> > >
- : is_arithmetic<A0> {};
-
- template <> // enables *lazy* int_(n)
- struct use_lazy_terminal<qi::domain, tag::int_, 1> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- //[primitive_parsers_enable_long
- template <> // enables long_
- struct use_terminal<qi::domain, tag::long_> : mpl::true_ {};
- //]
-
- template <typename A0> // enables lit(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, signed long> >::type>
- : mpl::true_ {};
-
- template <typename A0> // enables long_(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::long_, fusion::vector1<A0> > >
- : is_arithmetic<A0> {};
-
- template <> // enables *lazy* long_(n)
- struct use_lazy_terminal<qi::domain, tag::long_, 1> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
-#ifdef BOOST_HAS_LONG_LONG
- //[primitive_parsers_enable_long_long
- template <> // enables long_long
- struct use_terminal<qi::domain, tag::long_long> : mpl::true_ {};
- //]
-
- template <typename A0> // enables lit(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, boost::long_long_type> >::type>
- : mpl::true_ {};
-
- template <typename A0> // enables long_long(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::long_long, fusion::vector1<A0> > >
- : is_arithmetic<A0> {};
-
- template <> // enables *lazy* long_long(n)
- struct use_lazy_terminal<qi::domain, tag::long_long, 1> : mpl::true_ {};
-#endif
-
- ///////////////////////////////////////////////////////////////////////////
- // enables any custom int_parser
- template <typename T, unsigned Radix, unsigned MinDigits
- , int MaxDigits>
- struct use_terminal<qi::domain
- , tag::int_parser<T, Radix, MinDigits, MaxDigits> >
- : mpl::true_ {};
-
- // enables any custom int_parser(n)
- template <typename T, unsigned Radix, unsigned MinDigits
- , int MaxDigits, typename A0>
- struct use_terminal<qi::domain
- , terminal_ex<tag::int_parser<T, Radix, MinDigits, MaxDigits>
- , fusion::vector1<A0> >
- > : mpl::true_ {};
-
- // enables *lazy* custom int_parser(n)
- template <typename T, unsigned Radix, unsigned MinDigits
- , int MaxDigits>
- struct use_lazy_terminal<qi::domain
- , tag::int_parser<T, Radix, MinDigits, MaxDigits>, 1
- > : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::short_;
- using spirit::int_;
- using spirit::long_;
-#ifdef BOOST_HAS_LONG_LONG
- using spirit::long_long;
-#endif
- using spirit::lit; // lit(1) is equivalent to 1
-#endif
- using spirit::short_type;
- using spirit::int_type;
- using spirit::long_type;
- using spirit::lit_type;
-#ifdef BOOST_HAS_LONG_LONG
- using spirit::long_long_type;
-#endif
- using spirit::lit_type;
-
- ///////////////////////////////////////////////////////////////////////////
- // This is the actual int parser
- ///////////////////////////////////////////////////////////////////////////
- //[primitive_parsers_int_parser
- template <
- typename T
- , unsigned Radix = 10
- , unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct any_int_parser
- : primitive_parser<any_int_parser<T, Radix, MinDigits, MaxDigits> >
- {
- // check template parameter 'Radix' for validity
- BOOST_SPIRIT_ASSERT_MSG(
- Radix == 2 || Radix == 8 || Radix == 10 || Radix == 16,
- not_supported_radix, ());
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef T type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& /*context*/, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef extract_int<T, Radix, MinDigits, MaxDigits> extract;
- qi::skip_over(first, last, skipper);
- return extract::call(first, last, attr_);
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("integer");
- }
- };
- //]
-
- template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
- , int MaxDigits = -1, bool no_attribute = true>
- struct literal_int_parser
- : primitive_parser<literal_int_parser<T, Radix, MinDigits, MaxDigits
- , no_attribute> >
- {
- // check template parameter 'Radix' for validity
- BOOST_SPIRIT_ASSERT_MSG(
- Radix == 2 || Radix == 8 || Radix == 10 || Radix == 16,
- not_supported_radix, ());
-
- template <typename Value>
- literal_int_parser(Value const& n) : n_(n) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- : mpl::if_c<no_attribute, unused_type, T>
- {};
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& /*context*/, Skipper const& skipper
- , Attribute& attr_param) const
- {
- typedef extract_int<T, Radix, MinDigits, MaxDigits> extract;
- qi::skip_over(first, last, skipper);
-
- Iterator save = first;
- T attr_;
-
- if (extract::call(first, last, attr_) && (attr_ == n_))
- {
- traits::assign_to(attr_, attr_param);
- return true;
- }
-
- first = save;
- return false;
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("integer");
- }
-
- T n_;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- //[primitive_parsers_make_int
- template <
- typename T
- , unsigned Radix = 10
- , unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct make_int
- {
- typedef any_int_parser<T, Radix, MinDigits, MaxDigits> result_type;
- result_type operator()(unused_type, unused_type) const
- {
- return result_type();
- }
- };
- //]
-
- template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct make_direct_int
- {
- typedef literal_int_parser<T, Radix, MinDigits, MaxDigits, false>
- result_type;
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args));
- }
- };
-
- template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct make_literal_int
- {
- typedef literal_int_parser<T, Radix, MinDigits, MaxDigits> result_type;
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args));
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, signed short> >::type>
- : make_literal_int<signed short> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, signed> >::type>
- : make_literal_int<signed> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, signed long> >::type>
- : make_literal_int<signed long> {};
-
-#ifdef BOOST_HAS_LONG_LONG
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, boost::long_long_type> >::type>
- : make_literal_int<boost::long_long_type> {};
-#endif
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, unsigned Radix, unsigned MinDigits, int MaxDigits
- , typename Modifiers>
- struct make_primitive<
- tag::int_parser<T, Radix, MinDigits, MaxDigits>
- , Modifiers>
- : make_int<T, Radix, MinDigits, MaxDigits> {};
-
- template <typename T, unsigned Radix, unsigned MinDigits, int MaxDigits
- , typename A0, typename Modifiers>
- struct make_primitive<
- terminal_ex<tag::int_parser<T, Radix, MinDigits, MaxDigits>
- , fusion::vector1<A0> >, Modifiers>
- : make_direct_int<T, Radix, MinDigits, MaxDigits> {};
-
- ///////////////////////////////////////////////////////////////////////////
- //[primitive_parsers_short_primitive
- template <typename Modifiers>
- struct make_primitive<tag::short_, Modifiers>
- : make_int<short> {};
- //]
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::short_
- , fusion::vector1<A0> > , Modifiers>
- : make_direct_int<short> {};
-
- ///////////////////////////////////////////////////////////////////////////
- //[primitive_parsers_int_primitive
- template <typename Modifiers>
- struct make_primitive<tag::int_, Modifiers>
- : make_int<int> {};
- //]
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::int_
- , fusion::vector1<A0> > , Modifiers>
- : make_direct_int<int> {};
-
- ///////////////////////////////////////////////////////////////////////////
- //[primitive_parsers_long_primitive
- template <typename Modifiers>
- struct make_primitive<tag::long_, Modifiers>
- : make_int<long> {};
- //]
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::long_
- , fusion::vector1<A0> > , Modifiers>
- : make_direct_int<long> {};
-
- ///////////////////////////////////////////////////////////////////////////
-#ifdef BOOST_HAS_LONG_LONG
- //[primitive_parsers_long_long_primitive
- template <typename Modifiers>
- struct make_primitive<tag::long_long, Modifiers>
- : make_int<boost::long_long_type> {};
- //]
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::long_long
- , fusion::vector1<A0> > , Modifiers>
- : make_direct_int<boost::long_long_type> {};
-#endif
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/numeric_utils.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/numeric_utils.hpp
deleted file mode 100644
index a1fb4730b3..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/numeric_utils.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2011 Jan Frederick Eick
-
- Distributed under the 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_NUMERIC_UTILS_APRIL_17_2006_0830AM)
-#define BOOST_SPIRIT_NUMERIC_UTILS_APRIL_17_2006_0830AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/assert_msg.hpp>
-#include <boost/spirit/home/qi/detail/assign_to.hpp>
-#include <boost/spirit/home/qi/numeric/detail/numeric_utils.hpp>
-#include <boost/assert.hpp>
-#include <boost/mpl/assert.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- ///////////////////////////////////////////////////////////////////////////
- // Extract the prefix sign (- or +), return true if a '-' was found
- ///////////////////////////////////////////////////////////////////////////
- template <typename Iterator>
- inline bool
- extract_sign(Iterator& first, Iterator const& last)
- {
- (void)last; // silence unused warnings
- BOOST_ASSERT(first != last); // precondition
-
- // Extract the sign
- bool neg = *first == '-';
- if (neg || (*first == '+'))
- {
- ++first;
- return neg;
- }
- return false;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Low level unsigned integer parser
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, unsigned Radix, unsigned MinDigits, int MaxDigits
- , bool Accumulate = false, bool IgnoreOverflowDigits = false>
- struct extract_uint
- {
- // check template parameter 'Radix' for validity
- BOOST_SPIRIT_ASSERT_MSG(
- Radix >= 2 && Radix <= 36,
- not_supported_radix, ());
-
- template <typename Iterator>
- inline static bool call(Iterator& first, Iterator const& last, T& attr_)
- {
- if (first == last)
- return false;
-
- typedef detail::extract_int<
- T
- , Radix
- , MinDigits
- , MaxDigits
- , detail::positive_accumulator<Radix>
- , Accumulate
- , IgnoreOverflowDigits>
- extract_type;
-
- Iterator save = first;
- if (!extract_type::parse(first, last, attr_))
- {
- first = save;
- return false;
- }
- return true;
- }
-
- template <typename Iterator, typename Attribute>
- inline static bool call(Iterator& first, Iterator const& last, Attribute& attr_)
- {
- // this case is called when Attribute is not T
- T attr_local;
- if (call(first, last, attr_local))
- {
- traits::assign_to(attr_local, attr_);
- return true;
- }
- return false;
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Low level signed integer parser
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, unsigned Radix, unsigned MinDigits, int MaxDigits>
- struct extract_int
- {
- // check template parameter 'Radix' for validity
- BOOST_SPIRIT_ASSERT_MSG(
- Radix == 2 || Radix == 8 || Radix == 10 || Radix == 16,
- not_supported_radix, ());
-
- template <typename Iterator>
- inline static bool call(Iterator& first, Iterator const& last, T& attr_)
- {
- if (first == last)
- return false;
-
- typedef detail::extract_int<
- T, Radix, MinDigits, MaxDigits>
- extract_pos_type;
-
- typedef detail::extract_int<
- T, Radix, MinDigits, MaxDigits, detail::negative_accumulator<Radix> >
- extract_neg_type;
-
- Iterator save = first;
- bool hit = extract_sign(first, last);
- if (hit)
- hit = extract_neg_type::parse(first, last, attr_);
- else
- hit = extract_pos_type::parse(first, last, attr_);
-
- if (!hit)
- {
- first = save;
- return false;
- }
- return true;
- }
-
- template <typename Iterator, typename Attribute>
- inline static bool call(Iterator& first, Iterator const& last, Attribute& attr_)
- {
- // this case is called when Attribute is not T
- T attr_local;
- if (call(first, last, attr_local))
- {
- traits::assign_to(attr_local, attr_);
- return true;
- }
- return false;
- }
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/real.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/real.hpp
deleted file mode 100644
index 27d48e50aa..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/real.hpp
+++ /dev/null
@@ -1,342 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2011 Bryce Lelbach
-
- Distributed under the 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_REAL_APRIL_18_2006_0850AM)
-#define BOOST_SPIRIT_REAL_APRIL_18_2006_0850AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/detail/enable_lit.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/numeric/real_policies.hpp>
-#include <boost/spirit/home/qi/numeric/numeric_utils.hpp>
-#include <boost/spirit/home/qi/numeric/detail/real_impl.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit
-{
- namespace qi
- {
- ///////////////////////////////////////////////////////////////////////
- // forward declaration only
- template <typename T>
- struct real_policies;
-
- ///////////////////////////////////////////////////////////////////////
- // This is the class that the user can instantiate directly in
- // order to create a customized real parser
- template <typename T = double, typename Policies = real_policies<T> >
- struct real_parser
- : spirit::terminal<tag::stateful_tag<Policies, tag::double_, T> >
- {
- typedef tag::stateful_tag<Policies, tag::double_, T> tag_type;
-
- real_parser() {}
- real_parser(Policies const& p)
- : spirit::terminal<tag_type>(p) {}
- };
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <> // enables float_
- struct use_terminal<qi::domain, tag::float_>
- : mpl::true_ {};
-
- template <> // enables double_
- struct use_terminal<qi::domain, tag::double_>
- : mpl::true_ {};
-
- template <> // enables long_double
- struct use_terminal<qi::domain, tag::long_double>
- : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename A0> // enables lit(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, float> >::type>
- : mpl::true_ {};
-
- template <typename A0> // enables lit(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, double> >::type>
- : mpl::true_ {};
-
- template <typename A0> // enables lit(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, long double> >::type>
- : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename A0> // enables float_(...)
- struct use_terminal<qi::domain
- , terminal_ex<tag::float_, fusion::vector1<A0> >
- > : mpl::true_ {};
-
- template <typename A0> // enables double_(...)
- struct use_terminal<qi::domain
- , terminal_ex<tag::double_, fusion::vector1<A0> >
- > : mpl::true_ {};
-
- template <typename A0> // enables long_double(...)
- struct use_terminal<qi::domain
- , terminal_ex<tag::long_double, fusion::vector1<A0> >
- > : mpl::true_ {};
-
- template <> // enables *lazy* float_(...)
- struct use_lazy_terminal<qi::domain, tag::float_, 1>
- : mpl::true_ {};
-
- template <> // enables *lazy* double_(...)
- struct use_lazy_terminal<qi::domain, tag::double_, 1>
- : mpl::true_ {};
-
- template <> // enables *lazy* long_double_(...)
- struct use_lazy_terminal<qi::domain, tag::long_double, 1>
- : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- // enables custom real_parser
- template <typename T, typename Policies>
- struct use_terminal<qi::domain
- , tag::stateful_tag<Policies, tag::double_, T> >
- : mpl::true_ {};
-
- // enables custom real_parser(...)
- template <typename T, typename Policies, typename A0>
- struct use_terminal<qi::domain
- , terminal_ex<tag::stateful_tag<Policies, tag::double_, T>
- , fusion::vector1<A0> > >
- : mpl::true_ {};
-
- // enables *lazy* custom real_parser(...)
- template <typename T, typename Policies>
- struct use_lazy_terminal<
- qi::domain
- , tag::stateful_tag<Policies, tag::double_, T>
- , 1 // arity
- > : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::float_;
- using spirit::double_;
- using spirit::long_double;
- using spirit::lit; // lit(1.0) is equivalent to 1.0
-#endif
-
- using spirit::float_type;
- using spirit::double_type;
- using spirit::long_double_type;
- using spirit::lit_type;
-
- ///////////////////////////////////////////////////////////////////////////
- // This is the actual real number parser
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename RealPolicies = real_policies<T> >
- struct any_real_parser
- : primitive_parser<any_real_parser<T, RealPolicies> >
- {
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef T type;
- };
-
- template <typename Iterator, typename Context, typename Skipper>
- bool parse(Iterator& first, Iterator const& last
- , Context& /*context*/, Skipper const& skipper
- , T& attr_) const
- {
- typedef detail::real_impl<T, RealPolicies> extract;
- qi::skip_over(first, last, skipper);
- return extract::parse(first, last, attr_, RealPolicies());
- }
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_param) const
- {
- // this case is called when Attribute is not T
- T attr_;
- if (parse(first, last, context, skipper, attr_))
- {
- traits::assign_to(attr_, attr_param);
- return true;
- }
- return false;
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("real");
- }
- };
-
- template <typename T, typename RealPolicies = real_policies<T>
- , bool no_attribute = true>
- struct literal_real_parser
- : primitive_parser<literal_real_parser<T, RealPolicies, no_attribute> >
- {
- template <typename Value>
- literal_real_parser(Value const& n) : n_(n) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- : mpl::if_c<no_attribute, unused_type, T>
- {};
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context&, Skipper const& skipper
- , Attribute& attr_param) const
- {
- typedef detail::real_impl<T, RealPolicies> extract;
- qi::skip_over(first, last, skipper);
-
- Iterator save = first;
- T attr_;
-
- if (extract::parse(first, last, attr_, RealPolicies()) &&
- (attr_ == n_))
- {
- traits::assign_to(attr_, attr_param);
- return true;
- }
-
- first = save;
- return false;
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("real");
- }
-
- T n_;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Policies = real_policies<T> >
- struct make_real
- {
- typedef any_real_parser<T, Policies> result_type;
-
- result_type operator()(unused_type, unused_type) const
- {
- return result_type();
- }
- };
-
- template <typename T, typename Policies = real_policies<T> >
- struct make_direct_real
- {
- typedef literal_real_parser<T, Policies, false> result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(T(fusion::at_c<0>(term.args)));
- }
- };
-
- template <typename T, typename Policies = real_policies<T> >
- struct make_literal_real
- {
- typedef literal_real_parser<T, Policies> result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args));
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, float> >::type>
- : make_literal_real<float> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, double> >::type>
- : make_literal_real<double> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, long double> >::type>
- : make_literal_real<long double> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Policies, typename Modifiers>
- struct make_primitive<
- tag::stateful_tag<Policies, tag::double_, T>, Modifiers>
- : make_real<T, Policies> {};
-
- template <typename T, typename Policies, typename A0, typename Modifiers>
- struct make_primitive<
- terminal_ex<tag::stateful_tag<Policies, tag::double_, T>
- , fusion::vector1<A0> >, Modifiers>
- : make_direct_real<T, Policies> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::float_, Modifiers>
- : make_real<float> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::float_
- , fusion::vector1<A0> >, Modifiers>
- : make_direct_real<float> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::double_, Modifiers>
- : make_real<double> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::double_
- , fusion::vector1<A0> >, Modifiers>
- : make_direct_real<double> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::long_double, Modifiers>
- : make_real<long double> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::long_double
- , fusion::vector1<A0> >, Modifiers>
- : make_direct_real<long double> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/real_policies.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/real_policies.hpp
deleted file mode 100644
index 05ce9f6cf3..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/real_policies.hpp
+++ /dev/null
@@ -1,233 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2019 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_NUMERIC_REAL_POLICIES_HPP
-#define BOOST_SPIRIT_QI_NUMERIC_REAL_POLICIES_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/numeric/numeric_utils.hpp>
-#include <boost/spirit/home/qi/detail/string_parse.hpp>
-#include <boost/type_traits/is_floating_point.hpp>
-
-namespace boost { namespace spirit { namespace traits
-{
- // So that we won't exceed the capacity of the underlying type T,
- // we limit the number of digits parsed to its max_digits10.
- // By default, the value is -1 which tells spirit to parse an
- // unbounded number of digits.
-
- template <typename T, typename Enable = void>
- struct max_digits10
- {
- static int const value = -1; // unbounded
- };
-
- template <typename T>
- struct max_digits10<T
- , typename enable_if_c<(is_floating_point<T>::value)>::type>
- {
- static int const digits = std::numeric_limits<T>::digits;
- static int const value = 2 + (digits * 30103l) / 100000l;
- };
-}}}
-
-namespace boost { namespace spirit { namespace qi
-{
- ///////////////////////////////////////////////////////////////////////////
- // Default (unsigned) real number policies
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct ureal_policies
- {
- // Versioning
- typedef mpl::int_<2> version;
-
- // trailing dot policy suggested by Gustavo Guerra
- static bool const allow_leading_dot = true;
- static bool const allow_trailing_dot = true;
- static bool const expect_dot = false;
-
- template <typename Iterator>
- static bool
- parse_sign(Iterator& /*first*/, Iterator const& /*last*/)
- {
- return false;
- }
-
- template <typename Iterator, typename Attribute>
- static bool
- parse_n(Iterator& first, Iterator const& last, Attribute& attr_)
- {
- typedef extract_uint<Attribute, 10, 1
- , traits::max_digits10<T>::value // See notes on max_digits10 above
- , false, true>
- extract_uint;
- return extract_uint::call(first, last, attr_);
- }
-
- // ignore_excess_digits (required for version > 1 API)
- template <typename Iterator>
- static std::size_t
- ignore_excess_digits(Iterator& first, Iterator const& last)
- {
- Iterator save = first;
- if (extract_uint<unused_type, 10, 1, -1>::call(first, last, unused))
- return static_cast<std::size_t>(std::distance(save, first));
- return 0;
- }
-
- template <typename Iterator>
- static bool
- parse_dot(Iterator& first, Iterator const& last)
- {
- if (first == last || *first != '.')
- return false;
- ++first;
- return true;
- }
-
- template <typename Iterator, typename Attribute>
- static bool
- parse_frac_n(Iterator& first, Iterator const& last, Attribute& attr_, int& frac_digits)
- {
- Iterator savef = first;
- bool r = extract_uint<Attribute, 10, 1, -1, true, true>::call(first, last, attr_);
- if (r)
- {
-#if defined(_MSC_VER) && _MSC_VER < 1900
-# pragma warning(push)
-# pragma warning(disable: 4127) // conditional expression is constant
-#endif
- // Optimization note: don't compute frac_digits if T is
- // an unused_type. This should be optimized away by the compiler.
- if (!is_same<T, unused_type>::value)
- frac_digits =
- static_cast<int>(std::distance(savef, first));
-#if defined(_MSC_VER) && _MSC_VER < 1900
-# pragma warning(pop)
-#endif
- // ignore extra (non-significant digits)
- extract_uint<unused_type, 10, 1, -1>::call(first, last, unused);
- }
- return r;
- }
-
- template <typename Iterator>
- static bool
- parse_exp(Iterator& first, Iterator const& last)
- {
- if (first == last || (*first != 'e' && *first != 'E'))
- return false;
- ++first;
- return true;
- }
-
- template <typename Iterator>
- static bool
- parse_exp_n(Iterator& first, Iterator const& last, int& attr_)
- {
- return extract_int<int, 10, 1, -1>::call(first, last, attr_);
- }
-
- ///////////////////////////////////////////////////////////////////////
- // The parse_nan() and parse_inf() functions get called whenever
- // a number to parse does not start with a digit (after having
- // successfully parsed an optional sign).
- //
- // The functions should return true if a Nan or Inf has been found. In
- // this case the attr should be set to the matched value (NaN or
- // Inf). The optional sign will be automatically applied afterwards.
- //
- // The default implementation below recognizes representations of NaN
- // and Inf as mandated by the C99 Standard and as proposed for
- // inclusion into the C++0x Standard: nan, nan(...), inf and infinity
- // (the matching is performed case-insensitively).
- ///////////////////////////////////////////////////////////////////////
- template <typename Iterator, typename Attribute>
- static bool
- parse_nan(Iterator& first, Iterator const& last, Attribute& attr_)
- {
- if (first == last)
- return false; // end of input reached
-
- if (*first != 'n' && *first != 'N')
- return false; // not "nan"
-
- // nan[(...)] ?
- if (detail::string_parse("nan", "NAN", first, last, unused))
- {
- if (first != last && *first == '(')
- {
- // skip trailing (...) part
- Iterator i = first;
-
- while (++i != last && *i != ')')
- ;
- if (i == last)
- return false; // no trailing ')' found, give up
-
- first = ++i;
- }
- attr_ = std::numeric_limits<T>::quiet_NaN();
- return true;
- }
- return false;
- }
-
- template <typename Iterator, typename Attribute>
- static bool
- parse_inf(Iterator& first, Iterator const& last, Attribute& attr_)
- {
- if (first == last)
- return false; // end of input reached
-
- if (*first != 'i' && *first != 'I')
- return false; // not "inf"
-
- // inf or infinity ?
- if (detail::string_parse("inf", "INF", first, last, unused))
- {
- // skip allowed 'inity' part of infinity
- detail::string_parse("inity", "INITY", first, last, unused);
- attr_ = std::numeric_limits<T>::infinity();
- return true;
- }
- return false;
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Default (signed) real number policies
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct real_policies : ureal_policies<T>
- {
- template <typename Iterator>
- static bool
- parse_sign(Iterator& first, Iterator const& last)
- {
- return extract_sign(first, last);
- }
- };
-
- template <typename T>
- struct strict_ureal_policies : ureal_policies<T>
- {
- static bool const expect_dot = true;
- };
-
- template <typename T>
- struct strict_real_policies : real_policies<T>
- {
- static bool const expect_dot = true;
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/uint.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/uint.hpp
deleted file mode 100644
index 258ea70c43..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/numeric/uint.hpp
+++ /dev/null
@@ -1,464 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2011 Bryce Lelbach
- Copyright (c) 2011 Jan Frederick Eick
-
- Distributed under the 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_SPIRIT_QI_NUMERIC_UINT_HPP
-#define BOOST_SPIRIT_QI_NUMERIC_UINT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/detail/enable_lit.hpp>
-#include <boost/spirit/home/qi/numeric/numeric_utils.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/detail/is_spirit_tag.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit
-{
- namespace tag
- {
- template <typename T, unsigned Radix, unsigned MinDigits
- , int MaxDigits>
- struct uint_parser
- {
- BOOST_SPIRIT_IS_TAG()
- };
- }
-
- namespace qi
- {
- ///////////////////////////////////////////////////////////////////////
- // This one is the class that the user can instantiate directly in
- // order to create a customized int parser
- template <typename T = int, unsigned Radix = 10, unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct uint_parser
- : spirit::terminal<tag::uint_parser<T, Radix, MinDigits, MaxDigits> >
- {};
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <> // enables ushort_
- struct use_terminal<qi::domain, tag::ushort_> : mpl::true_ {};
-
- template <typename A0> // enables lit(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, unsigned short> >::type>
- : mpl::true_ {};
-
- template <typename A0> // enables ushort_(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::ushort_, fusion::vector1<A0> > >
- : is_arithmetic<A0> {};
-
- template <> // enables *lazy* ushort_(n)
- struct use_lazy_terminal<qi::domain, tag::ushort_, 1> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <> // enables uint_
- struct use_terminal<qi::domain, tag::uint_> : mpl::true_ {};
-
- template <typename A0> // enables lit(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, unsigned> >::type>
- : mpl::true_ {};
-
- template <typename A0> // enables uint_(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::uint_, fusion::vector1<A0> > >
- : is_arithmetic<A0> {};
-
- template <> // enables *lazy* uint_(n)
- struct use_lazy_terminal<qi::domain, tag::uint_, 1> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <> // enables ulong_
- struct use_terminal<qi::domain, tag::ulong_> : mpl::true_ {};
-
- template <typename A0> // enables lit(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, unsigned long> >::type>
- : mpl::true_ {};
-
- template <typename A0> // enables ulong_(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::ulong_, fusion::vector1<A0> > >
- : is_arithmetic<A0> {};
-
- template <> // enables *lazy* ulong_(n)
- struct use_lazy_terminal<qi::domain, tag::ulong_, 1> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
-#ifdef BOOST_HAS_LONG_LONG
- template <> // enables ulong_long
- struct use_terminal<qi::domain, tag::ulong_long> : mpl::true_ {};
-
- template <typename A0> // enables lit(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<is_same<A0, boost::ulong_long_type> >::type>
- : mpl::true_ {};
-
- template <typename A0> // enables ulong_long(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::ulong_long, fusion::vector1<A0> > >
- : is_arithmetic<A0> {};
-
- template <> // enables *lazy* ulong_long(n)
- struct use_lazy_terminal<qi::domain, tag::ulong_long, 1> : mpl::true_ {};
-#endif
-
- ///////////////////////////////////////////////////////////////////////////
- template <> // enables bin
- struct use_terminal<qi::domain, tag::bin> : mpl::true_ {};
-
- template <typename A0> // enables bin(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::bin, fusion::vector1<A0> > >
- : is_arithmetic<A0> {};
-
- template <> // enables *lazy* bin(n)
- struct use_lazy_terminal<qi::domain, tag::bin, 1> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <> // enables oct
- struct use_terminal<qi::domain, tag::oct> : mpl::true_ {};
-
- template <typename A0> // enables oct(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::oct, fusion::vector1<A0> > >
- : is_arithmetic<A0> {};
-
- template <> // enables *lazy* oct(n)
- struct use_lazy_terminal<qi::domain, tag::oct, 1> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <> // enables hex
- struct use_terminal<qi::domain, tag::hex> : mpl::true_ {};
-
- template <typename A0> // enables hex(n)
- struct use_terminal<qi::domain
- , terminal_ex<tag::hex, fusion::vector1<A0> > >
- : is_arithmetic<A0> {};
-
- template <> // enables *lazy* hex(n)
- struct use_lazy_terminal<qi::domain, tag::hex, 1> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- // enables any custom uint_parser
- template <typename T, unsigned Radix, unsigned MinDigits
- , int MaxDigits>
- struct use_terminal<qi::domain
- , tag::uint_parser<T, Radix, MinDigits, MaxDigits> >
- : mpl::true_ {};
-
- // enables any custom uint_parser(n)
- template <typename T, unsigned Radix, unsigned MinDigits
- , int MaxDigits, typename A0>
- struct use_terminal<qi::domain
- , terminal_ex<tag::uint_parser<T, Radix, MinDigits, MaxDigits>
- , fusion::vector1<A0> >
- > : mpl::true_ {};
-
- // enables *lazy* custom uint_parser(n)
- template <typename T, unsigned Radix, unsigned MinDigits
- , int MaxDigits>
- struct use_lazy_terminal<qi::domain
- , tag::uint_parser<T, Radix, MinDigits, MaxDigits>, 1
- > : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::bin;
- using spirit::oct;
- using spirit::hex;
-
- using spirit::ushort_;
- using spirit::uint_;
- using spirit::ulong_;
-#ifdef BOOST_HAS_LONG_LONG
- using spirit::ulong_long;
-#endif
- using spirit::lit; // lit(1) is equivalent to 1
-#endif
-
- using spirit::bin_type;
- using spirit::oct_type;
- using spirit::hex_type;
-
- using spirit::ushort_type;
- using spirit::uint_type;
- using spirit::ulong_type;
-#ifdef BOOST_HAS_LONG_LONG
- using spirit::ulong_long_type;
-#endif
- using spirit::lit_type;
-
- ///////////////////////////////////////////////////////////////////////////
- // This is the actual uint parser
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct any_uint_parser
- : primitive_parser<any_uint_parser<T, Radix, MinDigits, MaxDigits> >
- {
- // check template parameter 'Radix' for validity
- BOOST_SPIRIT_ASSERT_MSG(
- Radix >= 2 && Radix <= 36,
- not_supported_radix, ());
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef T type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& /*context*/, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef extract_uint<T, Radix, MinDigits, MaxDigits> extract;
- qi::skip_over(first, last, skipper);
- return extract::call(first, last, attr_);
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("unsigned-integer");
- }
- };
- //]
-
- template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
- , int MaxDigits = -1, bool no_attribute = true>
- struct literal_uint_parser
- : primitive_parser<literal_uint_parser<T, Radix, MinDigits, MaxDigits
- , no_attribute> >
- {
- // check template parameter 'Radix' for validity
- BOOST_SPIRIT_ASSERT_MSG(
- Radix == 2 || Radix == 8 || Radix == 10 || Radix == 16,
- not_supported_radix, ());
-
- template <typename Value>
- literal_uint_parser(Value const& n) : n_(n) {}
-
- template <typename Context, typename Iterator>
- struct attribute
- : mpl::if_c<no_attribute, unused_type, T>
- {};
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& /*context*/, Skipper const& skipper
- , Attribute& attr_param) const
- {
- typedef extract_uint<T, Radix, MinDigits, MaxDigits> extract;
- qi::skip_over(first, last, skipper);
-
- Iterator save = first;
- T attr_;
-
- if (extract::call(first, last, attr_) && (attr_ == n_))
- {
- traits::assign_to(attr_, attr_param);
- return true;
- }
-
- first = save;
- return false;
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("unsigned-integer");
- }
-
- T n_;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct make_uint
- {
- typedef any_uint_parser<T, Radix, MinDigits, MaxDigits> result_type;
- result_type operator()(unused_type, unused_type) const
- {
- return result_type();
- }
- };
-
- template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct make_direct_uint
- {
- typedef literal_uint_parser<T, Radix, MinDigits, MaxDigits, false>
- result_type;
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args));
- }
- };
-
- template <typename T, unsigned Radix = 10, unsigned MinDigits = 1
- , int MaxDigits = -1>
- struct make_literal_uint
- {
- typedef literal_uint_parser<T, Radix, MinDigits, MaxDigits> result_type;
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return result_type(fusion::at_c<0>(term.args));
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, unsigned short> >::type>
- : make_literal_uint<unsigned short> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, unsigned> >::type>
- : make_literal_uint<unsigned> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, unsigned long> >::type>
- : make_literal_uint<unsigned long> {};
-
-#ifdef BOOST_HAS_LONG_LONG
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers, typename enable_if<is_same<A0, boost::ulong_long_type> >::type>
- : make_literal_uint<boost::ulong_long_type> {};
-#endif
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, unsigned Radix, unsigned MinDigits, int MaxDigits
- , typename Modifiers>
- struct make_primitive<
- tag::uint_parser<T, Radix, MinDigits, MaxDigits>
- , Modifiers>
- : make_uint<T, Radix, MinDigits, MaxDigits> {};
-
- template <typename T, unsigned Radix, unsigned MinDigits, int MaxDigits
- , typename A0, typename Modifiers>
- struct make_primitive<
- terminal_ex<tag::uint_parser<T, Radix, MinDigits, MaxDigits>
- , fusion::vector1<A0> >, Modifiers>
- : make_direct_uint<T, Radix, MinDigits, MaxDigits> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::bin, Modifiers>
- : make_uint<unsigned, 2> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::bin
- , fusion::vector1<A0> > , Modifiers>
- : make_direct_uint<unsigned, 2> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::oct, Modifiers>
- : make_uint<unsigned, 8> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::oct
- , fusion::vector1<A0> > , Modifiers>
- : make_direct_uint<unsigned, 8> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::hex, Modifiers>
- : make_uint<unsigned, 16> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::hex
- , fusion::vector1<A0> > , Modifiers>
- : make_direct_uint<unsigned, 16> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::ushort_, Modifiers>
- : make_uint<unsigned short> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::ushort_
- , fusion::vector1<A0> > , Modifiers>
- : make_direct_uint<unsigned short> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::uint_, Modifiers>
- : make_uint<unsigned> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::uint_
- , fusion::vector1<A0> > , Modifiers>
- : make_direct_uint<unsigned> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Modifiers>
- struct make_primitive<tag::ulong_, Modifiers>
- : make_uint<unsigned long> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::ulong_
- , fusion::vector1<A0> > , Modifiers>
- : make_direct_uint<unsigned long> {};
-
- ///////////////////////////////////////////////////////////////////////////
-#ifdef BOOST_HAS_LONG_LONG
- template <typename Modifiers>
- struct make_primitive<tag::ulong_long, Modifiers>
- : make_uint<boost::ulong_long_type> {};
-
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::ulong_long
- , fusion::vector1<A0> > , Modifiers>
- : make_direct_uint<boost::ulong_long_type> {};
-#endif
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator.hpp
deleted file mode 100644
index de44f5eef3..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator.hpp
+++ /dev/null
@@ -1,27 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_OPERATOR_FEBRUARY_02_2007_0558PM)
-#define BOOST_SPIRIT_OPERATOR_FEBRUARY_02_2007_0558PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/operator/sequence.hpp>
-#include <boost/spirit/home/qi/operator/expect.hpp>
-#include <boost/spirit/home/qi/operator/alternative.hpp>
-#include <boost/spirit/home/qi/operator/sequential_or.hpp>
-#include <boost/spirit/home/qi/operator/permutation.hpp>
-#include <boost/spirit/home/qi/operator/difference.hpp>
-#include <boost/spirit/home/qi/operator/list.hpp>
-#include <boost/spirit/home/qi/operator/optional.hpp>
-#include <boost/spirit/home/qi/operator/kleene.hpp>
-#include <boost/spirit/home/qi/operator/plus.hpp>
-#include <boost/spirit/home/qi/operator/and_predicate.hpp>
-#include <boost/spirit/home/qi/operator/not_predicate.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/alternative.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/alternative.hpp
deleted file mode 100644
index 7814752dbe..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/alternative.hpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_OPERATOR_ALTERNATIVE_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_ALTERNATIVE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/detail/alternative_function.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/spirit/home/support/detail/what_function.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/fusion/include/any.hpp>
-#include <boost/fusion/include/mpl.hpp>
-#include <boost/fusion/include/for_each.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::bitwise_or> // enables |
- : mpl::true_ {};
-
- template <>
- struct flatten_tree<qi::domain, proto::tag::bitwise_or> // flattens |
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Elements>
- struct alternative : nary_parser<alternative<Elements> >
- {
- template <typename Context, typename Iterator>
- struct attribute
- {
- // Put all the element attributes in a tuple
- typedef typename traits::build_attribute_sequence<
- Elements, Context, traits::alternative_attribute_transform
- , Iterator, qi::domain
- >::type all_attributes;
-
- // Ok, now make a variant over the attribute sequence. Note that
- // build_variant makes sure that 1) all attributes in the variant
- // are unique 2) puts the unused attribute, if there is any, to
- // the front and 3) collapses single element variants, variant<T>
- // to T.
- typedef typename
- traits::build_variant<all_attributes>::type
- type;
- };
-
- alternative(Elements const& elements_)
- : elements(elements_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- detail::alternative_function<Iterator, Context, Skipper, Attribute>
- f(first, last, context, skipper, attr_);
-
- // return true if *any* of the parsers succeed
- return fusion::any(elements, f);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- info result("alternative");
- fusion::for_each(elements,
- spirit::detail::what_function<Context>(result, context));
- return result;
- }
-
- Elements elements;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::bitwise_or, Elements, Modifiers>
- : make_nary_composite<Elements, alternative>
- {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements>
- struct has_semantic_action<qi::alternative<Elements> >
- : nary_has_semantic_action<Elements> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::alternative<Elements>, Attribute, Context
- , Iterator>
- : nary_handles_container<Elements, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/and_predicate.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/and_predicate.hpp
deleted file mode 100644
index 647fdd2e95..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/and_predicate.hpp
+++ /dev/null
@@ -1,94 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_OPERATOR_AND_PREDICATE_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_AND_PREDICATE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::address_of> // enables &p
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Subject>
- struct and_predicate : unary_parser<and_predicate<Subject> >
- {
- typedef Subject subject_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef unused_type type;
- };
-
- and_predicate(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& /*attr*/) const
- {
- Iterator i = first;
- return subject.parse(i, last, context, skipper, unused);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("and-predicate", subject.what(context));
- }
-
- Subject subject;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::address_of, Elements, Modifiers>
- : make_unary_composite<Elements, and_predicate>
- {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::and_predicate<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::and_predicate<Subject>, Attribute, Context
- , Iterator>
- : unary_handles_container<Subject, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/difference.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/difference.hpp
deleted file mode 100644
index 7dc16f612f..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/difference.hpp
+++ /dev/null
@@ -1,114 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_OPERATOR_DIFFERENCE_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_DIFFERENCE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::minus> // enables -
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Left, typename Right>
- struct difference : binary_parser<difference<Left, Right> >
- {
- typedef Left left_type;
- typedef Right right_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename
- traits::attribute_of<left_type, Context, Iterator>::type
- type;
- };
-
- difference(Left const& left_, Right const& right_)
- : left(left_), right(right_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- // Unlike classic Spirit, with this version of difference, the rule
- // lit("policeman") - "police" will always fail to match.
-
- // Spirit2 does not count the matching chars while parsing and
- // there is no reliable and fast way to check if the LHS matches
- // more than the RHS.
-
- // Try RHS first
- Iterator start = first;
- if (right.parse(first, last, context, skipper, unused))
- {
- // RHS succeeds, we fail.
- first = start;
- return false;
- }
- // RHS fails, now try LHS
- return left.parse(first, last, context, skipper, attr_);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("difference",
- std::make_pair(left.what(context), right.what(context)));
- }
-
- Left left;
- Right right;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::minus, Elements, Modifiers>
- : make_binary_composite<Elements, difference>
- {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Left, typename Right>
- struct has_semantic_action<qi::difference<Left, Right> >
- : binary_has_semantic_action<Left, Right> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Left, typename Right, typename Attribute
- , typename Context, typename Iterator>
- struct handles_container<qi::difference<Left, Right>, Attribute, Context
- , Iterator>
- : binary_handles_container<Left, Right, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/expect.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/expect.hpp
deleted file mode 100644
index aa2462fc7d..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/expect.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_OPERATOR_EXPECT_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_EXPECT_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/operator/sequence_base.hpp>
-#include <boost/spirit/home/qi/detail/expect_function.hpp>
-#include <boost/spirit/home/qi/detail/expectation_failure.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::greater> // enables >
- : mpl::true_ {};
-
- template <>
- struct flatten_tree<qi::domain, proto::tag::greater> // flattens >
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Elements>
- struct expect_operator : sequence_base<expect_operator<Elements>, Elements>
- {
- friend struct sequence_base<expect_operator<Elements>, Elements>;
-
- expect_operator(Elements const& elements)
- : sequence_base<expect_operator<Elements>, Elements>(elements) {}
-
- private:
-
- template <typename Iterator, typename Context, typename Skipper>
- static detail::expect_function<
- Iterator, Context, Skipper
- , expectation_failure<Iterator> >
- fail_function(
- Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper)
- {
- return detail::expect_function<
- Iterator, Context, Skipper, expectation_failure<Iterator> >
- (first, last, context, skipper);
- }
-
- std::string id() const { return "expect_operator"; }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::greater, Elements, Modifiers>
- : make_nary_composite<Elements, expect_operator>
- {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements>
- struct has_semantic_action<qi::expect_operator<Elements> >
- : nary_has_semantic_action<Elements> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::expect_operator<Elements>, Attribute, Context
- , Iterator>
- : mpl::true_ {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/kleene.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/kleene.hpp
deleted file mode 100644
index 7b32515f8b..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/kleene.hpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_OPERATOR_KLEENE_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_KLEENE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/support/container.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/qi/detail/fail_function.hpp>
-#include <boost/spirit/home/qi/detail/pass_container.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- //[composite_parsers_kleene_enable_
- template <>
- struct use_operator<qi::domain, proto::tag::dereference> // enables *p
- : mpl::true_ {};
- //]
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- //[composite_parsers_kleene
- template <typename Subject>
- struct kleene : unary_parser<kleene<Subject> >
- {
- typedef Subject subject_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- // Build a std::vector from the subject's attribute. Note
- // that build_std_vector may return unused_type if the
- // subject's attribute is an unused_type.
- typedef typename
- traits::build_std_vector<
- typename traits::
- attribute_of<Subject, Context, Iterator>::type
- >::type
- type;
- };
-
- kleene(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename F>
- bool parse_container(F f) const
- {
- while (!f (subject))
- ;
- return true;
- }
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- // ensure the attribute is actually a container type
- traits::make_container(attr_);
-
- typedef detail::fail_function<Iterator, Context, Skipper>
- fail_function;
-
- Iterator iter = first;
- fail_function f(iter, last, context, skipper);
- parse_container(detail::make_pass_container(f, attr_));
-
- first = f.first;
- return true;
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("kleene", subject.what(context));
- }
-
- Subject subject;
- };
- //]
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- //[composite_parsers_kleene_generator
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::dereference, Elements, Modifiers>
- : make_unary_composite<Elements, kleene>
- {};
- //]
-
-// ///////////////////////////////////////////////////////////////////////////
-// // Define what attributes are compatible with a kleene
-// template <typename Attribute, typename Subject, typename Context, typename Iterator>
-// struct is_attribute_compatible<Attribute, kleene<Subject>, Context, Iterator>
-// : traits::is_container_compatible<qi::domain, Attribute
-// , kleene<Subject>, Context, Iterator>
-// {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::kleene<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::kleene<Subject>, Attribute
- , Context, Iterator>
- : mpl::true_ {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/list.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/list.hpp
deleted file mode 100644
index cd5bbb6a61..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/list.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_OPERATOR_LIST_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_LIST_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/support/container.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/qi/detail/fail_function.hpp>
-#include <boost/spirit/home/qi/detail/pass_container.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-#include <vector>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::modulus> // enables p % d
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Left, typename Right>
- struct list : binary_parser<list<Left, Right> >
- {
- typedef Left left_type;
- typedef Right right_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- // Build a std::vector from the LHS's attribute. Note
- // that build_std_vector may return unused_type if the
- // subject's attribute is an unused_type.
- typedef typename
- traits::build_std_vector<
- typename traits::
- attribute_of<Left, Context, Iterator>::type
- >::type
- type;
- };
-
- list(Left const& left_, Right const& right_)
- : left(left_), right(right_) {}
-
- template <typename F>
- bool parse_container(F f) const
- {
- // in order to succeed we need to match at least one element
- if (f (left))
- return false;
-
- typename F::iterator_type save = f.f.first;
- while (right.parse(f.f.first, f.f.last, f.f.context, f.f.skipper, unused)
- && !f (left))
- {
- save = f.f.first;
- }
-
- f.f.first = save;
- return true;
- }
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef detail::fail_function<Iterator, Context, Skipper>
- fail_function;
-
- // ensure the attribute is actually a container type
- traits::make_container(attr_);
-
- Iterator iter = first;
- fail_function f(iter, last, context, skipper);
- if (!parse_container(detail::make_pass_container(f, attr_)))
- return false;
-
- first = f.first;
- return true;
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("list",
- std::make_pair(left.what(context), right.what(context)));
- }
-
- Left left;
- Right right;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::modulus, Elements, Modifiers>
- : make_binary_composite<Elements, list>
- {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Left, typename Right>
- struct has_semantic_action<qi::list<Left, Right> >
- : binary_has_semantic_action<Left, Right> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Left, typename Right, typename Attribute
- , typename Context, typename Iterator>
- struct handles_container<qi::list<Left, Right>, Attribute, Context
- , Iterator>
- : mpl::true_ {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/not_predicate.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/not_predicate.hpp
deleted file mode 100644
index 9c2ef74ebc..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/not_predicate.hpp
+++ /dev/null
@@ -1,93 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_OPERATOR_NOT_PREDICATE_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_NOT_PREDICATE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::logical_not> // enables !p
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Subject>
- struct not_predicate : unary_parser<not_predicate<Subject> >
- {
- typedef Subject subject_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef unused_type type;
- };
-
- not_predicate(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& /*attr*/) const
- {
- Iterator i = first;
- return !subject.parse(i, last, context, skipper, unused);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("not-predicate", subject.what(context));
- }
-
- Subject subject;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::logical_not, Elements, Modifiers>
- : make_unary_composite<Elements, not_predicate>
- {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::not_predicate<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::not_predicate<Subject>, Attribute
- , Context, Iterator>
- : unary_handles_container<Subject, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/optional.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/optional.hpp
deleted file mode 100644
index b5605b2889..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/optional.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_OPERATOR_OPTIONAL_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_OPTIONAL_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/container.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/detail/assign_to.hpp>
-#include <boost/optional.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-#include <vector>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::negate> // enables -p
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Subject>
- struct optional : unary_parser<optional<Subject> >
- {
- typedef Subject subject_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- // Build a boost::optional from the subject's attribute. Note
- // that boost::optional may return unused_type if the
- // subject's attribute is an unused_type.
- typedef typename
- traits::build_optional<
- typename traits::
- attribute_of<Subject, Context, Iterator>::type
- >::type
- type;
- };
-
- optional(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse_impl(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_, mpl::false_) const
- {
- // create a local value if Attribute is not unused_type
- typename spirit::result_of::optional_value<Attribute>::type val =
- typename spirit::result_of::optional_value<Attribute>::type();
-
- if (subject.parse(first, last, context, skipper, val))
- {
- // assign the parsed value into our attribute
- spirit::traits::assign_to(val, attr_);
- }
- return true;
- }
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse_impl(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_, mpl::true_) const
- {
- subject.parse(first, last, context, skipper, attr_);
- return true;
- }
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef typename spirit::result_of::optional_value<Attribute>::type
- attribute_type;
-
- return parse_impl(first, last, context, skipper, attr_
- , traits::is_container<attribute_type>());
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("optional", subject.what(context));
- }
-
- Subject subject;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::negate, Elements, Modifiers>
- : make_unary_composite<Elements, optional>
- {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::optional<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::optional<Subject>, Attribute
- , Context, Iterator>
- : mpl::true_ {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/permutation.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/permutation.hpp
deleted file mode 100644
index add503b875..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/permutation.hpp
+++ /dev/null
@@ -1,144 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_OPERATOR_PERMUTATION_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_PERMUTATION_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/detail/permute_function.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/algorithm/any_if_ns.hpp>
-#include <boost/spirit/home/support/detail/what_function.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/fusion/include/size.hpp>
-#include <boost/optional.hpp>
-#include <boost/array.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::bitwise_xor> // enables ^
- : mpl::true_ {};
-
- template <>
- struct flatten_tree<qi::domain, proto::tag::bitwise_xor> // flattens ^
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Elements>
- struct permutation : nary_parser<permutation<Elements> >
- {
- template <typename Context, typename Iterator>
- struct attribute
- {
- // Put all the element attributes in a tuple,
- // wrapping each element in a boost::optional
- typedef typename traits::build_attribute_sequence<
- Elements, Context, traits::permutation_attribute_transform
- , Iterator, qi::domain
- >::type all_attributes;
-
- // Now, build a fusion vector over the attributes. Note
- // that build_fusion_vector 1) removes all unused attributes
- // and 2) may return unused_type if all elements have
- // unused_type(s).
- typedef typename
- traits::build_fusion_vector<all_attributes>::type
- type;
- };
-
- permutation(Elements const& elements_)
- : elements(elements_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef traits::attribute_not_unused<Context, Iterator> predicate;
- detail::permute_function<Iterator, Context, Skipper>
- f(first, last, context, skipper);
-
- boost::array<bool, fusion::result_of::size<Elements>::value> flags;
- flags.fill(false);
-
- // wrap the attribute in a tuple if it is not a tuple
- typename traits::wrap_if_not_tuple<Attribute>::type attr_local(attr_);
-
- // We have a bool array 'flags' with one flag for each parser.
- // permute_function sets the slot to true when the corresponding
- // parser successful matches. We loop until there are no more
- // successful parsers.
-
- bool result = false;
- f.taken = flags.begin();
- while (spirit::any_if_ns(elements, attr_local, f, predicate()))
- {
- f.taken = flags.begin();
- result = true;
- }
- return result;
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- info result("permutation");
- fusion::for_each(elements,
- spirit::detail::what_function<Context>(result, context));
- return result;
- }
-
- Elements elements;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::bitwise_xor, Elements, Modifiers>
- : make_nary_composite<Elements, permutation>
- {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- // We specialize this for permutation (see support/attributes.hpp).
- // For permutation, we only wrap the attribute in a tuple IFF
- // it is not already a fusion tuple.
- template <typename Elements, typename Attribute>
- struct pass_attribute<qi::permutation<Elements>, Attribute>
- : wrap_if_not_tuple<Attribute> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements>
- struct has_semantic_action<qi::permutation<Elements> >
- : nary_has_semantic_action<Elements> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::permutation<Elements>, Attribute, Context
- , Iterator>
- : nary_handles_container<Elements, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/plus.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/plus.hpp
deleted file mode 100644
index fc4632b3e0..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/plus.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_OPERATOR_PLUS_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_PLUS_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/support/container.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/qi/detail/fail_function.hpp>
-#include <boost/spirit/home/qi/detail/pass_container.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::unary_plus> // enables +p
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Subject>
- struct plus : unary_parser<plus<Subject> >
- {
- typedef Subject subject_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- // Build a std::vector from the subject's attribute. Note
- // that build_std_vector may return unused_type if the
- // subject's attribute is an unused_type.
- typedef typename
- traits::build_std_vector<
- typename traits::attribute_of<
- Subject, Context, Iterator>::type
- >::type
- type;
- };
-
- plus(Subject const& subject_)
- : subject(subject_) {}
-
- template <typename F>
- bool parse_container(F f) const
- {
- // in order to succeed we need to match at least one element
- if (f (subject))
- return false;
-
- while (!f (subject))
- ;
- return true;
- }
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef detail::fail_function<Iterator, Context, Skipper>
- fail_function;
-
- // ensure the attribute is actually a container type
- traits::make_container(attr_);
-
- Iterator iter = first;
- fail_function f(iter, last, context, skipper);
- if (!parse_container(detail::make_pass_container(f, attr_)))
- return false;
-
- first = f.first;
- return true;
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- return info("plus", subject.what(context));
- }
-
- Subject subject;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::unary_plus, Elements, Modifiers>
- : make_unary_composite<Elements, plus>
- {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct has_semantic_action<qi::plus<Subject> >
- : unary_has_semantic_action<Subject> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::plus<Subject>, Attribute, Context
- , Iterator>
- : mpl::true_ {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequence.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequence.hpp
deleted file mode 100644
index 3854c9e3ca..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequence.hpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_OPERATOR_SEQUENCE_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_SEQUENCE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/operator/sequence_base.hpp>
-#include <boost/spirit/home/qi/detail/fail_function.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::shift_right> // enables >>
- : mpl::true_ {};
-
- template <>
- struct flatten_tree<qi::domain, proto::tag::shift_right> // flattens >>
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Elements>
- struct sequence : sequence_base<sequence<Elements>, Elements>
- {
- friend struct sequence_base<sequence<Elements>, Elements>;
-
- sequence(Elements const& elements)
- : sequence_base<sequence<Elements>, Elements>(elements) {}
-
- private:
-
- template <typename Iterator, typename Context, typename Skipper>
- static detail::fail_function<Iterator, Context, Skipper>
- fail_function(
- Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper)
- {
- return detail::fail_function<Iterator, Context, Skipper>
- (first, last, context, skipper);
- }
-
- std::string id() const { return "sequence"; }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::shift_right, Elements, Modifiers>
- : make_nary_composite<Elements, sequence>
- {};
-
-// ///////////////////////////////////////////////////////////////////////////
-// // Define what attributes are compatible with a sequence
-// template <typename Attribute, typename Elements, typename Context, typename Iterator>
-// struct is_attribute_compatible<Attribute, sequence<Elements>, Context, Iterator>
-// : mpl::or_<
-// is_convertible<Attribute
-// , typename traits::attribute_of<sequence<Elements>, Context, Iterator>::type>
-// , traits::is_fusion_sequence_compatible<qi::domain, Attribute
-// , sequence<Elements>, Context, Iterator>
-// , traits::is_container_compatible<qi::domain, Attribute
-// , sequence<Elements>, Context, Iterator>
-// >
-// {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements>
- struct has_semantic_action<qi::sequence<Elements> >
- : nary_has_semantic_action<Elements> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::sequence<Elements>, Attribute, Context
- , Iterator>
- : mpl::true_ {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequence_base.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequence_base.hpp
deleted file mode 100644
index 1b56e819e8..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequence_base.hpp
+++ /dev/null
@@ -1,140 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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_SPIRIT_QI_OPERATOR_SEQUENCE_BASE_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_SEQUENCE_BASE_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/detail/pass_container.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/algorithm/any_if.hpp>
-#include <boost/spirit/home/support/detail/what_function.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/sequence_base_id.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/fusion/include/as_vector.hpp>
-#include <boost/fusion/include/vector.hpp>
-#include <boost/fusion/include/for_each.hpp>
-#include <boost/mpl/identity.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Derived, typename Elements>
- struct sequence_base // this class is shared by sequence and expect
- : nary_parser<Derived>
- {
- typedef Elements elements_type;
- struct sequence_base_id;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- // Put all the element attributes in a tuple
- typedef typename traits::build_attribute_sequence<
- Elements, Context, traits::sequence_attribute_transform
- , Iterator, qi::domain
- >::type all_attributes;
-
- // Now, build a fusion vector over the attributes. Note
- // that build_fusion_vector 1) removes all unused attributes
- // and 2) may return unused_type if all elements have
- // unused_type(s).
- typedef typename
- traits::build_fusion_vector<all_attributes>::type
- type_;
-
- // Finally, strip single element vectors into its
- // naked form: vector1<T> --> T
- typedef typename
- traits::strip_single_element_vector<type_>::type
- type;
- };
-
- sequence_base(Elements const& elements_)
- : elements(elements_) {}
-
- // standard case. Attribute is a fusion tuple
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse_impl(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_, mpl::false_) const
- {
- Iterator iter = first;
- typedef traits::attribute_not_unused<Context, Iterator> predicate;
-
- // wrap the attribute in a tuple if it is not a tuple or if the
- // attribute of this sequence is a single element tuple
- typedef typename attribute<Context, Iterator>::type_ attr_type_;
- typename traits::wrap_if_not_tuple<Attribute
- , typename mpl::and_<
- traits::one_element_sequence<attr_type_>
- , mpl::not_<traits::one_element_sequence<Attribute> >
- >::type
- >::type attr_local(attr_);
-
- // return false if *any* of the parsers fail
- if (spirit::any_if(elements, attr_local
- , Derived::fail_function(iter, last, context, skipper), predicate()))
- return false;
- first = iter;
- return true;
- }
-
- // Special case when Attribute is an stl container
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse_impl(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_, mpl::true_) const
- {
- // ensure the attribute is actually a container type
- traits::make_container(attr_);
-
- Iterator iter = first;
- // return false if *any* of the parsers fail
- if (fusion::any(elements
- , detail::make_sequence_pass_container(
- Derived::fail_function(iter, last, context, skipper), attr_))
- )
- return false;
- first = iter;
- return true;
- }
-
- // main parse function. Dispatches to parse_impl depending
- // on the Attribute type.
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- return parse_impl(first, last, context, skipper, attr_
- , traits::is_container<Attribute>());
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- info result(this->derived().id());
- fusion::for_each(elements,
- spirit::detail::what_function<Context>(result, context));
- return result;
- }
-
- Elements elements;
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequential_or.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequential_or.hpp
deleted file mode 100644
index 1d47f5a0ae..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/operator/sequential_or.hpp
+++ /dev/null
@@ -1,130 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_QI_OPERATOR_SEQUENTIAL_OR_HPP
-#define BOOST_SPIRIT_QI_OPERATOR_SEQUENTIAL_OR_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/detail/pass_function.hpp>
-#include <boost/spirit/home/qi/detail/attributes.hpp>
-#include <boost/spirit/home/support/detail/what_function.hpp>
-#include <boost/spirit/home/support/algorithm/any_if_ns_so.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/fusion/include/as_vector.hpp>
-#include <boost/fusion/include/for_each.hpp>
-#include <boost/proto/operators.hpp>
-#include <boost/proto/tags.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <>
- struct use_operator<qi::domain, proto::tag::logical_or> // enables ||
- : mpl::true_ {};
-
- template <>
- struct flatten_tree<qi::domain, proto::tag::logical_or> // flattens ||
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Elements>
- struct sequential_or : nary_parser<sequential_or<Elements> >
- {
- template <typename Context, typename Iterator>
- struct attribute
- {
- // Put all the element attributes in a tuple,
- // wrapping each element in a boost::optional
- typedef typename traits::build_attribute_sequence<
- Elements, Context, traits::sequential_or_attribute_transform
- , Iterator, qi::domain
- >::type all_attributes;
-
- // Now, build a fusion vector over the attributes. Note
- // that build_fusion_vector 1) removes all unused attributes
- // and 2) may return unused_type if all elements have
- // unused_type(s).
- typedef typename
- traits::build_fusion_vector<all_attributes>::type
- type;
- };
-
- sequential_or(Elements const& elements_)
- : elements(elements_) {}
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- typedef traits::attribute_not_unused<Context, Iterator> predicate;
- detail::pass_function<Iterator, Context, Skipper>
- f(first, last, context, skipper);
-
- // wrap the attribute in a tuple if it is not a tuple
- typename traits::wrap_if_not_tuple<Attribute>::type attr_local(attr_);
-
- // return true if *any* of the parsers succeed
- // (we use the non-short-circuiting and strict order version:
- // any_if_ns_so to force all the elements to be tested and
- // in the defined order: first is first, last is last)
- return spirit::any_if_ns_so(elements, attr_local, f, predicate());
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- info result("sequential-or");
- fusion::for_each(elements,
- spirit::detail::what_function<Context>(result, context));
- return result;
- }
-
- Elements elements;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Modifiers>
- struct make_composite<proto::tag::logical_or, Elements, Modifiers>
- : make_nary_composite<Elements, sequential_or>
- {};
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- // We specialize this for sequential_or (see support/attributes.hpp).
- // For sequential_or, we only wrap the attribute in a tuple IFF
- // it is not already a fusion tuple.
- template <typename Elements, typename Attribute>
- struct pass_attribute<qi::sequential_or<Elements>, Attribute>
- : wrap_if_not_tuple<Attribute> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements>
- struct has_semantic_action<qi::sequential_or<Elements> >
- : nary_has_semantic_action<Elements> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::sequential_or<Elements>, Attribute, Context
- , Iterator>
- : nary_handles_container<Elements, Attribute, Context, Iterator> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/parse.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/parse.hpp
deleted file mode 100644
index 6f9406c51c..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/parse.hpp
+++ /dev/null
@@ -1,219 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_PARSE_APRIL_16_2006_0442PM)
-#define BOOST_SPIRIT_PARSE_APRIL_16_2006_0442PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/context.hpp>
-#include <boost/spirit/home/support/nonterminal/locals.hpp>
-#include <boost/spirit/home/qi/detail/parse.hpp>
-#include <boost/iterator/iterator_concepts.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Iterator, typename Expr>
- inline bool
- parse(
- Iterator& first
- , Iterator last
- , Expr const& expr)
- {
- // Make sure the iterator is at least a readable forward traversal iterator.
- // If you got a compilation error here, then you are using a weaker iterator
- // while calling this function, you need to supply a readable forward traversal
- // iterator instead.
- BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept<Iterator>));
- BOOST_CONCEPT_ASSERT((boost_concepts::ForwardTraversalConcept<Iterator>));
-
- return detail::parse_impl<Expr>::call(first, last, expr);
- }
-
- template <typename Iterator, typename Expr>
- inline bool
- parse(
- Iterator const& first_
- , Iterator last
- , Expr const& expr)
- {
- Iterator first = first_;
- return qi::parse(first, last, expr);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename T>
- struct make_context
- {
- typedef context<fusion::cons<T&>, locals<> > type;
- };
-
- template <>
- struct make_context<unused_type>
- {
- typedef unused_type type;
- };
- }
-
- template <typename Iterator, typename Expr, typename Attr>
- inline bool
- parse(
- Iterator& first
- , Iterator last
- , Expr const& expr
- , Attr& attr)
- {
- // Make sure the iterator is at least a readable forward traversal iterator.
- // If you got a compilation error here, then you are using a weaker iterator
- // while calling this function, you need to supply a readable forward traversal
- // iterator instead.
- BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept<Iterator>));
- BOOST_CONCEPT_ASSERT((boost_concepts::ForwardTraversalConcept<Iterator>));
-
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then the expression (expr) is not a valid spirit qi expression.
- BOOST_SPIRIT_ASSERT_MATCH(qi::domain, Expr);
-
- typename detail::make_context<Attr>::type context(attr);
- return compile<qi::domain>(expr).parse(first, last, context, unused, attr);
- }
-
- template <typename Iterator, typename Expr, typename Attr>
- inline bool
- parse(
- Iterator const& first_
- , Iterator last
- , Expr const& expr
- , Attr& attr)
- {
- Iterator first = first_;
- return qi::parse(first, last, expr, attr);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Iterator, typename Expr, typename Skipper>
- inline bool
- phrase_parse(
- Iterator& first
- , Iterator last
- , Expr const& expr
- , Skipper const& skipper
- , BOOST_SCOPED_ENUM(skip_flag) post_skip = skip_flag::postskip)
- {
- // Make sure the iterator is at least a readable forward traversal iterator.
- // If you got a compilation error here, then you are using a weaker iterator
- // while calling this function, you need to supply a readable forward traversal
- // iterator instead.
- BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept<Iterator>));
- BOOST_CONCEPT_ASSERT((boost_concepts::ForwardTraversalConcept<Iterator>));
-
- return detail::phrase_parse_impl<Expr>::call(
- first, last, expr, skipper, post_skip);
- }
-
- template <typename Iterator, typename Expr, typename Skipper>
- inline bool
- phrase_parse(
- Iterator const& first_
- , Iterator last
- , Expr const& expr
- , Skipper const& skipper
- , BOOST_SCOPED_ENUM(skip_flag) post_skip = skip_flag::postskip)
- {
- Iterator first = first_;
- return qi::phrase_parse(first, last, expr, skipper, post_skip);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Iterator, typename Expr, typename Skipper, typename Attr>
- inline bool
- phrase_parse(
- Iterator& first
- , Iterator last
- , Expr const& expr
- , Skipper const& skipper
- , BOOST_SCOPED_ENUM(skip_flag) post_skip
- , Attr& attr)
- {
- // Make sure the iterator is at least a readable forward traversal iterator.
- // If you got a compilation error here, then you are using a weaker iterator
- // while calling this function, you need to supply a readable forward traversal
- // iterator instead.
- BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept<Iterator>));
- BOOST_CONCEPT_ASSERT((boost_concepts::ForwardTraversalConcept<Iterator>));
-
- // Report invalid expression error as early as possible.
- // If you got an error_invalid_expression error message here,
- // then either the expression (expr) or skipper is not a valid
- // spirit qi expression.
- BOOST_SPIRIT_ASSERT_MATCH(qi::domain, Expr);
- BOOST_SPIRIT_ASSERT_MATCH(qi::domain, Skipper);
-
- typedef
- typename result_of::compile<qi::domain, Skipper>::type
- skipper_type;
- skipper_type const skipper_ = compile<qi::domain>(skipper);
-
- typename detail::make_context<Attr>::type context(attr);
- if (!compile<qi::domain>(expr).parse(
- first, last, context, skipper_, attr))
- return false;
-
- if (post_skip == skip_flag::postskip)
- qi::skip_over(first, last, skipper_);
- return true;
- }
-
- template <typename Iterator, typename Expr, typename Skipper, typename Attr>
- inline bool
- phrase_parse(
- Iterator const& first_
- , Iterator last
- , Expr const& expr
- , Skipper const& skipper
- , BOOST_SCOPED_ENUM(skip_flag) post_skip
- , Attr& attr)
- {
- Iterator first = first_;
- return qi::phrase_parse(first, last, expr, skipper, post_skip, attr);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Iterator, typename Expr, typename Skipper, typename Attr>
- inline bool
- phrase_parse(
- Iterator& first
- , Iterator last
- , Expr const& expr
- , Skipper const& skipper
- , Attr& attr)
- {
- return qi::phrase_parse(first, last, expr, skipper, skip_flag::postskip, attr);
- }
-
- template <typename Iterator, typename Expr, typename Skipper, typename Attr>
- inline bool
- phrase_parse(
- Iterator const& first_
- , Iterator last
- , Expr const& expr
- , Skipper const& skipper
- , Attr& attr)
- {
- Iterator first = first_;
- return qi::phrase_parse(first, last, expr, skipper, skip_flag::postskip, attr);
- }
-}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/parser.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/parser.hpp
deleted file mode 100644
index ffd8bc913f..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/parser.hpp
+++ /dev/null
@@ -1,140 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_PARSER_OCTOBER_16_2008_0254PM)
-#define BOOST_SPIRIT_PARSER_OCTOBER_16_2008_0254PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/spirit/home/qi/domain.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
-
- //[parser_base_parser
- template <typename Derived>
- struct parser
- {
- struct parser_id;
- typedef Derived derived_type;
- typedef qi::domain domain;
-
- // Requirement: p.parse(f, l, context, skip, attr) -> bool
- //
- // p: a parser
- // f, l: first/last iterator pair
- // context: enclosing rule context (can be unused_type)
- // skip: skipper (can be unused_type)
- // attr: attribute (can be unused_type)
-
- // Requirement: p.what(context) -> info
- //
- // p: a parser
- // context: enclosing rule context (can be unused_type)
-
- // Requirement: P::template attribute<Ctx, Iter>::type
- //
- // P: a parser type
- // Ctx: A context type (can be unused_type)
- // Iter: An iterator type (can be unused_type)
-
- Derived const& derived() const
- {
- return *static_cast<Derived const*>(this);
- }
- };
- //]
-
- template <typename Derived>
- struct primitive_parser : parser<Derived>
- {
- struct primitive_parser_id;
- };
-
- template <typename Derived>
- struct nary_parser : parser<Derived>
- {
- struct nary_parser_id;
-
- // Requirement: p.elements -> fusion sequence
- //
- // p: a composite parser
-
- // Requirement: P::elements_type -> fusion sequence
- //
- // P: a composite parser type
- };
-
- template <typename Derived>
- struct unary_parser : parser<Derived>
- {
- struct unary_parser_id;
-
- // Requirement: p.subject -> subject parser
- //
- // p: a unary parser
-
- // Requirement: P::subject_type -> subject parser type
- //
- // P: a unary parser type
- };
-
- template <typename Derived>
- struct binary_parser : parser<Derived>
- {
- struct binary_parser_id;
-
- // Requirement: p.left -> left parser
- //
- // p: a binary parser
-
- // Requirement: P::left_type -> left parser type
- //
- // P: a binary parser type
-
- // Requirement: p.right -> right parser
- //
- // p: a binary parser
-
- // Requirement: P::right_type -> right parser type
- //
- // P: a binary parser type
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits // classification
-{
- namespace detail
- {
- BOOST_MPL_HAS_XXX_TRAIT_DEF(parser_id)
- BOOST_MPL_HAS_XXX_TRAIT_DEF(primitive_parser_id)
- BOOST_MPL_HAS_XXX_TRAIT_DEF(nary_parser_id)
- BOOST_MPL_HAS_XXX_TRAIT_DEF(unary_parser_id)
- BOOST_MPL_HAS_XXX_TRAIT_DEF(binary_parser_id)
- }
-
- // parser type identification
- template <typename T>
- struct is_parser : detail::has_parser_id<T> {};
-
- template <typename T>
- struct is_primitive_parser : detail::has_primitive_parser_id<T> {};
-
- template <typename T>
- struct is_nary_parser : detail::has_nary_parser_id<T> {};
-
- template <typename T>
- struct is_unary_parser : detail::has_unary_parser_id<T> {};
-
- template <typename T>
- struct is_binary_parser : detail::has_binary_parser_id<T> {};
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/reference.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/reference.hpp
deleted file mode 100644
index f1f5c67570..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/reference.hpp
+++ /dev/null
@@ -1,69 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_REFERENCE_OCTOBER_31_2008_1218AM)
-#define BOOST_SPIRIT_REFERENCE_OCTOBER_31_2008_1218AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/ref.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- ///////////////////////////////////////////////////////////////////////////
- // reference is a parser that references another parser (its Subject)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject>
- struct reference : parser<reference<Subject> >
- {
- typedef Subject subject_type;
-
- reference(Subject& subject)
- : ref(subject) {}
-
- template <typename Context, typename Iterator>
- struct attribute : Subject::template attribute<Context, Iterator> {};
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& context, Skipper const& skipper
- , Attribute& attr_) const
- {
- return ref.get().parse(first, last, context, skipper, attr_);
- }
-
- template <typename Context>
- info what(Context& context) const
- {
- // the reference is transparent (does not add any info)
- return ref.get().what(context);
- }
-
- boost::reference_wrapper<Subject> ref;
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct handles_container<qi::reference<Subject>, Attribute, Context
- , Iterator>
- : handles_container<typename remove_const<Subject>::type
- , Attribute, Context, Iterator>
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/skip_flag.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/skip_flag.hpp
deleted file mode 100644
index 28fd856e05..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/skip_flag.hpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 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)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_SKIP_FLAG_DEC_02_2009_0412PM)
-#define BOOST_SPIRIT_SKIP_FLAG_DEC_02_2009_0412PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/detail/scoped_enum_emulation.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- ///////////////////////////////////////////////////////////////////////////
- BOOST_SCOPED_ENUM_START(skip_flag)
- {
- postskip, // force post-skipping in phrase_parse()
- dont_postskip // inhibit post-skipping in phrase_parse()
- };
- BOOST_SCOPED_ENUM_END
-
-}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/skip_over.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/skip_over.hpp
deleted file mode 100644
index f66a361112..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/skip_over.hpp
+++ /dev/null
@@ -1,44 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_SKIP_APRIL_16_2006_0625PM)
-#define BOOST_SPIRIT_SKIP_APRIL_16_2006_0625PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/qi/detail/unused_skipper.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- ///////////////////////////////////////////////////////////////////////////
- // Move the /first/ iterator to the first non-matching position
- // given a skip-parser. The function is a no-op if unused_type is
- // passed as the skip-parser.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Iterator, typename T>
- inline void skip_over(Iterator& first, Iterator const& last, T const& skipper)
- {
- while (skipper.parse(first, last, unused, unused, unused))
- /***/;
- }
-
- template <typename Iterator>
- inline void skip_over(Iterator&, Iterator const&, unused_type)
- {
- }
-
- template <typename Iterator, typename Skipper>
- inline void skip_over(Iterator&, Iterator const&
- , detail::unused_skipper<Skipper> const&)
- {
- }
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string.hpp
deleted file mode 100644
index 70de51bdc5..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string.hpp
+++ /dev/null
@@ -1,17 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_STRING_FEBRUARY_03_2007_0355PM)
-#define BOOST_SPIRIT_STRING_FEBRUARY_03_2007_0355PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/string/lit.hpp>
-#include <boost/spirit/home/qi/string/symbols.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/detail/tst.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/detail/tst.hpp
deleted file mode 100644
index 73f2528c80..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/detail/tst.hpp
+++ /dev/null
@@ -1,212 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_TST_MARCH_09_2007_0905AM)
-#define BOOST_SPIRIT_TST_MARCH_09_2007_0905AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/call_traits.hpp>
-#include <iterator> // for std::iterator_traits
-#include <string>
-
-namespace boost { namespace spirit { namespace qi { namespace detail
-{
- // This file contains low level TST routines, not for
- // public consumption.
-
- template <typename Char, typename T>
- struct tst_node
- {
- tst_node(Char id_)
- : id(id_), data(0), lt(0), eq(0), gt(0)
- {
- }
-
- template <typename Alloc>
- static void
- destruct_node(tst_node* p, Alloc* alloc)
- {
- if (p)
- {
- if (p->data)
- alloc->delete_data(p->data);
- destruct_node(p->lt, alloc);
- destruct_node(p->eq, alloc);
- destruct_node(p->gt, alloc);
- alloc->delete_node(p);
- }
- }
-
- template <typename Alloc>
- static tst_node*
- clone_node(tst_node* p, Alloc* alloc)
- {
- if (p)
- {
- tst_node* clone = alloc->new_node(p->id);
- if (p->data)
- clone->data = alloc->new_data(*p->data);
- clone->lt = clone_node(p->lt, alloc);
- clone->eq = clone_node(p->eq, alloc);
- clone->gt = clone_node(p->gt, alloc);
- return clone;
- }
- return 0;
- }
-
- template <typename Iterator, typename Filter>
- static T*
- find(tst_node* start, Iterator& first, Iterator last, Filter filter)
- {
- if (first == last)
- return 0;
-
- Iterator i = first;
- Iterator latest = first;
- tst_node* p = start;
- T* found = 0;
-
- while (p && i != last)
- {
- typename
- std::iterator_traits<Iterator>::value_type
- c = filter(*i); // filter only the input
-
- if (c == p->id)
- {
- if (p->data)
- {
- found = p->data;
- latest = i;
- }
- p = p->eq;
- i++;
- }
- else if (c < p->id)
- {
- p = p->lt;
- }
- else
- {
- p = p->gt;
- }
- }
-
- if (found)
- first = ++latest; // one past the last matching char
- return found;
- }
-
- template <typename Iterator, typename Alloc>
- static T*
- add(
- tst_node*& start
- , Iterator first
- , Iterator last
- , typename boost::call_traits<T>::param_type val
- , Alloc* alloc)
- {
- if (first == last)
- return 0;
-
- tst_node** pp = &start;
- for(;;)
- {
- typename
- std::iterator_traits<Iterator>::value_type
- c = *first;
-
- if (*pp == 0)
- *pp = alloc->new_node(c);
- tst_node* p = *pp;
-
- if (c == p->id)
- {
- if (++first == last)
- {
- if (p->data == 0)
- p->data = alloc->new_data(val);
- return p->data;
- }
- pp = &p->eq;
- }
- else if (c < p->id)
- {
- pp = &p->lt;
- }
- else
- {
- pp = &p->gt;
- }
- }
- }
-
- template <typename Iterator, typename Alloc>
- static void
- remove(tst_node*& p, Iterator first, Iterator last, Alloc* alloc)
- {
- if (p == 0 || first == last)
- return;
-
- typename
- std::iterator_traits<Iterator>::value_type
- c = *first;
-
- if (c == p->id)
- {
- if (++first == last)
- {
- if (p->data)
- {
- alloc->delete_data(p->data);
- p->data = 0;
- }
- }
- remove(p->eq, first, last, alloc);
- }
- else if (c < p->id)
- {
- remove(p->lt, first, last, alloc);
- }
- else
- {
- remove(p->gt, first, last, alloc);
- }
-
- if (p->data == 0 && p->lt == 0 && p->eq == 0 && p->gt == 0)
- {
- alloc->delete_node(p);
- p = 0;
- }
- }
-
- template <typename F>
- static void
- for_each(tst_node* p, std::basic_string<Char> prefix, F f)
- {
- if (p)
- {
- for_each(p->lt, prefix, f);
- std::basic_string<Char> s = prefix + p->id;
- for_each(p->eq, s, f);
- if (p->data)
- f(s, *p->data);
- for_each(p->gt, prefix, f);
- }
- }
-
- Char id; // the node's identity character
- T* data; // optional data
- tst_node* lt; // left pointer
- tst_node* eq; // middle pointer
- tst_node* gt; // right pointer
- };
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/lit.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/lit.hpp
deleted file mode 100644
index 5929e274d4..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/lit.hpp
+++ /dev/null
@@ -1,312 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2010 Bryce Lelbach
-
- Distributed under the 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_LIT_APR_18_2006_1125PM)
-#define BOOST_SPIRIT_LIT_APR_18_2006_1125PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/detail/string_parse.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/auxiliary/lazy.hpp>
-#include <boost/spirit/home/qi/detail/enable_lit.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/char_class.hpp>
-#include <boost/spirit/home/support/modify.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-#include <boost/spirit/home/support/string_traits.hpp>
-#include <boost/spirit/home/support/detail/get_encoding.hpp>
-#include <boost/spirit/home/support/handles_container.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/fusion/include/value_at.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <string>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // Enablers
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct use_terminal<qi::domain, T
- , typename enable_if<traits::is_string<T> >::type> // enables strings
- : mpl::true_ {};
-
- template <typename CharEncoding, typename A0>
- struct use_terminal<qi::domain
- , terminal_ex<
- tag::char_code<tag::string, CharEncoding> // enables string(str)
- , fusion::vector1<A0> >
- > : traits::is_string<A0> {};
-
- template <typename CharEncoding> // enables string(f)
- struct use_lazy_terminal<
- qi::domain
- , tag::char_code<tag::string, CharEncoding>
- , 1 /*arity*/
- > : mpl::true_ {};
-
- // enables lit(...)
- template <typename A0>
- struct use_terminal<qi::domain
- , terminal_ex<tag::lit, fusion::vector1<A0> >
- , typename enable_if<traits::is_string<A0> >::type>
- : mpl::true_ {};
-}}
-
-namespace boost { namespace spirit { namespace qi
-{
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::lit;
-#endif
- using spirit::lit_type;
-
- ///////////////////////////////////////////////////////////////////////////
- // Parse for literal strings
- ///////////////////////////////////////////////////////////////////////////
- template <typename String, bool no_attribute>
- struct literal_string
- : primitive_parser<literal_string<String, no_attribute> >
- {
- typedef typename
- remove_const<typename traits::char_type_of<String>::type>::type
- char_type;
- typedef std::basic_string<char_type> string_type;
-
- literal_string(typename add_reference<String>::type str_)
- : str(str_)
- {}
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename mpl::if_c<
- no_attribute, unused_type, string_type>::type
- type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& /*context*/, Skipper const& skipper, Attribute& attr_) const
- {
- qi::skip_over(first, last, skipper);
- return detail::string_parse(str, first, last, attr_);
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("literal-string", str);
- }
-
- String str;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(literal_string& operator= (literal_string const&))
- literal_string(const literal_string&) = default;
- };
-
- template <typename String, bool no_attribute>
- struct no_case_literal_string
- : primitive_parser<no_case_literal_string<String, no_attribute> >
- {
- typedef typename
- remove_const<typename traits::char_type_of<String>::type>::type
- char_type;
- typedef std::basic_string<char_type> string_type;
-
- template <typename CharEncoding>
- no_case_literal_string(char_type const* in, CharEncoding encoding)
- : str_lo(in)
- , str_hi(in)
- {
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
- (void)encoding; // suppresses warning: C4100: 'encoding' : unreferenced formal parameter
-#endif
- typename string_type::iterator loi = str_lo.begin();
- typename string_type::iterator hii = str_hi.begin();
-
- for (; loi != str_lo.end(); ++loi, ++hii, ++in)
- {
- typedef typename CharEncoding::char_type encoded_char_type;
-
- *loi = static_cast<char_type>(encoding.tolower(encoded_char_type(*loi)));
- *hii = static_cast<char_type>(encoding.toupper(encoded_char_type(*hii)));
- }
- }
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef typename mpl::if_c<
- no_attribute, unused_type, string_type>::type
- type;
- };
-
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& /*context*/, Skipper const& skipper, Attribute& attr_) const
- {
- qi::skip_over(first, last, skipper);
- return detail::string_parse(str_lo, str_hi, first, last, attr_);
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info("no-case-literal-string", str_lo);
- }
-
- string_type str_lo, str_hi;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Modifiers>
- struct make_primitive<T, Modifiers
- , typename enable_if<traits::is_string<T> >::type>
- {
- typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> > no_case;
-
- typedef typename add_const<T>::type const_string;
- typedef typename mpl::if_<
- no_case
- , no_case_literal_string<const_string, true>
- , literal_string<const_string, true> >::type
- result_type;
-
- result_type operator()(
- typename add_reference<const_string>::type str, unused_type) const
- {
- return op(str, no_case());
- }
-
- template <typename String>
- result_type op(String const& str, mpl::false_) const
- {
- return result_type(str);
- }
-
- template <typename String>
- result_type op(String const& str, mpl::true_) const
- {
- typename spirit::detail::get_encoding<Modifiers,
- spirit::char_encoding::standard>::type encoding;
- return result_type(traits::get_c_string(str), encoding);
- }
- };
-
- // lit("...")
- template <typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<tag::lit, fusion::vector1<A0> >
- , Modifiers
- , typename enable_if<traits::is_string<A0> >::type>
- {
- typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> > no_case;
-
- typedef typename add_const<A0>::type const_string;
- typedef typename mpl::if_<
- no_case
- , no_case_literal_string<const_string, true>
- , literal_string<const_string, true> >::type
- result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return op(fusion::at_c<0>(term.args), no_case());
- }
-
- template <typename String>
- result_type op(String const& str, mpl::false_) const
- {
- return result_type(str);
- }
-
- template <typename String>
- result_type op(String const& str, mpl::true_) const
- {
- typedef typename traits::char_encoding_from_char<
- typename traits::char_type_of<A0>::type>::type encoding_type;
- typename spirit::detail::get_encoding<Modifiers,
- encoding_type>::type encoding;
- return result_type(traits::get_c_string(str), encoding);
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // string("...")
- template <typename CharEncoding, typename Modifiers, typename A0>
- struct make_primitive<
- terminal_ex<
- tag::char_code<tag::string, CharEncoding>
- , fusion::vector1<A0> >
- , Modifiers>
- {
- typedef CharEncoding encoding;
- typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> > no_case;
-
- typedef typename add_const<A0>::type const_string;
- typedef typename mpl::if_<
- no_case
- , no_case_literal_string<const_string, false>
- , literal_string<const_string, false> >::type
- result_type;
-
- template <typename Terminal>
- result_type operator()(Terminal const& term, unused_type) const
- {
- return op(fusion::at_c<0>(term.args), no_case());
- }
-
- template <typename String>
- result_type op(String const& str, mpl::false_) const
- {
- return result_type(str);
- }
-
- template <typename String>
- result_type op(String const& str, mpl::true_) const
- {
- return result_type(traits::get_c_string(str), encoding());
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename String, bool no_attribute, typename Attribute
- ,typename Context, typename Iterator>
- struct handles_container<qi::literal_string<String, no_attribute>
- , Attribute, Context, Iterator>
- : mpl::true_ {};
-
- template <typename String, bool no_attribute, typename Attribute
- , typename Context, typename Iterator>
- struct handles_container<qi::no_case_literal_string<String, no_attribute>
- , Attribute, Context, Iterator>
- : mpl::true_ {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/symbols.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/symbols.hpp
deleted file mode 100644
index 39d58cb490..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/symbols.hpp
+++ /dev/null
@@ -1,429 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_SYMBOLS_MARCH_11_2007_1055AM)
-#define BOOST_SPIRIT_SYMBOLS_MARCH_11_2007_1055AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/domain.hpp>
-#include <boost/spirit/home/qi/skip_over.hpp>
-#include <boost/spirit/home/qi/string/tst.hpp>
-#include <boost/spirit/home/qi/reference.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-#include <boost/spirit/home/qi/detail/assign_to.hpp>
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/support/detail/get_encoding.hpp>
-#include <boost/spirit/home/support/modify.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/string_traits.hpp>
-#include <boost/proto/extends.hpp>
-#include <boost/proto/traits.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/shared_ptr.hpp>
-
-#if defined(BOOST_MSVC)
-# pragma warning(push)
-# pragma warning(disable: 4355) // 'this' : used in base member initializer list warning
-#endif
-
-namespace boost { namespace spirit { namespace qi
-{
- template <
- typename Char = char
- , typename T = unused_type
- , typename Lookup = tst<Char, T>
- , typename Filter = tst_pass_through>
- struct symbols
- : proto::extends<
- typename proto::terminal<
- reference<symbols<Char, T, Lookup, Filter> >
- >::type
- , symbols<Char, T, Lookup, Filter>
- >
- , primitive_parser<symbols<Char, T, Lookup, Filter> >
- {
- typedef Char char_type; // the character type
- typedef T value_type; // the value associated with each entry
- typedef symbols<Char, T, Lookup, Filter> this_type;
- typedef reference<this_type> reference_;
- typedef typename proto::terminal<reference_>::type terminal;
- typedef proto::extends<terminal, this_type> base_type;
-
- template <typename Context, typename Iterator>
- struct attribute
- {
- typedef value_type type;
- };
-
- symbols(std::string const& name = "symbols")
- : base_type(terminal::make(reference_(*this)))
- , add(*this)
- , remove(*this)
- , lookup(new Lookup())
- , name_(name)
- {
- }
-
- symbols(symbols const& syms)
- : base_type(terminal::make(reference_(*this)))
- , add(*this)
- , remove(*this)
- , lookup(syms.lookup)
- , name_(syms.name_)
- {
- }
-
- template <typename Filter_>
- symbols(symbols<Char, T, Lookup, Filter_> const& syms)
- : base_type(terminal::make(reference_(*this)))
- , add(*this)
- , remove(*this)
- , lookup(syms.lookup)
- , name_(syms.name_)
- {
- }
-
- template <typename Symbols>
- symbols(Symbols const& syms, std::string const& name = "symbols")
- : base_type(terminal::make(reference_(*this)))
- , add(*this)
- , remove(*this)
- , lookup(new Lookup())
- , name_(name)
- {
- typename range_const_iterator<Symbols>::type si = boost::begin(syms);
- while (si != boost::end(syms))
- add(*si++);
- }
-
- template <typename Symbols, typename Data>
- symbols(Symbols const& syms, Data const& data
- , std::string const& name = "symbols")
- : base_type(terminal::make(reference_(*this)))
- , add(*this)
- , remove(*this)
- , lookup(new Lookup())
- , name_(name)
- {
- typename range_const_iterator<Symbols>::type si = boost::begin(syms);
- typename range_const_iterator<Data>::type di = boost::begin(data);
- while (si != boost::end(syms))
- add(*si++, *di++);
- }
-
- symbols&
- operator=(symbols const& rhs)
- {
- name_ = rhs.name_;
- *lookup = *rhs.lookup;
- return *this;
- }
-
- template <typename Filter_>
- symbols&
- operator=(symbols<Char, T, Lookup, Filter_> const& rhs)
- {
- name_ = rhs.name_;
- *lookup = *rhs.lookup;
- return *this;
- }
-
- void clear()
- {
- lookup->clear();
- }
-
- struct adder;
- struct remover;
-
- template <typename Str>
- adder const&
- operator=(Str const& str)
- {
- lookup->clear();
- return add(str);
- }
-
- template <typename Str>
- friend adder const&
- operator+=(symbols& sym, Str const& str)
- {
- return sym.add(str);
- }
-
- template <typename Str>
- friend remover const&
- operator-=(symbols& sym, Str const& str)
- {
- return sym.remove(str);
- }
-
-#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
- // non-const version needed to suppress proto's += kicking in
- template <typename Str>
- friend adder const&
- operator+=(symbols& sym, Str& str)
- {
- return sym.add(str);
- }
-
- // non-const version needed to suppress proto's -= kicking in
- template <typename Str>
- friend remover const&
- operator-=(symbols& sym, Str& str)
- {
- return sym.remove(str);
- }
-#else
- // for rvalue references
- template <typename Str>
- friend adder const&
- operator+=(symbols& sym, Str&& str)
- {
- return sym.add(str);
- }
-
- // for rvalue references
- template <typename Str>
- friend remover const&
- operator-=(symbols& sym, Str&& str)
- {
- return sym.remove(str);
- }
-#endif
- template <typename F>
- void for_each(F f) const
- {
- lookup->for_each(f);
- }
-
- template <typename Str>
- value_type& at(Str const& str)
- {
- return *lookup->add(traits::get_begin<Char>(str)
- , traits::get_end<Char>(str), T());
- }
-
- template <typename Iterator>
- value_type* prefix_find(Iterator& first, Iterator const& last)
- {
- return lookup->find(first, last, Filter());
- }
-
- template <typename Iterator>
- value_type const* prefix_find(Iterator& first, Iterator const& last) const
- {
- return lookup->find(first, last, Filter());
- }
-
- template <typename Str>
- value_type* find(Str const& str)
- {
- return find_impl(traits::get_begin<Char>(str)
- , traits::get_end<Char>(str));
- }
-
- template <typename Str>
- value_type const* find(Str const& str) const
- {
- return find_impl(traits::get_begin<Char>(str)
- , traits::get_end<Char>(str));
- }
-
-private:
- template <typename Iterator>
- value_type* find_impl(Iterator begin, Iterator end)
- {
- value_type* r = lookup->find(begin, end, Filter());
- return begin == end ? r : 0;
- }
-
- template <typename Iterator>
- value_type const* find_impl(Iterator begin, Iterator end) const
- {
- value_type const* r = lookup->find(begin, end, Filter());
- return begin == end ? r : 0;
- }
-
-public:
- template <typename Iterator, typename Context
- , typename Skipper, typename Attribute>
- bool parse(Iterator& first, Iterator const& last
- , Context& /*context*/, Skipper const& skipper, Attribute& attr_) const
- {
- qi::skip_over(first, last, skipper);
-
- if (value_type* val_ptr
- = lookup->find(first, last, Filter()))
- {
- spirit::traits::assign_to(*val_ptr, attr_);
- return true;
- }
- return false;
- }
-
- template <typename Context>
- info what(Context& /*context*/) const
- {
- return info(name_);
- }
-
- void name(std::string const &str)
- {
- name_ = str;
- }
- std::string const &name() const
- {
- return name_;
- }
-
- struct adder
- {
- template <typename, typename = unused_type, typename = unused_type>
- struct result { typedef adder const& type; };
-
- adder(symbols& sym_)
- : sym(sym_)
- {
- }
-
- template <typename Iterator>
- adder const&
- operator()(Iterator const& first, Iterator const& last, T const& val) const
- {
- sym.lookup->add(first, last, val);
- return *this;
- }
-
- template <typename Str>
- adder const&
- operator()(Str const& s, T const& val = T()) const
- {
- sym.lookup->add(traits::get_begin<Char>(s)
- , traits::get_end<Char>(s), val);
- return *this;
- }
-
- template <typename Str>
- adder const&
- operator,(Str const& s) const
- {
- sym.lookup->add(traits::get_begin<Char>(s)
- , traits::get_end<Char>(s), T());
- return *this;
- }
-
- symbols& sym;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(adder& operator= (adder const&))
- };
-
- struct remover
- {
- template <typename, typename = unused_type, typename = unused_type>
- struct result { typedef remover const& type; };
-
- remover(symbols& sym_)
- : sym(sym_)
- {
- }
-
- template <typename Iterator>
- remover const&
- operator()(Iterator const& first, Iterator const& last) const
- {
- sym.lookup->remove(first, last);
- return *this;
- }
-
- template <typename Str>
- remover const&
- operator()(Str const& s) const
- {
- sym.lookup->remove(traits::get_begin<Char>(s)
- , traits::get_end<Char>(s));
- return *this;
- }
-
- template <typename Str>
- remover const&
- operator,(Str const& s) const
- {
- sym.lookup->remove(traits::get_begin<Char>(s)
- , traits::get_end<Char>(s));
- return *this;
- }
-
- symbols& sym;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(remover& operator= (remover const&))
- };
-
- adder add;
- remover remove;
- shared_ptr<Lookup> lookup;
- std::string name_;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Parser generators: make_xxx function (objects)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Char, typename T, typename Lookup
- , typename Filter, typename Modifiers>
- struct make_primitive<reference<symbols<Char, T, Lookup, Filter> >, Modifiers>
- {
- template <typename CharEncoding>
- struct no_case_filter
- {
- Char operator()(Char ch) const
- {
- return static_cast<Char>(CharEncoding::tolower(ch));
- }
- };
-
- typedef has_modifier<Modifiers, tag::char_code_base<tag::no_case> > no_case;
- typedef reference<symbols<Char, T, Lookup, Filter> > reference_;
- typedef no_case_filter<
- typename spirit::detail::get_encoding_with_case<
- Modifiers
- , char_encoding::standard
- , no_case::value>::type>
- nc_filter;
-
- typedef typename mpl::if_<
- no_case
- , symbols<Char, T, Lookup, nc_filter>
- , reference_>::type
- result_type;
-
- result_type operator()(reference_ ref, unused_type) const
- {
- return result_type(ref.ref.get());
- }
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Char, typename T, typename Lookup, typename Filter
- , typename Attr, typename Context, typename Iterator>
- struct handles_container<qi::symbols<Char, T, Lookup, Filter>, Attr, Context, Iterator>
- : traits::is_container<Attr> {};
-}}}
-
-#if defined(BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/tst.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/tst.hpp
deleted file mode 100644
index 200894fdc1..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/string/tst.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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_TST_JUNE_03_2007_1031AM)
-#define BOOST_SPIRIT_TST_JUNE_03_2007_1031AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/string/detail/tst.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- struct tst_pass_through
- {
- template <typename Char>
- Char operator()(Char ch) const
- {
- return ch;
- }
- };
-
- template <typename Char, typename T>
- struct tst
- {
- typedef Char char_type; // the character type
- typedef T value_type; // the value associated with each entry
- typedef detail::tst_node<Char, T> node;
-
- tst()
- : root(0)
- {
- }
-
- ~tst()
- {
- clear();
- }
-
- tst(tst const& rhs)
- : root(0)
- {
- copy(rhs);
- }
-
- tst& operator=(tst const& rhs)
- {
- return assign(rhs);
- }
-
- template <typename Iterator, typename Filter>
- T* find(Iterator& first, Iterator last, Filter filter) const
- {
- return node::find(root, first, last, filter);
- }
-
- template <typename Iterator>
- T* find(Iterator& first, Iterator last) const
- {
- return find(first, last, tst_pass_through());
- }
-
- template <typename Iterator>
- T* add(
- Iterator first
- , Iterator last
- , typename boost::call_traits<T>::param_type val)
- {
- return node::add(root, first, last, val, this);
- }
-
- template <typename Iterator>
- void remove(Iterator first, Iterator last)
- {
- node::remove(root, first, last, this);
- }
-
- void clear()
- {
- node::destruct_node(root, this);
- root = 0;
- }
-
- template <typename F>
- void for_each(F f) const
- {
- node::for_each(root, std::basic_string<Char>(), f);
- }
-
- private:
-
- friend struct detail::tst_node<Char, T>;
-
- void copy(tst const& rhs)
- {
- root = node::clone_node(rhs.root, this);
- }
-
- tst& assign(tst const& rhs)
- {
- if (this != &rhs)
- {
- clear();
- copy(rhs);
- }
- return *this;
- }
-
- node* root;
-
- node* new_node(Char id)
- {
- return new node(id);
- }
-
- T* new_data(typename boost::call_traits<T>::param_type val)
- {
- return new T(val);
- }
-
- void delete_node(node* p)
- {
- delete p;
- }
-
- void delete_data(T* p)
- {
- delete p;
- }
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/what.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/what.hpp
deleted file mode 100644
index ae26b7bed1..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/qi/what.hpp
+++ /dev/null
@@ -1,33 +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)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_WHAT_APRIL_21_2007_0732AM)
-#define BOOST_SPIRIT_WHAT_APRIL_21_2007_0732AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/assert.hpp>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/spirit/home/qi/meta_compiler.hpp>
-
-namespace boost { namespace spirit { namespace qi
-{
- template <typename Expr>
- inline info what(Expr const& expr)
- {
- // Report invalid expression error as early as possible.
- // If you got an error_expr_is_not_convertible_to_a_parser
- // error message here, then the expression (expr) is not a
- // valid spirit qi expression.
- BOOST_SPIRIT_ASSERT_MATCH(qi::domain, Expr);
- return compile<qi::domain>(expr).what(unused);
- }
-}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/action_dispatch.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/action_dispatch.hpp
deleted file mode 100644
index df72ef4ede..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/action_dispatch.hpp
+++ /dev/null
@@ -1,222 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_ACTION_DISPATCH_APRIL_18_2008_0720AM)
-#define BOOST_SPIRIT_ACTION_DISPATCH_APRIL_18_2008_0720AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include<boost/config.hpp>
-
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_LAMBDAS) && \
- !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE)
-#include <utility>
-#include <type_traits>
-#endif
-
-
-#include <boost/spirit/home/support/attributes.hpp>
-
-namespace boost { namespace phoenix
-{
- template <typename Expr>
- struct actor;
-}}
-
-namespace boost { namespace spirit { namespace traits
-{
- template <typename Component>
- struct action_dispatch
- {
-#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_LAMBDAS) && \
- !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_DECLTYPE)
- // omit function parameters without specializing for each possible
- // type of callable entity
- // many thanks to Eelis/##iso-c++ for this contribution
-
- private:
- // this will be used to pass around POD types which are safe
- // to go through the ellipsis operator (if ever used)
- template <typename>
- struct fwd_tag {};
-
- // the first parameter is a placeholder to obtain SFINAE when
- // doing overload resolution, the second one is the actual
- // forwarder, where we can apply our implementation
- template <typename, typename T>
- struct fwd_storage { typedef T type; };
-
- // gcc should accept fake<T>() but it prints a sorry, needs
- // a check once the bug is sorted out, use a FAKE_CALL macro for now
- template <typename T>
- T fake_call();
-
-#define BOOST_SPIRIT_FAKE_CALL(T) (*(T*)0)
-
- // the forwarders, here we could tweak the implementation of
- // how parameters are passed to the functions, if needed
- struct fwd_none
- {
- template<typename F, typename... Rest>
- auto operator()(F && f, Rest&&...) -> decltype(f())
- {
- return f();
- }
- };
-
- struct fwd_attrib
- {
- template<typename F, typename A, typename... Rest>
- auto operator()(F && f, A && a, Rest&&...) -> decltype(f(a))
- {
- return f(a);
- }
- };
-
- struct fwd_attrib_context
- {
- template<typename F, typename A, typename B, typename... Rest>
- auto operator()(F && f, A && a, B && b, Rest&&...)
- -> decltype(f(a, b))
- {
- return f(a, b);
- }
- };
-
- struct fwd_attrib_context_pass
- {
- template<typename F, typename A, typename B, typename C
- , typename... Rest>
- auto operator()(F && f, A && a, B && b, C && c, Rest&&...)
- -> decltype(f(a, b, c))
- {
- return f(a, b, c);
- }
- };
-
- // SFINAE for our calling syntax, the forwarders are stored based
- // on what function call gives a proper result
- // this code can probably be more generic once implementations are
- // steady
- template <typename F>
- static auto do_call(F && f, ...)
- -> typename fwd_storage<decltype(f()), fwd_none>::type
- {
- return {};
- }
-
- template <typename F, typename A>
- static auto do_call(F && f, fwd_tag<A>, ...)
- -> typename fwd_storage<decltype(f(BOOST_SPIRIT_FAKE_CALL(A)))
- , fwd_attrib>::type
- {
- return {};
- }
-
- template <typename F, typename A, typename B>
- static auto do_call(F && f, fwd_tag<A>, fwd_tag<B>, ...)
- -> typename fwd_storage<
- decltype(f(BOOST_SPIRIT_FAKE_CALL(A), BOOST_SPIRIT_FAKE_CALL(B)))
- , fwd_attrib_context>::type
- {
- return {};
- }
-
- template <typename F, typename A, typename B, typename C>
- static auto do_call(F && f, fwd_tag<A>, fwd_tag<B>, fwd_tag<C>, ...)
- -> typename fwd_storage<
- decltype(f(BOOST_SPIRIT_FAKE_CALL(A), BOOST_SPIRIT_FAKE_CALL(B)
- , BOOST_SPIRIT_FAKE_CALL(C)))
- , fwd_attrib_context_pass>::type
- {
- return {};
- }
-
- // this function calls the forwarder and is responsible for
- // stripping the tail of the parameters
- template <typename F, typename... A>
- static void caller(F && f, A && ... a)
- {
- do_call(f, fwd_tag<typename std::remove_reference<A>::type>()...)
- (std::forward<F>(f), std::forward<A>(a)...);
- }
-
-#undef BOOST_SPIRIT_FAKE_CALL
-
- public:
- template <typename F, typename Attribute, typename Context>
- bool operator()(F const& f, Attribute& attr, Context& context)
- {
- bool pass = true;
- caller(f, attr, context, pass);
- return pass;
- }
-#else
- // general handler for everything not explicitly specialized below
- template <typename F, typename Attribute, typename Context>
- bool operator()(F const& f, Attribute& attr, Context& context)
- {
- bool pass = true;
- f(attr, context, pass);
- return pass;
- }
-#endif
-
- // handler for phoenix actors
-
- // If the component this action has to be invoked for is a tuple, we
- // wrap any non-fusion tuple into a fusion tuple (done by pass_attribute)
- // and pass through any fusion tuple.
- template <typename Eval, typename Attribute, typename Context>
- bool operator()(phoenix::actor<Eval> const& f
- , Attribute& attr, Context& context)
- {
- bool pass = true;
- typename pass_attribute<Component, Attribute>::type attr_wrap(attr);
- f(attr_wrap, context, pass);
- return pass;
- }
-
- // specializations for plain function pointers taking different number of
- // arguments
- template <typename RT, typename A0, typename A1, typename A2
- , typename Attribute, typename Context>
- bool operator()(RT(*f)(A0, A1, A2), Attribute& attr, Context& context)
- {
- bool pass = true;
- f(attr, context, pass);
- return pass;
- }
-
- template <typename RT, typename A0, typename A1
- , typename Attribute, typename Context>
- bool operator()(RT(*f)(A0, A1), Attribute& attr, Context& context)
- {
- f(attr, context);
- return true;
- }
-
- template <typename RT, typename A0, typename Attribute, typename Context>
- bool operator()(RT(*f)(A0), Attribute& attr, Context&)
- {
- f(attr);
- return true;
- }
-
- template <typename RT, typename Attribute, typename Context>
- bool operator()(RT(*f)(), Attribute&, Context&)
- {
- f();
- return true;
- }
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if.hpp
deleted file mode 100644
index c4671cb32c..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Hartmut Kaiser
- 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(BOOST_SPIRIT_ANY_IF_MARCH_30_2007_1220PM)
-#define BOOST_SPIRIT_ANY_IF_MARCH_30_2007_1220PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/fusion/include/equal_to.hpp>
-#include <boost/fusion/include/next.hpp>
-#include <boost/fusion/include/deref.hpp>
-#include <boost/fusion/include/value_of.hpp>
-#include <boost/fusion/include/begin.hpp>
-#include <boost/fusion/include/end.hpp>
-#include <boost/fusion/include/is_sequence.hpp>
-#include <boost/fusion/include/any.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // This is a special version for a binary fusion::any. The predicate
- // is used to decide whether to advance the second iterator or not.
- // This is needed for sequences containing components with unused
- // attributes. The second iterator is advanced only if the attribute
- // of the corresponding component iterator is not unused.
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- ///////////////////////////////////////////////////////////////////////
- template <typename Iterator, typename Pred>
- struct apply_predicate
- : mpl::apply1<Pred, typename fusion::result_of::value_of<Iterator>::type>
- {};
-
- ///////////////////////////////////////////////////////////////////////
- // if the predicate is true, attribute_next returns next(Iterator2),
- // otherwise Iterator2
- namespace result_of
- {
- template <
- typename Iterator1, typename Iterator2, typename Last2
- , typename Pred>
- struct attribute_next
- {
- typedef mpl::and_<
- apply_predicate<Iterator1, Pred>
- , mpl::not_<fusion::result_of::equal_to<Iterator2, Last2> >
- > pred;
-
- typedef typename
- mpl::eval_if<
- pred
- , fusion::result_of::next<Iterator2>
- , mpl::identity<Iterator2>
- >::type
- type;
-
- template <typename Iterator>
- static type
- call(Iterator const& i, mpl::true_)
- {
- return fusion::next(i);
- }
-
- template <typename Iterator>
- static type
- call(Iterator const& i, mpl::false_)
- {
- return i;
- }
-
- template <typename Iterator>
- static type
- call(Iterator const& i)
- {
- return call(i, pred());
- }
- };
- }
-
- template <
- typename Pred, typename Iterator1, typename Last2
- , typename Iterator2>
- inline typename
- result_of::attribute_next<Iterator1, Iterator2, Last2, Pred
- >::type const
- attribute_next(Iterator2 const& i)
- {
- return result_of::attribute_next<
- Iterator1, Iterator2, Last2, Pred>::call(i);
- }
-
- ///////////////////////////////////////////////////////////////////////
- // if the predicate is true, attribute_value returns deref(Iterator2),
- // otherwise unused
- namespace result_of
- {
- template <
- typename Iterator1, typename Iterator2, typename Last2
- , typename Pred>
- struct attribute_value
- {
- typedef mpl::and_<
- apply_predicate<Iterator1, Pred>
- , mpl::not_<fusion::result_of::equal_to<Iterator2, Last2> >
- > pred;
-
- typedef typename
- mpl::eval_if<
- pred
- , fusion::result_of::deref<Iterator2>
- , mpl::identity<unused_type const>
- >::type
- type;
-
- template <typename Iterator>
- static type
- call(Iterator const& i, mpl::true_)
- {
- return fusion::deref(i);
- }
-
- template <typename Iterator>
- static type
- call(Iterator const&, mpl::false_)
- {
- return unused;
- }
-
- template <typename Iterator>
- static type
- call(Iterator const& i)
- {
- return call(i, pred());
- }
- };
- }
-
- template <
- typename Pred, typename Iterator1, typename Last2
- , typename Iterator2>
- inline typename
- result_of::attribute_value<Iterator1, Iterator2, Last2, Pred
- >::type
- attribute_value(Iterator2 const& i)
- {
- return result_of::attribute_value<
- Iterator1, Iterator2, Last2, Pred>::call(i);
- }
-
- ///////////////////////////////////////////////////////////////////////
- template <
- typename Pred, typename First1, typename Last1, typename First2
- , typename Last2, typename F>
- inline bool
- any_if (First1 const&, First2 const&, Last1 const&, Last2 const&
- , F const&, mpl::true_)
- {
- return false;
- }
-
- template <
- typename Pred, typename First1, typename Last1, typename First2
- , typename Last2, typename F>
- inline bool
- any_if (First1 const& first1, First2 const& first2, Last1 const& last1
- , Last2 const& last2, F& f, mpl::false_)
- {
- typename result_of::attribute_value<First1, First2, Last2, Pred>::type
- attribute = spirit::detail::attribute_value<Pred, First1, Last2>(first2);
-
- return f(*first1, attribute) ||
- detail::any_if<Pred>(
- fusion::next(first1)
- , attribute_next<Pred, First1, Last2>(first2)
- , last1, last2
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::next<First1>::type, Last1>());
- }
- }
-
- template <typename Pred, typename Sequence1, typename Sequence2, typename F>
- inline bool
- any_if(Sequence1 const& seq1, Sequence2& seq2, F f, Pred)
- {
- return detail::any_if<Pred>(
- fusion::begin(seq1), fusion::begin(seq2)
- , fusion::end(seq1), fusion::end(seq2)
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::begin<Sequence1>::type
- , typename fusion::result_of::end<Sequence1>::type>());
- }
-
- template <typename Pred, typename Sequence, typename F>
- inline bool
- any_if(Sequence const& seq, unused_type const, F f, Pred)
- {
- return fusion::any(seq, f);
- }
-
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if_ns.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if_ns.hpp
deleted file mode 100644
index 6d618754b3..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if_ns.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Hartmut Kaiser
- 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(BOOST_SPIRIT_ANY_IF_NS_NOVEMBER_04_2008_0906PM)
-#define BOOST_SPIRIT_ANY_IF_NS_NOVEMBER_04_2008_0906PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/algorithm/any_if.hpp>
-#include <boost/spirit/home/support/algorithm/any_ns.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // This is a special version for a binary fusion::any. The predicate
- // is used to decide whether to advance the second iterator or not.
- // This is needed for sequences containing components with unused
- // attributes. The second iterator is advanced only if the attribute
- // of the corresponding component iterator is not unused.
- //
- // This is a non-short circuiting (ns) version of the any_if algorithm.
- // see any_if.hpp (uses | instead of ||).
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <
- typename Pred, typename First1, typename Last1, typename First2
- , typename Last2, typename F
- >
- inline bool
- any_if_ns(First1 const&, First2 const&, Last1 const&, Last2 const&
- , F const&, mpl::true_)
- {
- return false;
- }
-
- template <
- typename Pred, typename First1, typename Last1, typename First2
- , typename Last2, typename F
- >
- inline bool
- any_if_ns(First1 const& first1, First2 const& first2
- , Last1 const& last1, Last2 const& last2, F& f, mpl::false_)
- {
- typename result_of::attribute_value<First1, First2, Last2, Pred>::type
- attribute = spirit::detail::attribute_value<Pred, First1, Last2>(first2);
-
- return (0 != (f(*first1, attribute) |
- detail::any_if_ns<Pred>(
- fusion::next(first1)
- , attribute_next<Pred, First1, Last2>(first2)
- , last1, last2
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::next<First1>::type, Last1>())));
- }
- }
-
- template <typename Pred, typename Sequence1, typename Sequence2, typename F>
- inline bool
- any_if_ns(Sequence1 const& seq1, Sequence2& seq2, F f, Pred)
- {
- return detail::any_if_ns<Pred>(
- fusion::begin(seq1), fusion::begin(seq2)
- , fusion::end(seq1), fusion::end(seq2)
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::begin<Sequence1>::type
- , typename fusion::result_of::end<Sequence1>::type>());
- }
-
- template <typename Pred, typename Sequence, typename F>
- inline bool
- any_if_ns(Sequence const& seq, unused_type const, F f, Pred)
- {
- return detail::any_ns(
- fusion::begin(seq)
- , fusion::end(seq)
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::begin<Sequence>::type
- , typename fusion::result_of::end<Sequence>::type>());
- }
-
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if_ns_so.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if_ns_so.hpp
deleted file mode 100644
index 43528921e8..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_if_ns_so.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Hartmut Kaiser
- 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(BOOST_SPIRIT_ANY_IF_NS_SO_DECEMBER_03_2017_0826PM)
-#define BOOST_SPIRIT_ANY_IF_NS_SO_DECEMBER_03_2017_0826PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/algorithm/any_if.hpp>
-#include <boost/spirit/home/support/algorithm/any_ns_so.hpp>
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // This is a special version for a binary fusion::any. The predicate
- // is used to decide whether to advance the second iterator or not.
- // This is needed for sequences containing components with unused
- // attributes. The second iterator is advanced only if the attribute
- // of the corresponding component iterator is not unused.
- //
- // This is a non-short circuiting (ns) strict order (so) version of the
- // any_if algorithm.
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <
- typename Pred, typename First1, typename Last1, typename First2
- , typename Last2, typename F
- >
- inline bool
- any_if_ns_so(First1 const&, First2 const&, Last1 const&, Last2 const&
- , F const&, mpl::true_)
- {
- return false;
- }
-
- template <
- typename Pred, typename First1, typename Last1, typename First2
- , typename Last2, typename F
- >
- inline bool
- any_if_ns_so(First1 const& first1, First2 const& first2
- , Last1 const& last1, Last2 const& last2, F& f, mpl::false_)
- {
- typename result_of::attribute_value<First1, First2, Last2, Pred>::type
- attribute = spirit::detail::attribute_value<Pred, First1, Last2>(first2);
-
- bool head = f(*first1, attribute);
- bool tail =
- detail::any_if_ns_so<Pred>(
- fusion::next(first1)
- , attribute_next<Pred, First1, Last2>(first2)
- , last1, last2
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::next<First1>::type, Last1>());
- return head || tail;
- }
- }
-
- template <typename Pred, typename Sequence1, typename Sequence2, typename F>
- inline bool
- any_if_ns_so(Sequence1 const& seq1, Sequence2& seq2, F f, Pred)
- {
- return detail::any_if_ns_so<Pred>(
- fusion::begin(seq1), fusion::begin(seq2)
- , fusion::end(seq1), fusion::end(seq2)
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::begin<Sequence1>::type
- , typename fusion::result_of::end<Sequence1>::type>());
- }
-
- template <typename Pred, typename Sequence, typename F>
- inline bool
- any_if_ns_so(Sequence const& seq, unused_type const, F f, Pred)
- {
- return detail::any_ns_so(
- fusion::begin(seq)
- , fusion::end(seq)
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::begin<Sequence>::type
- , typename fusion::result_of::end<Sequence>::type>());
- }
-
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_ns.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_ns.hpp
deleted file mode 100644
index 63b95267ae..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_ns.hpp
+++ /dev/null
@@ -1,102 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_ANY_NS_MARCH_13_2007_0827AM)
-#define BOOST_SPIRIT_ANY_NS_MARCH_13_2007_0827AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/bool.hpp>
-#include <boost/fusion/include/equal_to.hpp>
-#include <boost/fusion/include/next.hpp>
-#include <boost/fusion/include/deref.hpp>
-#include <boost/fusion/include/begin.hpp>
-#include <boost/fusion/include/end.hpp>
-#include <boost/fusion/include/any.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-
-namespace boost { namespace spirit
-{
- // A non-short circuiting (ns) version of the any algorithm (uses
- // | instead of ||.
-
- namespace detail
- {
- template <typename First1, typename Last, typename First2, typename F>
- inline bool
- any_ns(First1 const&, First2 const&, Last const&, F const&, mpl::true_)
- {
- return false;
- }
-
- template <typename First1, typename Last, typename First2, typename F>
- inline bool
- any_ns(First1 const& first1, First2 const& first2, Last const& last, F& f, mpl::false_)
- {
- return (0 != (f(*first1, *first2) |
- detail::any_ns(
- fusion::next(first1)
- , fusion::next(first2)
- , last
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::next<First1>::type, Last>())));
- }
-
- template <typename First, typename Last, typename F>
- inline bool
- any_ns(First const&, Last const&, F const&, mpl::true_)
- {
- return false;
- }
-
- template <typename First, typename Last, typename F>
- inline bool
- any_ns(First const& first, Last const& last, F& f, mpl::false_)
- {
- return (0 != (f(*first) |
- detail::any_ns(
- fusion::next(first)
- , last
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::next<First>::type, Last>())));
- }
- }
-
- template <typename Sequence1, typename Sequence2, typename F>
- inline bool
- any_ns(Sequence1 const& seq1, Sequence2& seq2, F f)
- {
- return detail::any_ns(
- fusion::begin(seq1)
- , fusion::begin(seq2)
- , fusion::end(seq1)
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::begin<Sequence1>::type
- , typename fusion::result_of::end<Sequence1>::type>());
- }
-
- template <typename Sequence, typename F>
- inline bool
- any_ns(Sequence const& seq, unused_type, F f)
- {
- return detail::any_ns(
- fusion::begin(seq)
- , fusion::end(seq)
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::begin<Sequence>::type
- , typename fusion::result_of::end<Sequence>::type>());
- }
-
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_ns_so.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_ns_so.hpp
deleted file mode 100644
index e0b0e495a2..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/algorithm/any_ns_so.hpp
+++ /dev/null
@@ -1,106 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_ANY_NS_SO_DECEMBER_03_2017_0826PM)
-#define BOOST_SPIRIT_ANY_NS_SO_DECEMBER_03_2017_0826PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/bool.hpp>
-#include <boost/fusion/include/equal_to.hpp>
-#include <boost/fusion/include/next.hpp>
-#include <boost/fusion/include/deref.hpp>
-#include <boost/fusion/include/begin.hpp>
-#include <boost/fusion/include/end.hpp>
-#include <boost/fusion/include/any.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-
-namespace boost { namespace spirit
-{
- // A non-short circuiting (ns) strict order (so) version of the any
- // algorithm
-
- namespace detail
- {
- template <typename First1, typename Last, typename First2, typename F>
- inline bool
- any_ns_so(First1 const&, First2 const&, Last const&, F const&, mpl::true_)
- {
- return false;
- }
-
- template <typename First1, typename Last, typename First2, typename F>
- inline bool
- any_ns_so(First1 const& first1, First2 const& first2, Last const& last, F& f, mpl::false_)
- {
- bool head = f(*first1, *first2);
- bool tail =
- detail::any_ns_so(
- fusion::next(first1)
- , fusion::next(first2)
- , last
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::next<First1>::type, Last>());
- return head || tail;
- }
-
- template <typename First, typename Last, typename F>
- inline bool
- any_ns_so(First const&, Last const&, F const&, mpl::true_)
- {
- return false;
- }
-
- template <typename First, typename Last, typename F>
- inline bool
- any_ns_so(First const& first, Last const& last, F& f, mpl::false_)
- {
- bool head = f(*first);
- bool tail =
- detail::any_ns_so(
- fusion::next(first)
- , last
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::next<First>::type, Last>());
- return head || tail;
- }
- }
-
- template <typename Sequence1, typename Sequence2, typename F>
- inline bool
- any_ns_so(Sequence1 const& seq1, Sequence2& seq2, F f)
- {
- return detail::any_ns_so(
- fusion::begin(seq1)
- , fusion::begin(seq2)
- , fusion::end(seq1)
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::begin<Sequence1>::type
- , typename fusion::result_of::end<Sequence1>::type>());
- }
-
- template <typename Sequence, typename F>
- inline bool
- any_ns_so(Sequence const& seq, unused_type, F f)
- {
- return detail::any_ns_so(
- fusion::begin(seq)
- , fusion::end(seq)
- , f
- , fusion::result_of::equal_to<
- typename fusion::result_of::begin<Sequence>::type
- , typename fusion::result_of::end<Sequence>::type>());
- }
-
-}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/argument.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/argument.hpp
deleted file mode 100644
index add245a0bc..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/argument.hpp
+++ /dev/null
@@ -1,221 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2011 Thomas Heller
-
- Distributed under the 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_ARGUMENT_FEBRUARY_17_2007_0339PM)
-#define BOOST_SPIRIT_ARGUMENT_FEBRUARY_17_2007_0339PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/preprocessor/arithmetic/inc.hpp>
-#include <boost/spirit/home/support/assert_msg.hpp>
-#include <boost/spirit/home/support/limits.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/fusion/include/size.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/argument.hpp>
-#include <boost/phoenix/core/terminal.hpp>
-#include <boost/phoenix/core/v2_eval.hpp>
-#include <boost/proto/proto_fwd.hpp> // for transform placeholders
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
-
-#define SPIRIT_DECLARE_ARG(z, n, data) \
- typedef phoenix::actor<argument<n> > \
- BOOST_PP_CAT(BOOST_PP_CAT(_, BOOST_PP_INC(n)), _type); \
- phoenix::actor<argument<n> > const \
- BOOST_PP_CAT(_, BOOST_PP_INC(n)) = \
- BOOST_PP_CAT(BOOST_PP_CAT(_, BOOST_PP_INC(n)), _type)(); \
- /***/
-
-#define SPIRIT_USING_ARGUMENT(z, n, data) \
- using spirit::BOOST_PP_CAT(BOOST_PP_CAT(_, n), _type); \
- using spirit::BOOST_PP_CAT(_, n); \
- /***/
-
-#else
-
-#define SPIRIT_DECLARE_ARG(z, n, data) \
- typedef phoenix::actor<argument<n> > \
- BOOST_PP_CAT(BOOST_PP_CAT(_, BOOST_PP_INC(n)), _type); \
- /***/
-
-#define SPIRIT_USING_ARGUMENT(z, n, data) \
- using spirit::BOOST_PP_CAT(BOOST_PP_CAT(_, n), _type); \
- /***/
-
-#endif
-
-namespace boost { namespace spirit
-{
- template <int N>
- struct argument;
-
- template <typename Dummy>
- struct attribute_context;
-}}
-
-BOOST_PHOENIX_DEFINE_CUSTOM_TERMINAL(
- template <int N>
- , boost::spirit::argument<N>
- , mpl::false_ // is not nullary
- , v2_eval(
- proto::make<
- boost::spirit::argument<N>()
- >
- , proto::call<
- functional::env(proto::_state)
- >
- )
-)
-
-BOOST_PHOENIX_DEFINE_CUSTOM_TERMINAL(
- template <typename Dummy>
- , boost::spirit::attribute_context<Dummy>
- , mpl::false_ // is not nullary
- , v2_eval(
- proto::make<
- boost::spirit::attribute_context<Dummy>()
- >
- , proto::call<
- functional::env(proto::_state)
- >
- )
-)
-
-namespace boost { namespace spirit
-{
- namespace result_of
- {
- template <typename Sequence, int N>
- struct get_arg
- {
- typedef typename
- fusion::result_of::size<Sequence>::type
- sequence_size;
-
- // report invalid argument not found (N is out of bounds)
- BOOST_SPIRIT_ASSERT_MSG(
- (N < sequence_size::value),
- index_is_out_of_bounds, ());
-
- typedef typename
- fusion::result_of::at_c<Sequence, N>::type
- type;
-
- static type call(Sequence& seq)
- {
- return fusion::at_c<N>(seq);
- }
- };
-
- template <typename Sequence, int N>
- struct get_arg<Sequence&, N> : get_arg<Sequence, N>
- {
- };
- }
-
- template <int N, typename T>
- typename result_of::get_arg<T, N>::type
- get_arg(T& val)
- {
- return result_of::get_arg<T, N>::call(val);
- }
-
- template <typename>
- struct attribute_context
- {
- typedef mpl::true_ no_nullary;
-
- template <typename Env>
- struct result
- {
- // FIXME: is this remove_const really necessary?
- typedef typename
- remove_const<
- typename mpl::at_c<typename Env::args_type, 0>::type
- >::type
- type;
- };
-
- template <typename Env>
- typename result<Env>::type
- eval(Env const& env) const
- {
- return fusion::at_c<0>(env.args());
- }
- };
-
- template <int N>
- struct argument
- {
- typedef mpl::true_ no_nullary;
-
- template <typename Env>
- struct result
- {
- typedef typename
- mpl::at_c<typename Env::args_type, 0>::type
- arg_type;
-
- typedef typename result_of::get_arg<arg_type, N>::type type;
- };
-
- template <typename Env>
- typename result<Env>::type
- eval(Env const& env) const
- {
- return get_arg<N>(fusion::at_c<0>(env.args()));
- }
- };
-
- // _0 refers to the whole attribute as generated by the lhs parser
- typedef phoenix::actor<attribute_context<void> > _0_type;
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- _0_type const _0 = _0_type();
-#endif
-
- // _1, _2, ... refer to the attributes of the single components the lhs
- // parser is composed of
- typedef phoenix::actor<argument<0> > _1_type;
- typedef phoenix::actor<argument<1> > _2_type;
- typedef phoenix::actor<argument<2> > _3_type;
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- _1_type const _1 = _1_type();
- _2_type const _2 = _2_type();
- _3_type const _3 = _3_type();
-#endif
-
- // '_pass' may be used to make a match fail in retrospective
- typedef phoenix::arg_names::_3_type _pass_type;
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- _pass_type const _pass = _pass_type();
-#endif
-
- // Bring in the rest of the arguments and attributes (_4 .. _N+1), using PP
- BOOST_PP_REPEAT_FROM_TO(
- 3, SPIRIT_ARGUMENTS_LIMIT, SPIRIT_DECLARE_ARG, _)
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- // You can bring these in with the using directive
- // without worrying about bringing in too much.
- namespace labels
- {
- BOOST_PP_REPEAT(SPIRIT_ARGUMENTS_LIMIT, SPIRIT_USING_ARGUMENT, _)
- }
-#endif
-
-}}
-
-#undef SPIRIT_DECLARE_ARG
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/assert_msg.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/assert_msg.hpp
deleted file mode 100644
index f1433daac5..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/assert_msg.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright (c) 2001-2013 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)
-
-#if !defined(BOOST_SPIRIT_ASSERT_MSG_JUN_23_2009_0836AM)
-#define BOOST_SPIRIT_ASSERT_MSG_JUN_23_2009_0836AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-
-// Work around the MPL problem in BOOST_MPL_ASSERT_MSG generating
-// multiple definition linker errors for certain compilers (VC++ 8).
-// BOOST_SPIRIT_DONT_USE_MPL_ASSERT_MSG can also be defined by user.
-#if !defined(BOOST_SPIRIT_DONT_USE_MPL_ASSERT_MSG)
-# if defined(BOOST_MSVC) && BOOST_MSVC < 1500
-# define BOOST_SPIRIT_DONT_USE_MPL_ASSERT_MSG 1
-# endif
-#endif
-
-#if !defined(BOOST_NO_CXX11_STATIC_ASSERT) || BOOST_SPIRIT_DONT_USE_MPL_ASSERT_MSG != 0
-#include <boost/static_assert.hpp>
-#define BOOST_SPIRIT_ASSERT_MSG(Cond, Msg, Types) \
- BOOST_STATIC_ASSERT_MSG(Cond, # Msg)
-#else
-#include <boost/mpl/assert.hpp>
-#define BOOST_SPIRIT_ASSERT_MSG(Cond, Msg, Types) \
- BOOST_MPL_ASSERT_MSG(Cond, Msg, Types)
-#endif
-
-#define BOOST_SPIRIT_ASSERT_MATCH(Domain, Expr) \
- BOOST_SPIRIT_ASSERT_MSG(( \
- boost::spirit::traits::matches< Domain, Expr >::value \
- ), error_invalid_expression, (Expr))
-
-// GCC 4.7 will overeagerly instantiate static_asserts in template functions,
-// if the assert condition does not depend on template parameters
-// (see https://svn.boost.org/trac/boost/ticket/8381).
-// There are places where we want to use constant false as the condition in
-// template functions to indicate that these function overloads should never
-// be called. This allows to generate better error messages. To solve this
-// problem we make the condition dependent on the template argument and use
-// the following macro in such places.
-#include <boost/type_traits/is_same.hpp>
-
-#define BOOST_SPIRIT_ASSERT_FAIL(TemplateParam, Msg, Types) \
- BOOST_SPIRIT_ASSERT_MSG((!boost::is_same< \
- TemplateParam, TemplateParam >::value), Msg, Types)
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/attributes.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/attributes.hpp
deleted file mode 100644
index 9b53ba4e6a..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/attributes.hpp
+++ /dev/null
@@ -1,1343 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2012 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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_ATTRIBUTES_JANUARY_29_2007_0954AM)
-#define BOOST_SPIRIT_ATTRIBUTES_JANUARY_29_2007_0954AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/has_semantic_action.hpp>
-#include <boost/spirit/home/support/attributes_fwd.hpp>
-#include <boost/spirit/home/support/container.hpp>
-#include <boost/spirit/home/support/detail/hold_any.hpp>
-#include <boost/spirit/home/support/detail/as_variant.hpp>
-#include <boost/optional/optional.hpp>
-#include <boost/fusion/include/transform.hpp>
-#include <boost/fusion/include/filter_if.hpp>
-#include <boost/fusion/include/as_vector.hpp>
-#include <boost/fusion/include/push_front.hpp>
-#include <boost/fusion/include/pop_front.hpp>
-#include <boost/fusion/include/is_sequence.hpp>
-#include <boost/fusion/include/for_each.hpp>
-#include <boost/fusion/include/is_view.hpp>
-#include <boost/fusion/include/mpl.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_convertible.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/end.hpp>
-#include <boost/mpl/find_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/distance.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/equal.hpp>
-#include <boost/proto/traits.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/variant.hpp>
-#include <boost/range/range_fwd.hpp>
-#include <boost/config.hpp>
-#include <iterator> // for std::iterator_traits, std::distance
-#include <vector>
-#include <utility>
-#include <ios>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- // This file deals with attribute related functions and meta-functions
- // including generalized attribute transformation utilities for Spirit
- // components.
- ///////////////////////////////////////////////////////////////////////////
-
- ///////////////////////////////////////////////////////////////////////////
- // Find out if T can be a (strong) substitute for Expected attribute
- namespace detail
- {
- template <typename T, typename Expected>
- struct value_type_is_substitute
- : is_substitute<
- typename container_value<T>::type
- , typename container_value<Expected>::type>
- {};
-
- template <typename T, typename Expected, typename Enable = void>
- struct is_substitute_impl : is_same<T, Expected> {};
-
- template <typename T, typename Expected>
- struct is_substitute_impl<T, Expected,
- typename enable_if<
- mpl::and_<
- fusion::traits::is_sequence<T>,
- fusion::traits::is_sequence<Expected>,
- mpl::equal<T, Expected, is_substitute<mpl::_1, mpl::_2> >
- >
- >::type>
- : mpl::true_ {};
-
- template <typename T, typename Expected>
- struct is_substitute_impl<T, Expected,
- typename enable_if<
- mpl::and_<
- is_container<T>,
- is_container<Expected>,
- detail::value_type_is_substitute<T, Expected>
- >
- >::type>
- : mpl::true_ {};
- }
-
- template <typename T, typename Expected, typename Enable /*= void*/>
- struct is_substitute
- : detail::is_substitute_impl<T, Expected> {};
-
- template <typename T, typename Expected>
- struct is_substitute<optional<T>, optional<Expected> >
- : is_substitute<T, Expected> {};
-
- template <typename T>
- struct is_substitute<T, T
- , typename enable_if<not_is_optional<T> >::type>
- : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- // Find out if T can be a weak substitute for Expected attribute
- namespace detail
- {
- // A type, which is convertible to the attribute is at the same time
- // usable as its weak substitute.
- template <typename T, typename Expected, typename Enable = void>
- struct is_weak_substitute_impl : is_convertible<T, Expected> {};
-
-// // An exposed attribute is a weak substitute for a supplied container
-// // attribute if it is a weak substitute for its value_type. This is
-// // true as all character parsers are compatible with a container
-// // attribute having the corresponding character type as its value_type.
-// template <typename T, typename Expected>
-// struct is_weak_substitute_for_value_type
-// : is_weak_substitute<T, typename container_value<Expected>::type>
-// {};
-//
-// template <typename T, typename Expected>
-// struct is_weak_substitute_impl<T, Expected,
-// typename enable_if<
-// mpl::and_<
-// mpl::not_<is_string<T> >
-// , is_string<Expected>
-// , is_weak_substitute_for_value_type<T, Expected> >
-// >::type>
-// : mpl::true_
-// {};
-
- // An exposed container attribute is a weak substitute for a supplied
- // container attribute if and only if their value_types are weak
- // substitutes.
- template <typename T, typename Expected>
- struct value_type_is_weak_substitute
- : is_weak_substitute<
- typename container_value<T>::type
- , typename container_value<Expected>::type>
- {};
-
- template <typename T, typename Expected>
- struct is_weak_substitute_impl<T, Expected,
- typename enable_if<
- mpl::and_<
- is_container<T>
- , is_container<Expected>
- , value_type_is_weak_substitute<T, Expected> >
- >::type>
- : mpl::true_ {};
-
- // Two fusion sequences are weak substitutes if and only if their
- // elements are pairwise weak substitutes.
- template <typename T, typename Expected>
- struct is_weak_substitute_impl<T, Expected,
- typename enable_if<
- mpl::and_<
- fusion::traits::is_sequence<T>
- , fusion::traits::is_sequence<Expected>
- , mpl::equal<T, Expected, is_weak_substitute<mpl::_1, mpl::_2> > >
- >::type>
- : mpl::true_ {};
-
- // If this is not defined, the main template definition above will return
- // true if T is convertible to the first type in a fusion::vector. We
- // globally declare any non-Fusion sequence T as not compatible with any
- // Fusion sequence 'Expected'.
- template <typename T, typename Expected>
- struct is_weak_substitute_impl<T, Expected,
- typename enable_if<
- mpl::and_<
- mpl::not_<fusion::traits::is_sequence<T> >
- , fusion::traits::is_sequence<Expected> >
- >::type>
- : mpl::false_ {};
- }
-
- // main template forwards to detail namespace, this helps older compilers
- // to disambiguate things
- template <typename T, typename Expected, typename Enable /*= void*/>
- struct is_weak_substitute
- : detail::is_weak_substitute_impl<T, Expected> {};
-
- template <typename T, typename Expected>
- struct is_weak_substitute<optional<T>, optional<Expected> >
- : is_weak_substitute<T, Expected> {};
-
- template <typename T, typename Expected>
- struct is_weak_substitute<optional<T>, Expected>
- : is_weak_substitute<T, Expected> {};
-
- template <typename T, typename Expected>
- struct is_weak_substitute<T, optional<Expected> >
- : is_weak_substitute<T, Expected> {};
-
-#if !defined(BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES)
- template <typename T, typename Expected>
- struct is_weak_substitute<boost::variant<T>, Expected>
- : is_weak_substitute<T, Expected>
- {};
-
- template <typename T0, typename T1, typename ...TN, typename Expected>
- struct is_weak_substitute<boost::variant<T0, T1, TN...>,
- Expected>
- : mpl::bool_<is_weak_substitute<T0, Expected>::type::value &&
- is_weak_substitute<boost::variant<T1, TN...>, Expected>::type::value>
- {};
-#else
-#define BOOST_SPIRIT_IS_WEAK_SUBSTITUTE(z, N, _) \
- is_weak_substitute<BOOST_PP_CAT(T, N), Expected>::type::value && \
- /***/
-
- // make sure unused variant parameters do not affect the outcome
- template <typename Expected>
- struct is_weak_substitute<boost::detail::variant::void_, Expected>
- : mpl::true_
- {};
-
- template <BOOST_VARIANT_ENUM_PARAMS(typename T), typename Expected>
- struct is_weak_substitute<
- boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>, Expected>
- : mpl::bool_<BOOST_PP_REPEAT(BOOST_VARIANT_LIMIT_TYPES
- , BOOST_SPIRIT_IS_WEAK_SUBSTITUTE, _) true>
- {};
-
-#undef BOOST_SPIRIT_IS_WEAK_SUBSTITUTE
-#endif
-
- template <typename T>
- struct is_weak_substitute<T, T
- , typename enable_if<
- mpl::and_<not_is_optional<T>, not_is_variant<T> >
- >::type>
- : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable/* = void*/>
- struct is_proxy : mpl::false_ {};
-
- template <typename T>
- struct is_proxy<T,
- typename enable_if<
- mpl::and_<
- fusion::traits::is_sequence<T>,
- fusion::traits::is_view<T>
- >
- >::type>
- : mpl::true_ {};
-
- namespace detail
- {
- // By declaring a nested struct in your class/struct, you tell
- // spirit that it is regarded as a variant type. The minimum
- // required interface for such a variant is that it has constructors
- // for various types supported by your variant and a typedef 'types'
- // which is an mpl sequence of the contained types.
- //
- // This is an intrusive interface. For a non-intrusive interface,
- // use the not_is_variant trait.
- BOOST_MPL_HAS_XXX_TRAIT_DEF(adapted_variant_tag)
- }
-
- template <typename T, typename Domain, typename Enable/* = void*/>
- struct not_is_variant
- : mpl::not_<detail::has_adapted_variant_tag<T> >
- {};
-
- template <BOOST_VARIANT_ENUM_PARAMS(typename T), typename Domain>
- struct not_is_variant<boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>, Domain>
- : mpl::false_
- {};
-
- // we treat every type as if it where the variant (as this meta function is
- // invoked for variant types only)
- template <typename T>
- struct variant_type
- : mpl::identity<T>
- {};
-
- template <typename T>
- struct variant_type<boost::optional<T> >
- : variant_type<T>
- {};
-
- template <typename T, typename Domain>
- struct not_is_variant_or_variant_in_optional
- : not_is_variant<typename variant_type<T>::type, Domain>
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- // The compute_compatible_component_variant
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- // A component is compatible to a given Attribute type if the
- // Attribute is the same as the expected type of the component or if
- // it is convertible to the expected type.
- template <typename Expected, typename Attribute>
- struct attribute_is_compatible
- : is_convertible<Attribute, Expected>
- {};
-
- template <typename Expected, typename Attribute>
- struct attribute_is_compatible<Expected, boost::optional<Attribute> >
- : is_convertible<Attribute, Expected>
- {};
-
- template <typename Container>
- struct is_hold_any_container
- : traits::is_hold_any<typename traits::container_value<Container>::type>
- {};
- }
-
- template <typename Attribute, typename Expected
- , typename IsNotVariant = mpl::false_, typename Enable = void>
- struct compute_compatible_component_variant
- : mpl::or_<
- traits::detail::attribute_is_compatible<Expected, Attribute>
- , traits::is_hold_any<Expected>
- , mpl::eval_if<
- is_container<Expected>
- , traits::detail::is_hold_any_container<Expected>
- , mpl::false_> >
- {};
-
- namespace detail
- {
- BOOST_MPL_HAS_XXX_TRAIT_DEF(types)
- }
-
- template <typename Variant, typename Expected>
- struct compute_compatible_component_variant<Variant, Expected, mpl::false_
- , typename enable_if<detail::has_types<typename variant_type<Variant>::type> >::type>
- {
- typedef typename traits::variant_type<Variant>::type variant_type;
- typedef typename variant_type::types types;
- typedef typename mpl::end<types>::type end;
-
- typedef typename
- mpl::find_if<types, is_same<Expected, mpl::_1> >::type
- iter;
-
- typedef typename mpl::distance<
- typename mpl::begin<types>::type, iter
- >::type distance;
-
- // true_ if the attribute matches one of the types in the variant
- typedef typename mpl::not_<is_same<iter, end> >::type type;
- enum { value = type::value };
-
- // return the type in the variant the attribute is compatible with
- typedef typename
- mpl::eval_if<type, mpl::deref<iter>, mpl::identity<unused_type> >::type
- compatible_type;
-
- // return whether the given type is compatible with the Expected type
- static bool is_compatible(int which)
- {
- return which == distance::value;
- }
- };
-
- template <typename Expected, typename Attribute, typename Domain>
- struct compute_compatible_component
- : compute_compatible_component_variant<Attribute, Expected
- , typename not_is_variant_or_variant_in_optional<Attribute, Domain>::type> {};
-
- template <typename Expected, typename Domain>
- struct compute_compatible_component<Expected, unused_type, Domain>
- : mpl::false_ {};
-
- template <typename Attribute, typename Domain>
- struct compute_compatible_component<unused_type, Attribute, Domain>
- : mpl::false_ {};
-
- template <typename Domain>
- struct compute_compatible_component<unused_type, unused_type, Domain>
- : mpl::false_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- // return the type currently stored in the given variant
- template <BOOST_VARIANT_ENUM_PARAMS(typename T)>
- struct variant_which<boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)> >
- {
- static int call(boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)> const& v)
- {
- return v.which();
- }
- };
-
- template <typename T>
- int which(T const& v)
- {
- return variant_which<T>::call(v);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Domain, typename Enable/* = void*/>
- struct not_is_optional
- : mpl::true_
- {};
-
- template <typename T, typename Domain>
- struct not_is_optional<boost::optional<T>, Domain>
- : mpl::false_
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- // attribute_of
- //
- // Get the component's attribute
- ///////////////////////////////////////////////////////////////////////////
- template <typename Component
- , typename Context = unused_type, typename Iterator = unused_type>
- struct attribute_of
- {
- typedef typename Component::template
- attribute<Context, Iterator>::type type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // attribute_not_unused
- //
- // An mpl meta-function class that determines whether a component's
- // attribute is not unused.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Context, typename Iterator = unused_type>
- struct attribute_not_unused
- {
- template <typename Component>
- struct apply
- : not_is_unused<typename
- attribute_of<Component, Context, Iterator>::type>
- {};
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Retrieve the attribute type to use from the given type
- //
- // This is needed to extract the correct attribute type from proxy classes
- // as utilized in FUSION_ADAPT_ADT et. al.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Attribute, typename Enable/* = void*/>
- struct attribute_type : mpl::identity<Attribute> {};
-
- ///////////////////////////////////////////////////////////////////////////
- // Retrieve the size of a fusion sequence (compile time)
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct sequence_size
- : fusion::result_of::size<T>
- {};
-
- template <>
- struct sequence_size<unused_type>
- : mpl::int_<0>
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- // Retrieve the size of an attribute (runtime)
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename Attribute, typename Enable = void>
- struct attribute_size_impl
- {
- typedef std::size_t type;
-
- static type call(Attribute const&)
- {
- return 1;
- }
- };
-
- template <typename Attribute>
- struct attribute_size_impl<Attribute
- , typename enable_if<
- mpl::and_<
- fusion::traits::is_sequence<Attribute>
- , mpl::not_<traits::is_container<Attribute> >
- >
- >::type>
- {
- typedef typename fusion::result_of::size<Attribute>::value_type type;
-
- static type call(Attribute const& attr)
- {
- return fusion::size(attr);
- }
- };
-
- template <typename Attribute>
- struct attribute_size_impl<Attribute
- , typename enable_if<
- mpl::and_<
- traits::is_container<Attribute>
- , mpl::not_<traits::is_iterator_range<Attribute> >
- >
- >::type>
- {
- typedef typename Attribute::size_type type;
-
- static type call(Attribute const& attr)
- {
- return attr.size();
- }
- };
- }
-
- template <typename Attribute, typename Enable/* = void*/>
- struct attribute_size
- : detail::attribute_size_impl<Attribute>
- {};
-
- template <typename Attribute>
- struct attribute_size<optional<Attribute> >
- {
- typedef typename attribute_size<Attribute>::type type;
-
- static type call(optional<Attribute> const& val)
- {
- if (!val)
- return 0;
- return traits::size(val.get());
- }
- };
-
- namespace detail
- {
- struct attribute_size_visitor : static_visitor<std::size_t>
- {
- template <typename T>
- std::size_t operator()(T const& val) const
- {
- return spirit::traits::size(val);
- }
- };
- }
-
- template <BOOST_VARIANT_ENUM_PARAMS(typename T)>
- struct attribute_size<variant<BOOST_VARIANT_ENUM_PARAMS(T)> >
- {
- typedef std::size_t type;
-
- static type call(variant<BOOST_VARIANT_ENUM_PARAMS(T)> const& val)
- {
- return apply_visitor(detail::attribute_size_visitor(), val);
- }
- };
-
- template <typename Iterator>
- struct attribute_size<iterator_range<Iterator> >
- {
- typedef typename std::iterator_traits<Iterator>::
- difference_type type;
-
- static type call(iterator_range<Iterator> const& r)
- {
- return std::distance(r.begin(), r.end());
- }
- };
-
- template <>
- struct attribute_size<unused_type>
- {
- typedef std::size_t type;
-
- static type call(unused_type)
- {
- return 0;
- }
- };
-
- template <typename Attribute>
- typename attribute_size<Attribute>::type
- size (Attribute const& attr)
- {
- return attribute_size<Attribute>::call(attr);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // pass_attribute
- //
- // Determines how we pass attributes to semantic actions. This
- // may be specialized. By default, all attributes are wrapped in
- // a fusion sequence, because the attribute has to be treated as being
- // a single value in any case (even if it actually already is a fusion
- // sequence in its own).
- ///////////////////////////////////////////////////////////////////////////
- template <typename Component, typename Attribute, typename Enable/* = void*/>
- struct pass_attribute
- {
- typedef fusion::vector1<Attribute&> type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Subclass a pass_attribute specialization from this to wrap
- // the attribute in a tuple only IFF it is not already a fusion tuple.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Attribute, typename Force = mpl::false_>
- struct wrap_if_not_tuple
- : mpl::if_<
- fusion::traits::is_sequence<Attribute>
- , Attribute&, fusion::vector1<Attribute&> >
- {};
-
- template <typename Attribute>
- struct wrap_if_not_tuple<Attribute, mpl::true_>
- {
- typedef fusion::vector1<Attribute&> type;
- };
-
- template <>
- struct wrap_if_not_tuple<unused_type, mpl::false_>
- {
- typedef unused_type type;
- };
-
- template <>
- struct wrap_if_not_tuple<unused_type const, mpl::false_>
- {
- typedef unused_type type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // build_optional
- //
- // Build a boost::optional from T. Return unused_type if T is unused_type.
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct build_optional
- {
- typedef boost::optional<T> type;
- };
-
- template <typename T>
- struct build_optional<boost::optional<T> >
- {
- typedef boost::optional<T> type;
- };
-
- template <>
- struct build_optional<unused_type>
- {
- typedef unused_type type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // build_std_vector
- //
- // Build a std::vector from T. Return unused_type if T is unused_type.
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct build_std_vector
- {
- typedef std::vector<T> type;
- };
-
- template <>
- struct build_std_vector<unused_type>
- {
- typedef unused_type type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // filter_unused_attributes
- //
- // Remove unused_types from a sequence
- ///////////////////////////////////////////////////////////////////////////
-
- // Compute the list of all *used* attributes of sub-components
- // (filter all unused attributes from the list)
- template <typename Sequence>
- struct filter_unused_attributes
- : fusion::result_of::filter_if<Sequence, not_is_unused<mpl::_> >
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- // sequence_attribute_transform
- //
- // This transform is invoked for every attribute in a sequence allowing
- // to modify the attribute type exposed by a component to the enclosing
- // sequence component. By default no transformation is performed.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Attribute, typename Domain>
- struct sequence_attribute_transform
- : mpl::identity<Attribute>
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- // permutation_attribute_transform
- //
- // This transform is invoked for every attribute in a sequence allowing
- // to modify the attribute type exposed by a component to the enclosing
- // permutation component. By default a build_optional transformation is
- // performed.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Attribute, typename Domain>
- struct permutation_attribute_transform
- : traits::build_optional<Attribute>
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- // sequential_or_attribute_transform
- //
- // This transform is invoked for every attribute in a sequential_or allowing
- // to modify the attribute type exposed by a component to the enclosing
- // sequential_or component. By default a build_optional transformation is
- // performed.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Attribute, typename Domain>
- struct sequential_or_attribute_transform
- : traits::build_optional<Attribute>
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- // build_fusion_vector
- //
- // Build a fusion vector from a fusion sequence. All unused attributes
- // are filtered out. If the result is empty after the removal of unused
- // types, return unused_type. If the input sequence is an unused_type,
- // also return unused_type.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Sequence>
- struct build_fusion_vector
- {
- // Remove all unused attributes
- typedef typename
- filter_unused_attributes<Sequence>::type
- filtered_attributes;
-
- // Build a fusion vector from a fusion sequence (Sequence),
- // But *only if* the sequence is not empty. i.e. if the
- // sequence is empty, our result will be unused_type.
-
- typedef typename
- mpl::eval_if<
- fusion::result_of::empty<filtered_attributes>
- , mpl::identity<unused_type>
- , fusion::result_of::as_vector<filtered_attributes>
- >::type
- type;
- };
-
- template <>
- struct build_fusion_vector<unused_type>
- {
- typedef unused_type type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // build_attribute_sequence
- //
- // Build a fusion sequence attribute sequence from a sequence of
- // components. Transform<T>::type is called on each element.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Sequence, typename Context
- , template <typename T, typename D> class Transform
- , typename Iterator = unused_type, typename Domain = unused_type>
- struct build_attribute_sequence
- {
- struct element_attribute
- {
- template <typename T>
- struct result;
-
- template <typename F, typename Element>
- struct result<F(Element)>
- {
- typedef typename
- Transform<
- typename attribute_of<Element, Context, Iterator>::type
- , Domain
- >::type
- type;
- };
-
- // never called, but needed for decltype-based result_of (C++0x)
-#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
- template <typename Element>
- typename result<element_attribute(Element)>::type
- operator()(Element&&) const;
-#endif
- };
-
- // Compute the list of attributes of all sub-components
- typedef typename
- fusion::result_of::transform<Sequence, element_attribute>::type
- type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // has_no_unused
- //
- // Test if there are no unused attributes in Sequence
- ///////////////////////////////////////////////////////////////////////////
- template <typename Sequence>
- struct has_no_unused
- : is_same<
- typename mpl::find_if<Sequence, is_same<mpl::_, unused_type> >::type
- , typename mpl::end<Sequence>::type>
- {};
-
- namespace detail
- {
- template <typename Sequence, bool no_unused
- , int size = mpl::size<Sequence>::value>
- struct build_collapsed_variant;
-
- // N element case, no unused
- template <typename Sequence, int size>
- struct build_collapsed_variant<Sequence, true, size>
- : spirit::detail::as_variant<Sequence> {};
-
- // N element case with unused
- template <typename Sequence, int size>
- struct build_collapsed_variant<Sequence, false, size>
- {
- typedef boost::optional<
- typename spirit::detail::as_variant<
- typename fusion::result_of::pop_front<Sequence>::type
- >::type
- > type;
- };
-
- // 1 element case, no unused
- template <typename Sequence>
- struct build_collapsed_variant<Sequence, true, 1>
- : mpl::front<Sequence> {};
-
- // 1 element case, with unused
- template <typename Sequence>
- struct build_collapsed_variant<Sequence, false, 1>
- : mpl::front<Sequence> {};
-
- // 2 element case, no unused
- template <typename Sequence>
- struct build_collapsed_variant<Sequence, true, 2>
- : spirit::detail::as_variant<Sequence> {};
-
- // 2 element case, with unused
- template <typename Sequence>
- struct build_collapsed_variant<Sequence, false, 2>
- {
- typedef boost::optional<
- typename mpl::deref<
- typename mpl::next<
- typename mpl::begin<Sequence>::type
- >::type
- >::type
- >
- type;
- };
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // alternative_attribute_transform
- //
- // This transform is invoked for every attribute in an alternative allowing
- // to modify the attribute type exposed by a component to the enclosing
- // alternative component. By default no transformation is performed.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Attribute, typename Domain>
- struct alternative_attribute_transform
- : mpl::identity<Attribute>
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- // build_variant
- //
- // Build a boost::variant from a fusion sequence. build_variant makes sure
- // that 1) all attributes in the variant are unique 2) puts the unused
- // attribute, if there is any, to the front and 3) collapses single element
- // variants, variant<T> to T.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Sequence>
- struct build_variant
- {
- // Remove all unused attributes.
- typedef typename
- filter_unused_attributes<Sequence>::type
- filtered_attributes;
-
- typedef has_no_unused<Sequence> no_unused;
-
- // If the original attribute list does not contain any unused
- // attributes, it is used, otherwise a single unused_type is
- // pushed to the front of the list. This is to make sure that if
- // there is an unused_type in the list, it is the first one.
- typedef typename
- mpl::eval_if<
- no_unused,
- mpl::identity<Sequence>,
- fusion::result_of::push_front<filtered_attributes, unused_type>
- >::type
- attribute_sequence;
-
- // Make sure each of the types occur only once in the type list
- typedef typename
- mpl::fold<
- attribute_sequence, mpl::vector<>,
- mpl::if_<
- mpl::contains<mpl::_1, mpl::_2>,
- mpl::_1, mpl::push_back<mpl::_1, mpl::_2>
- >
- >::type
- no_duplicates;
-
- // If there is only one type in the list of types we strip off the
- // variant. IOTW, collapse single element variants, variant<T> to T.
- // Take note that this also collapses variant<unused_type, T> to T.
- typedef typename
- traits::detail::build_collapsed_variant<
- no_duplicates, no_unused::value>::type
- type;
- };
-
- namespace detail {
- // Domain-agnostic class template partial specializations and
- // type agnostic domain partial specializations are ambious.
- // To resolve the ambiguity type agnostic domain partial
- // specializations are dispatched via intermediate type.
- template <typename Exposed, typename Transformed, typename Domain>
- struct transform_attribute_base;
-
- template <typename Attribute>
- struct synthesize_attribute
- {
- typedef Attribute type;
- static Attribute pre(unused_type) { return Attribute(); }
- static void post(unused_type, Attribute const&) {}
- static void fail(unused_type) {}
- };
- }
- ///////////////////////////////////////////////////////////////////////////
- // transform_attribute
- //
- // Sometimes the user needs to transform the attribute types for certain
- // attributes. This template can be used as a customization point, where
- // the user is able specify specific transformation rules for any attribute
- // type.
- //
- // Note: the transformations involving unused_type are internal details
- // and may be subject to change at any time.
- //
- ///////////////////////////////////////////////////////////////////////////
- template <typename Exposed, typename Transformed, typename Domain
- , typename Enable/* = void*/>
- struct transform_attribute
- : detail::transform_attribute_base<Exposed, Transformed, Domain>
- {
- BOOST_STATIC_ASSERT_MSG(!is_reference<Exposed>::value,
- "Exposed cannot be a reference type");
- BOOST_STATIC_ASSERT_MSG(!is_reference<Transformed>::value,
- "Transformed cannot be a reference type");
- };
-
- template <typename Transformed, typename Domain>
- struct transform_attribute<unused_type, Transformed, Domain>
- : detail::synthesize_attribute<Transformed>
- {};
-
- template <typename Transformed, typename Domain>
- struct transform_attribute<unused_type const, Transformed, Domain>
- : detail::synthesize_attribute<Transformed>
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- // swap_impl
- //
- // Swap (with proper handling of unused_types)
- ///////////////////////////////////////////////////////////////////////////
- template <typename A, typename B>
- void swap_impl(A& a, B& b)
- {
- A temp = a;
- a = b;
- b = temp;
- }
-
- template <typename T>
- void swap_impl(T& a, T& b)
- {
- boost::swap(a, b);
- }
-
- template <typename A>
- void swap_impl(A&, unused_type)
- {
- }
-
- template <typename A>
- void swap_impl(unused_type, A&)
- {
- }
-
- inline void swap_impl(unused_type, unused_type)
- {
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Strips single element fusion vectors into its 'naked'
- // form: vector<T> --> T
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct strip_single_element_vector
- {
- typedef T type;
- };
-
-#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR)
- template <typename T>
- struct strip_single_element_vector<fusion::vector1<T> >
- {
- typedef T type;
- };
-#endif
- template <typename T>
- struct strip_single_element_vector<fusion::vector<T> >
- {
- typedef T type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // meta function to return whether the argument is a one element fusion
- // sequence
- ///////////////////////////////////////////////////////////////////////////
- template <typename T
- , bool IsFusionSeq = fusion::traits::is_sequence<T>::value
- , bool IsProtoExpr = proto::is_expr<T>::value>
- struct one_element_sequence
- : mpl::false_
- {};
-
- template <typename T>
- struct one_element_sequence<T, true, false>
- : mpl::bool_<mpl::size<T>::value == 1>
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- // clear
- //
- // Clear data efficiently
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- void clear(T& val);
-
- namespace detail
- {
- // this is used by the variant and fusion sequence dispatch
- struct clear_visitor : static_visitor<>
- {
- template <typename T>
- void operator()(T& val) const
- {
- spirit::traits::clear(val);
- }
- };
-
- // default
- template <typename T>
- void clear_impl2(T& val, mpl::false_)
- {
- val = T();
- }
-
- // for fusion sequences
- template <typename T>
- void clear_impl2(T& val, mpl::true_)
- {
- fusion::for_each(val, clear_visitor());
- }
-
- // dispatch default or fusion sequence
- template <typename T>
- void clear_impl(T& val, mpl::false_)
- {
- clear_impl2(val, fusion::traits::is_sequence<T>());
- }
-
- // STL containers
- template <typename T>
- void clear_impl(T& val, mpl::true_)
- {
- val.clear();
- }
- }
-
- template <typename T, typename Enable/* = void*/>
- struct clear_value
- {
- static void call(T& val)
- {
- detail::clear_impl(val, typename is_container<T>::type());
- }
- };
-
- // optionals
- template <typename T>
- struct clear_value<boost::optional<T> >
- {
- static void call(boost::optional<T>& val)
- {
- if (val)
- val = none; // leave optional uninitialized
- }
- };
-
- // variants
- template <BOOST_VARIANT_ENUM_PARAMS(typename T)>
- struct clear_value<variant<BOOST_VARIANT_ENUM_PARAMS(T)> >
- {
- static void call(variant<BOOST_VARIANT_ENUM_PARAMS(T)>& val)
- {
- apply_visitor(detail::clear_visitor(), val);
- }
- };
-
- // iterator range
- template <typename T>
- struct clear_value<iterator_range<T> >
- {
- static void call(iterator_range<T>& val)
- {
- val = iterator_range<T>(val.end(), val.end());
- }
- };
-
- // main dispatch
- template <typename T>
- void clear(T& val)
- {
- clear_value<T>::call(val);
- }
-
- // for unused
- inline void clear(unused_type)
- {
- }
-
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename Out>
- struct print_fusion_sequence
- {
- print_fusion_sequence(Out& out_)
- : out(out_), is_first(true) {}
-
- typedef void result_type;
-
- template <typename T>
- void operator()(T const& val) const
- {
- if (is_first)
- is_first = false;
- else
- out << ", ";
- spirit::traits::print_attribute(out, val);
- }
-
- Out& out;
- mutable bool is_first;
- };
-
- // print elements in a variant
- template <typename Out>
- struct print_visitor : static_visitor<>
- {
- print_visitor(Out& out_) : out(out_) {}
-
- template <typename T>
- void operator()(T const& val) const
- {
- spirit::traits::print_attribute(out, val);
- }
-
- Out& out;
- };
- }
-
- template <typename Out, typename T, typename Enable>
- struct print_attribute_debug
- {
- // for plain data types
- template <typename T_>
- static void call_impl3(Out& out, T_ const& val, mpl::false_)
- {
- out << val;
- }
-
- // for fusion data types
- template <typename T_>
- static void call_impl3(Out& out, T_ const& val, mpl::true_)
- {
- out << '[';
- fusion::for_each(val, detail::print_fusion_sequence<Out>(out));
- out << ']';
- }
-
- // non-stl container
- template <typename T_>
- static void call_impl2(Out& out, T_ const& val, mpl::false_)
- {
- call_impl3(out, val, fusion::traits::is_sequence<T_>());
- }
-
- // stl container
- template <typename T_>
- static void call_impl2(Out& out, T_ const& val, mpl::true_)
- {
- out << '[';
- if (!traits::is_empty(val))
- {
- bool first = true;
- typename container_iterator<T_ const>::type iend = traits::end(val);
- for (typename container_iterator<T_ const>::type i = traits::begin(val);
- !traits::compare(i, iend); traits::next(i))
- {
- if (!first)
- out << ", ";
- first = false;
- spirit::traits::print_attribute(out, traits::deref(i));
- }
- }
- out << ']';
- }
-
- // for variant types
- template <typename T_>
- static void call_impl(Out& out, T_ const& val, mpl::false_)
- {
- apply_visitor(detail::print_visitor<Out>(out), val);
- }
-
- // for non-variant types
- template <typename T_>
- static void call_impl(Out& out, T_ const& val, mpl::true_)
- {
- call_impl2(out, val, is_container<T_>());
- }
-
- // main entry point
- static void call(Out& out, T const& val)
- {
- call_impl(out, val, not_is_variant<T>());
- }
- };
-
- template <typename Out, typename T>
- struct print_attribute_debug<Out, boost::optional<T> >
- {
- static void call(Out& out, boost::optional<T> const& val)
- {
- if (val)
- spirit::traits::print_attribute(out, *val);
- else
- out << "[empty]";
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Out, typename T>
- inline void print_attribute(Out& out, T const& val)
- {
- print_attribute_debug<Out, T>::call(out, val);
- }
-
- template <typename Out>
- inline void print_attribute(Out&, unused_type)
- {
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // generate debug output for lookahead token (character) stream
- namespace detail
- {
- struct token_printer_debug_for_chars
- {
- template<typename Out, typename Char>
- static void print(Out& o, Char c)
- {
- using namespace std; // allow for ADL to find the proper iscntrl
-
- if (c == static_cast<Char>('\a'))
- o << "\\a";
- else if (c == static_cast<Char>('\b'))
- o << "\\b";
- else if (c == static_cast<Char>('\f'))
- o << "\\f";
- else if (c == static_cast<Char>('\n'))
- o << "\\n";
- else if (c == static_cast<Char>('\r'))
- o << "\\r";
- else if (c == static_cast<Char>('\t'))
- o << "\\t";
- else if (c == static_cast<Char>('\v'))
- o << "\\v";
- else if (c >= 0 && c < 127 && iscntrl(c))
- o << "\\" << std::oct << static_cast<int>(c);
- else
- o << static_cast<char>(c);
- }
- };
-
- // for token types where the comparison with char constants wouldn't work
- struct token_printer_debug
- {
- template<typename Out, typename T>
- static void print(Out& o, T const& val)
- {
- o << val;
- }
- };
- }
-
- template <typename T, typename Enable>
- struct token_printer_debug
- : mpl::if_<
- mpl::and_<
- is_convertible<T, char>, is_convertible<char, T> >
- , detail::token_printer_debug_for_chars
- , detail::token_printer_debug>::type
- {};
-
- template <typename Out, typename T>
- inline void print_token(Out& out, T const& val)
- {
- // allow to customize the token printer routine
- token_printer_debug<T>::print(out, val);
- }
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/attributes_fwd.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/attributes_fwd.hpp
deleted file mode 100644
index a9a62fedb5..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/attributes_fwd.hpp
+++ /dev/null
@@ -1,294 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2010 Bryce Lelbach
-
- Distributed under the 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_ATTRIBUTES_FWD_OCT_01_2009_0715AM)
-#define BOOST_SPIRIT_ATTRIBUTES_FWD_OCT_01_2009_0715AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#if (defined(__GNUC__) && (__GNUC__ < 4)) || \
- (defined(__APPLE__) && defined(__INTEL_COMPILER))
-#include <boost/utility/enable_if.hpp>
-#endif
-#include <boost/spirit/home/support/unused.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace result_of
-{
- // forward declaration only
- template <typename Exposed, typename Attribute>
- struct extract_from;
-
- template <typename T, typename Attribute>
- struct attribute_as;
-
- template <typename T>
- struct optional_value;
-
- template <typename Container>
- struct begin;
-
- template <typename Container>
- struct end;
-
- template <typename Iterator>
- struct deref;
-}}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- // Find out if T can be a strong substitute for Expected attribute
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Expected, typename Enable = void>
- struct is_substitute;
-
- ///////////////////////////////////////////////////////////////////////////
- // Find out if T can be a weak substitute for Expected attribute
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Expected, typename Enable = void>
- struct is_weak_substitute;
-
- ///////////////////////////////////////////////////////////////////////////
- // Determine if T is a proxy
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable = void>
- struct is_proxy;
-
- ///////////////////////////////////////////////////////////////////////////
- // Retrieve the attribute type to use from the given type
- //
- // This is needed to extract the correct attribute type from proxy classes
- // as utilized in FUSION_ADAPT_ADT et. al.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Attribute, typename Enable = void>
- struct attribute_type;
-
- ///////////////////////////////////////////////////////////////////////////
- // Retrieve the size of a fusion sequence (compile time)
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct sequence_size;
-
- ///////////////////////////////////////////////////////////////////////////
- // Retrieve the size of an attribute (runtime)
- ///////////////////////////////////////////////////////////////////////////
- template <typename Attribute, typename Enable = void>
- struct attribute_size;
-
- template <typename Attribute>
- typename attribute_size<Attribute>::type
- size(Attribute const& attr);
-
- ///////////////////////////////////////////////////////////////////////////
- // Determines how we pass attributes to semantic actions. This
- // may be specialized. By default, all attributes are wrapped in
- // a fusion sequence, because the attribute has to be treated as being
- // a single value in any case (even if it actually already is a fusion
- // sequence in its own).
- ///////////////////////////////////////////////////////////////////////////
- template <typename Component, typename Attribute, typename Enable = void>
- struct pass_attribute;
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable = void>
- struct optional_attribute;
-
- ///////////////////////////////////////////////////////////////////////////
- // Sometimes the user needs to transform the attribute types for certain
- // attributes. This template can be used as a customization point, where
- // the user is able specify specific transformation rules for any attribute
- // type.
- ///////////////////////////////////////////////////////////////////////////
- template <typename Exposed, typename Transformed, typename Domain
- , typename Enable = void>
- struct transform_attribute;
-
- ///////////////////////////////////////////////////////////////////////////
- // Qi only
- template <typename Attribute, typename Iterator, typename Enable = void>
- struct assign_to_attribute_from_iterators;
-
- template <typename Iterator, typename Attribute>
- void assign_to(Iterator const& first, Iterator const& last, Attribute& attr);
-
- template <typename Iterator>
- void assign_to(Iterator const&, Iterator const&, unused_type);
-
- template <typename Attribute, typename T, typename Enable = void>
- struct assign_to_attribute_from_value;
-
- template <typename Attribute, typename T, typename Enable = void>
- struct assign_to_container_from_value;
-
- template <typename T, typename Attribute>
- void assign_to(T const& val, Attribute& attr);
-
- template <typename T>
- void assign_to(T const&, unused_type);
-
- ///////////////////////////////////////////////////////////////////////////
- // Karma only
- template <typename Attribute, typename Exposed, typename Enable = void>
- struct extract_from_attribute;
-
- template <typename Attribute, typename Exposed, typename Enable = void>
- struct extract_from_container;
-
- template <typename Exposed, typename Attribute, typename Context>
- typename spirit::result_of::extract_from<Exposed, Attribute>::type
- extract_from(Attribute const& attr, Context& ctx
-#if (defined(__GNUC__) && (__GNUC__ < 4)) || \
- (defined(__APPLE__) && defined(__INTEL_COMPILER))
- , typename enable_if<traits::not_is_unused<Attribute> >::type* = NULL
-#endif
- );
-
- ///////////////////////////////////////////////////////////////////////////
- // Karma only
- template <typename T, typename Attribute, typename Enable = void>
- struct attribute_as;
-
- template <typename T, typename Attribute>
- typename spirit::result_of::attribute_as<T, Attribute>::type
- as(Attribute const& attr);
-
- template <typename T, typename Attribute>
- bool valid_as(Attribute const& attr);
-
- ///////////////////////////////////////////////////////////////////////////
- // return the type currently stored in the given variant
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable = void>
- struct variant_which;
-
- template <typename T>
- int which(T const& v);
-
- ///////////////////////////////////////////////////////////////////////////
- // Determine, whether T is a variant like type
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Domain = unused_type, typename Enable = void>
- struct not_is_variant;
-
- ///////////////////////////////////////////////////////////////////////////
- // Determine, whether T is a variant like type
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Domain = unused_type, typename Enable = void>
- struct not_is_optional;
-
- ///////////////////////////////////////////////////////////////////////////
- // Clear data efficiently
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable = void>
- struct clear_value;
-
- ///////////////////////////////////////////////////////////////////////
- // Determine the value type of the given container type
- ///////////////////////////////////////////////////////////////////////
- template <typename Container, typename Enable = void>
- struct container_value;
-
- template <typename Container, typename Enable = void>
- struct container_iterator;
-
- template <typename T, typename Enable = void>
- struct is_container;
-
- template <typename T, typename Enable = void>
- struct is_iterator_range;
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Attribute, typename Context = unused_type
- , typename Iterator = unused_type, typename Enable = void>
- struct handles_container;
-
- template <typename Container, typename ValueType, typename Attribute
- , typename Sequence, typename Domain, typename Enable = void>
- struct pass_through_container;
-
- ///////////////////////////////////////////////////////////////////////////
- // Qi only
- template <typename Container, typename T, typename Enable = void>
- struct push_back_container;
-
- template <typename Container, typename Enable = void>
- struct is_empty_container;
-
- template <typename Container, typename Enable = void>
- struct make_container_attribute;
-
- ///////////////////////////////////////////////////////////////////////
- // Determine the iterator type of the given container type
- // Karma only
- ///////////////////////////////////////////////////////////////////////
- template <typename Container, typename Enable = void>
- struct begin_container;
-
- template <typename Container, typename Enable = void>
- struct end_container;
-
- template <typename Iterator, typename Enable = void>
- struct deref_iterator;
-
- template <typename Iterator, typename Enable = void>
- struct next_iterator;
-
- template <typename Iterator, typename Enable = void>
- struct compare_iterators;
-
- ///////////////////////////////////////////////////////////////////////////
- // Print the given attribute of type T to the stream given as Out
- ///////////////////////////////////////////////////////////////////////////
- template <typename Out, typename T, typename Enable = void>
- struct print_attribute_debug;
-
- template <typename Out, typename T>
- void print_attribute(Out&, T const&);
-
- template <typename Out>
- void print_attribute(Out&, unused_type);
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Char, typename Enable = void>
- struct token_printer_debug;
-
- template<typename Out, typename T>
- void print_token(Out&, T const&);
-
- ///////////////////////////////////////////////////////////////////////////
- // Access attributes from a karma symbol table
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Attribute, typename Enable = void>
- struct symbols_lookup;
-
- template <typename Attribute, typename T, typename Enable = void>
- struct symbols_value;
-
- ///////////////////////////////////////////////////////////////////////////
- // transform attribute types exposed from compound operator components
- ///////////////////////////////////////////////////////////////////////////
- template <typename Attribute, typename Domain>
- struct alternative_attribute_transform;
-
- template <typename Attribute, typename Domain>
- struct sequence_attribute_transform;
-
- template <typename Attribute, typename Domain>
- struct permutation_attribute_transform;
-
- template <typename Attribute, typename Domain>
- struct sequential_or_attribute_transform;
-}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_class.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_class.hpp
deleted file mode 100644
index d3bd4dc2b3..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_class.hpp
+++ /dev/null
@@ -1,769 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_CHAR_CLASS_NOVEMBER_10_2006_0907AM)
-#define BOOST_SPIRIT_CHAR_CLASS_NOVEMBER_10_2006_0907AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/detail/is_spirit_tag.hpp>
-#include <boost/type_traits/is_signed.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <boost/type_traits/make_signed.hpp>
-
-#if defined(BOOST_MSVC)
-# pragma warning(push)
-# pragma warning(disable: 4127) // conditional expression is constant
-# pragma warning(disable: 4800) // 'int' : forcing value to bool 'true' or 'false' warning
-#endif
-
-namespace boost { namespace spirit { namespace detail
-{
- // Here's the thing... typical encodings (except ASCII) deal with unsigned
- // integers > 127. ASCII uses only 127. Yet, most char and wchar_t are signed.
- // Thus, a char with value > 127 is negative (e.g. char 233 is -23). When you
- // cast this to an unsigned int with 32 bits, you get 4294967273!
- //
- // The trick is to cast to an unsigned version of the source char first
- // before casting to the target. {P.S. Don't worry about the code, the
- // optimizer will optimize the if-else branches}
-
- template <typename TargetChar, typename SourceChar>
- TargetChar cast_char(SourceChar ch)
- {
- if (is_signed<TargetChar>::value != is_signed<SourceChar>::value)
- {
- if (is_signed<SourceChar>::value)
- {
- // source is signed, target is unsigned
- typedef typename make_unsigned<SourceChar>::type USourceChar;
- return TargetChar(USourceChar(ch));
- }
- else
- {
- // source is unsigned, target is signed
- typedef typename make_signed<SourceChar>::type SSourceChar;
- return TargetChar(SSourceChar(ch));
- }
- }
- else
- {
- // source and target has same signedness
- return TargetChar(ch); // just cast
- }
- }
-}}}
-
-namespace boost { namespace spirit { namespace tag
-{
- struct char_ { BOOST_SPIRIT_IS_TAG() };
- struct string { BOOST_SPIRIT_IS_TAG() };
-
- ///////////////////////////////////////////////////////////////////////////
- // classification tags
- struct alnum { BOOST_SPIRIT_IS_TAG() };
- struct alpha { BOOST_SPIRIT_IS_TAG() };
- struct digit { BOOST_SPIRIT_IS_TAG() };
- struct xdigit { BOOST_SPIRIT_IS_TAG() };
- struct cntrl { BOOST_SPIRIT_IS_TAG() };
- struct graph { BOOST_SPIRIT_IS_TAG() };
- struct print { BOOST_SPIRIT_IS_TAG() };
- struct punct { BOOST_SPIRIT_IS_TAG() };
- struct space { BOOST_SPIRIT_IS_TAG() };
- struct blank { BOOST_SPIRIT_IS_TAG() };
-
- ///////////////////////////////////////////////////////////////////////////
- // classification/conversion tags
- struct no_case { BOOST_SPIRIT_IS_TAG() };
- struct lower { BOOST_SPIRIT_IS_TAG() };
- struct upper { BOOST_SPIRIT_IS_TAG() };
- struct lowernum { BOOST_SPIRIT_IS_TAG() };
- struct uppernum { BOOST_SPIRIT_IS_TAG() };
- struct ucs4 { BOOST_SPIRIT_IS_TAG() };
- struct encoding { BOOST_SPIRIT_IS_TAG() };
-
-#if defined(BOOST_SPIRIT_UNICODE)
-///////////////////////////////////////////////////////////////////////////
-// Unicode Major Categories
-///////////////////////////////////////////////////////////////////////////
- struct letter { BOOST_SPIRIT_IS_TAG() };
- struct mark { BOOST_SPIRIT_IS_TAG() };
- struct number { BOOST_SPIRIT_IS_TAG() };
- struct separator { BOOST_SPIRIT_IS_TAG() };
- struct other { BOOST_SPIRIT_IS_TAG() };
- struct punctuation { BOOST_SPIRIT_IS_TAG() };
- struct symbol { BOOST_SPIRIT_IS_TAG() };
-
-///////////////////////////////////////////////////////////////////////////
-// Unicode General Categories
-///////////////////////////////////////////////////////////////////////////
- struct uppercase_letter { BOOST_SPIRIT_IS_TAG() };
- struct lowercase_letter { BOOST_SPIRIT_IS_TAG() };
- struct titlecase_letter { BOOST_SPIRIT_IS_TAG() };
- struct modifier_letter { BOOST_SPIRIT_IS_TAG() };
- struct other_letter { BOOST_SPIRIT_IS_TAG() };
-
- struct nonspacing_mark { BOOST_SPIRIT_IS_TAG() };
- struct enclosing_mark { BOOST_SPIRIT_IS_TAG() };
- struct spacing_mark { BOOST_SPIRIT_IS_TAG() };
-
- struct decimal_number { BOOST_SPIRIT_IS_TAG() };
- struct letter_number { BOOST_SPIRIT_IS_TAG() };
- struct other_number { BOOST_SPIRIT_IS_TAG() };
-
- struct space_separator { BOOST_SPIRIT_IS_TAG() };
- struct line_separator { BOOST_SPIRIT_IS_TAG() };
- struct paragraph_separator { BOOST_SPIRIT_IS_TAG() };
-
- struct control { BOOST_SPIRIT_IS_TAG() };
- struct format { BOOST_SPIRIT_IS_TAG() };
- struct private_use { BOOST_SPIRIT_IS_TAG() };
- struct surrogate { BOOST_SPIRIT_IS_TAG() };
- struct unassigned { BOOST_SPIRIT_IS_TAG() };
-
- struct dash_punctuation { BOOST_SPIRIT_IS_TAG() };
- struct open_punctuation { BOOST_SPIRIT_IS_TAG() };
- struct close_punctuation { BOOST_SPIRIT_IS_TAG() };
- struct connector_punctuation { BOOST_SPIRIT_IS_TAG() };
- struct other_punctuation { BOOST_SPIRIT_IS_TAG() };
- struct initial_punctuation { BOOST_SPIRIT_IS_TAG() };
- struct final_punctuation { BOOST_SPIRIT_IS_TAG() };
-
- struct math_symbol { BOOST_SPIRIT_IS_TAG() };
- struct currency_symbol { BOOST_SPIRIT_IS_TAG() };
- struct modifier_symbol { BOOST_SPIRIT_IS_TAG() };
- struct other_symbol { BOOST_SPIRIT_IS_TAG() };
-
-///////////////////////////////////////////////////////////////////////////
-// Unicode Derived Categories
-///////////////////////////////////////////////////////////////////////////
- struct alphabetic { BOOST_SPIRIT_IS_TAG() };
- struct uppercase { BOOST_SPIRIT_IS_TAG() };
- struct lowercase { BOOST_SPIRIT_IS_TAG() };
- struct white_space { BOOST_SPIRIT_IS_TAG() };
- struct hex_digit { BOOST_SPIRIT_IS_TAG() };
- struct noncharacter_code_point { BOOST_SPIRIT_IS_TAG() };
- struct default_ignorable_code_point { BOOST_SPIRIT_IS_TAG() };
-
-///////////////////////////////////////////////////////////////////////////
-// Unicode Scripts
-///////////////////////////////////////////////////////////////////////////
- struct arabic { BOOST_SPIRIT_IS_TAG() };
- struct imperial_aramaic { BOOST_SPIRIT_IS_TAG() };
- struct armenian { BOOST_SPIRIT_IS_TAG() };
- struct avestan { BOOST_SPIRIT_IS_TAG() };
- struct balinese { BOOST_SPIRIT_IS_TAG() };
- struct bamum { BOOST_SPIRIT_IS_TAG() };
- struct bengali { BOOST_SPIRIT_IS_TAG() };
- struct bopomofo { BOOST_SPIRIT_IS_TAG() };
- struct braille { BOOST_SPIRIT_IS_TAG() };
- struct buginese { BOOST_SPIRIT_IS_TAG() };
- struct buhid { BOOST_SPIRIT_IS_TAG() };
- struct canadian_aboriginal { BOOST_SPIRIT_IS_TAG() };
- struct carian { BOOST_SPIRIT_IS_TAG() };
- struct cham { BOOST_SPIRIT_IS_TAG() };
- struct cherokee { BOOST_SPIRIT_IS_TAG() };
- struct coptic { BOOST_SPIRIT_IS_TAG() };
- struct cypriot { BOOST_SPIRIT_IS_TAG() };
- struct cyrillic { BOOST_SPIRIT_IS_TAG() };
- struct devanagari { BOOST_SPIRIT_IS_TAG() };
- struct deseret { BOOST_SPIRIT_IS_TAG() };
- struct egyptian_hieroglyphs { BOOST_SPIRIT_IS_TAG() };
- struct ethiopic { BOOST_SPIRIT_IS_TAG() };
- struct georgian { BOOST_SPIRIT_IS_TAG() };
- struct glagolitic { BOOST_SPIRIT_IS_TAG() };
- struct gothic { BOOST_SPIRIT_IS_TAG() };
- struct greek { BOOST_SPIRIT_IS_TAG() };
- struct gujarati { BOOST_SPIRIT_IS_TAG() };
- struct gurmukhi { BOOST_SPIRIT_IS_TAG() };
- struct hangul { BOOST_SPIRIT_IS_TAG() };
- struct han { BOOST_SPIRIT_IS_TAG() };
- struct hanunoo { BOOST_SPIRIT_IS_TAG() };
- struct hebrew { BOOST_SPIRIT_IS_TAG() };
- struct hiragana { BOOST_SPIRIT_IS_TAG() };
- struct katakana_or_hiragana { BOOST_SPIRIT_IS_TAG() };
- struct old_italic { BOOST_SPIRIT_IS_TAG() };
- struct javanese { BOOST_SPIRIT_IS_TAG() };
- struct kayah_li { BOOST_SPIRIT_IS_TAG() };
- struct katakana { BOOST_SPIRIT_IS_TAG() };
- struct kharoshthi { BOOST_SPIRIT_IS_TAG() };
- struct khmer { BOOST_SPIRIT_IS_TAG() };
- struct kannada { BOOST_SPIRIT_IS_TAG() };
- struct kaithi { BOOST_SPIRIT_IS_TAG() };
- struct tai_tham { BOOST_SPIRIT_IS_TAG() };
- struct lao { BOOST_SPIRIT_IS_TAG() };
- struct latin { BOOST_SPIRIT_IS_TAG() };
- struct lepcha { BOOST_SPIRIT_IS_TAG() };
- struct limbu { BOOST_SPIRIT_IS_TAG() };
- struct linear_b { BOOST_SPIRIT_IS_TAG() };
- struct lisu { BOOST_SPIRIT_IS_TAG() };
- struct lycian { BOOST_SPIRIT_IS_TAG() };
- struct lydian { BOOST_SPIRIT_IS_TAG() };
- struct malayalam { BOOST_SPIRIT_IS_TAG() };
- struct mongolian { BOOST_SPIRIT_IS_TAG() };
- struct meetei_mayek { BOOST_SPIRIT_IS_TAG() };
- struct myanmar { BOOST_SPIRIT_IS_TAG() };
- struct nko { BOOST_SPIRIT_IS_TAG() };
- struct ogham { BOOST_SPIRIT_IS_TAG() };
- struct ol_chiki { BOOST_SPIRIT_IS_TAG() };
- struct old_turkic { BOOST_SPIRIT_IS_TAG() };
- struct oriya { BOOST_SPIRIT_IS_TAG() };
- struct osmanya { BOOST_SPIRIT_IS_TAG() };
- struct phags_pa { BOOST_SPIRIT_IS_TAG() };
- struct inscriptional_pahlavi { BOOST_SPIRIT_IS_TAG() };
- struct phoenician { BOOST_SPIRIT_IS_TAG() };
- struct inscriptional_parthian { BOOST_SPIRIT_IS_TAG() };
- struct rejang { BOOST_SPIRIT_IS_TAG() };
- struct runic { BOOST_SPIRIT_IS_TAG() };
- struct samaritan { BOOST_SPIRIT_IS_TAG() };
- struct old_south_arabian { BOOST_SPIRIT_IS_TAG() };
- struct saurashtra { BOOST_SPIRIT_IS_TAG() };
- struct shavian { BOOST_SPIRIT_IS_TAG() };
- struct sinhala { BOOST_SPIRIT_IS_TAG() };
- struct sundanese { BOOST_SPIRIT_IS_TAG() };
- struct syloti_nagri { BOOST_SPIRIT_IS_TAG() };
- struct syriac { BOOST_SPIRIT_IS_TAG() };
- struct tagbanwa { BOOST_SPIRIT_IS_TAG() };
- struct tai_le { BOOST_SPIRIT_IS_TAG() };
- struct new_tai_lue { BOOST_SPIRIT_IS_TAG() };
- struct tamil { BOOST_SPIRIT_IS_TAG() };
- struct tai_viet { BOOST_SPIRIT_IS_TAG() };
- struct telugu { BOOST_SPIRIT_IS_TAG() };
- struct tifinagh { BOOST_SPIRIT_IS_TAG() };
- struct tagalog { BOOST_SPIRIT_IS_TAG() };
- struct thaana { BOOST_SPIRIT_IS_TAG() };
- struct thai { BOOST_SPIRIT_IS_TAG() };
- struct tibetan { BOOST_SPIRIT_IS_TAG() };
- struct ugaritic { BOOST_SPIRIT_IS_TAG() };
- struct vai { BOOST_SPIRIT_IS_TAG() };
- struct old_persian { BOOST_SPIRIT_IS_TAG() };
- struct cuneiform { BOOST_SPIRIT_IS_TAG() };
- struct yi { BOOST_SPIRIT_IS_TAG() };
- struct inherited { BOOST_SPIRIT_IS_TAG() };
- struct common { BOOST_SPIRIT_IS_TAG() };
- struct unknown { BOOST_SPIRIT_IS_TAG() };
-#endif
-
- ///////////////////////////////////////////////////////////////////////////
- // This composite tag type encodes both the character
- // set and the specific char tag (used for classification
- // or conversion). char_code_base and char_encoding_base
- // can be used to test for modifier membership (see modifier.hpp)
- template <typename CharClass>
- struct char_code_base {};
-
- template <typename CharEncoding>
- struct char_encoding_base {};
-
- template <typename CharClass, typename CharEncoding>
- struct char_code
- : char_code_base<CharClass>, char_encoding_base<CharEncoding>
- {
- BOOST_SPIRIT_IS_TAG()
- typedef CharEncoding char_encoding; // e.g. ascii
- typedef CharClass char_class; // e.g. tag::alnum
- };
-}}}
-
-namespace boost { namespace spirit { namespace char_class
-{
- ///////////////////////////////////////////////////////////////////////////
- // Test characters for classification
- template <typename CharEncoding>
- struct classify
- {
- typedef typename CharEncoding::classify_type char_type;
-
-#define BOOST_SPIRIT_CLASSIFY(name, isname) \
- template <typename Char> \
- static bool \
- is(tag::name, Char ch) \
- { \
- return CharEncoding::isname \
- BOOST_PREVENT_MACRO_SUBSTITUTION \
- (detail::cast_char<char_type>(ch)); \
- } \
- /***/
-
- BOOST_SPIRIT_CLASSIFY(char_, ischar)
- BOOST_SPIRIT_CLASSIFY(alnum, isalnum)
- BOOST_SPIRIT_CLASSIFY(alpha, isalpha)
- BOOST_SPIRIT_CLASSIFY(digit, isdigit)
- BOOST_SPIRIT_CLASSIFY(xdigit, isxdigit)
- BOOST_SPIRIT_CLASSIFY(cntrl, iscntrl)
- BOOST_SPIRIT_CLASSIFY(graph, isgraph)
- BOOST_SPIRIT_CLASSIFY(lower, islower)
- BOOST_SPIRIT_CLASSIFY(print, isprint)
- BOOST_SPIRIT_CLASSIFY(punct, ispunct)
- BOOST_SPIRIT_CLASSIFY(space, isspace)
- BOOST_SPIRIT_CLASSIFY(blank, isblank)
- BOOST_SPIRIT_CLASSIFY(upper, isupper)
-
-#undef BOOST_SPIRIT_CLASSIFY
-
- template <typename Char>
- static bool
- is(tag::lowernum, Char ch)
- {
- return CharEncoding::islower(detail::cast_char<char_type>(ch)) ||
- CharEncoding::isdigit(detail::cast_char<char_type>(ch));
- }
-
- template <typename Char>
- static bool
- is(tag::uppernum, Char ch)
- {
- return CharEncoding::isupper(detail::cast_char<char_type>(ch)) ||
- CharEncoding::isdigit(detail::cast_char<char_type>(ch));
- }
-
-#if defined(BOOST_SPIRIT_UNICODE)
-
-#define BOOST_SPIRIT_UNICODE_CLASSIFY(name) \
- template <typename Char> \
- static bool \
- is(tag::name, Char ch) \
- { \
- return CharEncoding::is_##name(detail::cast_char<char_type>(ch)); \
- } \
- /***/
-
-///////////////////////////////////////////////////////////////////////////
-// Unicode Major Categories
-///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CLASSIFY(letter)
- BOOST_SPIRIT_UNICODE_CLASSIFY(mark)
- BOOST_SPIRIT_UNICODE_CLASSIFY(number)
- BOOST_SPIRIT_UNICODE_CLASSIFY(separator)
- BOOST_SPIRIT_UNICODE_CLASSIFY(other)
- BOOST_SPIRIT_UNICODE_CLASSIFY(punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY(symbol)
-
-///////////////////////////////////////////////////////////////////////////
-// Unicode General Categories
-///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CLASSIFY(uppercase_letter)
- BOOST_SPIRIT_UNICODE_CLASSIFY(lowercase_letter)
- BOOST_SPIRIT_UNICODE_CLASSIFY(titlecase_letter)
- BOOST_SPIRIT_UNICODE_CLASSIFY(modifier_letter)
- BOOST_SPIRIT_UNICODE_CLASSIFY(other_letter)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY(nonspacing_mark)
- BOOST_SPIRIT_UNICODE_CLASSIFY(enclosing_mark)
- BOOST_SPIRIT_UNICODE_CLASSIFY(spacing_mark)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY(decimal_number)
- BOOST_SPIRIT_UNICODE_CLASSIFY(letter_number)
- BOOST_SPIRIT_UNICODE_CLASSIFY(other_number)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY(space_separator)
- BOOST_SPIRIT_UNICODE_CLASSIFY(line_separator)
- BOOST_SPIRIT_UNICODE_CLASSIFY(paragraph_separator)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY(control)
- BOOST_SPIRIT_UNICODE_CLASSIFY(format)
- BOOST_SPIRIT_UNICODE_CLASSIFY(private_use)
- BOOST_SPIRIT_UNICODE_CLASSIFY(surrogate)
- BOOST_SPIRIT_UNICODE_CLASSIFY(unassigned)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY(dash_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY(open_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY(close_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY(connector_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY(other_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY(initial_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY(final_punctuation)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY(math_symbol)
- BOOST_SPIRIT_UNICODE_CLASSIFY(currency_symbol)
- BOOST_SPIRIT_UNICODE_CLASSIFY(modifier_symbol)
- BOOST_SPIRIT_UNICODE_CLASSIFY(other_symbol)
-
-///////////////////////////////////////////////////////////////////////////
-// Unicode Derived Categories
-///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CLASSIFY(alphabetic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(uppercase)
- BOOST_SPIRIT_UNICODE_CLASSIFY(lowercase)
- BOOST_SPIRIT_UNICODE_CLASSIFY(white_space)
- BOOST_SPIRIT_UNICODE_CLASSIFY(hex_digit)
- BOOST_SPIRIT_UNICODE_CLASSIFY(noncharacter_code_point)
- BOOST_SPIRIT_UNICODE_CLASSIFY(default_ignorable_code_point)
-
-///////////////////////////////////////////////////////////////////////////
-// Unicode Scripts
-///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CLASSIFY(arabic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(imperial_aramaic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(armenian)
- BOOST_SPIRIT_UNICODE_CLASSIFY(avestan)
- BOOST_SPIRIT_UNICODE_CLASSIFY(balinese)
- BOOST_SPIRIT_UNICODE_CLASSIFY(bamum)
- BOOST_SPIRIT_UNICODE_CLASSIFY(bengali)
- BOOST_SPIRIT_UNICODE_CLASSIFY(bopomofo)
- BOOST_SPIRIT_UNICODE_CLASSIFY(braille)
- BOOST_SPIRIT_UNICODE_CLASSIFY(buginese)
- BOOST_SPIRIT_UNICODE_CLASSIFY(buhid)
- BOOST_SPIRIT_UNICODE_CLASSIFY(canadian_aboriginal)
- BOOST_SPIRIT_UNICODE_CLASSIFY(carian)
- BOOST_SPIRIT_UNICODE_CLASSIFY(cham)
- BOOST_SPIRIT_UNICODE_CLASSIFY(cherokee)
- BOOST_SPIRIT_UNICODE_CLASSIFY(coptic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(cypriot)
- BOOST_SPIRIT_UNICODE_CLASSIFY(cyrillic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(devanagari)
- BOOST_SPIRIT_UNICODE_CLASSIFY(deseret)
- BOOST_SPIRIT_UNICODE_CLASSIFY(egyptian_hieroglyphs)
- BOOST_SPIRIT_UNICODE_CLASSIFY(ethiopic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(georgian)
- BOOST_SPIRIT_UNICODE_CLASSIFY(glagolitic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(gothic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(greek)
- BOOST_SPIRIT_UNICODE_CLASSIFY(gujarati)
- BOOST_SPIRIT_UNICODE_CLASSIFY(gurmukhi)
- BOOST_SPIRIT_UNICODE_CLASSIFY(hangul)
- BOOST_SPIRIT_UNICODE_CLASSIFY(han)
- BOOST_SPIRIT_UNICODE_CLASSIFY(hanunoo)
- BOOST_SPIRIT_UNICODE_CLASSIFY(hebrew)
- BOOST_SPIRIT_UNICODE_CLASSIFY(hiragana)
- BOOST_SPIRIT_UNICODE_CLASSIFY(katakana_or_hiragana)
- BOOST_SPIRIT_UNICODE_CLASSIFY(old_italic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(javanese)
- BOOST_SPIRIT_UNICODE_CLASSIFY(kayah_li)
- BOOST_SPIRIT_UNICODE_CLASSIFY(katakana)
- BOOST_SPIRIT_UNICODE_CLASSIFY(kharoshthi)
- BOOST_SPIRIT_UNICODE_CLASSIFY(khmer)
- BOOST_SPIRIT_UNICODE_CLASSIFY(kannada)
- BOOST_SPIRIT_UNICODE_CLASSIFY(kaithi)
- BOOST_SPIRIT_UNICODE_CLASSIFY(tai_tham)
- BOOST_SPIRIT_UNICODE_CLASSIFY(lao)
- BOOST_SPIRIT_UNICODE_CLASSIFY(latin)
- BOOST_SPIRIT_UNICODE_CLASSIFY(lepcha)
- BOOST_SPIRIT_UNICODE_CLASSIFY(limbu)
- BOOST_SPIRIT_UNICODE_CLASSIFY(linear_b)
- BOOST_SPIRIT_UNICODE_CLASSIFY(lisu)
- BOOST_SPIRIT_UNICODE_CLASSIFY(lycian)
- BOOST_SPIRIT_UNICODE_CLASSIFY(lydian)
- BOOST_SPIRIT_UNICODE_CLASSIFY(malayalam)
- BOOST_SPIRIT_UNICODE_CLASSIFY(mongolian)
- BOOST_SPIRIT_UNICODE_CLASSIFY(meetei_mayek)
- BOOST_SPIRIT_UNICODE_CLASSIFY(myanmar)
- BOOST_SPIRIT_UNICODE_CLASSIFY(nko)
- BOOST_SPIRIT_UNICODE_CLASSIFY(ogham)
- BOOST_SPIRIT_UNICODE_CLASSIFY(ol_chiki)
- BOOST_SPIRIT_UNICODE_CLASSIFY(old_turkic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(oriya)
- BOOST_SPIRIT_UNICODE_CLASSIFY(osmanya)
- BOOST_SPIRIT_UNICODE_CLASSIFY(phags_pa)
- BOOST_SPIRIT_UNICODE_CLASSIFY(inscriptional_pahlavi)
- BOOST_SPIRIT_UNICODE_CLASSIFY(phoenician)
- BOOST_SPIRIT_UNICODE_CLASSIFY(inscriptional_parthian)
- BOOST_SPIRIT_UNICODE_CLASSIFY(rejang)
- BOOST_SPIRIT_UNICODE_CLASSIFY(runic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(samaritan)
- BOOST_SPIRIT_UNICODE_CLASSIFY(old_south_arabian)
- BOOST_SPIRIT_UNICODE_CLASSIFY(saurashtra)
- BOOST_SPIRIT_UNICODE_CLASSIFY(shavian)
- BOOST_SPIRIT_UNICODE_CLASSIFY(sinhala)
- BOOST_SPIRIT_UNICODE_CLASSIFY(sundanese)
- BOOST_SPIRIT_UNICODE_CLASSIFY(syloti_nagri)
- BOOST_SPIRIT_UNICODE_CLASSIFY(syriac)
- BOOST_SPIRIT_UNICODE_CLASSIFY(tagbanwa)
- BOOST_SPIRIT_UNICODE_CLASSIFY(tai_le)
- BOOST_SPIRIT_UNICODE_CLASSIFY(new_tai_lue)
- BOOST_SPIRIT_UNICODE_CLASSIFY(tamil)
- BOOST_SPIRIT_UNICODE_CLASSIFY(tai_viet)
- BOOST_SPIRIT_UNICODE_CLASSIFY(telugu)
- BOOST_SPIRIT_UNICODE_CLASSIFY(tifinagh)
- BOOST_SPIRIT_UNICODE_CLASSIFY(tagalog)
- BOOST_SPIRIT_UNICODE_CLASSIFY(thaana)
- BOOST_SPIRIT_UNICODE_CLASSIFY(thai)
- BOOST_SPIRIT_UNICODE_CLASSIFY(tibetan)
- BOOST_SPIRIT_UNICODE_CLASSIFY(ugaritic)
- BOOST_SPIRIT_UNICODE_CLASSIFY(vai)
- BOOST_SPIRIT_UNICODE_CLASSIFY(old_persian)
- BOOST_SPIRIT_UNICODE_CLASSIFY(cuneiform)
- BOOST_SPIRIT_UNICODE_CLASSIFY(yi)
- BOOST_SPIRIT_UNICODE_CLASSIFY(inherited)
- BOOST_SPIRIT_UNICODE_CLASSIFY(common)
- BOOST_SPIRIT_UNICODE_CLASSIFY(unknown)
-
-#undef BOOST_SPIRIT_UNICODE_CLASSIFY
-#endif
-
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Convert characters
- template <typename CharEncoding>
- struct convert
- {
- typedef typename CharEncoding::classify_type char_type;
-
- template <typename Char>
- static Char
- to(tag::lower, Char ch)
- {
- return static_cast<Char>(
- CharEncoding::tolower(detail::cast_char<char_type>(ch)));
- }
-
- template <typename Char>
- static Char
- to(tag::upper, Char ch)
- {
- return static_cast<Char>(
- CharEncoding::toupper(detail::cast_char<char_type>(ch)));
- }
-
- template <typename Char>
- static Char
- to(tag::ucs4, Char ch)
- {
- return static_cast<Char>(
- CharEncoding::toucs4(detail::cast_char<char_type>(ch)));
- }
-
- template <typename Char>
- static Char
- to(unused_type, Char ch)
- {
- return ch;
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Info on character classification
- template <typename CharEncoding>
- struct what
- {
-#define BOOST_SPIRIT_CLASSIFY_WHAT(name, isname) \
- static char const* is(tag::name) \
- { \
- return isname; \
- } \
- /***/
-
- BOOST_SPIRIT_CLASSIFY_WHAT(char_, "char")
- BOOST_SPIRIT_CLASSIFY_WHAT(alnum, "alnum")
- BOOST_SPIRIT_CLASSIFY_WHAT(alpha, "alpha")
- BOOST_SPIRIT_CLASSIFY_WHAT(digit, "digit")
- BOOST_SPIRIT_CLASSIFY_WHAT(xdigit, "xdigit")
- BOOST_SPIRIT_CLASSIFY_WHAT(cntrl, "cntrl")
- BOOST_SPIRIT_CLASSIFY_WHAT(graph, "graph")
- BOOST_SPIRIT_CLASSIFY_WHAT(lower, "lower")
- BOOST_SPIRIT_CLASSIFY_WHAT(lowernum, "lowernum")
- BOOST_SPIRIT_CLASSIFY_WHAT(print, "print")
- BOOST_SPIRIT_CLASSIFY_WHAT(punct, "punct")
- BOOST_SPIRIT_CLASSIFY_WHAT(space, "space")
- BOOST_SPIRIT_CLASSIFY_WHAT(blank, "blank")
- BOOST_SPIRIT_CLASSIFY_WHAT(upper, "upper")
- BOOST_SPIRIT_CLASSIFY_WHAT(uppernum, "uppernum")
- BOOST_SPIRIT_CLASSIFY_WHAT(ucs4, "ucs4")
-
-#undef BOOST_SPIRIT_CLASSIFY_WHAT
-
-#if defined(BOOST_SPIRIT_UNICODE)
-
-#define BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(name) \
- static char const* is(tag::name) \
- { \
- return BOOST_PP_STRINGIZE(name); \
- } \
- /***/
-
-///////////////////////////////////////////////////////////////////////////
-// Unicode Major Categories
-///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(letter)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(mark)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(number)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(separator)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(other)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(symbol)
-
-///////////////////////////////////////////////////////////////////////////
-// Unicode General Categories
-///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(uppercase_letter)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(lowercase_letter)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(titlecase_letter)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(modifier_letter)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(other_letter)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(nonspacing_mark)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(enclosing_mark)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(spacing_mark)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(decimal_number)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(letter_number)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(other_number)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(space_separator)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(line_separator)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(paragraph_separator)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(control)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(format)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(private_use)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(surrogate)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(unassigned)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(dash_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(open_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(close_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(connector_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(other_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(initial_punctuation)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(final_punctuation)
-
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(math_symbol)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(currency_symbol)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(modifier_symbol)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(other_symbol)
-
-///////////////////////////////////////////////////////////////////////////
-// Unicode Derived Categories
-///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(alphabetic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(uppercase)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(lowercase)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(white_space)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(hex_digit)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(noncharacter_code_point)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(default_ignorable_code_point)
-
-///////////////////////////////////////////////////////////////////////////
-// Unicode Scripts
-///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(arabic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(imperial_aramaic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(armenian)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(avestan)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(balinese)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(bamum)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(bengali)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(bopomofo)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(braille)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(buginese)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(buhid)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(canadian_aboriginal)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(carian)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(cham)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(cherokee)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(coptic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(cypriot)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(cyrillic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(devanagari)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(deseret)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(egyptian_hieroglyphs)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(ethiopic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(georgian)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(glagolitic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(gothic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(greek)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(gujarati)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(gurmukhi)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(hangul)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(han)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(hanunoo)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(hebrew)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(hiragana)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(katakana_or_hiragana)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(old_italic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(javanese)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(kayah_li)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(katakana)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(kharoshthi)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(khmer)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(kannada)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(kaithi)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(tai_tham)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(lao)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(latin)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(lepcha)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(limbu)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(linear_b)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(lisu)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(lycian)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(lydian)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(malayalam)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(mongolian)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(meetei_mayek)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(myanmar)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(nko)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(ogham)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(ol_chiki)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(old_turkic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(oriya)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(osmanya)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(phags_pa)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(inscriptional_pahlavi)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(phoenician)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(inscriptional_parthian)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(rejang)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(runic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(samaritan)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(old_south_arabian)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(saurashtra)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(shavian)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(sinhala)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(sundanese)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(syloti_nagri)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(syriac)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(tagbanwa)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(tai_le)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(new_tai_lue)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(tamil)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(tai_viet)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(telugu)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(tifinagh)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(tagalog)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(thaana)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(thai)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(tibetan)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(ugaritic)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(vai)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(old_persian)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(cuneiform)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(yi)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(inherited)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(common)
- BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT(unknown)
-
-#undef BOOST_SPIRIT_UNICODE_CLASSIFY_WHAT
-#endif
-
- };
-}}}
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename CharParam, typename CharEncoding>
- struct ischar
- {
- static bool call(CharParam const& ch)
- {
- return CharEncoding::ischar(int(ch));
- }
- };
-}}}
-
-#if defined(BOOST_MSVC)
-# pragma warning(pop)
-#endif
-
-#endif
-
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/ascii.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/ascii.hpp
deleted file mode 100644
index db215ce950..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/ascii.hpp
+++ /dev/null
@@ -1,337 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Hartmut Kaiser
- 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(BOOST_SPIRIT_ASCII_APRIL_26_2006_1106PM)
-#define BOOST_SPIRIT_ASCII_APRIL_26_2006_1106PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <climits>
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-// constants used to classify the single characters
-///////////////////////////////////////////////////////////////////////////////
-#define BOOST_CC_DIGIT 0x0001
-#define BOOST_CC_XDIGIT 0x0002
-#define BOOST_CC_ALPHA 0x0004
-#define BOOST_CC_CTRL 0x0008
-#define BOOST_CC_LOWER 0x0010
-#define BOOST_CC_UPPER 0x0020
-#define BOOST_CC_SPACE 0x0040
-#define BOOST_CC_PUNCT 0x0080
-
-namespace boost { namespace spirit { namespace char_encoding
-{
- // The detection of isgraph(), isprint() and isblank() is done programmatically
- // to keep the character type table small. Additionally, these functions are
- // rather seldom used and the programmatic detection is very simple.
-
- ///////////////////////////////////////////////////////////////////////////
- // ASCII character classification table
- ///////////////////////////////////////////////////////////////////////////
- const unsigned char ascii_char_types[] =
- {
- /* NUL 0 0 */ BOOST_CC_CTRL,
- /* SOH 1 1 */ BOOST_CC_CTRL,
- /* STX 2 2 */ BOOST_CC_CTRL,
- /* ETX 3 3 */ BOOST_CC_CTRL,
- /* EOT 4 4 */ BOOST_CC_CTRL,
- /* ENQ 5 5 */ BOOST_CC_CTRL,
- /* ACK 6 6 */ BOOST_CC_CTRL,
- /* BEL 7 7 */ BOOST_CC_CTRL,
- /* BS 8 8 */ BOOST_CC_CTRL,
- /* HT 9 9 */ BOOST_CC_CTRL|BOOST_CC_SPACE,
- /* NL 10 a */ BOOST_CC_CTRL|BOOST_CC_SPACE,
- /* VT 11 b */ BOOST_CC_CTRL|BOOST_CC_SPACE,
- /* NP 12 c */ BOOST_CC_CTRL|BOOST_CC_SPACE,
- /* CR 13 d */ BOOST_CC_CTRL|BOOST_CC_SPACE,
- /* SO 14 e */ BOOST_CC_CTRL,
- /* SI 15 f */ BOOST_CC_CTRL,
- /* DLE 16 10 */ BOOST_CC_CTRL,
- /* DC1 17 11 */ BOOST_CC_CTRL,
- /* DC2 18 12 */ BOOST_CC_CTRL,
- /* DC3 19 13 */ BOOST_CC_CTRL,
- /* DC4 20 14 */ BOOST_CC_CTRL,
- /* NAK 21 15 */ BOOST_CC_CTRL,
- /* SYN 22 16 */ BOOST_CC_CTRL,
- /* ETB 23 17 */ BOOST_CC_CTRL,
- /* CAN 24 18 */ BOOST_CC_CTRL,
- /* EM 25 19 */ BOOST_CC_CTRL,
- /* SUB 26 1a */ BOOST_CC_CTRL,
- /* ESC 27 1b */ BOOST_CC_CTRL,
- /* FS 28 1c */ BOOST_CC_CTRL,
- /* GS 29 1d */ BOOST_CC_CTRL,
- /* RS 30 1e */ BOOST_CC_CTRL,
- /* US 31 1f */ BOOST_CC_CTRL,
- /* SP 32 20 */ BOOST_CC_SPACE,
- /* ! 33 21 */ BOOST_CC_PUNCT,
- /* " 34 22 */ BOOST_CC_PUNCT,
- /* # 35 23 */ BOOST_CC_PUNCT,
- /* $ 36 24 */ BOOST_CC_PUNCT,
- /* % 37 25 */ BOOST_CC_PUNCT,
- /* & 38 26 */ BOOST_CC_PUNCT,
- /* ' 39 27 */ BOOST_CC_PUNCT,
- /* ( 40 28 */ BOOST_CC_PUNCT,
- /* ) 41 29 */ BOOST_CC_PUNCT,
- /* * 42 2a */ BOOST_CC_PUNCT,
- /* + 43 2b */ BOOST_CC_PUNCT,
- /* , 44 2c */ BOOST_CC_PUNCT,
- /* - 45 2d */ BOOST_CC_PUNCT,
- /* . 46 2e */ BOOST_CC_PUNCT,
- /* / 47 2f */ BOOST_CC_PUNCT,
- /* 0 48 30 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 1 49 31 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 2 50 32 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 3 51 33 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 4 52 34 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 5 53 35 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 6 54 36 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 7 55 37 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 8 56 38 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 9 57 39 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* : 58 3a */ BOOST_CC_PUNCT,
- /* ; 59 3b */ BOOST_CC_PUNCT,
- /* < 60 3c */ BOOST_CC_PUNCT,
- /* = 61 3d */ BOOST_CC_PUNCT,
- /* > 62 3e */ BOOST_CC_PUNCT,
- /* ? 63 3f */ BOOST_CC_PUNCT,
- /* @ 64 40 */ BOOST_CC_PUNCT,
- /* A 65 41 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* B 66 42 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* C 67 43 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* D 68 44 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* E 69 45 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* F 70 46 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* G 71 47 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* H 72 48 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* I 73 49 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* J 74 4a */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* K 75 4b */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* L 76 4c */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* M 77 4d */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* N 78 4e */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* O 79 4f */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* P 80 50 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* Q 81 51 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* R 82 52 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* S 83 53 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* T 84 54 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* U 85 55 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* V 86 56 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* W 87 57 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* X 88 58 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* Y 89 59 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* Z 90 5a */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* [ 91 5b */ BOOST_CC_PUNCT,
- /* \ 92 5c */ BOOST_CC_PUNCT,
- /* ] 93 5d */ BOOST_CC_PUNCT,
- /* ^ 94 5e */ BOOST_CC_PUNCT,
- /* _ 95 5f */ BOOST_CC_PUNCT,
- /* ` 96 60 */ BOOST_CC_PUNCT,
- /* a 97 61 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* b 98 62 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* c 99 63 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* d 100 64 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* e 101 65 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* f 102 66 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* g 103 67 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* h 104 68 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* i 105 69 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* j 106 6a */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* k 107 6b */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* l 108 6c */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* m 109 6d */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* n 110 6e */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* o 111 6f */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* p 112 70 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* q 113 71 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* r 114 72 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* s 115 73 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* t 116 74 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* u 117 75 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* v 118 76 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* w 119 77 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* x 120 78 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* y 121 79 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* z 122 7a */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* { 123 7b */ BOOST_CC_PUNCT,
- /* | 124 7c */ BOOST_CC_PUNCT,
- /* } 125 7d */ BOOST_CC_PUNCT,
- /* ~ 126 7e */ BOOST_CC_PUNCT,
- /* DEL 127 7f */ BOOST_CC_CTRL,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Test characters for specified conditions (using ASCII)
- ///////////////////////////////////////////////////////////////////////////
- struct ascii
- {
- typedef char char_type;
- typedef unsigned char classify_type;
-
- static bool
- isascii_(int ch)
- {
- return 0 == (ch & ~0x7f);
- }
-
- static bool
- ischar(int ch)
- {
- return isascii_(ch);
- }
-
- // *** Note on assertions: The precondition is that the calls to
- // these functions do not violate the required range of ch (type int)
- // which is that strict_ischar(ch) should be true. It is the
- // responsibility of the caller to make sure this precondition is not
- // violated.
-
- static bool
- strict_ischar(int ch)
- {
- return ch >= 0 && ch <= 127;
- }
-
- static bool
- isalnum(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (ascii_char_types[ch] & BOOST_CC_ALPHA)
- || (ascii_char_types[ch] & BOOST_CC_DIGIT);
- }
-
- static bool
- isalpha(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (ascii_char_types[ch] & BOOST_CC_ALPHA) ? true : false;
- }
-
- static bool
- isdigit(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (ascii_char_types[ch] & BOOST_CC_DIGIT) ? true : false;
- }
-
- static bool
- isxdigit(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (ascii_char_types[ch] & BOOST_CC_XDIGIT) ? true : false;
- }
-
- static bool
- iscntrl(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (ascii_char_types[ch] & BOOST_CC_CTRL) ? true : false;
- }
-
- static bool
- isgraph(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return ('\x21' <= ch && ch <= '\x7e');
- }
-
- static bool
- islower(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (ascii_char_types[ch] & BOOST_CC_LOWER) ? true : false;
- }
-
- static bool
- isprint(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return ('\x20' <= ch && ch <= '\x7e');
- }
-
- static bool
- ispunct(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (ascii_char_types[ch] & BOOST_CC_PUNCT) ? true : false;
- }
-
- static bool
- isspace(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (ascii_char_types[ch] & BOOST_CC_SPACE) ? true : false;
- }
-
- static bool
- isblank BOOST_PREVENT_MACRO_SUBSTITUTION (int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return ('\x09' == ch || '\x20' == ch);
- }
-
- static bool
- isupper(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (ascii_char_types[ch] & BOOST_CC_UPPER) ? true : false;
- }
-
- ///////////////////////////////////////////////////////////////////////
- // Simple character conversions
- ///////////////////////////////////////////////////////////////////////
-
- static int
- tolower(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return isupper(ch) ? (ch - 'A' + 'a') : ch;
- }
-
- static int
- toupper(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return islower(ch) ? (ch - 'a' + 'A') : ch;
- }
-
- static ::boost::uint32_t
- toucs4(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return ch;
- }
- };
-
-}}}
-
-///////////////////////////////////////////////////////////////////////////////
-// undefine macros
-///////////////////////////////////////////////////////////////////////////////
-#undef BOOST_CC_DIGIT
-#undef BOOST_CC_XDIGIT
-#undef BOOST_CC_ALPHA
-#undef BOOST_CC_CTRL
-#undef BOOST_CC_LOWER
-#undef BOOST_CC_UPPER
-#undef BOOST_CC_PUNCT
-#undef BOOST_CC_SPACE
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/iso8859_1.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/iso8859_1.hpp
deleted file mode 100644
index adaec02b65..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/iso8859_1.hpp
+++ /dev/null
@@ -1,728 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Hartmut Kaiser
- 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(BOOST_SPIRIT_ISO8859_1_APRIL_26_2006_1106PM)
-#define BOOST_SPIRIT_ISO8859_1_APRIL_26_2006_1106PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <climits>
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-// constants used to classify the single characters
-///////////////////////////////////////////////////////////////////////////////
-#define BOOST_CC_DIGIT 0x0001
-#define BOOST_CC_XDIGIT 0x0002
-#define BOOST_CC_ALPHA 0x0004
-#define BOOST_CC_CTRL 0x0008
-#define BOOST_CC_LOWER 0x0010
-#define BOOST_CC_UPPER 0x0020
-#define BOOST_CC_SPACE 0x0040
-#define BOOST_CC_PUNCT 0x0080
-
-namespace boost { namespace spirit { namespace char_encoding
-{
- // The detection of isgraph(), isprint() and isblank() is done programmatically
- // to keep the character type table small. Additionally, these functions are
- // rather seldom used and the programmatic detection is very simple.
-
- ///////////////////////////////////////////////////////////////////////////
- // ISO 8859-1 character classification table
- //
- // the comments intentionally contain non-ascii characters
- // boostinspect:noascii
- ///////////////////////////////////////////////////////////////////////////
- const unsigned char iso8859_1_char_types[] =
- {
- /* NUL 0 0 */ BOOST_CC_CTRL,
- /* SOH 1 1 */ BOOST_CC_CTRL,
- /* STX 2 2 */ BOOST_CC_CTRL,
- /* ETX 3 3 */ BOOST_CC_CTRL,
- /* EOT 4 4 */ BOOST_CC_CTRL,
- /* ENQ 5 5 */ BOOST_CC_CTRL,
- /* ACK 6 6 */ BOOST_CC_CTRL,
- /* BEL 7 7 */ BOOST_CC_CTRL,
- /* BS 8 8 */ BOOST_CC_CTRL,
- /* HT 9 9 */ BOOST_CC_CTRL|BOOST_CC_SPACE,
- /* NL 10 a */ BOOST_CC_CTRL|BOOST_CC_SPACE,
- /* VT 11 b */ BOOST_CC_CTRL|BOOST_CC_SPACE,
- /* NP 12 c */ BOOST_CC_CTRL|BOOST_CC_SPACE,
- /* CR 13 d */ BOOST_CC_CTRL|BOOST_CC_SPACE,
- /* SO 14 e */ BOOST_CC_CTRL,
- /* SI 15 f */ BOOST_CC_CTRL,
- /* DLE 16 10 */ BOOST_CC_CTRL,
- /* DC1 17 11 */ BOOST_CC_CTRL,
- /* DC2 18 12 */ BOOST_CC_CTRL,
- /* DC3 19 13 */ BOOST_CC_CTRL,
- /* DC4 20 14 */ BOOST_CC_CTRL,
- /* NAK 21 15 */ BOOST_CC_CTRL,
- /* SYN 22 16 */ BOOST_CC_CTRL,
- /* ETB 23 17 */ BOOST_CC_CTRL,
- /* CAN 24 18 */ BOOST_CC_CTRL,
- /* EM 25 19 */ BOOST_CC_CTRL,
- /* SUB 26 1a */ BOOST_CC_CTRL,
- /* ESC 27 1b */ BOOST_CC_CTRL,
- /* FS 28 1c */ BOOST_CC_CTRL,
- /* GS 29 1d */ BOOST_CC_CTRL,
- /* RS 30 1e */ BOOST_CC_CTRL,
- /* US 31 1f */ BOOST_CC_CTRL,
- /* SP 32 20 */ BOOST_CC_SPACE,
- /* ! 33 21 */ BOOST_CC_PUNCT,
- /* " 34 22 */ BOOST_CC_PUNCT,
- /* # 35 23 */ BOOST_CC_PUNCT,
- /* $ 36 24 */ BOOST_CC_PUNCT,
- /* % 37 25 */ BOOST_CC_PUNCT,
- /* & 38 26 */ BOOST_CC_PUNCT,
- /* ' 39 27 */ BOOST_CC_PUNCT,
- /* ( 40 28 */ BOOST_CC_PUNCT,
- /* ) 41 29 */ BOOST_CC_PUNCT,
- /* * 42 2a */ BOOST_CC_PUNCT,
- /* + 43 2b */ BOOST_CC_PUNCT,
- /* , 44 2c */ BOOST_CC_PUNCT,
- /* - 45 2d */ BOOST_CC_PUNCT,
- /* . 46 2e */ BOOST_CC_PUNCT,
- /* / 47 2f */ BOOST_CC_PUNCT,
- /* 0 48 30 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 1 49 31 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 2 50 32 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 3 51 33 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 4 52 34 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 5 53 35 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 6 54 36 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 7 55 37 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 8 56 38 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* 9 57 39 */ BOOST_CC_DIGIT|BOOST_CC_XDIGIT,
- /* : 58 3a */ BOOST_CC_PUNCT,
- /* ; 59 3b */ BOOST_CC_PUNCT,
- /* < 60 3c */ BOOST_CC_PUNCT,
- /* = 61 3d */ BOOST_CC_PUNCT,
- /* > 62 3e */ BOOST_CC_PUNCT,
- /* ? 63 3f */ BOOST_CC_PUNCT,
- /* @ 64 40 */ BOOST_CC_PUNCT,
- /* A 65 41 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* B 66 42 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* C 67 43 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* D 68 44 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* E 69 45 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* F 70 46 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_UPPER,
- /* G 71 47 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* H 72 48 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* I 73 49 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* J 74 4a */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* K 75 4b */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* L 76 4c */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* M 77 4d */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* N 78 4e */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* O 79 4f */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* P 80 50 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* Q 81 51 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* R 82 52 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* S 83 53 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* T 84 54 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* U 85 55 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* V 86 56 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* W 87 57 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* X 88 58 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* Y 89 59 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* Z 90 5a */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* [ 91 5b */ BOOST_CC_PUNCT,
- /* \ 92 5c */ BOOST_CC_PUNCT,
- /* ] 93 5d */ BOOST_CC_PUNCT,
- /* ^ 94 5e */ BOOST_CC_PUNCT,
- /* _ 95 5f */ BOOST_CC_PUNCT,
- /* ` 96 60 */ BOOST_CC_PUNCT,
- /* a 97 61 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* b 98 62 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* c 99 63 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* d 100 64 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* e 101 65 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* f 102 66 */ BOOST_CC_ALPHA|BOOST_CC_XDIGIT|BOOST_CC_LOWER,
- /* g 103 67 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* h 104 68 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* i 105 69 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* j 106 6a */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* k 107 6b */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* l 108 6c */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* m 109 6d */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* n 110 6e */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* o 111 6f */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* p 112 70 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* q 113 71 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* r 114 72 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* s 115 73 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* t 116 74 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* u 117 75 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* v 118 76 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* w 119 77 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* x 120 78 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* y 121 79 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* z 122 7a */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* { 123 7b */ BOOST_CC_PUNCT,
- /* | 124 7c */ BOOST_CC_PUNCT,
- /* } 125 7d */ BOOST_CC_PUNCT,
- /* ~ 126 7e */ BOOST_CC_PUNCT,
- /* DEL 127 7f */ BOOST_CC_CTRL,
- /* -- 128 80 */ BOOST_CC_CTRL,
- /* -- 129 81 */ BOOST_CC_CTRL,
- /* -- 130 82 */ BOOST_CC_CTRL,
- /* -- 131 83 */ BOOST_CC_CTRL,
- /* -- 132 84 */ BOOST_CC_CTRL,
- /* -- 133 85 */ BOOST_CC_CTRL,
- /* -- 134 86 */ BOOST_CC_CTRL,
- /* -- 135 87 */ BOOST_CC_CTRL,
- /* -- 136 88 */ BOOST_CC_CTRL,
- /* -- 137 89 */ BOOST_CC_CTRL,
- /* -- 138 8a */ BOOST_CC_CTRL,
- /* -- 139 8b */ BOOST_CC_CTRL,
- /* -- 140 8c */ BOOST_CC_CTRL,
- /* -- 141 8d */ BOOST_CC_CTRL,
- /* -- 142 8e */ BOOST_CC_CTRL,
- /* -- 143 8f */ BOOST_CC_CTRL,
- /* -- 144 90 */ BOOST_CC_CTRL,
- /* -- 145 91 */ BOOST_CC_CTRL,
- /* -- 146 92 */ BOOST_CC_CTRL,
- /* -- 147 93 */ BOOST_CC_CTRL,
- /* -- 148 94 */ BOOST_CC_CTRL,
- /* -- 149 95 */ BOOST_CC_CTRL,
- /* -- 150 96 */ BOOST_CC_CTRL,
- /* -- 151 97 */ BOOST_CC_CTRL,
- /* -- 152 98 */ BOOST_CC_CTRL,
- /* -- 153 99 */ BOOST_CC_CTRL,
- /* -- 154 9a */ BOOST_CC_CTRL,
- /* -- 155 9b */ BOOST_CC_CTRL,
- /* -- 156 9c */ BOOST_CC_CTRL,
- /* -- 157 9d */ BOOST_CC_CTRL,
- /* -- 158 9e */ BOOST_CC_CTRL,
- /* -- 159 9f */ BOOST_CC_CTRL,
- /* 160 a0 */ BOOST_CC_SPACE,
- /* � 161 a1 */ BOOST_CC_PUNCT,
- /* � 162 a2 */ BOOST_CC_PUNCT,
- /* � 163 a3 */ BOOST_CC_PUNCT,
- /* � 164 a4 */ BOOST_CC_PUNCT,
- /* � 165 a5 */ BOOST_CC_PUNCT,
- /* � 166 a6 */ BOOST_CC_PUNCT,
- /* � 167 a7 */ BOOST_CC_PUNCT,
- /* � 168 a8 */ BOOST_CC_PUNCT,
- /* � 169 a9 */ BOOST_CC_PUNCT,
- /* � 170 aa */ BOOST_CC_PUNCT,
- /* � 171 ab */ BOOST_CC_PUNCT,
- /* � 172 ac */ BOOST_CC_PUNCT,
- /* � 173 ad */ BOOST_CC_PUNCT,
- /* � 174 ae */ BOOST_CC_PUNCT,
- /* � 175 af */ BOOST_CC_PUNCT,
- /* � 176 b0 */ BOOST_CC_PUNCT,
- /* � 177 b1 */ BOOST_CC_PUNCT,
- /* � 178 b2 */ BOOST_CC_DIGIT|BOOST_CC_PUNCT,
- /* � 179 b3 */ BOOST_CC_DIGIT|BOOST_CC_PUNCT,
- /* � 180 b4 */ BOOST_CC_PUNCT,
- /* � 181 b5 */ BOOST_CC_PUNCT,
- /* � 182 b6 */ BOOST_CC_PUNCT,
- /* � 183 b7 */ BOOST_CC_PUNCT,
- /* � 184 b8 */ BOOST_CC_PUNCT,
- /* � 185 b9 */ BOOST_CC_DIGIT|BOOST_CC_PUNCT,
- /* � 186 ba */ BOOST_CC_PUNCT,
- /* � 187 bb */ BOOST_CC_PUNCT,
- /* � 188 bc */ BOOST_CC_PUNCT,
- /* � 189 bd */ BOOST_CC_PUNCT,
- /* � 190 be */ BOOST_CC_PUNCT,
- /* � 191 bf */ BOOST_CC_PUNCT,
- /* � 192 c0 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 193 c1 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 194 c2 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 195 c3 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 196 c4 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 197 c5 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 198 c6 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 199 c7 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 200 c8 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 201 c9 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 202 ca */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 203 cb */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 204 cc */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 205 cd */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 206 ce */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 207 cf */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 208 d0 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 209 d1 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 210 d2 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 211 d3 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 212 d4 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 213 d5 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 214 d6 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 215 d7 */ BOOST_CC_PUNCT,
- /* � 216 d8 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 217 d9 */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 218 da */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 219 db */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 220 dc */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 221 dd */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 222 de */ BOOST_CC_ALPHA|BOOST_CC_UPPER,
- /* � 223 df */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 224 e0 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 225 e1 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 226 e2 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 227 e3 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 228 e4 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 229 e5 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 230 e6 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 231 e7 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 232 e8 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 233 e9 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 234 ea */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 235 eb */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 236 ec */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 237 ed */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 238 ee */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 239 ef */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 240 f0 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 241 f1 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 242 f2 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 243 f3 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 244 f4 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 245 f5 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 246 f6 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 247 f7 */ BOOST_CC_PUNCT,
- /* � 248 f8 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 249 f9 */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 250 fa */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 251 fb */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 252 fc */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 253 fd */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 254 fe */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- /* � 255 ff */ BOOST_CC_ALPHA|BOOST_CC_LOWER,
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // ISO 8859-1 character conversion table
- ///////////////////////////////////////////////////////////////////////////
- const unsigned char iso8859_1_char_conversion[] =
- {
- /* NUL 0 0 */ '\0',
- /* SOH 1 1 */ '\0',
- /* STX 2 2 */ '\0',
- /* ETX 3 3 */ '\0',
- /* EOT 4 4 */ '\0',
- /* ENQ 5 5 */ '\0',
- /* ACK 6 6 */ '\0',
- /* BEL 7 7 */ '\0',
- /* BS 8 8 */ '\0',
- /* HT 9 9 */ '\0',
- /* NL 10 a */ '\0',
- /* VT 11 b */ '\0',
- /* NP 12 c */ '\0',
- /* CR 13 d */ '\0',
- /* SO 14 e */ '\0',
- /* SI 15 f */ '\0',
- /* DLE 16 10 */ '\0',
- /* DC1 17 11 */ '\0',
- /* DC2 18 12 */ '\0',
- /* DC3 19 13 */ '\0',
- /* DC4 20 14 */ '\0',
- /* NAK 21 15 */ '\0',
- /* SYN 22 16 */ '\0',
- /* ETB 23 17 */ '\0',
- /* CAN 24 18 */ '\0',
- /* EM 25 19 */ '\0',
- /* SUB 26 1a */ '\0',
- /* ESC 27 1b */ '\0',
- /* FS 28 1c */ '\0',
- /* GS 29 1d */ '\0',
- /* RS 30 1e */ '\0',
- /* US 31 1f */ '\0',
- /* SP 32 20 */ '\0',
- /* ! 33 21 */ '\0',
- /* " 34 22 */ '\0',
- /* # 35 23 */ '\0',
- /* $ 36 24 */ '\0',
- /* % 37 25 */ '\0',
- /* & 38 26 */ '\0',
- /* ' 39 27 */ '\0',
- /* ( 40 28 */ '\0',
- /* ) 41 29 */ '\0',
- /* * 42 2a */ '\0',
- /* + 43 2b */ '\0',
- /* , 44 2c */ '\0',
- /* - 45 2d */ '\0',
- /* . 46 2e */ '\0',
- /* / 47 2f */ '\0',
- /* 0 48 30 */ '\0',
- /* 1 49 31 */ '\0',
- /* 2 50 32 */ '\0',
- /* 3 51 33 */ '\0',
- /* 4 52 34 */ '\0',
- /* 5 53 35 */ '\0',
- /* 6 54 36 */ '\0',
- /* 7 55 37 */ '\0',
- /* 8 56 38 */ '\0',
- /* 9 57 39 */ '\0',
- /* : 58 3a */ '\0',
- /* ; 59 3b */ '\0',
- /* < 60 3c */ '\0',
- /* = 61 3d */ '\0',
- /* > 62 3e */ '\0',
- /* ? 63 3f */ '\0',
- /* @ 64 40 */ '\0',
- /* A 65 41 */ 'a',
- /* B 66 42 */ 'b',
- /* C 67 43 */ 'c',
- /* D 68 44 */ 'd',
- /* E 69 45 */ 'e',
- /* F 70 46 */ 'f',
- /* G 71 47 */ 'g',
- /* H 72 48 */ 'h',
- /* I 73 49 */ 'i',
- /* J 74 4a */ 'j',
- /* K 75 4b */ 'k',
- /* L 76 4c */ 'l',
- /* M 77 4d */ 'm',
- /* N 78 4e */ 'n',
- /* O 79 4f */ 'o',
- /* P 80 50 */ 'p',
- /* Q 81 51 */ 'q',
- /* R 82 52 */ 'r',
- /* S 83 53 */ 's',
- /* T 84 54 */ 't',
- /* U 85 55 */ 'u',
- /* V 86 56 */ 'v',
- /* W 87 57 */ 'w',
- /* X 88 58 */ 'x',
- /* Y 89 59 */ 'y',
- /* Z 90 5a */ 'z',
- /* [ 91 5b */ '\0',
- /* \ 92 5c */ '\0',
- /* ] 93 5d */ '\0',
- /* ^ 94 5e */ '\0',
- /* _ 95 5f */ '\0',
- /* ` 96 60 */ '\0',
- /* a 97 61 */ 'A',
- /* b 98 62 */ 'B',
- /* c 99 63 */ 'C',
- /* d 100 64 */ 'D',
- /* e 101 65 */ 'E',
- /* f 102 66 */ 'F',
- /* g 103 67 */ 'G',
- /* h 104 68 */ 'H',
- /* i 105 69 */ 'I',
- /* j 106 6a */ 'J',
- /* k 107 6b */ 'K',
- /* l 108 6c */ 'L',
- /* m 109 6d */ 'M',
- /* n 110 6e */ 'N',
- /* o 111 6f */ 'O',
- /* p 112 70 */ 'P',
- /* q 113 71 */ 'Q',
- /* r 114 72 */ 'R',
- /* s 115 73 */ 'S',
- /* t 116 74 */ 'T',
- /* u 117 75 */ 'U',
- /* v 118 76 */ 'V',
- /* w 119 77 */ 'W',
- /* x 120 78 */ 'X',
- /* y 121 79 */ 'Y',
- /* z 122 7a */ 'Z',
- /* { 123 7b */ '\0',
- /* | 124 7c */ '\0',
- /* } 125 7d */ '\0',
- /* ~ 126 7e */ '\0',
- /* DEL 127 7f */ '\0',
- /* -- 128 80 */ '\0',
- /* -- 129 81 */ '\0',
- /* -- 130 82 */ '\0',
- /* -- 131 83 */ '\0',
- /* -- 132 84 */ '\0',
- /* -- 133 85 */ '\0',
- /* -- 134 86 */ '\0',
- /* -- 135 87 */ '\0',
- /* -- 136 88 */ '\0',
- /* -- 137 89 */ '\0',
- /* -- 138 8a */ '\0',
- /* -- 139 8b */ '\0',
- /* -- 140 8c */ '\0',
- /* -- 141 8d */ '\0',
- /* -- 142 8e */ '\0',
- /* -- 143 8f */ '\0',
- /* -- 144 90 */ '\0',
- /* -- 145 91 */ '\0',
- /* -- 146 92 */ '\0',
- /* -- 147 93 */ '\0',
- /* -- 148 94 */ '\0',
- /* -- 149 95 */ '\0',
- /* -- 150 96 */ '\0',
- /* -- 151 97 */ '\0',
- /* -- 152 98 */ '\0',
- /* -- 153 99 */ '\0',
- /* -- 154 9a */ '\0',
- /* -- 155 9b */ '\0',
- /* -- 156 9c */ '\0',
- /* -- 157 9d */ '\0',
- /* -- 158 9e */ '\0',
- /* -- 159 9f */ '\0',
- /* 160 a0 */ '\0',
- /* � 161 a1 */ '\0',
- /* � 162 a2 */ '\0',
- /* � 163 a3 */ '\0',
- /* � 164 a4 */ '\0',
- /* � 165 a5 */ '\0',
- /* � 166 a6 */ '\0',
- /* � 167 a7 */ '\0',
- /* � 168 a8 */ '\0',
- /* � 169 a9 */ '\0',
- /* � 170 aa */ '\0',
- /* � 171 ab */ '\0',
- /* � 172 ac */ '\0',
- /* � 173 ad */ '\0',
- /* � 174 ae */ '\0',
- /* � 175 af */ '\0',
- /* � 176 b0 */ '\0',
- /* � 177 b1 */ '\0',
- /* � 178 b2 */ '\0',
- /* � 179 b3 */ '\0',
- /* � 180 b4 */ '\0',
- /* � 181 b5 */ '\0',
- /* � 182 b6 */ '\0',
- /* � 183 b7 */ '\0',
- /* � 184 b8 */ '\0',
- /* � 185 b9 */ '\0',
- /* � 186 ba */ '\0',
- /* � 187 bb */ '\0',
- /* � 188 bc */ '\0',
- /* � 189 bd */ '\0',
- /* � 190 be */ '\0',
- /* � 191 bf */ '\0',
- /* � 192 c0 */ 0xe0,
- /* � 193 c1 */ 0xe1,
- /* � 194 c2 */ 0xe2,
- /* � 195 c3 */ 0xe3,
- /* � 196 c4 */ 0xe4,
- /* � 197 c5 */ 0xe5,
- /* � 198 c6 */ 0xe6,
- /* � 199 c7 */ 0xe7,
- /* � 200 c8 */ 0xe8,
- /* � 201 c9 */ 0xe9,
- /* � 202 ca */ 0xea,
- /* � 203 cb */ 0xeb,
- /* � 204 cc */ 0xec,
- /* � 205 cd */ 0xed,
- /* � 206 ce */ 0xee,
- /* � 207 cf */ 0xef,
- /* � 208 d0 */ 0xf0,
- /* � 209 d1 */ 0xf1,
- /* � 210 d2 */ 0xf2,
- /* � 211 d3 */ 0xf3,
- /* � 212 d4 */ 0xf4,
- /* � 213 d5 */ 0xf5,
- /* � 214 d6 */ 0xf6,
- /* � 215 d7 */ '\0',
- /* � 216 d8 */ 0xf8,
- /* � 217 d9 */ 0xf9,
- /* � 218 da */ 0xfa,
- /* � 219 db */ 0xfb,
- /* � 220 dc */ 0xfc,
- /* � 221 dd */ 0xfd,
- /* � 222 de */ 0xfe,
- /* � 223 df */ '\0',
- /* � 224 e0 */ 0xc0,
- /* � 225 e1 */ 0xc1,
- /* � 226 e2 */ 0xc2,
- /* � 227 e3 */ 0xc3,
- /* � 228 e4 */ 0xc4,
- /* � 229 e5 */ 0xc5,
- /* � 230 e6 */ 0xc6,
- /* � 231 e7 */ 0xc7,
- /* � 232 e8 */ 0xc8,
- /* � 233 e9 */ 0xc9,
- /* � 234 ea */ 0xca,
- /* � 235 eb */ 0xcb,
- /* � 236 ec */ 0xcc,
- /* � 237 ed */ 0xcd,
- /* � 238 ee */ 0xce,
- /* � 239 ef */ 0xcf,
- /* � 240 f0 */ 0xd0,
- /* � 241 f1 */ 0xd1,
- /* � 242 f2 */ 0xd2,
- /* � 243 f3 */ 0xd3,
- /* � 244 f4 */ 0xd4,
- /* � 245 f5 */ 0xd5,
- /* � 246 f6 */ 0xd6,
- /* � 247 f7 */ '\0',
- /* � 248 f8 */ 0xd8,
- /* � 249 f9 */ 0xd9,
- /* � 250 fa */ 0xda,
- /* � 251 fb */ 0xdb,
- /* � 252 fc */ 0xdc,
- /* � 253 fd */ 0xdd,
- /* � 254 fe */ 0xde,
- /* � 255 ff */ '\0',
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // Test characters for specified conditions (using iso8859-1)
- ///////////////////////////////////////////////////////////////////////////
- struct iso8859_1
- {
- typedef unsigned char char_type;
- typedef unsigned char classify_type;
-
- static bool
- isascii_(int ch)
- {
- return 0 == (ch & ~0x7f);
- }
-
- static bool
- ischar(int ch)
- {
- // iso8859.1 uses all 8 bits
- // we have to watch out for sign extensions
- return (0 == (ch & ~0xff) || ~0 == (ch | 0xff)) != 0;
- }
-
- // *** Note on assertions: The precondition is that the calls to
- // these functions do not violate the required range of ch (type int)
- // which is that strict_ischar(ch) should be true. It is the
- // responsibility of the caller to make sure this precondition is not
- // violated.
-
- static bool
- strict_ischar(int ch)
- {
- return ch >= 0 && ch <= 255;
- }
-
- static bool
- isalnum(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (iso8859_1_char_types[ch] & BOOST_CC_ALPHA)
- || (iso8859_1_char_types[ch] & BOOST_CC_DIGIT);
- }
-
- static bool
- isalpha(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (iso8859_1_char_types[ch] & BOOST_CC_ALPHA) != 0;
- }
-
- static bool
- isdigit(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (iso8859_1_char_types[ch] & BOOST_CC_DIGIT) != 0;
- }
-
- static bool
- isxdigit(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (iso8859_1_char_types[ch] & BOOST_CC_XDIGIT) != 0;
- }
-
- static bool
- iscntrl(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (iso8859_1_char_types[ch] & BOOST_CC_CTRL) != 0;
- }
-
- static bool
- isgraph(int ch)
- {
- return ('\x21' <= ch && ch <= '\x7e') || ('\xa1' <= ch && ch <= '\xff');
- }
-
- static bool
- islower(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (iso8859_1_char_types[ch] & BOOST_CC_LOWER) != 0;
- }
-
- static bool
- isprint(int ch)
- {
- return ('\x20' <= ch && ch <= '\x7e') || ('\xa0' <= ch && ch <= '\xff');
- }
-
- static bool
- ispunct(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (iso8859_1_char_types[ch] & BOOST_CC_PUNCT) != 0;
- }
-
- static bool
- isspace(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (iso8859_1_char_types[ch] & BOOST_CC_SPACE) != 0;
- }
-
- static bool
- isblank BOOST_PREVENT_MACRO_SUBSTITUTION (int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return ('\x09' == ch || '\x20' == ch || '\xa0' == ch);
- }
-
- static bool
- isupper(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (iso8859_1_char_types[ch] & BOOST_CC_UPPER) != 0;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Simple character conversions
- ///////////////////////////////////////////////////////////////////////////
-
- static int
- tolower(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return isupper(ch) && '\0' != iso8859_1_char_conversion[ch] ?
- iso8859_1_char_conversion[ch] : ch;
- }
-
- static int
- toupper(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return islower(ch) && '\0' != iso8859_1_char_conversion[ch] ?
- iso8859_1_char_conversion[ch] : ch;
- }
-
- static ::boost::uint32_t
- toucs4(int ch)
- {
- // The first 256 characters in Unicode and the UCS are
- // identical to those in ISO/IEC-8859-1.
- BOOST_ASSERT(strict_ischar(ch));
- return ch;
- }
- };
-
-}}}
-
-///////////////////////////////////////////////////////////////////////////////
-// undefine macros
-///////////////////////////////////////////////////////////////////////////////
-#undef BOOST_CC_DIGIT
-#undef BOOST_CC_XDIGIT
-#undef BOOST_CC_ALPHA
-#undef BOOST_CC_CTRL
-#undef BOOST_CC_LOWER
-#undef BOOST_CC_UPPER
-#undef BOOST_CC_PUNCT
-#undef BOOST_CC_SPACE
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/standard.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/standard.hpp
deleted file mode 100644
index f738fb0abf..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/standard.hpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Hartmut Kaiser
- 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(BOOST_SPIRIT_STANDARD_APRIL_26_2006_1106PM)
-#define BOOST_SPIRIT_STANDARD_APRIL_26_2006_1106PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <cctype>
-#include <climits>
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-
-namespace boost { namespace spirit { namespace char_encoding
-{
- ///////////////////////////////////////////////////////////////////////////
- // Test characters for specified conditions (using std functions)
- ///////////////////////////////////////////////////////////////////////////
- struct standard
- {
- typedef char char_type;
- typedef unsigned char classify_type;
-
- static bool
- isascii_(int ch)
- {
- return 0 == (ch & ~0x7f);
- }
-
- static bool
- ischar(int ch)
- {
- // uses all 8 bits
- // we have to watch out for sign extensions
- return (0 == (ch & ~0xff) || ~0 == (ch | 0xff)) != 0;
- }
-
- // *** Note on assertions: The precondition is that the calls to
- // these functions do not violate the required range of ch (int)
- // which is that strict_ischar(ch) should be true. It is the
- // responsibility of the caller to make sure this precondition is not
- // violated.
-
- static bool
- strict_ischar(int ch)
- {
- // ch should be representable as an unsigned char
- return ch >= 0 && ch <= UCHAR_MAX;
- }
-
- static bool
- isalnum(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::isalnum(ch) != 0;
- }
-
- static bool
- isalpha(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::isalpha(ch) != 0;
- }
-
- static bool
- isdigit(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::isdigit(ch) != 0;
- }
-
- static bool
- isxdigit(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::isxdigit(ch) != 0;
- }
-
- static bool
- iscntrl(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::iscntrl(ch) != 0;
- }
-
- static bool
- isgraph(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::isgraph(ch) != 0;
- }
-
- static bool
- islower(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::islower(ch) != 0;
- }
-
- static bool
- isprint(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::isprint(ch) != 0;
- }
-
- static bool
- ispunct(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::ispunct(ch) != 0;
- }
-
- static bool
- isspace(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::isspace(ch) != 0;
- }
-
- static bool
- isblank BOOST_PREVENT_MACRO_SUBSTITUTION (int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return (ch == ' ' || ch == '\t');
- }
-
- static bool
- isupper(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::isupper(ch) != 0;
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // Simple character conversions
- ///////////////////////////////////////////////////////////////////////////////
-
- static int
- tolower(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::tolower(ch);
- }
-
- static int
- toupper(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return std::toupper(ch);
- }
-
- static ::boost::uint32_t
- toucs4(int ch)
- {
- BOOST_ASSERT(strict_ischar(ch));
- return ch;
- }
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/standard_wide.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/standard_wide.hpp
deleted file mode 100644
index e324bd2b82..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/standard_wide.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Hartmut Kaiser
- 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(BOOST_SPIRIT_STANDARD_WIDE_NOVEMBER_10_2006_0913AM)
-#define BOOST_SPIRIT_STANDARD_WIDE_NOVEMBER_10_2006_0913AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <cwctype>
-#include <string>
-
-#include <boost/assert.hpp>
-#include <boost/cstdint.hpp>
-#include <boost/spirit/home/support/assert_msg.hpp>
-
-#include <boost/type_traits/make_unsigned.hpp>
-
-namespace boost { namespace spirit { namespace traits
-{
- template <std::size_t N>
- struct wchar_t_size
- {
- BOOST_SPIRIT_ASSERT_MSG(N == 1 || N == 2 || N == 4,
- not_supported_size_of_wchar_t, ());
- };
-
- template <> struct wchar_t_size<1> { enum { mask = 0xff }; };
- template <> struct wchar_t_size<2> { enum { mask = 0xffff }; };
- template <> struct wchar_t_size<4> { enum { mask = 0xffffffff }; };
-
-}}}
-
-namespace boost { namespace spirit { namespace char_encoding
-{
- ///////////////////////////////////////////////////////////////////////////
- // Test characters for specified conditions (using std wchar_t functions)
- ///////////////////////////////////////////////////////////////////////////
-
- struct standard_wide
- {
- typedef wchar_t char_type;
- typedef wchar_t classify_type;
-
- template <typename Char>
- static typename std::char_traits<Char>::int_type
- to_int_type(Char ch)
- {
- return std::char_traits<Char>::to_int_type(ch);
- }
-
- template <typename Char>
- static Char
- to_char_type(typename std::char_traits<Char>::int_type ch)
- {
- return std::char_traits<Char>::to_char_type(ch);
- }
-
- static bool
- ischar(int ch)
- {
- // we have to watch out for sign extensions (casting is there to
- // silence certain compilers complaining about signed/unsigned
- // mismatch)
- return (
- std::size_t(0) ==
- std::size_t(ch & ~traits::wchar_t_size<sizeof(wchar_t)>::mask) ||
- std::size_t(~0) ==
- std::size_t(ch | traits::wchar_t_size<sizeof(wchar_t)>::mask)
- ) != 0; // any wchar_t, but no other bits set
- }
-
- static bool
- isalnum(wchar_t ch)
- {
- using namespace std;
- return iswalnum(to_int_type(ch)) != 0;
- }
-
- static bool
- isalpha(wchar_t ch)
- {
- using namespace std;
- return iswalpha(to_int_type(ch)) != 0;
- }
-
- static bool
- iscntrl(wchar_t ch)
- {
- using namespace std;
- return iswcntrl(to_int_type(ch)) != 0;
- }
-
- static bool
- isdigit(wchar_t ch)
- {
- using namespace std;
- return iswdigit(to_int_type(ch)) != 0;
- }
-
- static bool
- isgraph(wchar_t ch)
- {
- using namespace std;
- return iswgraph(to_int_type(ch)) != 0;
- }
-
- static bool
- islower(wchar_t ch)
- {
- using namespace std;
- return iswlower(to_int_type(ch)) != 0;
- }
-
- static bool
- isprint(wchar_t ch)
- {
- using namespace std;
- return iswprint(to_int_type(ch)) != 0;
- }
-
- static bool
- ispunct(wchar_t ch)
- {
- using namespace std;
- return iswpunct(to_int_type(ch)) != 0;
- }
-
- static bool
- isspace(wchar_t ch)
- {
- using namespace std;
- return iswspace(to_int_type(ch)) != 0;
- }
-
- static bool
- isupper(wchar_t ch)
- {
- using namespace std;
- return iswupper(to_int_type(ch)) != 0;
- }
-
- static bool
- isxdigit(wchar_t ch)
- {
- using namespace std;
- return iswxdigit(to_int_type(ch)) != 0;
- }
-
- static bool
- isblank BOOST_PREVENT_MACRO_SUBSTITUTION (wchar_t ch)
- {
- return (ch == L' ' || ch == L'\t');
- }
-
- ///////////////////////////////////////////////////////////////////////
- // Simple character conversions
- ///////////////////////////////////////////////////////////////////////
-
- static wchar_t
- tolower(wchar_t ch)
- {
- using namespace std;
- return isupper(ch) ?
- to_char_type<wchar_t>(towlower(to_int_type(ch))) : ch;
- }
-
- static wchar_t
- toupper(wchar_t ch)
- {
- using namespace std;
- return islower(ch) ?
- to_char_type<wchar_t>(towupper(to_int_type(ch))) : ch;
- }
-
- static ::boost::uint32_t
- toucs4(wchar_t ch)
- {
- return static_cast<make_unsigned<wchar_t>::type>(ch);
- }
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode.hpp
deleted file mode 100644
index 53cbb286f6..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode.hpp
+++ /dev/null
@@ -1,344 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Hartmut Kaiser
- 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(BOOST_SPIRIT_UNICODE_1_JANUARY_12_2010_0728PM)
-#define BOOST_SPIRIT_UNICODE_1_JANUARY_12_2010_0728PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/cstdint.hpp>
-#include <boost/spirit/home/support/char_encoding/unicode/query.hpp>
-
-namespace boost { namespace spirit { namespace char_encoding
-{
- ///////////////////////////////////////////////////////////////////////////
- // Test characters for specified conditions (using iso8859-1)
- ///////////////////////////////////////////////////////////////////////////
- struct unicode
- {
-#ifdef BOOST_NO_CXX11_CHAR32_T
- typedef ::boost::uint32_t char_type;
-#else
- typedef char32_t char_type;
-#endif
- typedef ::boost::uint32_t classify_type;
-
- ///////////////////////////////////////////////////////////////////////////
- // Posix stuff
- ///////////////////////////////////////////////////////////////////////////
- static bool
- isascii_(char_type ch)
- {
- return 0 == (ch & ~0x7f);
- }
-
- static bool
- ischar(char_type ch)
- {
- // unicode code points in the range 0x00 to 0x10FFFF
- return ch <= 0x10FFFF;
- }
-
- static bool
- isalnum(char_type ch)
- {
- return ucd::is_alphanumeric(ch);
- }
-
- static bool
- isalpha(char_type ch)
- {
- return ucd::is_alphabetic(ch);
- }
-
- static bool
- isdigit(char_type ch)
- {
- return ucd::is_decimal_number(ch);
- }
-
- static bool
- isxdigit(char_type ch)
- {
- return ucd::is_hex_digit(ch);
- }
-
- static bool
- iscntrl(char_type ch)
- {
- return ucd::is_control(ch);
- }
-
- static bool
- isgraph(char_type ch)
- {
- return ucd::is_graph(ch);
- }
-
- static bool
- islower(char_type ch)
- {
- return ucd::is_lowercase(ch);
- }
-
- static bool
- isprint(char_type ch)
- {
- return ucd::is_print(ch);
- }
-
- static bool
- ispunct(char_type ch)
- {
- return ucd::is_punctuation(ch);
- }
-
- static bool
- isspace(char_type ch)
- {
- return ucd::is_white_space(ch);
- }
-
- static bool
- isblank BOOST_PREVENT_MACRO_SUBSTITUTION (char_type ch)
- {
- return ucd::is_blank(ch);
- }
-
- static bool
- isupper(char_type ch)
- {
- return ucd::is_uppercase(ch);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Simple character conversions
- ///////////////////////////////////////////////////////////////////////////
-
- static char_type
- tolower(char_type ch)
- {
- return ucd::to_lowercase(ch);
- }
-
- static char_type
- toupper(char_type ch)
- {
- return ucd::to_uppercase(ch);
- }
-
- static ::boost::uint32_t
- toucs4(char_type ch)
- {
- return ch;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Major Categories
- ///////////////////////////////////////////////////////////////////////////
-#define BOOST_SPIRIT_MAJOR_CATEGORY(name) \
- static bool \
- is_##name(char_type ch) \
- { \
- return ucd::get_major_category(ch) == ucd::properties::name; \
- } \
- /***/
-
- BOOST_SPIRIT_MAJOR_CATEGORY(letter)
- BOOST_SPIRIT_MAJOR_CATEGORY(mark)
- BOOST_SPIRIT_MAJOR_CATEGORY(number)
- BOOST_SPIRIT_MAJOR_CATEGORY(separator)
- BOOST_SPIRIT_MAJOR_CATEGORY(other)
- BOOST_SPIRIT_MAJOR_CATEGORY(punctuation)
- BOOST_SPIRIT_MAJOR_CATEGORY(symbol)
-
- ///////////////////////////////////////////////////////////////////////////
- // General Categories
- ///////////////////////////////////////////////////////////////////////////
-#define BOOST_SPIRIT_CATEGORY(name) \
- static bool \
- is_##name(char_type ch) \
- { \
- return ucd::get_category(ch) == ucd::properties::name; \
- } \
- /***/
-
- BOOST_SPIRIT_CATEGORY(uppercase_letter)
- BOOST_SPIRIT_CATEGORY(lowercase_letter)
- BOOST_SPIRIT_CATEGORY(titlecase_letter)
- BOOST_SPIRIT_CATEGORY(modifier_letter)
- BOOST_SPIRIT_CATEGORY(other_letter)
-
- BOOST_SPIRIT_CATEGORY(nonspacing_mark)
- BOOST_SPIRIT_CATEGORY(enclosing_mark)
- BOOST_SPIRIT_CATEGORY(spacing_mark)
-
- BOOST_SPIRIT_CATEGORY(decimal_number)
- BOOST_SPIRIT_CATEGORY(letter_number)
- BOOST_SPIRIT_CATEGORY(other_number)
-
- BOOST_SPIRIT_CATEGORY(space_separator)
- BOOST_SPIRIT_CATEGORY(line_separator)
- BOOST_SPIRIT_CATEGORY(paragraph_separator)
-
- BOOST_SPIRIT_CATEGORY(control)
- BOOST_SPIRIT_CATEGORY(format)
- BOOST_SPIRIT_CATEGORY(private_use)
- BOOST_SPIRIT_CATEGORY(surrogate)
- BOOST_SPIRIT_CATEGORY(unassigned)
-
- BOOST_SPIRIT_CATEGORY(dash_punctuation)
- BOOST_SPIRIT_CATEGORY(open_punctuation)
- BOOST_SPIRIT_CATEGORY(close_punctuation)
- BOOST_SPIRIT_CATEGORY(connector_punctuation)
- BOOST_SPIRIT_CATEGORY(other_punctuation)
- BOOST_SPIRIT_CATEGORY(initial_punctuation)
- BOOST_SPIRIT_CATEGORY(final_punctuation)
-
- BOOST_SPIRIT_CATEGORY(math_symbol)
- BOOST_SPIRIT_CATEGORY(currency_symbol)
- BOOST_SPIRIT_CATEGORY(modifier_symbol)
- BOOST_SPIRIT_CATEGORY(other_symbol)
-
- ///////////////////////////////////////////////////////////////////////////
- // Derived Categories
- ///////////////////////////////////////////////////////////////////////////
-#define BOOST_SPIRIT_DERIVED_CATEGORY(name) \
- static bool \
- is_##name(char_type ch) \
- { \
- return ucd::is_##name(ch); \
- } \
- /***/
-
- BOOST_SPIRIT_DERIVED_CATEGORY(alphabetic)
- BOOST_SPIRIT_DERIVED_CATEGORY(uppercase)
- BOOST_SPIRIT_DERIVED_CATEGORY(lowercase)
- BOOST_SPIRIT_DERIVED_CATEGORY(white_space)
- BOOST_SPIRIT_DERIVED_CATEGORY(hex_digit)
- BOOST_SPIRIT_DERIVED_CATEGORY(noncharacter_code_point)
- BOOST_SPIRIT_DERIVED_CATEGORY(default_ignorable_code_point)
-
- ///////////////////////////////////////////////////////////////////////////
- // Scripts
- ///////////////////////////////////////////////////////////////////////////
-#define BOOST_SPIRIT_SCRIPT(name) \
- static bool \
- is_##name(char_type ch) \
- { \
- return ucd::get_script(ch) == ucd::properties::name; \
- } \
- /***/
-
- BOOST_SPIRIT_SCRIPT(arabic)
- BOOST_SPIRIT_SCRIPT(imperial_aramaic)
- BOOST_SPIRIT_SCRIPT(armenian)
- BOOST_SPIRIT_SCRIPT(avestan)
- BOOST_SPIRIT_SCRIPT(balinese)
- BOOST_SPIRIT_SCRIPT(bamum)
- BOOST_SPIRIT_SCRIPT(bengali)
- BOOST_SPIRIT_SCRIPT(bopomofo)
- BOOST_SPIRIT_SCRIPT(braille)
- BOOST_SPIRIT_SCRIPT(buginese)
- BOOST_SPIRIT_SCRIPT(buhid)
- BOOST_SPIRIT_SCRIPT(canadian_aboriginal)
- BOOST_SPIRIT_SCRIPT(carian)
- BOOST_SPIRIT_SCRIPT(cham)
- BOOST_SPIRIT_SCRIPT(cherokee)
- BOOST_SPIRIT_SCRIPT(coptic)
- BOOST_SPIRIT_SCRIPT(cypriot)
- BOOST_SPIRIT_SCRIPT(cyrillic)
- BOOST_SPIRIT_SCRIPT(devanagari)
- BOOST_SPIRIT_SCRIPT(deseret)
- BOOST_SPIRIT_SCRIPT(egyptian_hieroglyphs)
- BOOST_SPIRIT_SCRIPT(ethiopic)
- BOOST_SPIRIT_SCRIPT(georgian)
- BOOST_SPIRIT_SCRIPT(glagolitic)
- BOOST_SPIRIT_SCRIPT(gothic)
- BOOST_SPIRIT_SCRIPT(greek)
- BOOST_SPIRIT_SCRIPT(gujarati)
- BOOST_SPIRIT_SCRIPT(gurmukhi)
- BOOST_SPIRIT_SCRIPT(hangul)
- BOOST_SPIRIT_SCRIPT(han)
- BOOST_SPIRIT_SCRIPT(hanunoo)
- BOOST_SPIRIT_SCRIPT(hebrew)
- BOOST_SPIRIT_SCRIPT(hiragana)
- BOOST_SPIRIT_SCRIPT(katakana_or_hiragana)
- BOOST_SPIRIT_SCRIPT(old_italic)
- BOOST_SPIRIT_SCRIPT(javanese)
- BOOST_SPIRIT_SCRIPT(kayah_li)
- BOOST_SPIRIT_SCRIPT(katakana)
- BOOST_SPIRIT_SCRIPT(kharoshthi)
- BOOST_SPIRIT_SCRIPT(khmer)
- BOOST_SPIRIT_SCRIPT(kannada)
- BOOST_SPIRIT_SCRIPT(kaithi)
- BOOST_SPIRIT_SCRIPT(tai_tham)
- BOOST_SPIRIT_SCRIPT(lao)
- BOOST_SPIRIT_SCRIPT(latin)
- BOOST_SPIRIT_SCRIPT(lepcha)
- BOOST_SPIRIT_SCRIPT(limbu)
- BOOST_SPIRIT_SCRIPT(linear_b)
- BOOST_SPIRIT_SCRIPT(lisu)
- BOOST_SPIRIT_SCRIPT(lycian)
- BOOST_SPIRIT_SCRIPT(lydian)
- BOOST_SPIRIT_SCRIPT(malayalam)
- BOOST_SPIRIT_SCRIPT(mongolian)
- BOOST_SPIRIT_SCRIPT(meetei_mayek)
- BOOST_SPIRIT_SCRIPT(myanmar)
- BOOST_SPIRIT_SCRIPT(nko)
- BOOST_SPIRIT_SCRIPT(ogham)
- BOOST_SPIRIT_SCRIPT(ol_chiki)
- BOOST_SPIRIT_SCRIPT(old_turkic)
- BOOST_SPIRIT_SCRIPT(oriya)
- BOOST_SPIRIT_SCRIPT(osmanya)
- BOOST_SPIRIT_SCRIPT(phags_pa)
- BOOST_SPIRIT_SCRIPT(inscriptional_pahlavi)
- BOOST_SPIRIT_SCRIPT(phoenician)
- BOOST_SPIRIT_SCRIPT(inscriptional_parthian)
- BOOST_SPIRIT_SCRIPT(rejang)
- BOOST_SPIRIT_SCRIPT(runic)
- BOOST_SPIRIT_SCRIPT(samaritan)
- BOOST_SPIRIT_SCRIPT(old_south_arabian)
- BOOST_SPIRIT_SCRIPT(saurashtra)
- BOOST_SPIRIT_SCRIPT(shavian)
- BOOST_SPIRIT_SCRIPT(sinhala)
- BOOST_SPIRIT_SCRIPT(sundanese)
- BOOST_SPIRIT_SCRIPT(syloti_nagri)
- BOOST_SPIRIT_SCRIPT(syriac)
- BOOST_SPIRIT_SCRIPT(tagbanwa)
- BOOST_SPIRIT_SCRIPT(tai_le)
- BOOST_SPIRIT_SCRIPT(new_tai_lue)
- BOOST_SPIRIT_SCRIPT(tamil)
- BOOST_SPIRIT_SCRIPT(tai_viet)
- BOOST_SPIRIT_SCRIPT(telugu)
- BOOST_SPIRIT_SCRIPT(tifinagh)
- BOOST_SPIRIT_SCRIPT(tagalog)
- BOOST_SPIRIT_SCRIPT(thaana)
- BOOST_SPIRIT_SCRIPT(thai)
- BOOST_SPIRIT_SCRIPT(tibetan)
- BOOST_SPIRIT_SCRIPT(ugaritic)
- BOOST_SPIRIT_SCRIPT(vai)
- BOOST_SPIRIT_SCRIPT(old_persian)
- BOOST_SPIRIT_SCRIPT(cuneiform)
- BOOST_SPIRIT_SCRIPT(yi)
- BOOST_SPIRIT_SCRIPT(inherited)
- BOOST_SPIRIT_SCRIPT(common)
- BOOST_SPIRIT_SCRIPT(unknown)
-
-#undef BOOST_SPIRIT_MAJOR_CATEGORY
-#undef BOOST_SPIRIT_CATEGORY
-#undef BOOST_SPIRIT_DERIVED_CATEGORY
-#undef BOOST_SPIRIT_SCRIPT
-
- };
-
-}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/category_table.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/category_table.hpp
deleted file mode 100644
index 1b262a1454..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/category_table.hpp
+++ /dev/null
@@ -1,2216 +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)
-
- AUTOGENERATED. DO NOT EDIT!!!
-==============================================================================*/
-#include <boost/cstdint.hpp>
-
-namespace boost { namespace spirit { namespace ucd { namespace detail
-{
- static const ::boost::uint8_t category_stage1[] = {
-
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 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, 34, 42, 43, 44, 45, 46,
- 47, 48, 49, 40, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 50, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 51,
- 52, 21, 21, 21, 53, 21, 54, 55, 56, 57, 58, 59, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 60, 61, 61, 61, 61, 61, 61, 61, 61,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 21, 63, 64, 21, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 73, 73, 74, 75, 76, 77, 78, 73, 73, 73,
- 79, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 21, 21, 21, 80, 81, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 82, 82, 82, 82, 83, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 84, 85, 86, 87, 88, 89, 90, 91, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 92, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 94, 82, 82, 82, 82, 82, 82, 82, 82, 82,
- 82, 82, 82, 82, 82, 82, 82, 95, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 21, 21, 96, 73, 73, 73, 73, 93,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 97, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 93,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 100,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 100
- };
-
- static const ::boost::uint16_t category_stage2[] = {
-
- // block 0
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 544, 544, 544, 544, 544, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 536, 44, 44, 44, 49, 44, 44, 44, 41, 42, 44, 48, 44, 40, 44, 44,
- 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 44, 44, 48, 48, 48, 44,
- 44, 1216, 1216, 1216, 1216, 1216, 1216, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 41, 44, 42, 50, 43,
- 50, 1345, 1345, 1345, 1345, 1345, 1345, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 41, 48, 42, 48, 32,
- 32, 32, 32, 32, 32, 544, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 536, 44, 49, 49, 49, 49, 51, 51, 50, 51, 321, 45, 48, 4129, 51, 50,
- 51, 48, 18, 18, 50, 321, 51, 44, 50, 18, 321, 46, 18, 18, 18, 44,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 48, 192, 192, 192, 192, 192, 192, 192, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 48, 321, 321, 321, 321, 321, 321, 321, 321,
-
-
- // block 1
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 321, 192, 321, 192, 321, 192, 321, 192,
- 321, 192, 321, 192, 321, 192, 321, 192, 321, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 192, 321, 192, 321, 192, 321, 321,
- 321, 192, 192, 321, 192, 321, 192, 192, 321, 192, 192, 192, 321, 321, 192, 192,
- 192, 192, 321, 192, 192, 321, 192, 192, 192, 321, 321, 321, 192, 192, 321, 192,
- 192, 321, 192, 321, 192, 321, 192, 192, 321, 192, 321, 321, 192, 321, 192, 192,
- 321, 192, 192, 192, 321, 192, 321, 192, 192, 321, 321, 68, 192, 321, 321, 321,
- 68, 68, 68, 68, 192, 66, 321, 192, 66, 321, 192, 66, 321, 192, 321, 192,
- 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 321, 192, 66, 321, 192, 321, 192, 192, 192, 321, 192, 321, 192, 321, 192, 321,
-
-
- // block 2
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 321, 321, 321, 321, 321, 321, 192, 192, 321, 192, 192, 321,
- 321, 192, 321, 192, 192, 192, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 68, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 323, 323, 323, 323, 323, 323, 323, 323, 323, 67, 67, 67, 67, 67, 67, 67,
- 323, 323, 50, 50, 50, 50, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
- 323, 323, 323, 323, 323, 50, 50, 50, 50, 50, 50, 50, 67, 50, 67, 50,
- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
-
-
- // block 3
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 328, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4104,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 192, 321, 192, 321, 67, 50, 192, 321, 0, 0, 323, 321, 321, 321, 44, 0,
- 0, 0, 0, 0, 50, 50, 192, 44, 192, 192, 192, 0, 192, 0, 192, 192,
- 321, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 192,
- 321, 321, 192, 192, 192, 321, 321, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 321, 321, 321, 321, 192, 321, 48, 192, 321, 192, 192, 321, 321, 192, 192, 192,
-
-
- // block 4
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 51, 8, 8, 8, 8, 8, 9, 9, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
-
-
- // block 5
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 0, 0, 67, 44, 44, 44, 44, 44, 44,
- 0, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 0, 44, 40, 0, 0, 0, 0, 0,
- 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 40, 72,
- 44, 72, 72, 44, 72, 72, 44, 72, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 0,
- 68, 68, 68, 44, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 6
- 33, 33, 33, 33, 0, 0, 48, 48, 48, 44, 44, 49, 44, 44, 51, 51,
- 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 44, 0, 0, 44, 44,
- 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 72, 72, 72, 72, 72,
- 72, 72, 72, 72, 72, 72, 72, 72, 8, 72, 72, 72, 72, 72, 72, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 44, 44, 44, 44, 68, 68,
- 72, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 44, 68, 72, 72, 72, 72, 72, 72, 72, 33, 9, 8,
- 8, 72, 72, 72, 72, 67, 67, 72, 72, 51, 8, 8, 8, 72, 68, 68,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 68, 68, 68, 51, 51, 68,
-
-
- // block 7
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 0, 33,
- 68, 72, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
- 72, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 67, 67, 51, 44, 44, 44, 67, 0, 0, 0, 0, 0,
-
-
- // block 8
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 9
- 64, 72, 72, 74, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 8, 68, 74, 74,
- 74, 72, 72, 72, 72, 72, 72, 72, 72, 74, 74, 74, 74, 8, 64, 0,
- 68, 8, 8, 8, 8, 64, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 72, 72, 44, 44, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 44, 67, 68, 0, 0, 0, 0, 0, 0, 64, 64, 68, 68, 68, 68, 68,
- 0, 72, 74, 74, 0, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 68,
- 68, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68,
- 68, 0, 68, 0, 0, 0, 68, 68, 68, 68, 0, 0, 8, 68, 74, 74,
- 74, 72, 72, 72, 72, 0, 0, 74, 74, 0, 0, 74, 74, 8, 68, 0,
- 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 68, 68, 0, 68,
- 68, 68, 72, 72, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 68, 68, 49, 49, 18, 18, 18, 18, 18, 18, 51, 0, 0, 0, 0, 0,
-
-
- // block 10
- 0, 72, 72, 74, 0, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 68,
- 68, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68,
- 68, 0, 68, 68, 0, 68, 68, 0, 68, 68, 0, 0, 8, 0, 74, 74,
- 74, 72, 72, 0, 0, 0, 0, 72, 72, 0, 0, 72, 72, 8, 0, 0,
- 0, 72, 0, 0, 0, 0, 0, 0, 0, 68, 68, 68, 68, 0, 68, 0,
- 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 72, 72, 68, 68, 68, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 72, 72, 74, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68,
- 68, 68, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68,
- 68, 0, 68, 68, 0, 68, 68, 68, 68, 68, 0, 0, 8, 68, 74, 74,
- 74, 72, 72, 72, 72, 72, 0, 72, 72, 74, 0, 74, 74, 8, 0, 0,
- 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 72, 72, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 11
- 0, 72, 74, 74, 0, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 68,
- 68, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68,
- 68, 0, 68, 68, 0, 68, 68, 68, 68, 68, 0, 0, 8, 68, 74, 72,
- 74, 72, 72, 72, 72, 0, 0, 74, 74, 0, 0, 74, 74, 8, 0, 0,
- 0, 0, 0, 0, 0, 0, 72, 74, 0, 0, 0, 0, 68, 68, 0, 68,
- 68, 68, 72, 72, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 51, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 72, 68, 0, 68, 68, 68, 68, 68, 68, 0, 0, 0, 68, 68,
- 68, 0, 68, 68, 68, 68, 0, 0, 0, 68, 68, 0, 68, 0, 68, 68,
- 0, 0, 0, 68, 68, 0, 0, 0, 68, 68, 68, 0, 0, 0, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 74, 74,
- 72, 74, 74, 0, 0, 0, 74, 74, 74, 0, 74, 74, 74, 8, 0, 0,
- 68, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 18, 18, 18, 51, 51, 51, 51, 51, 51, 49, 51, 0, 0, 0, 0, 0,
-
-
- // block 12
- 0, 74, 74, 74, 0, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68,
- 68, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 0, 0, 0, 68, 72, 72,
- 72, 74, 74, 74, 74, 0, 72, 72, 72, 0, 72, 72, 72, 8, 0, 0,
- 0, 0, 0, 0, 0, 72, 72, 0, 68, 68, 0, 0, 0, 0, 0, 0,
- 68, 68, 72, 72, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 51,
- 0, 0, 74, 74, 0, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68,
- 68, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 0, 0, 8, 68, 74, 72,
- 74, 74, 74, 74, 74, 0, 72, 74, 74, 0, 74, 74, 72, 8, 0, 0,
- 0, 0, 0, 0, 0, 74, 74, 0, 0, 0, 0, 0, 0, 0, 68, 0,
- 68, 68, 72, 72, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 0, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 13
- 0, 0, 74, 74, 0, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68,
- 68, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 68, 74, 74,
- 74, 72, 72, 72, 72, 0, 74, 74, 74, 0, 74, 74, 74, 8, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 72, 72, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 18, 18, 18, 18, 18, 18, 0, 0, 0, 51, 68, 68, 68, 68, 68, 68,
- 0, 0, 74, 74, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 8, 0, 0, 0, 0, 74,
- 74, 74, 72, 72, 72, 0, 72, 0, 74, 74, 74, 74, 74, 74, 74, 74,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 74, 74, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 14
- 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 72, 68, 68, 72, 72, 72, 72, 72, 72, 72, 0, 0, 0, 0, 49,
- 68, 68, 68, 68, 68, 68, 67, 8, 8, 8, 8, 8, 8, 72, 8, 44,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 44, 44, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 68, 68, 0, 68, 0, 0, 68, 68, 0, 68, 0, 0, 68, 0, 0,
- 0, 0, 0, 0, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68,
- 0, 68, 68, 68, 0, 68, 0, 68, 0, 0, 68, 68, 0, 68, 68, 68,
- 68, 72, 68, 68, 72, 72, 72, 72, 72, 72, 0, 72, 72, 68, 0, 0,
- 68, 68, 68, 68, 68, 0, 67, 0, 8, 8, 8, 8, 8, 72, 0, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 68, 68, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 15
- 68, 51, 51, 51, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 51, 51, 51, 51, 51, 8, 8, 51, 51, 51, 51, 51, 51,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 51, 8, 51, 8, 51, 8, 41, 42, 41, 42, 10, 10,
- 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0,
- 0, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 74,
- 72, 72, 8, 8, 8, 44, 8, 8, 68, 68, 68, 68, 0, 0, 0, 0,
- 72, 72, 72, 72, 72, 72, 72, 72, 0, 72, 72, 72, 72, 72, 72, 72,
- 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
- 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0, 51, 51,
- 51, 51, 51, 51, 51, 51, 8, 51, 51, 51, 51, 51, 51, 0, 51, 51,
- 44, 44, 44, 44, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 16
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 74, 74, 72, 72, 72,
- 72, 74, 72, 72, 72, 72, 72, 8, 74, 8, 8, 74, 74, 72, 72, 68,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 44, 44, 44, 44, 44, 44,
- 68, 68, 68, 68, 68, 68, 74, 74, 72, 72, 68, 68, 68, 68, 72, 72,
- 72, 68, 74, 10, 10, 68, 68, 74, 74, 10, 10, 10, 10, 10, 68, 68,
- 68, 72, 72, 72, 72, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 72, 74, 74, 72, 72, 10, 10, 10, 10, 10, 10, 8, 68, 10,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 64, 64, 51, 51,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 44, 67, 0, 0, 0,
-
-
- // block 17
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 64, 64, 64, 64, 64, 4164,
- 4164, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 64, 64, 64, 64, 64, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 64, 64, 64, 64, 64, 64,
-
-
- // block 18
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 0, 68, 0, 68, 68, 68, 68, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 0, 68, 68, 68, 68, 0, 0, 68, 68, 68, 68, 68, 68, 68, 0,
- 68, 0, 68, 68, 68, 68, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
-
-
- // block 19
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 0, 68, 68, 68, 68, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 72,
- 51, 44, 44, 44, 44, 44, 44, 44, 44, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 20
- 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
-
-
- // block 21
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
-
-
- // block 22
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 44, 44, 68,
- 68, 68, 68, 68, 68, 68, 68, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 536, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 41, 42, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 44, 44, 44, 81, 81,
- 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 23
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68,
- 68, 68, 72, 72, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 72, 72, 8, 44, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68,
- 68, 0, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 4129, 4129, 74, 72, 72, 72, 72, 72, 72, 72, 74, 74,
- 74, 74, 74, 74, 74, 74, 72, 74, 74, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 44, 44, 44, 67, 44, 44, 44, 49, 68, 8, 0, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0,
-
-
- // block 24
- 44, 44, 44, 44, 44, 44, 40, 44, 44, 44, 44, 4104, 4104, 4104, 536, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 72, 68, 0, 0, 0, 0, 0,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 25
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0,
- 72, 72, 72, 74, 74, 74, 74, 72, 72, 74, 74, 74, 0, 0, 0, 0,
- 74, 74, 72, 74, 74, 74, 74, 74, 74, 8, 8, 8, 0, 0, 0, 0,
- 51, 0, 0, 0, 44, 44, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0,
- 68, 68, 68, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 64, 64, 0, 0, 0, 0,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 68, 68, 68, 68, 68, 68, 68, 74, 74, 0, 0, 0, 0, 0, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 44, 44,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-
-
- // block 26
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 72, 72, 74, 74, 74, 0, 0, 44, 44,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0,
- 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 27
- 72, 72, 72, 72, 74, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 8, 74, 72, 72, 72, 72, 72, 74, 72, 74, 74, 74,
- 74, 74, 72, 74, 10, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 44, 44, 44, 44, 44, 44,
- 44, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0,
- 72, 72, 74, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 74, 72, 72, 72, 72, 74, 74, 72, 72, 10, 0, 0, 0, 68, 68,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 28
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 74, 74, 74, 74, 74, 74, 74, 74, 72, 72, 72, 72,
- 72, 72, 72, 72, 74, 74, 8, 8, 0, 0, 0, 44, 44, 44, 44, 44,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 68, 68, 68,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 44, 44,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 64, 64, 0, 64, 64,
- 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 29
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 323, 323, 323, 323,
- 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
- 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
- 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
- 323, 323, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 323, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 323, 323, 323, 323, 323,
- 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
- 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8,
-
-
- // block 30
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 321, 321, 321, 321, 321, 321, 321, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
-
-
- // block 31
- 321, 321, 321, 321, 321, 321, 321, 321, 192, 192, 192, 192, 192, 192, 192, 192,
- 321, 321, 321, 321, 321, 321, 0, 0, 192, 192, 192, 192, 192, 192, 0, 0,
- 321, 321, 321, 321, 321, 321, 321, 321, 192, 192, 192, 192, 192, 192, 192, 192,
- 321, 321, 321, 321, 321, 321, 321, 321, 192, 192, 192, 192, 192, 192, 192, 192,
- 321, 321, 321, 321, 321, 321, 0, 0, 192, 192, 192, 192, 192, 192, 0, 0,
- 321, 321, 321, 321, 321, 321, 321, 321, 0, 192, 0, 192, 0, 192, 0, 192,
- 321, 321, 321, 321, 321, 321, 321, 321, 192, 192, 192, 192, 192, 192, 192, 192,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 0, 0,
- 321, 321, 321, 321, 321, 321, 321, 321, 66, 66, 66, 66, 66, 66, 66, 66,
- 321, 321, 321, 321, 321, 321, 321, 321, 66, 66, 66, 66, 66, 66, 66, 66,
- 321, 321, 321, 321, 321, 321, 321, 321, 66, 66, 66, 66, 66, 66, 66, 66,
- 321, 321, 321, 321, 321, 0, 321, 321, 192, 192, 192, 192, 66, 50, 321, 50,
- 50, 50, 321, 321, 321, 0, 321, 321, 192, 192, 192, 192, 66, 50, 50, 50,
- 321, 321, 321, 321, 0, 0, 321, 321, 192, 192, 192, 192, 0, 50, 50, 50,
- 321, 321, 321, 321, 321, 321, 321, 321, 192, 192, 192, 192, 192, 50, 50, 50,
- 0, 0, 321, 321, 321, 0, 321, 321, 192, 192, 192, 192, 66, 50, 50, 0,
-
-
- // block 32
- 536, 536, 536, 536, 536, 536, 536, 536, 536, 536, 536, 4129, 4129, 4129, 4129, 4129,
- 40, 40, 40, 40, 40, 40, 44, 44, 45, 46, 41, 45, 45, 46, 41, 45,
- 44, 44, 44, 44, 44, 44, 44, 44, 537, 538, 4129, 4129, 4129, 4129, 4129, 536,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 46, 44, 44, 44, 44, 43,
- 43, 44, 44, 44, 48, 41, 42, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 48, 44, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 536,
- 4129, 4129, 4129, 4129, 4129, 4096, 4096, 4096, 4096, 4096, 4129, 4129, 4129, 4129, 4129, 4129,
- 18, 65, 0, 0, 18, 18, 18, 18, 18, 18, 48, 48, 48, 41, 42, 65,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 48, 48, 48, 41, 42, 0,
- 323, 323, 323, 323, 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9,
- 9, 8, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 33
- 51, 51, 192, 51, 51, 51, 51, 192, 51, 51, 321, 192, 192, 192, 321, 321,
- 192, 192, 192, 321, 51, 192, 51, 51, 51, 192, 192, 192, 192, 192, 51, 51,
- 51, 51, 51, 51, 192, 51, 192, 51, 192, 51, 192, 192, 192, 192, 51, 321,
- 192, 192, 192, 192, 321, 68, 68, 68, 68, 321, 51, 51, 321, 321, 192, 192,
- 48, 48, 48, 48, 48, 192, 321, 321, 321, 321, 51, 48, 51, 51, 321, 51,
- 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
- 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
- 81, 81, 81, 192, 321, 81, 81, 81, 81, 0, 0, 0, 0, 0, 0, 0,
- 48, 48, 48, 48, 48, 51, 51, 51, 51, 51, 48, 48, 51, 51, 51, 51,
- 48, 51, 51, 48, 51, 51, 48, 51, 51, 51, 51, 51, 51, 51, 48, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 48, 48,
- 51, 51, 48, 51, 48, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
-
-
- // block 34
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
-
-
- // block 35
- 51, 51, 51, 51, 51, 51, 51, 51, 48, 48, 48, 48, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 48, 48, 51, 51, 51, 51, 51, 51, 51, 41, 42, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 48, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 48, 48, 48, 48,
- 48, 48, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 36
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
- 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 371,
- 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
-
-
- // block 37
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 48, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 48, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 48, 48, 48, 48, 48, 48, 48, 48,
-
-
- // block 38
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 48,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0,
- 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 39
- 0, 51, 51, 51, 51, 0, 51, 51, 51, 51, 0, 0, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 0, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 51, 0, 51,
- 51, 51, 51, 0, 0, 0, 51, 0, 51, 51, 51, 51, 51, 51, 51, 0,
- 0, 51, 51, 51, 51, 51, 51, 51, 41, 42, 41, 42, 41, 42, 41, 42,
- 41, 42, 41, 42, 41, 42, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 51, 0, 0, 0, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0,
- 48, 48, 48, 48, 48, 41, 42, 48, 48, 48, 48, 0, 48, 0, 0, 0,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
-
-
- // block 40
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-
-
- // block 41
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
- 42, 41, 42, 41, 42, 41, 42, 41, 42, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 41, 42, 41, 42, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 41, 42, 48, 48,
-
-
- // block 42
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 51, 51, 48, 48, 48, 48, 48, 48, 0, 0, 0,
- 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 43
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 0,
- 192, 321, 192, 192, 192, 321, 321, 192, 321, 192, 321, 192, 321, 192, 192, 192,
- 192, 321, 192, 321, 321, 192, 321, 321, 321, 321, 321, 321, 321, 323, 192, 192,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 321, 51, 51, 51, 51, 51, 51, 192, 320, 192, 320, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 44, 44, 44, 18, 44, 44,
-
-
- // block 44
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68, 0,
- 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68, 0,
- 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68, 0,
- 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68, 0,
- 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
- 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
-
-
- // block 45
- 44, 44, 45, 46, 45, 46, 44, 44, 44, 45, 46, 44, 45, 46, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 40, 44, 44, 40, 44, 45, 46, 44, 44,
- 45, 46, 41, 42, 41, 42, 41, 42, 41, 42, 44, 44, 44, 44, 44, 67,
- 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 46
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0,
-
-
- // block 47
- 536, 44, 44, 44, 51, 67, 68, 81, 41, 42, 41, 42, 41, 42, 41, 42,
- 41, 42, 51, 51, 41, 42, 41, 42, 41, 42, 41, 42, 40, 41, 42, 42,
- 51, 81, 81, 81, 81, 81, 81, 81, 81, 81, 8, 8, 8, 8, 8, 8,
- 40, 67, 67, 67, 67, 67, 51, 51, 81, 81, 81, 67, 68, 44, 51, 51,
- 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 0, 0, 8, 8, 50, 50, 67, 67, 68,
- 40, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 44, 67, 67, 67, 68,
-
-
- // block 48
- 0, 0, 0, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0,
- 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 4164, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0,
- 51, 51, 18, 18, 18, 18, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
-
-
- // block 49
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0,
-
-
- // block 50
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
-
-
- // block 51
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 52
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
-
-
- // block 53
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0,
-
-
- // block 54
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 67, 44, 44, 44,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 68, 68, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 0, 0, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 68, 8,
- 9, 9, 9, 44, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 44, 67,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 55
- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
- 50, 50, 50, 50, 50, 50, 50, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 50, 50, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 321, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321, 192, 321,
- 323, 321, 321, 321, 321, 321, 321, 321, 321, 192, 321, 192, 321, 192, 192, 321,
- 192, 321, 192, 321, 192, 321, 192, 321, 67, 50, 50, 192, 321, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 68, 68, 68, 68,
-
-
- // block 56
- 68, 68, 8, 68, 68, 68, 8, 68, 68, 68, 68, 8, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 74, 74, 72, 72, 74, 51, 51, 51, 51, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 44, 44, 44, 44, 0, 0, 0, 0, 0, 0, 0, 0,
- 74, 74, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 44,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 64, 64, 64, 64, 64, 64, 0, 0, 0, 64, 0, 0, 0, 0,
-
-
- // block 57
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 72, 72, 72, 72, 72, 8, 8, 8, 44, 44,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 72, 72, 72, 72, 72, 72, 72, 72, 72,
- 72, 72, 74, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 58
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 72, 72, 72, 72, 72, 72, 74,
- 74, 72, 72, 74, 74, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 72, 68, 68, 68, 68, 68, 68, 68, 68, 72, 74, 0, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 44, 44, 44, 44,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 64, 0, 0, 0, 0, 0,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0,
- 64, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 64, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 59
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 60
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0,
-
-
- // block 61
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
-
-
- // block 62
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
-
-
- // block 63
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 64, 64, 64, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 64
- 321, 321, 321, 321, 321, 321, 321, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 321, 321, 321, 321, 321, 0, 0, 0, 0, 0, 68, 72, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 48, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 0, 68, 0,
- 68, 68, 0, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
-
-
- // block 65
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 41, 42,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 0, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0,
- 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048,
- 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 49, 51, 0, 0,
-
-
- // block 66
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 44, 44, 44, 44, 44, 44, 44, 41, 42, 44, 0, 0, 0, 0, 0, 0,
- 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 40, 40, 43, 43, 41, 42, 41, 42, 41, 42, 41, 42, 41, 42, 41,
- 42, 41, 42, 41, 42, 44, 44, 41, 42, 44, 44, 44, 44, 43, 43, 43,
- 44, 44, 44, 0, 44, 44, 44, 44, 40, 41, 42, 41, 42, 41, 42, 44,
- 44, 44, 48, 40, 48, 48, 48, 0, 44, 49, 44, 44, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 4129,
-
-
- // block 67
- 0, 44, 44, 44, 49, 44, 44, 44, 41, 42, 44, 48, 44, 40, 44, 44,
- 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 44, 44, 48, 48, 48, 44,
- 44, 1216, 1216, 1216, 1216, 1216, 1216, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 41, 44, 42, 50, 43,
- 50, 1345, 1345, 1345, 1345, 1345, 1345, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 41, 48, 42, 48, 41,
- 42, 44, 41, 42, 44, 44, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 67, 67,
- 4164, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0,
- 0, 0, 68, 68, 68, 68, 68, 68, 0, 0, 68, 68, 68, 68, 68, 68,
- 0, 0, 68, 68, 68, 68, 68, 68, 0, 0, 68, 68, 68, 0, 0, 0,
- 49, 49, 48, 50, 51, 49, 49, 0, 51, 48, 48, 48, 48, 51, 51, 0,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 33, 33, 33, 51, 51, 2048, 2048,
-
-
- // block 68
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 68, 68, 0, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 0,
-
-
- // block 69
- 44, 44, 51, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 0, 0, 0, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 18, 18, 18, 18, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 18, 0, 0, 0, 0, 0,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 8, 0, 0,
-
-
- // block 70
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 71
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0,
- 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 81, 68, 68, 68, 68, 68, 68, 68, 68, 81, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 44,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 0, 0, 0, 0, 68, 68, 68, 68, 68, 68, 68, 68,
- 44, 81, 81, 81, 81, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 72
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 73
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 74
- 68, 68, 68, 68, 68, 68, 0, 0, 68, 0, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 0, 68, 68, 0, 0, 0, 68, 0, 0, 68,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 75
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 18, 18, 18, 18, 0, 0, 0, 0, 0, 44,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 0, 44,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 76
- 68, 72, 72, 72, 0, 72, 72, 0, 0, 0, 0, 0, 72, 72, 72, 72,
- 68, 68, 68, 68, 0, 68, 68, 68, 0, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 8,
- 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 0, 0, 0, 0, 0,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 77
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 78
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 79
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 80
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 81
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 44, 44, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 82
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
-
-
- // block 83
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 84
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 85
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 0, 0, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 10, 10, 8, 8, 8, 51, 51, 51, 10, 10, 10,
- 10, 10, 10, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 8, 8, 8, 8, 8,
- 8, 8, 8, 51, 51, 8, 8, 8, 8, 8, 8, 8, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 8, 8, 8, 8, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 86
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 8, 8, 8, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 87
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 88
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 321, 321,
- 321, 321, 321, 321, 321, 0, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 192, 0, 192, 192,
- 0, 0, 192, 0, 0, 192, 192, 0, 0, 192, 192, 192, 192, 0, 192, 192,
- 192, 192, 192, 192, 192, 192, 321, 321, 321, 321, 0, 321, 0, 321, 321, 321,
- 321, 321, 321, 321, 0, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
-
-
- // block 89
- 321, 321, 321, 321, 192, 192, 0, 192, 192, 192, 192, 0, 0, 192, 192, 192,
- 192, 192, 192, 192, 192, 0, 192, 192, 192, 192, 192, 192, 192, 0, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 192, 192, 0, 192, 192, 192, 192, 0,
- 192, 192, 192, 192, 192, 0, 192, 0, 0, 0, 192, 192, 192, 192, 192, 192,
- 192, 0, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
-
-
- // block 90
- 321, 321, 321, 321, 321, 321, 321, 321, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 0, 0, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 48, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 48, 321, 321, 321, 321,
- 321, 321, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 48, 321, 321, 321, 321,
-
-
- // block 91
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 48, 321, 321, 321, 321, 321, 321, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 48, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 48,
- 321, 321, 321, 321, 321, 321, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 48,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 48, 321, 321, 321, 321, 321, 321,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 192, 192, 192, 192, 192, 48, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
- 321, 321, 321, 48, 321, 321, 321, 321, 321, 321, 192, 321, 0, 0, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
-
-
- // block 92
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 0,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 93
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2048, 2048,
-
-
- // block 94
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 95
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 96
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 97
- 4096, 4129, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129,
- 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129,
- 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129,
- 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129,
- 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129,
- 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129, 4129,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
-
-
- // block 98
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104, 4104,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
-
-
- // block 99
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
- 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096,
-
-
- // block 100
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 2048, 2048
- };
-
- inline ::boost::uint16_t category_lookup(::boost::uint32_t ch)
- {
- ::boost::uint32_t block_offset = category_stage1[ch / 256] * 256;
- return category_stage2[block_offset + ch % 256];
- }
-
-}}}} // namespace boost::spirit::unicode::detail
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/lowercase_table.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/lowercase_table.hpp
deleted file mode 100644
index 8ccf635ec9..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/lowercase_table.hpp
+++ /dev/null
@@ -1,620 +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)
-
- AUTOGENERATED. DO NOT EDIT!!!
-==============================================================================*/
-#include <boost/cstdint.hpp>
-
-namespace boost { namespace spirit { namespace ucd { namespace detail
-{
- static const ::boost::uint8_t lowercase_stage1[] = {
-
- 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 9,
- 6, 10, 6, 6, 11, 6, 6, 6, 6, 6, 6, 6, 12, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 13, 14, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 15,
- 6, 6, 6, 6, 16, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
- };
-
- static const ::boost::uint32_t lowercase_stage2[] = {
-
- // block 0
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 0, 248, 249, 250, 251, 252, 253, 254, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 1
- 257, 0, 259, 0, 261, 0, 263, 0, 265, 0, 267, 0, 269, 0, 271, 0,
- 273, 0, 275, 0, 277, 0, 279, 0, 281, 0, 283, 0, 285, 0, 287, 0,
- 289, 0, 291, 0, 293, 0, 295, 0, 297, 0, 299, 0, 301, 0, 303, 0,
- 105, 0, 307, 0, 309, 0, 311, 0, 0, 314, 0, 316, 0, 318, 0, 320,
- 0, 322, 0, 324, 0, 326, 0, 328, 0, 0, 331, 0, 333, 0, 335, 0,
- 337, 0, 339, 0, 341, 0, 343, 0, 345, 0, 347, 0, 349, 0, 351, 0,
- 353, 0, 355, 0, 357, 0, 359, 0, 361, 0, 363, 0, 365, 0, 367, 0,
- 369, 0, 371, 0, 373, 0, 375, 0, 255, 378, 0, 380, 0, 382, 0, 0,
- 0, 595, 387, 0, 389, 0, 596, 392, 0, 598, 599, 396, 0, 0, 477, 601,
- 603, 402, 0, 608, 611, 0, 617, 616, 409, 0, 0, 0, 623, 626, 0, 629,
- 417, 0, 419, 0, 421, 0, 640, 424, 0, 643, 0, 0, 429, 0, 648, 432,
- 0, 650, 651, 436, 0, 438, 0, 658, 441, 0, 0, 0, 445, 0, 0, 0,
- 0, 0, 0, 0, 454, 454, 0, 457, 457, 0, 460, 460, 0, 462, 0, 464,
- 0, 466, 0, 468, 0, 470, 0, 472, 0, 474, 0, 476, 0, 0, 479, 0,
- 481, 0, 483, 0, 485, 0, 487, 0, 489, 0, 491, 0, 493, 0, 495, 0,
- 0, 499, 499, 0, 501, 0, 405, 447, 505, 0, 507, 0, 509, 0, 511, 0,
-
-
- // block 2
- 513, 0, 515, 0, 517, 0, 519, 0, 521, 0, 523, 0, 525, 0, 527, 0,
- 529, 0, 531, 0, 533, 0, 535, 0, 537, 0, 539, 0, 541, 0, 543, 0,
- 414, 0, 547, 0, 549, 0, 551, 0, 553, 0, 555, 0, 557, 0, 559, 0,
- 561, 0, 563, 0, 0, 0, 0, 0, 0, 0, 11365, 572, 0, 410, 11366, 0,
- 0, 578, 0, 384, 649, 652, 583, 0, 585, 0, 587, 0, 589, 0, 591, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 3
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 881, 0, 883, 0, 0, 0, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 940, 0, 941, 942, 943, 0, 972, 0, 973, 974,
- 0, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959,
- 960, 961, 0, 963, 964, 965, 966, 967, 968, 969, 970, 971, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983,
- 0, 0, 0, 0, 0, 0, 0, 0, 985, 0, 987, 0, 989, 0, 991, 0,
- 993, 0, 995, 0, 997, 0, 999, 0, 1001, 0, 1003, 0, 1005, 0, 1007, 0,
- 0, 0, 0, 0, 952, 0, 0, 1016, 0, 1010, 1019, 0, 0, 891, 892, 893,
-
-
- // block 4
- 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119,
- 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087,
- 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1121, 0, 1123, 0, 1125, 0, 1127, 0, 1129, 0, 1131, 0, 1133, 0, 1135, 0,
- 1137, 0, 1139, 0, 1141, 0, 1143, 0, 1145, 0, 1147, 0, 1149, 0, 1151, 0,
- 1153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1163, 0, 1165, 0, 1167, 0,
- 1169, 0, 1171, 0, 1173, 0, 1175, 0, 1177, 0, 1179, 0, 1181, 0, 1183, 0,
- 1185, 0, 1187, 0, 1189, 0, 1191, 0, 1193, 0, 1195, 0, 1197, 0, 1199, 0,
- 1201, 0, 1203, 0, 1205, 0, 1207, 0, 1209, 0, 1211, 0, 1213, 0, 1215, 0,
- 1231, 1218, 0, 1220, 0, 1222, 0, 1224, 0, 1226, 0, 1228, 0, 1230, 0, 0,
- 1233, 0, 1235, 0, 1237, 0, 1239, 0, 1241, 0, 1243, 0, 1245, 0, 1247, 0,
- 1249, 0, 1251, 0, 1253, 0, 1255, 0, 1257, 0, 1259, 0, 1261, 0, 1263, 0,
- 1265, 0, 1267, 0, 1269, 0, 1271, 0, 1273, 0, 1275, 0, 1277, 0, 1279, 0,
-
-
- // block 5
- 1281, 0, 1283, 0, 1285, 0, 1287, 0, 1289, 0, 1291, 0, 1293, 0, 1295, 0,
- 1297, 0, 1299, 0, 1301, 0, 1303, 0, 1305, 0, 1307, 0, 1309, 0, 1311, 0,
- 1313, 0, 1315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391,
- 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407,
- 1408, 1409, 1410, 1411, 1412, 1413, 1414, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 6
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 7
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 11520, 11521, 11522, 11523, 11524, 11525, 11526, 11527, 11528, 11529, 11530, 11531, 11532, 11533, 11534, 11535,
- 11536, 11537, 11538, 11539, 11540, 11541, 11542, 11543, 11544, 11545, 11546, 11547, 11548, 11549, 11550, 11551,
- 11552, 11553, 11554, 11555, 11556, 11557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 8
- 7681, 0, 7683, 0, 7685, 0, 7687, 0, 7689, 0, 7691, 0, 7693, 0, 7695, 0,
- 7697, 0, 7699, 0, 7701, 0, 7703, 0, 7705, 0, 7707, 0, 7709, 0, 7711, 0,
- 7713, 0, 7715, 0, 7717, 0, 7719, 0, 7721, 0, 7723, 0, 7725, 0, 7727, 0,
- 7729, 0, 7731, 0, 7733, 0, 7735, 0, 7737, 0, 7739, 0, 7741, 0, 7743, 0,
- 7745, 0, 7747, 0, 7749, 0, 7751, 0, 7753, 0, 7755, 0, 7757, 0, 7759, 0,
- 7761, 0, 7763, 0, 7765, 0, 7767, 0, 7769, 0, 7771, 0, 7773, 0, 7775, 0,
- 7777, 0, 7779, 0, 7781, 0, 7783, 0, 7785, 0, 7787, 0, 7789, 0, 7791, 0,
- 7793, 0, 7795, 0, 7797, 0, 7799, 0, 7801, 0, 7803, 0, 7805, 0, 7807, 0,
- 7809, 0, 7811, 0, 7813, 0, 7815, 0, 7817, 0, 7819, 0, 7821, 0, 7823, 0,
- 7825, 0, 7827, 0, 7829, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 0,
- 7841, 0, 7843, 0, 7845, 0, 7847, 0, 7849, 0, 7851, 0, 7853, 0, 7855, 0,
- 7857, 0, 7859, 0, 7861, 0, 7863, 0, 7865, 0, 7867, 0, 7869, 0, 7871, 0,
- 7873, 0, 7875, 0, 7877, 0, 7879, 0, 7881, 0, 7883, 0, 7885, 0, 7887, 0,
- 7889, 0, 7891, 0, 7893, 0, 7895, 0, 7897, 0, 7899, 0, 7901, 0, 7903, 0,
- 7905, 0, 7907, 0, 7909, 0, 7911, 0, 7913, 0, 7915, 0, 7917, 0, 7919, 0,
- 7921, 0, 7923, 0, 7925, 0, 7927, 0, 7929, 0, 7931, 0, 7933, 0, 7935, 0,
-
-
- // block 9
- 0, 0, 0, 0, 0, 0, 0, 0, 7936, 7937, 7938, 7939, 7940, 7941, 7942, 7943,
- 0, 0, 0, 0, 0, 0, 0, 0, 7952, 7953, 7954, 7955, 7956, 7957, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 7968, 7969, 7970, 7971, 7972, 7973, 7974, 7975,
- 0, 0, 0, 0, 0, 0, 0, 0, 7984, 7985, 7986, 7987, 7988, 7989, 7990, 7991,
- 0, 0, 0, 0, 0, 0, 0, 0, 8000, 8001, 8002, 8003, 8004, 8005, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 8017, 0, 8019, 0, 8021, 0, 8023,
- 0, 0, 0, 0, 0, 0, 0, 0, 8032, 8033, 8034, 8035, 8036, 8037, 8038, 8039,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8064, 8065, 8066, 8067, 8068, 8069, 8070, 8071,
- 0, 0, 0, 0, 0, 0, 0, 0, 8080, 8081, 8082, 8083, 8084, 8085, 8086, 8087,
- 0, 0, 0, 0, 0, 0, 0, 0, 8096, 8097, 8098, 8099, 8100, 8101, 8102, 8103,
- 0, 0, 0, 0, 0, 0, 0, 0, 8112, 8113, 8048, 8049, 8115, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8050, 8051, 8052, 8053, 8131, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8144, 8145, 8054, 8055, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8160, 8161, 8058, 8059, 8165, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8056, 8057, 8060, 8061, 8179, 0, 0, 0,
-
-
- // block 10
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 969, 0, 0, 0, 107, 229, 0, 0, 0, 0,
- 0, 0, 8526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8560, 8561, 8562, 8563, 8564, 8565, 8566, 8567, 8568, 8569, 8570, 8571, 8572, 8573, 8574, 8575,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 8580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 11
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 9424, 9425, 9426, 9427, 9428, 9429, 9430, 9431, 9432, 9433,
- 9434, 9435, 9436, 9437, 9438, 9439, 9440, 9441, 9442, 9443, 9444, 9445, 9446, 9447, 9448, 9449,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 12
- 11312, 11313, 11314, 11315, 11316, 11317, 11318, 11319, 11320, 11321, 11322, 11323, 11324, 11325, 11326, 11327,
- 11328, 11329, 11330, 11331, 11332, 11333, 11334, 11335, 11336, 11337, 11338, 11339, 11340, 11341, 11342, 11343,
- 11344, 11345, 11346, 11347, 11348, 11349, 11350, 11351, 11352, 11353, 11354, 11355, 11356, 11357, 11358, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 11361, 0, 619, 7549, 637, 0, 0, 11368, 0, 11370, 0, 11372, 0, 593, 625, 592,
- 0, 0, 11379, 0, 0, 11382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 11393, 0, 11395, 0, 11397, 0, 11399, 0, 11401, 0, 11403, 0, 11405, 0, 11407, 0,
- 11409, 0, 11411, 0, 11413, 0, 11415, 0, 11417, 0, 11419, 0, 11421, 0, 11423, 0,
- 11425, 0, 11427, 0, 11429, 0, 11431, 0, 11433, 0, 11435, 0, 11437, 0, 11439, 0,
- 11441, 0, 11443, 0, 11445, 0, 11447, 0, 11449, 0, 11451, 0, 11453, 0, 11455, 0,
- 11457, 0, 11459, 0, 11461, 0, 11463, 0, 11465, 0, 11467, 0, 11469, 0, 11471, 0,
- 11473, 0, 11475, 0, 11477, 0, 11479, 0, 11481, 0, 11483, 0, 11485, 0, 11487, 0,
- 11489, 0, 11491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 13
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 42561, 0, 42563, 0, 42565, 0, 42567, 0, 42569, 0, 42571, 0, 42573, 0, 42575, 0,
- 42577, 0, 42579, 0, 42581, 0, 42583, 0, 42585, 0, 42587, 0, 42589, 0, 42591, 0,
- 0, 0, 42595, 0, 42597, 0, 42599, 0, 42601, 0, 42603, 0, 42605, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 42625, 0, 42627, 0, 42629, 0, 42631, 0, 42633, 0, 42635, 0, 42637, 0, 42639, 0,
- 42641, 0, 42643, 0, 42645, 0, 42647, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 14
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 42787, 0, 42789, 0, 42791, 0, 42793, 0, 42795, 0, 42797, 0, 42799, 0,
- 0, 0, 42803, 0, 42805, 0, 42807, 0, 42809, 0, 42811, 0, 42813, 0, 42815, 0,
- 42817, 0, 42819, 0, 42821, 0, 42823, 0, 42825, 0, 42827, 0, 42829, 0, 42831, 0,
- 42833, 0, 42835, 0, 42837, 0, 42839, 0, 42841, 0, 42843, 0, 42845, 0, 42847, 0,
- 42849, 0, 42851, 0, 42853, 0, 42855, 0, 42857, 0, 42859, 0, 42861, 0, 42863, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 42874, 0, 42876, 0, 7545, 42879, 0,
- 42881, 0, 42883, 0, 42885, 0, 42887, 0, 0, 0, 0, 42892, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 15
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 65345, 65346, 65347, 65348, 65349, 65350, 65351, 65352, 65353, 65354, 65355, 65356, 65357, 65358, 65359,
- 65360, 65361, 65362, 65363, 65364, 65365, 65366, 65367, 65368, 65369, 65370, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 16
- 66600, 66601, 66602, 66603, 66604, 66605, 66606, 66607, 66608, 66609, 66610, 66611, 66612, 66613, 66614, 66615,
- 66616, 66617, 66618, 66619, 66620, 66621, 66622, 66623, 66624, 66625, 66626, 66627, 66628, 66629, 66630, 66631,
- 66632, 66633, 66634, 66635, 66636, 66637, 66638, 66639, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
-
- inline ::boost::uint32_t lowercase_lookup(::boost::uint32_t ch)
- {
- ::boost::uint32_t block_offset = lowercase_stage1[ch / 256] * 256;
- return lowercase_stage2[block_offset + ch % 256];
- }
-
-}}}} // namespace boost::spirit::unicode::detail
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/query.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/query.hpp
deleted file mode 100644
index 370ab67d2e..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/query.hpp
+++ /dev/null
@@ -1,305 +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)
-
- Autogenerated by MultiStageTable.py (Unicode multi-stage
- table builder) (c) Peter Kankowski, 2008
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_UNICODE_QUERY_FEBRUARY_2_2010)
-#define BOOST_SPIRIT_UNICODE_QUERY_FEBRUARY_2_2010
-
-#include <boost/cstdint.hpp>
-
-# include "category_table.hpp"
-# include "script_table.hpp"
-# include "lowercase_table.hpp"
-# include "uppercase_table.hpp"
-
-namespace boost { namespace spirit { namespace ucd
-{
- // This header provides Basic (Level 1) Unicode Support
- // See http://unicode.org/reports/tr18/ for details
-
- struct properties
- {
- // bit pattern: xxMMMCCC
- // MMM: major_category
- // CCC: category
-
- enum major_category
- {
- letter,
- mark,
- number,
- separator,
- other,
- punctuation,
- symbol
- };
-
- enum category
- {
- uppercase_letter = 0, // [Lu] an uppercase letter
- lowercase_letter, // [Ll] a lowercase letter
- titlecase_letter, // [Lt] a digraphic character, with first part uppercase
- modifier_letter, // [Lm] a modifier letter
- other_letter, // [Lo] other letters, including syllables and ideographs
-
- nonspacing_mark = 8, // [Mn] a nonspacing combining mark (zero advance width)
- enclosing_mark, // [Me] an enclosing combining mark
- spacing_mark, // [Mc] a spacing combining mark (positive advance width)
-
- decimal_number = 16, // [Nd] a decimal digit
- letter_number, // [Nl] a letterlike numeric character
- other_number, // [No] a numeric character of other type
-
- space_separator = 24, // [Zs] a space character (of various non-zero widths)
- line_separator, // [Zl] U+2028 LINE SEPARATOR only
- paragraph_separator, // [Zp] U+2029 PARAGRAPH SEPARATOR only
-
- control = 32, // [Cc] a C0 or C1 control code
- format, // [Cf] a format control character
- private_use, // [Co] a private-use character
- surrogate, // [Cs] a surrogate code point
- unassigned, // [Cn] a reserved unassigned code point or a noncharacter
-
- dash_punctuation = 40, // [Pd] a dash or hyphen punctuation mark
- open_punctuation, // [Ps] an opening punctuation mark (of a pair)
- close_punctuation, // [Pe] a closing punctuation mark (of a pair)
- connector_punctuation, // [Pc] a connecting punctuation mark, like a tie
- other_punctuation, // [Po] a punctuation mark of other type
- initial_punctuation, // [Pi] an initial quotation mark
- final_punctuation, // [Pf] a final quotation mark
-
- math_symbol = 48, // [Sm] a symbol of primarily mathematical use
- currency_symbol, // [Sc] a currency sign
- modifier_symbol, // [Sk] a non-letterlike modifier symbol
- other_symbol // [So] a symbol of other type
- };
-
- enum derived_properties
- {
- alphabetic = 64,
- uppercase = 128,
- lowercase = 256,
- white_space = 512,
- hex_digit = 1024,
- noncharacter_code_point = 2048,
- default_ignorable_code_point = 4096
- };
-
- enum script
- {
- arabic = 0,
- imperial_aramaic = 1,
- armenian = 2,
- avestan = 3,
- balinese = 4,
- bamum = 5,
- bengali = 6,
- bopomofo = 7,
- braille = 8,
- buginese = 9,
- buhid = 10,
- canadian_aboriginal = 11,
- carian = 12,
- cham = 13,
- cherokee = 14,
- coptic = 15,
- cypriot = 16,
- cyrillic = 17,
- devanagari = 18,
- deseret = 19,
- egyptian_hieroglyphs = 20,
- ethiopic = 21,
- georgian = 22,
- glagolitic = 23,
- gothic = 24,
- greek = 25,
- gujarati = 26,
- gurmukhi = 27,
- hangul = 28,
- han = 29,
- hanunoo = 30,
- hebrew = 31,
- hiragana = 32,
- katakana_or_hiragana = 33,
- old_italic = 34,
- javanese = 35,
- kayah_li = 36,
- katakana = 37,
- kharoshthi = 38,
- khmer = 39,
- kannada = 40,
- kaithi = 41,
- tai_tham = 42,
- lao = 43,
- latin = 44,
- lepcha = 45,
- limbu = 46,
- linear_b = 47,
- lisu = 48,
- lycian = 49,
- lydian = 50,
- malayalam = 51,
- mongolian = 52,
- meetei_mayek = 53,
- myanmar = 54,
- nko = 55,
- ogham = 56,
- ol_chiki = 57,
- old_turkic = 58,
- oriya = 59,
- osmanya = 60,
- phags_pa = 61,
- inscriptional_pahlavi = 62,
- phoenician = 63,
- inscriptional_parthian = 64,
- rejang = 65,
- runic = 66,
- samaritan = 67,
- old_south_arabian = 68,
- saurashtra = 69,
- shavian = 70,
- sinhala = 71,
- sundanese = 72,
- syloti_nagri = 73,
- syriac = 74,
- tagbanwa = 75,
- tai_le = 76,
- new_tai_lue = 77,
- tamil = 78,
- tai_viet = 79,
- telugu = 80,
- tifinagh = 81,
- tagalog = 82,
- thaana = 83,
- thai = 84,
- tibetan = 85,
- ugaritic = 86,
- vai = 87,
- old_persian = 88,
- cuneiform = 89,
- yi = 90,
- inherited = 91,
- common = 92,
- unknown = 93
- };
- };
-
- inline properties::category get_category(::boost::uint32_t ch)
- {
- return static_cast<properties::category>(detail::category_lookup(ch) & 0x3F);
- }
-
- inline properties::major_category get_major_category(::boost::uint32_t ch)
- {
- return static_cast<properties::major_category>(get_category(ch) >> 3);
- }
-
- inline bool is_punctuation(::boost::uint32_t ch)
- {
- return get_major_category(ch) == properties::punctuation;
- }
-
- inline bool is_decimal_number(::boost::uint32_t ch)
- {
- return get_category(ch) == properties::decimal_number;
- }
-
- inline bool is_hex_digit(::boost::uint32_t ch)
- {
- return (detail::category_lookup(ch) & properties::hex_digit) != 0;
- }
-
- inline bool is_control(::boost::uint32_t ch)
- {
- return get_category(ch) == properties::control;
- }
-
- inline bool is_alphabetic(::boost::uint32_t ch)
- {
- return (detail::category_lookup(ch) & properties::alphabetic) != 0;
- }
-
- inline bool is_alphanumeric(::boost::uint32_t ch)
- {
- return is_decimal_number(ch) || is_alphabetic(ch);
- }
-
- inline bool is_uppercase(::boost::uint32_t ch)
- {
- return (detail::category_lookup(ch) & properties::uppercase) != 0;
- }
-
- inline bool is_lowercase(::boost::uint32_t ch)
- {
- return (detail::category_lookup(ch) & properties::lowercase) != 0;
- }
-
- inline bool is_white_space(::boost::uint32_t ch)
- {
- return (detail::category_lookup(ch) & properties::white_space) != 0;
- }
-
- inline bool is_blank(::boost::uint32_t ch)
- {
- switch (ch)
- {
- case '\n': case '\v': case '\f': case '\r':
- return false;
- default:
- return is_white_space(ch)
- && !( get_category(ch) == properties::line_separator
- || get_category(ch) == properties::paragraph_separator
- );
- }
- }
-
- inline bool is_graph(::boost::uint32_t ch)
- {
- return !( is_white_space(ch)
- || get_category(ch) == properties::control
- || get_category(ch) == properties::surrogate
- || get_category(ch) == properties::unassigned
- );
- }
-
- inline bool is_print(::boost::uint32_t ch)
- {
- return (is_graph(ch) || is_blank(ch)) && !is_control(ch);
- }
-
- inline bool is_noncharacter_code_point(::boost::uint32_t ch)
- {
- return (detail::category_lookup(ch) & properties::noncharacter_code_point) != 0;
- }
-
- inline bool is_default_ignorable_code_point(::boost::uint32_t ch)
- {
- return (detail::category_lookup(ch) & properties::default_ignorable_code_point) != 0;
- }
-
- inline properties::script get_script(::boost::uint32_t ch)
- {
- return static_cast<properties::script>(detail::script_lookup(ch) & 0x7F);
- }
-
- inline ::boost::uint32_t to_lowercase(::boost::uint32_t ch)
- {
- // The table returns 0 to signal that this code maps to itself
- ::boost::uint32_t r = detail::lowercase_lookup(ch);
- return (r == 0)? ch : r;
- }
-
- inline ::boost::uint32_t to_uppercase(::boost::uint32_t ch)
- {
- // The table returns 0 to signal that this code maps to itself
- ::boost::uint32_t r = detail::uppercase_lookup(ch);
- return (r == 0)? ch : r;
- }
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/script_table.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/script_table.hpp
deleted file mode 100644
index a4c117c3ee..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/script_table.hpp
+++ /dev/null
@@ -1,2159 +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)
-
- AUTOGENERATED. DO NOT EDIT!!!
-==============================================================================*/
-#include <boost/cstdint.hpp>
-
-namespace boost { namespace spirit { namespace ucd { namespace detail
-{
- static const ::boost::uint8_t script_stage1[] = {
-
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 20, 21, 22, 23, 24, 25, 26, 27, 28, 1, 29,
- 30, 31, 32, 33, 34, 32, 35, 36, 37, 32, 32, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 49,
- 50, 50, 50, 50, 51, 52, 53, 54, 55, 56, 57, 58, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 59, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 47, 61, 62, 60, 63, 64, 65,
- 66, 67, 68, 69, 70, 60, 60, 60, 71, 72, 73, 74, 75, 60, 60, 60,
- 76, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 77, 77, 77, 78, 79, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 80, 80, 80, 80, 81, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 82, 83, 84, 85, 86, 87, 88, 89, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 90, 91, 92, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 93, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 94, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 47, 47, 95, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 96, 97, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60
- };
-
- static const ::boost::uint8_t script_stage2[] = {
-
- // block 0
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 92, 92, 92, 92, 92,
- 92, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 44, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 44, 92, 92, 92, 92, 92,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 92, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 92, 44, 44, 44, 44, 44, 44, 44, 44,
-
-
- // block 1
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
-
-
- // block 2
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 44, 44, 44, 44, 44, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 3
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 25, 25, 25, 25, 92, 25, 25, 25, 0, 0, 25, 25, 25, 25, 92, 0,
- 0, 0, 0, 0, 25, 92, 25, 92, 25, 25, 25, 0, 25, 0, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
-
-
- // block 4
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 91, 91, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
-
-
- // block 5
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2,
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 0, 92, 2, 0, 0, 0, 0, 0,
- 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
- 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
- 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
- 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
- 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0,
- 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 6
- 92, 92, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 92,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, 0,
- 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 7
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 0, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 0, 0, 74, 74, 74,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
- 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
- 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
- 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 0, 0, 0, 0, 0,
-
-
- // block 8
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0, 0,
- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 9
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0,
- 18, 91, 91, 18, 18, 18, 0, 0, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 92, 92, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 92, 18, 18, 0, 0, 0, 0, 0, 0, 18, 18, 18, 18, 18, 18, 18,
- 0, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 6,
- 6, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6,
- 6, 0, 6, 0, 0, 0, 6, 6, 6, 6, 0, 0, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 0, 0, 6, 6, 0, 0, 6, 6, 6, 6, 0,
- 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 6, 6, 0, 6,
- 6, 6, 6, 6, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0,
-
-
- // block 10
- 0, 27, 27, 27, 0, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 27,
- 27, 0, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 27, 27, 27, 27, 27, 27,
- 27, 0, 27, 27, 0, 27, 27, 0, 27, 27, 0, 0, 27, 0, 27, 27,
- 27, 27, 27, 0, 0, 0, 0, 27, 27, 0, 0, 27, 27, 27, 0, 0,
- 0, 27, 0, 0, 0, 0, 0, 0, 0, 27, 27, 27, 27, 0, 27, 0,
- 0, 0, 0, 0, 0, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
- 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 26, 26, 26, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 26,
- 26, 26, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 26, 26, 26, 26, 26, 26,
- 26, 0, 26, 26, 0, 26, 26, 26, 26, 26, 0, 0, 26, 26, 26, 26,
- 26, 26, 26, 26, 26, 26, 0, 26, 26, 26, 0, 26, 26, 26, 0, 0,
- 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 26, 26, 26, 26, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
- 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 11
- 0, 59, 59, 59, 0, 59, 59, 59, 59, 59, 59, 59, 59, 0, 0, 59,
- 59, 0, 0, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
- 59, 59, 59, 59, 59, 59, 59, 59, 59, 0, 59, 59, 59, 59, 59, 59,
- 59, 0, 59, 59, 0, 59, 59, 59, 59, 59, 0, 0, 59, 59, 59, 59,
- 59, 59, 59, 59, 59, 0, 0, 59, 59, 0, 0, 59, 59, 59, 0, 0,
- 0, 0, 0, 0, 0, 0, 59, 59, 0, 0, 0, 0, 59, 59, 0, 59,
- 59, 59, 59, 59, 0, 0, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
- 59, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 78, 78, 0, 78, 78, 78, 78, 78, 78, 0, 0, 0, 78, 78,
- 78, 0, 78, 78, 78, 78, 0, 0, 0, 78, 78, 0, 78, 0, 78, 78,
- 0, 0, 0, 78, 78, 0, 0, 0, 78, 78, 78, 0, 0, 0, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 0, 0, 0, 0, 78, 78,
- 78, 78, 78, 0, 0, 0, 78, 78, 78, 0, 78, 78, 78, 78, 0, 0,
- 78, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
- 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 0, 0, 0, 0, 0,
-
-
- // block 12
- 0, 80, 80, 80, 0, 80, 80, 80, 80, 80, 80, 80, 80, 0, 80, 80,
- 80, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 80, 80, 80, 80, 80, 0, 80, 80, 80, 80, 80, 80,
- 80, 80, 80, 80, 0, 80, 80, 80, 80, 80, 0, 0, 0, 80, 80, 80,
- 80, 80, 80, 80, 80, 0, 80, 80, 80, 0, 80, 80, 80, 80, 0, 0,
- 0, 0, 0, 0, 0, 80, 80, 0, 80, 80, 0, 0, 0, 0, 0, 0,
- 80, 80, 80, 80, 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80, 80, 80, 80, 80, 80,
- 0, 0, 40, 40, 0, 40, 40, 40, 40, 40, 40, 40, 40, 0, 40, 40,
- 40, 0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
- 40, 40, 40, 40, 40, 40, 40, 40, 40, 0, 40, 40, 40, 40, 40, 40,
- 40, 40, 40, 40, 0, 40, 40, 40, 40, 40, 0, 0, 40, 40, 40, 40,
- 40, 40, 40, 40, 40, 0, 40, 40, 40, 0, 40, 40, 40, 40, 0, 0,
- 0, 0, 0, 0, 0, 40, 40, 0, 0, 0, 0, 0, 0, 0, 40, 0,
- 40, 40, 40, 40, 0, 0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
- 0, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 13
- 0, 0, 51, 51, 0, 51, 51, 51, 51, 51, 51, 51, 51, 0, 51, 51,
- 51, 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 0, 51, 51, 51,
- 51, 51, 51, 51, 51, 0, 51, 51, 51, 0, 51, 51, 51, 51, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0,
- 51, 51, 51, 51, 0, 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 0, 0, 0, 51, 51, 51, 51, 51, 51, 51,
- 0, 0, 71, 71, 0, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 0, 0, 0, 71, 71, 71, 71, 71, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
- 71, 71, 0, 71, 71, 71, 71, 71, 71, 71, 71, 71, 0, 71, 0, 0,
- 71, 71, 71, 71, 71, 71, 71, 0, 0, 0, 71, 0, 0, 0, 0, 71,
- 71, 71, 71, 71, 71, 0, 71, 0, 71, 71, 71, 71, 71, 71, 71, 71,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 71, 71, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 14
- 0, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
- 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
- 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
- 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 0, 0, 0, 0, 92,
- 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
- 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 43, 43, 0, 43, 0, 0, 43, 43, 0, 43, 0, 0, 43, 0, 0,
- 0, 0, 0, 0, 43, 43, 43, 43, 0, 43, 43, 43, 43, 43, 43, 43,
- 0, 43, 43, 43, 0, 43, 0, 43, 0, 0, 43, 43, 0, 43, 43, 43,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 0, 43, 43, 43, 0, 0,
- 43, 43, 43, 43, 43, 0, 43, 0, 43, 43, 43, 43, 43, 43, 0, 0,
- 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 43, 43, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 15
- 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 85, 85, 85, 85, 85, 85, 0, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0,
- 0, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0,
- 85, 85, 85, 85, 85, 85, 85, 85, 0, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 85, 85,
- 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 85, 85,
- 85, 85, 85, 85, 85, 92, 92, 92, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 16
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
- 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
- 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
- 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
- 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 92, 22, 0, 0, 0,
-
-
- // block 17
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
-
-
- // block 18
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 0, 0,
- 21, 21, 21, 21, 21, 21, 21, 0, 21, 0, 21, 21, 21, 21, 0, 0,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 0, 0,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 0, 21, 21, 21, 21, 0, 0, 21, 21, 21, 21, 21, 21, 21, 0,
- 21, 0, 21, 21, 21, 21, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
-
-
- // block 19
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 0, 21, 21, 21, 21, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
- 14, 14, 14, 14, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 20
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
-
-
- // block 21
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
- 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 0,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 92, 92, 92, 66, 66,
- 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 22
- 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 0, 82, 82,
- 82, 82, 82, 82, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
- 30, 30, 30, 30, 30, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 0, 75, 75,
- 75, 0, 75, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 0, 0, 0, 0,
-
-
- // block 23
- 52, 52, 92, 92, 52, 92, 52, 52, 52, 52, 52, 52, 52, 52, 52, 0,
- 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 0, 0, 0, 0,
- 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 0, 0, 0, 0, 0, 0,
- 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
- 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 0, 0, 0,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 24
- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0,
- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 0,
- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 0, 0,
- 46, 0, 0, 0, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
- 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 0, 0,
- 76, 76, 76, 76, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
- 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
- 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 0, 0, 0, 0,
- 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
- 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 0, 0, 0, 0, 0, 0,
- 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 0, 0, 0, 77, 77,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
-
-
- // block 25
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9,
- 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0,
- 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 42,
- 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, 0, 0, 0,
- 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, 0, 0, 0,
- 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 26
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0,
- 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
- 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
- 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0, 0, 0, 72, 72,
- 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 27
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 45, 45, 45,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
- 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 91, 91, 91, 92, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 92, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 91, 92, 92,
- 92, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 28
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 25, 25, 25, 25, 25, 17, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 25, 25, 25,
- 25, 25, 44, 44, 44, 44, 25, 25, 25, 25, 25, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 17, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 25,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 91, 91,
-
-
- // block 29
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 25, 0, 0,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 25, 0, 0,
- 25, 25, 25, 25, 25, 25, 25, 25, 0, 25, 0, 25, 0, 25, 0, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 25, 0, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 0, 0, 25, 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0,
-
-
- // block 30
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, 92, 92, 92, 92, 92, 92,
- 92, 44, 0, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 44,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0,
- 44, 44, 44, 44, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 31
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 25, 92, 92, 92, 44, 44, 92, 92, 92, 92,
- 92, 92, 44, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 44, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 92, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 32
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 33
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 34
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 35
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 0, 92, 0, 0, 0, 0, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 36
- 0, 92, 92, 92, 92, 0, 92, 92, 92, 92, 0, 0, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 0, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 92, 0, 92,
- 92, 92, 92, 0, 0, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0,
- 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 0, 0, 0, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 92, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 37
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
-
-
- // block 38
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 39
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 0, 0, 0, 0, 0, 0, 0, 15, 15, 15, 15, 15, 15, 15,
-
-
- // block 40
- 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
- 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
- 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
- 81, 81, 81, 81, 81, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 0,
- 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 0,
- 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 0,
- 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 0,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
-
-
- // block 41
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 42
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0,
-
-
- // block 43
- 92, 92, 92, 92, 92, 29, 92, 29, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 29, 29, 29, 29, 29, 29, 29, 29, 29, 91, 91, 91, 91, 91, 91,
- 92, 92, 92, 92, 92, 92, 92, 92, 29, 29, 29, 29, 92, 92, 92, 92,
- 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 0, 0, 91, 91, 92, 92, 32, 32, 32,
- 92, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 92, 92, 37, 37, 37,
-
-
- // block 44
- 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0,
- 0, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
-
-
- // block 45
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 0,
-
-
- // block 46
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 47
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
-
-
- // block 48
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 49
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 50
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
-
-
- // block 51
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 0, 0, 0,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
- 90, 90, 90, 90, 90, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
-
-
- // block 52
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-
-
- // block 53
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 0, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 54
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 92, 92, 92, 44, 44, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 44, 44, 44, 44,
-
-
- // block 55
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
- 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, 0,
- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
- 61, 61, 61, 61, 61, 61, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
- 69, 69, 69, 69, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 69,
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 0, 0, 0, 0, 0, 0,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0,
-
-
- // block 56
- 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
- 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
- 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
- 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
- 65, 65, 65, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 0,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 0, 35,
- 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 0, 0, 35, 35,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 57
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0,
- 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 13, 13, 13, 13,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 0, 0,
- 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
- 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
- 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
- 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
- 79, 79, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 79, 79, 79, 79,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 58
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
- 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
- 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0,
- 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 0, 0, 0, 0,
-
-
- // block 59
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 0, 0, 0, 0, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 0, 0,
-
-
- // block 60
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 61
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 62
- 44, 44, 44, 44, 44, 44, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 31, 31, 31,
- 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
- 31, 31, 31, 31, 31, 31, 31, 0, 31, 31, 31, 31, 31, 0, 31, 0,
- 31, 31, 0, 31, 31, 0, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 63
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 92,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0,
-
-
- // block 64
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, 0,
- 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 0, 92, 92, 92, 92, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92,
-
-
- // block 65
- 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 92, 92, 92, 92, 92,
- 92, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
- 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 92, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
- 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 92, 92,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0,
- 0, 0, 28, 28, 28, 28, 28, 28, 0, 0, 28, 28, 28, 28, 28, 28,
- 0, 0, 28, 28, 28, 28, 28, 28, 0, 0, 28, 28, 28, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 0, 92, 92, 92, 92, 92, 92, 92, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 92, 92, 92, 92, 0, 0,
-
-
- // block 66
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 0, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 47, 47, 0, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
- 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 0, 0, 0,
-
-
- // block 67
- 92, 92, 92, 0, 0, 0, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 0, 0, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 0, 0,
-
-
- // block 68
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 0,
- 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
- 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
- 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
- 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 69
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 0,
- 34, 34, 34, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 86,
- 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 0, 0, 0, 0, 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 70
- 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
- 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
- 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
- 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
- 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0, 0,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 71
- 16, 16, 16, 16, 16, 16, 0, 0, 16, 0, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 0, 16, 16, 0, 0, 0, 16, 0, 0, 16,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 72
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 0, 0, 0, 63,
- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
- 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 0, 0, 0, 50,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 73
- 38, 38, 38, 38, 0, 38, 38, 0, 0, 0, 0, 0, 38, 38, 38, 38,
- 38, 38, 38, 38, 0, 38, 38, 38, 0, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
- 38, 38, 38, 38, 0, 0, 0, 0, 38, 38, 38, 0, 0, 0, 0, 38,
- 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 0, 0, 0, 0, 0, 0,
- 38, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 0, 0, 0, 0, 0,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 74
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3,
- 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 0, 0, 64, 64, 64, 64, 64, 64, 64, 64,
- 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 0, 0, 0, 0, 0, 62, 62, 62, 62, 62, 62, 62, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 75
- 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- 58, 58, 58, 58, 58, 58, 58, 58, 58, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 76
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
- 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
- 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
- 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
- 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 77
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
-
-
- // block 78
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 79
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
- 89, 89, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 89, 89, 89, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 80
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
-
-
- // block 81
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
- 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 82
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 83
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 0, 0, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 91, 91, 91, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 91, 91, 91,
- 91, 91, 91, 92, 92, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 91, 91, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 84
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 85
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 86
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 92, 92,
- 0, 0, 92, 0, 0, 92, 92, 0, 0, 92, 92, 92, 92, 0, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 92, 0, 92, 92, 92,
- 92, 92, 92, 92, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 87
- 92, 92, 92, 92, 92, 92, 0, 92, 92, 92, 92, 0, 0, 92, 92, 92,
- 92, 92, 92, 92, 92, 0, 92, 92, 92, 92, 92, 92, 92, 0, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 92, 92, 92, 92, 0,
- 92, 92, 92, 92, 92, 0, 92, 0, 0, 0, 92, 92, 92, 92, 92, 92,
- 92, 0, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 88
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 0, 0, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 89
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
-
-
- // block 90
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 91
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 0,
- 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 92,
- 0, 0, 92, 0, 0, 0, 92, 0, 0, 0, 92, 92, 92, 92, 92, 0,
- 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 92,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 92, 92, 0, 0, 92,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 92, 92, 92, 0, 0,
- 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 92
- 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 93
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 94
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 95
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
- 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 96
- 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 97
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
-
- inline ::boost::uint8_t script_lookup(::boost::uint32_t ch)
- {
- ::boost::uint32_t block_offset = script_stage1[ch / 256] * 256;
- return script_stage2[block_offset + ch % 256];
- }
-
-}}}} // namespace boost::spirit::unicode::detail
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/uppercase_table.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/uppercase_table.hpp
deleted file mode 100644
index 5ecae7c5c7..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_encoding/unicode/uppercase_table.hpp
+++ /dev/null
@@ -1,639 +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)
-
- AUTOGENERATED. DO NOT EDIT!!!
-==============================================================================*/
-#include <boost/cstdint.hpp>
-
-namespace boost { namespace spirit { namespace ucd { namespace detail
-{
- static const ::boost::uint8_t uppercase_stage1[] = {
-
- 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 9,
- 6, 10, 6, 6, 11, 6, 6, 6, 6, 6, 6, 6, 12, 13, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 14, 15, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 16,
- 6, 6, 6, 6, 17, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6
- };
-
- static const ::boost::uint32_t uppercase_stage2[] = {
-
- // block 0
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
- 208, 209, 210, 211, 212, 213, 214, 0, 216, 217, 218, 219, 220, 221, 222, 376,
-
-
- // block 1
- 0, 256, 0, 258, 0, 260, 0, 262, 0, 264, 0, 266, 0, 268, 0, 270,
- 0, 272, 0, 274, 0, 276, 0, 278, 0, 280, 0, 282, 0, 284, 0, 286,
- 0, 288, 0, 290, 0, 292, 0, 294, 0, 296, 0, 298, 0, 300, 0, 302,
- 0, 73, 0, 306, 0, 308, 0, 310, 0, 0, 313, 0, 315, 0, 317, 0,
- 319, 0, 321, 0, 323, 0, 325, 0, 327, 0, 0, 330, 0, 332, 0, 334,
- 0, 336, 0, 338, 0, 340, 0, 342, 0, 344, 0, 346, 0, 348, 0, 350,
- 0, 352, 0, 354, 0, 356, 0, 358, 0, 360, 0, 362, 0, 364, 0, 366,
- 0, 368, 0, 370, 0, 372, 0, 374, 0, 0, 377, 0, 379, 0, 381, 83,
- 579, 0, 0, 386, 0, 388, 0, 0, 391, 0, 0, 0, 395, 0, 0, 0,
- 0, 0, 401, 0, 0, 502, 0, 0, 0, 408, 573, 0, 0, 0, 544, 0,
- 0, 416, 0, 418, 0, 420, 0, 0, 423, 0, 0, 0, 0, 428, 0, 0,
- 431, 0, 0, 0, 435, 0, 437, 0, 0, 440, 0, 0, 0, 444, 0, 503,
- 0, 0, 0, 0, 0, 452, 452, 0, 455, 455, 0, 458, 458, 0, 461, 0,
- 463, 0, 465, 0, 467, 0, 469, 0, 471, 0, 473, 0, 475, 398, 0, 478,
- 0, 480, 0, 482, 0, 484, 0, 486, 0, 488, 0, 490, 0, 492, 0, 494,
- 0, 0, 497, 497, 0, 500, 0, 0, 0, 504, 0, 506, 0, 508, 0, 510,
-
-
- // block 2
- 0, 512, 0, 514, 0, 516, 0, 518, 0, 520, 0, 522, 0, 524, 0, 526,
- 0, 528, 0, 530, 0, 532, 0, 534, 0, 536, 0, 538, 0, 540, 0, 542,
- 0, 0, 0, 546, 0, 548, 0, 550, 0, 552, 0, 554, 0, 556, 0, 558,
- 0, 560, 0, 562, 0, 0, 0, 0, 0, 0, 0, 0, 571, 0, 0, 0,
- 0, 0, 577, 0, 0, 0, 0, 582, 0, 584, 0, 586, 0, 588, 0, 590,
- 11375, 11373, 0, 385, 390, 0, 393, 394, 0, 399, 0, 400, 0, 0, 0, 0,
- 403, 0, 0, 404, 0, 0, 0, 0, 407, 406, 0, 11362, 0, 0, 0, 412,
- 0, 11374, 413, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 11364, 0, 0,
- 422, 0, 0, 425, 0, 0, 0, 0, 430, 580, 433, 434, 581, 0, 0, 0,
- 0, 0, 439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 3
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 880, 0, 882, 0, 0, 0, 886, 0, 0, 0, 1021, 1022, 1023, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 902, 904, 905, 906,
- 0, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927,
- 928, 929, 931, 931, 932, 933, 934, 935, 936, 937, 938, 939, 908, 910, 911, 0,
- 914, 920, 0, 0, 0, 934, 928, 975, 0, 984, 0, 986, 0, 988, 0, 990,
- 0, 992, 0, 994, 0, 996, 0, 998, 0, 1000, 0, 1002, 0, 1004, 0, 1006,
- 922, 929, 1017, 0, 0, 917, 0, 0, 1015, 0, 0, 1018, 0, 0, 0, 0,
-
-
- // block 4
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055,
- 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071,
- 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039,
- 0, 1120, 0, 1122, 0, 1124, 0, 1126, 0, 1128, 0, 1130, 0, 1132, 0, 1134,
- 0, 1136, 0, 1138, 0, 1140, 0, 1142, 0, 1144, 0, 1146, 0, 1148, 0, 1150,
- 0, 1152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1162, 0, 1164, 0, 1166,
- 0, 1168, 0, 1170, 0, 1172, 0, 1174, 0, 1176, 0, 1178, 0, 1180, 0, 1182,
- 0, 1184, 0, 1186, 0, 1188, 0, 1190, 0, 1192, 0, 1194, 0, 1196, 0, 1198,
- 0, 1200, 0, 1202, 0, 1204, 0, 1206, 0, 1208, 0, 1210, 0, 1212, 0, 1214,
- 0, 0, 1217, 0, 1219, 0, 1221, 0, 1223, 0, 1225, 0, 1227, 0, 1229, 1216,
- 0, 1232, 0, 1234, 0, 1236, 0, 1238, 0, 1240, 0, 1242, 0, 1244, 0, 1246,
- 0, 1248, 0, 1250, 0, 1252, 0, 1254, 0, 1256, 0, 1258, 0, 1260, 0, 1262,
- 0, 1264, 0, 1266, 0, 1268, 0, 1270, 0, 1272, 0, 1274, 0, 1276, 0, 1278,
-
-
- // block 5
- 0, 1280, 0, 1282, 0, 1284, 0, 1286, 0, 1288, 0, 1290, 0, 1292, 0, 1294,
- 0, 1296, 0, 1298, 0, 1300, 0, 1302, 0, 1304, 0, 1306, 0, 1308, 0, 1310,
- 0, 1312, 0, 1314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343,
- 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359,
- 1360, 1361, 1362, 1363, 1364, 1365, 1366, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 6
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 7
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 42877, 0, 0, 0, 11363, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 8
- 0, 7680, 0, 7682, 0, 7684, 0, 7686, 0, 7688, 0, 7690, 0, 7692, 0, 7694,
- 0, 7696, 0, 7698, 0, 7700, 0, 7702, 0, 7704, 0, 7706, 0, 7708, 0, 7710,
- 0, 7712, 0, 7714, 0, 7716, 0, 7718, 0, 7720, 0, 7722, 0, 7724, 0, 7726,
- 0, 7728, 0, 7730, 0, 7732, 0, 7734, 0, 7736, 0, 7738, 0, 7740, 0, 7742,
- 0, 7744, 0, 7746, 0, 7748, 0, 7750, 0, 7752, 0, 7754, 0, 7756, 0, 7758,
- 0, 7760, 0, 7762, 0, 7764, 0, 7766, 0, 7768, 0, 7770, 0, 7772, 0, 7774,
- 0, 7776, 0, 7778, 0, 7780, 0, 7782, 0, 7784, 0, 7786, 0, 7788, 0, 7790,
- 0, 7792, 0, 7794, 0, 7796, 0, 7798, 0, 7800, 0, 7802, 0, 7804, 0, 7806,
- 0, 7808, 0, 7810, 0, 7812, 0, 7814, 0, 7816, 0, 7818, 0, 7820, 0, 7822,
- 0, 7824, 0, 7826, 0, 7828, 0, 0, 0, 0, 0, 7776, 0, 0, 0, 0,
- 0, 7840, 0, 7842, 0, 7844, 0, 7846, 0, 7848, 0, 7850, 0, 7852, 0, 7854,
- 0, 7856, 0, 7858, 0, 7860, 0, 7862, 0, 7864, 0, 7866, 0, 7868, 0, 7870,
- 0, 7872, 0, 7874, 0, 7876, 0, 7878, 0, 7880, 0, 7882, 0, 7884, 0, 7886,
- 0, 7888, 0, 7890, 0, 7892, 0, 7894, 0, 7896, 0, 7898, 0, 7900, 0, 7902,
- 0, 7904, 0, 7906, 0, 7908, 0, 7910, 0, 7912, 0, 7914, 0, 7916, 0, 7918,
- 0, 7920, 0, 7922, 0, 7924, 0, 7926, 0, 7928, 0, 7930, 0, 7932, 0, 7934,
-
-
- // block 9
- 7944, 7945, 7946, 7947, 7948, 7949, 7950, 7951, 0, 0, 0, 0, 0, 0, 0, 0,
- 7960, 7961, 7962, 7963, 7964, 7965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 7976, 7977, 7978, 7979, 7980, 7981, 7982, 7983, 0, 0, 0, 0, 0, 0, 0, 0,
- 7992, 7993, 7994, 7995, 7996, 7997, 7998, 7999, 0, 0, 0, 0, 0, 0, 0, 0,
- 8008, 8009, 8010, 8011, 8012, 8013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 8025, 0, 8027, 0, 8029, 0, 8031, 0, 0, 0, 0, 0, 0, 0, 0,
- 8040, 8041, 8042, 8043, 8044, 8045, 8046, 8047, 0, 0, 0, 0, 0, 0, 0, 0,
- 8122, 8123, 8136, 8137, 8138, 8139, 8154, 8155, 8184, 8185, 8170, 8171, 8186, 8187, 0, 0,
- 8072, 8073, 8074, 8075, 8076, 8077, 8078, 8079, 0, 0, 0, 0, 0, 0, 0, 0,
- 8088, 8089, 8090, 8091, 8092, 8093, 8094, 8095, 0, 0, 0, 0, 0, 0, 0, 0,
- 8104, 8105, 8106, 8107, 8108, 8109, 8110, 8111, 0, 0, 0, 0, 0, 0, 0, 0,
- 8120, 8121, 0, 8124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 921, 0,
- 0, 0, 0, 8140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8152, 8153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8168, 8169, 0, 0, 0, 8172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 8188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 10
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8498, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8544, 8545, 8546, 8547, 8548, 8549, 8550, 8551, 8552, 8553, 8554, 8555, 8556, 8557, 8558, 8559,
- 0, 0, 0, 0, 8579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 11
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 9398, 9399, 9400, 9401, 9402, 9403, 9404, 9405, 9406, 9407, 9408, 9409, 9410, 9411, 9412, 9413,
- 9414, 9415, 9416, 9417, 9418, 9419, 9420, 9421, 9422, 9423, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 12
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 11264, 11265, 11266, 11267, 11268, 11269, 11270, 11271, 11272, 11273, 11274, 11275, 11276, 11277, 11278, 11279,
- 11280, 11281, 11282, 11283, 11284, 11285, 11286, 11287, 11288, 11289, 11290, 11291, 11292, 11293, 11294, 11295,
- 11296, 11297, 11298, 11299, 11300, 11301, 11302, 11303, 11304, 11305, 11306, 11307, 11308, 11309, 11310, 0,
- 0, 11360, 0, 0, 0, 570, 574, 0, 11367, 0, 11369, 0, 11371, 0, 0, 0,
- 0, 0, 0, 11378, 0, 0, 11381, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 11392, 0, 11394, 0, 11396, 0, 11398, 0, 11400, 0, 11402, 0, 11404, 0, 11406,
- 0, 11408, 0, 11410, 0, 11412, 0, 11414, 0, 11416, 0, 11418, 0, 11420, 0, 11422,
- 0, 11424, 0, 11426, 0, 11428, 0, 11430, 0, 11432, 0, 11434, 0, 11436, 0, 11438,
- 0, 11440, 0, 11442, 0, 11444, 0, 11446, 0, 11448, 0, 11450, 0, 11452, 0, 11454,
- 0, 11456, 0, 11458, 0, 11460, 0, 11462, 0, 11464, 0, 11466, 0, 11468, 0, 11470,
- 0, 11472, 0, 11474, 0, 11476, 0, 11478, 0, 11480, 0, 11482, 0, 11484, 0, 11486,
- 0, 11488, 0, 11490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 13
- 4256, 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4266, 4267, 4268, 4269, 4270, 4271,
- 4272, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4285, 4286, 4287,
- 4288, 4289, 4290, 4291, 4292, 4293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 14
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 42560, 0, 42562, 0, 42564, 0, 42566, 0, 42568, 0, 42570, 0, 42572, 0, 42574,
- 0, 42576, 0, 42578, 0, 42580, 0, 42582, 0, 42584, 0, 42586, 0, 42588, 0, 42590,
- 0, 0, 0, 42594, 0, 42596, 0, 42598, 0, 42600, 0, 42602, 0, 42604, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 42624, 0, 42626, 0, 42628, 0, 42630, 0, 42632, 0, 42634, 0, 42636, 0, 42638,
- 0, 42640, 0, 42642, 0, 42644, 0, 42646, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 15
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 42786, 0, 42788, 0, 42790, 0, 42792, 0, 42794, 0, 42796, 0, 42798,
- 0, 0, 0, 42802, 0, 42804, 0, 42806, 0, 42808, 0, 42810, 0, 42812, 0, 42814,
- 0, 42816, 0, 42818, 0, 42820, 0, 42822, 0, 42824, 0, 42826, 0, 42828, 0, 42830,
- 0, 42832, 0, 42834, 0, 42836, 0, 42838, 0, 42840, 0, 42842, 0, 42844, 0, 42846,
- 0, 42848, 0, 42850, 0, 42852, 0, 42854, 0, 42856, 0, 42858, 0, 42860, 0, 42862,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42873, 0, 42875, 0, 0, 42878,
- 0, 42880, 0, 42882, 0, 42884, 0, 42886, 0, 0, 0, 0, 42891, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 16
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 65313, 65314, 65315, 65316, 65317, 65318, 65319, 65320, 65321, 65322, 65323, 65324, 65325, 65326, 65327,
- 65328, 65329, 65330, 65331, 65332, 65333, 65334, 65335, 65336, 65337, 65338, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
-
- // block 17
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 66560, 66561, 66562, 66563, 66564, 66565, 66566, 66567,
- 66568, 66569, 66570, 66571, 66572, 66573, 66574, 66575, 66576, 66577, 66578, 66579, 66580, 66581, 66582, 66583,
- 66584, 66585, 66586, 66587, 66588, 66589, 66590, 66591, 66592, 66593, 66594, 66595, 66596, 66597, 66598, 66599,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
-
- inline ::boost::uint32_t uppercase_lookup(::boost::uint32_t ch)
- {
- ::boost::uint32_t block_offset = uppercase_stage1[ch / 256] * 256;
- return uppercase_stage2[block_offset + ch % 256];
- }
-
-}}}} // namespace boost::spirit::unicode::detail
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/basic_chset.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/basic_chset.hpp
deleted file mode 100644
index f716ad03db..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/basic_chset.hpp
+++ /dev/null
@@ -1,249 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2009 Daniel Nuffer
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_BASIC_CHSET_APRIL_17_2008
-#define BOOST_SPIRIT_BASIC_CHSET_APRIL_17_2008
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-#include <bitset>
-#include <climits>
-#include <boost/spirit/home/support/char_set/range_run.hpp>
-
-namespace boost { namespace spirit { namespace support { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // basic_chset: basic character set implementation using range_run
- //
- ///////////////////////////////////////////////////////////////////////////
- template <typename Char>
- struct basic_chset
- {
- basic_chset() {}
- basic_chset(basic_chset const& arg_)
- : rr(arg_.rr) {}
-
- bool
- test(Char v) const
- {
- return rr.test(v);
- }
-
- void
- set(Char from, Char to)
- {
- rr.set(range<Char>(from, to));
- }
-
- void
- set(Char c)
- {
- rr.set(range<Char>(c, c));
- }
-
- void
- clear(Char from, Char to)
- {
- rr.clear(range<Char>(from, to));
- }
-
- void
- clear(Char c)
- {
- rr.clear(range<Char>(c, c));
- }
-
- void
- clear()
- {
- rr.clear();
- }
-
- void
- inverse()
- {
- basic_chset inv;
- inv.set(
- (std::numeric_limits<Char>::min)(),
- (std::numeric_limits<Char>::max)()
- );
- inv -= *this;
- swap(inv);
- }
-
- void
- swap(basic_chset& x)
- {
- rr.swap(x.rr);
- }
-
-
- basic_chset&
- operator|=(basic_chset const& x)
- {
- typedef typename range_run<Char>::const_iterator const_iterator;
- for (const_iterator iter = x.rr.begin(); iter != x.rr.end(); ++iter)
- rr.set(*iter);
- return *this;
- }
-
- basic_chset&
- operator&=(basic_chset const& x)
- {
- basic_chset inv;
- inv.set(
- (std::numeric_limits<Char>::min)(),
- (std::numeric_limits<Char>::max)()
- );
- inv -= x;
- *this -= inv;
- return *this;
- }
-
- basic_chset&
- operator-=(basic_chset const& x)
- {
- typedef typename range_run<Char>::const_iterator const_iterator;
- for (const_iterator iter = x.rr.begin(); iter != x.rr.end(); ++iter)
- rr.clear(*iter);
- return *this;
- }
-
- basic_chset&
- operator^=(basic_chset const& x)
- {
- basic_chset bma = x;
- bma -= *this;
- *this -= x;
- *this |= bma;
- return *this;
- }
-
- private: range_run<Char> rr;
- };
-
-#if (CHAR_BIT == 8)
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // basic_chset: specializations for 8 bit chars using std::bitset
- //
- ///////////////////////////////////////////////////////////////////////////
- template <typename Char>
- struct basic_chset_8bit
- {
- basic_chset_8bit() {}
- basic_chset_8bit(basic_chset_8bit const& arg_)
- : bset(arg_.bset) {}
-
- bool
- test(Char v) const
- {
- return bset.test((unsigned char)v);
- }
-
- void
- set(Char from, Char to)
- {
- for (int i = from; i <= to; ++i)
- bset.set((unsigned char)i);
- }
-
- void
- set(Char c)
- {
- bset.set((unsigned char)c);
- }
-
- void
- clear(Char from, Char to)
- {
- for (int i = from; i <= to; ++i)
- bset.reset((unsigned char)i);
- }
-
- void
- clear(Char c)
- {
- bset.reset((unsigned char)c);
- }
-
- void
- clear()
- {
- bset.reset();
- }
-
- void
- inverse()
- {
- bset.flip();
- }
-
- void
- swap(basic_chset_8bit& x)
- {
- std::swap(bset, x.bset);
- }
-
- basic_chset_8bit&
- operator|=(basic_chset_8bit const& x)
- {
- bset |= x.bset;
- return *this;
- }
-
- basic_chset_8bit&
- operator&=(basic_chset_8bit const& x)
- {
- bset &= x.bset;
- return *this;
- }
-
- basic_chset_8bit&
- operator-=(basic_chset_8bit const& x)
- {
- bset &= ~x.bset;
- return *this;
- }
-
- basic_chset_8bit&
- operator^=(basic_chset_8bit const& x)
- {
- bset ^= x.bset;
- return *this;
- }
-
- private: std::bitset<256> bset;
- };
-
- /////////////////////////////////
- template <>
- struct basic_chset<char>
- : basic_chset_8bit<char> {};
-
- /////////////////////////////////
- template <>
- struct basic_chset<signed char>
- : basic_chset_8bit<signed char> {};
-
- /////////////////////////////////
- template <>
- struct basic_chset<unsigned char>
- : basic_chset_8bit<unsigned char> {};
-
-#endif // #if (CHAR_BIT == 8)
-
-}}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range.hpp
deleted file mode 100644
index 1973889645..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range.hpp
+++ /dev/null
@@ -1,32 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_RANGE_MAY_16_2006_0720_PM)
-#define BOOST_SPIRIT_RANGE_MAY_16_2006_0720_PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-namespace boost { namespace spirit { namespace support { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- // A closed range (first, last)
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct range
- {
- typedef T value_type;
-
- range() : first(), last() {}
- range(T first_, T last_) : first(first_), last(last_) {}
-
- T first;
- T last;
- };
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_functions.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_functions.hpp
deleted file mode 100644
index ea2fb9f0ec..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_functions.hpp
+++ /dev/null
@@ -1,98 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_RANGE_FUNCTIONS_MAY_16_2006_0720_PM)
-#define BOOST_SPIRIT_RANGE_FUNCTIONS_MAY_16_2006_0720_PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <limits>
-
-namespace boost { namespace spirit { namespace support { namespace detail
-{
- template <typename Range>
- inline bool
- is_valid(Range const& range)
- {
- // test for valid ranges
- return range.first <= range.last;
- }
-
- template <typename Range>
- inline bool
- includes(Range const& range, Range const& other)
- {
- // see if two ranges intersect
- return (range.first <= other.first) && (range.last >= other.last);
- }
-
- template <typename Range>
- inline bool
- includes(Range const& range, typename Range::value_type val)
- {
- // see if val is in range
- return (range.first <= val) && (range.last >= val);
- }
-
- template <typename Range>
- inline bool
- can_merge(Range const& range, Range const& other)
- {
- // see if a 'range' overlaps, or is adjacent to
- // another range 'other', so we can merge them
-
- typedef typename Range::value_type value_type;
- typedef std::numeric_limits<value_type> limits;
-
- value_type decr_first =
- range.first == (limits::min)()
- ? range.first : range.first-1;
-
- value_type incr_last =
- range.last == (limits::max)()
- ? range.last : range.last+1;
-
- return (decr_first <= other.last) && (incr_last >= other.first);
- }
-
- template <typename Range>
- inline void
- merge(Range& result, Range const& other)
- {
- // merge two ranges
- if (result.first > other.first)
- result.first = other.first;
- if (result.last < other.last)
- result.last = other.last;
- }
-
- template <typename Range>
- struct range_compare
- {
- // compare functor with a value or another range
-
- typedef typename Range::value_type value_type;
-
- bool operator()(Range const& x, const value_type y) const
- {
- return x.first < y;
- }
-
- bool operator()(value_type const x, Range const& y) const
- {
- return x < y.first;
- }
-
- bool operator()(Range const& x, Range const& y) const
- {
- return x.first < y.first;
- }
- };
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_run.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_run.hpp
deleted file mode 100644
index 8c1bb590a4..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_run.hpp
+++ /dev/null
@@ -1,56 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_RANGE_RUN_MAY_16_2006_0801_PM)
-#define BOOST_SPIRIT_RANGE_RUN_MAY_16_2006_0801_PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/char_set/range.hpp>
-#include <vector>
-
-namespace boost { namespace spirit { namespace support { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- // range_run
- //
- // An implementation of a sparse bit (boolean) set. The set uses
- // a sorted vector of disjoint ranges. This class implements the
- // bare minimum essentials from which the full range of set
- // operators can be implemented. The set is constructed from
- // ranges. Internally, adjacent or overlapping ranges are
- // coalesced.
- //
- // range_runs are very space-economical in situations where there
- // are lots of ranges and a few individual disjoint values.
- // Searching is O(log n) where n is the number of ranges.
- //
- // { Low level interface }
- ///////////////////////////////////////////////////////////////////////////
- template <typename Char>
- class range_run
- {
- public:
-
- typedef range<Char> range_type;
- typedef std::vector<range_type> storage_type;
-
- void swap(range_run& other);
- bool test(Char v) const;
- void set(range_type const& range);
- void clear(range_type const& range);
- void clear();
-
- private:
-
- storage_type run;
- };
-}}}}
-
-#include <boost/spirit/home/support/char_set/range_run_impl.hpp>
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_run_impl.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_run_impl.hpp
deleted file mode 100644
index 9dd206454c..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/char_set/range_run_impl.hpp
+++ /dev/null
@@ -1,185 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_RANGE_RUN_MAY_16_2006_0807_PM)
-#define BOOST_SPIRIT_RANGE_RUN_MAY_16_2006_0807_PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/char_set/range_functions.hpp>
-#include <boost/assert.hpp>
-#include <algorithm>
-
-namespace boost { namespace spirit { namespace support { namespace detail
-{
- template <typename Run, typename Iterator, typename Range>
- inline bool
- try_merge(Run& run, Iterator iter, Range const& range)
- {
- // if *iter intersects with, or is adjacent to, 'range'...
- if (can_merge(*iter, range))
- {
- // merge range and *iter
- merge(*iter, range);
-
- // collapse all subsequent ranges that can merge with *iter:
- Iterator i = iter+1;
- // 1. skip subsequent ranges completely included in *iter
- while (i != run.end() && i->last <= iter->last)
- ++i;
- // 2. collapse next range if adjacent or overlapping with *iter
- if (i != run.end() && i->first-1 <= iter->last)
- {
- iter->last = i->last;
- ++i;
- }
-
- // erase all ranges that were collapsed
- run.erase(iter+1, i);
- return true;
- }
- return false;
- }
-
- template <typename Char>
- inline bool
- range_run<Char>::test(Char val) const
- {
- if (run.empty())
- return false;
-
- // search the ranges for one that potentially includes val
- typename storage_type::const_iterator iter =
- std::upper_bound(
- run.begin(), run.end(), val,
- range_compare<range_type>()
- );
-
- // return true if *(iter-1) includes val
- return iter != run.begin() && includes(*(--iter), val);
- }
-
- template <typename Char>
- inline void
- range_run<Char>::swap(range_run& other)
- {
- run.swap(other.run);
- }
-
- template <typename Char>
- void
- range_run<Char>::set(range_type const& range)
- {
- BOOST_ASSERT(is_valid(range));
- if (run.empty())
- {
- // the vector is empty, insert 'range'
- run.push_back(range);
- return;
- }
-
- // search the ranges for one that potentially includes 'range'
- typename storage_type::iterator iter =
- std::upper_bound(
- run.begin(), run.end(), range,
- range_compare<range_type>()
- );
-
- if (iter != run.begin())
- {
- // if *(iter-1) includes 'range', return early
- if (includes(*(iter-1), range))
- {
- return;
- }
-
- // if *(iter-1) can merge with 'range', merge them and return
- if (try_merge(run, iter-1, range))
- {
- return;
- }
- }
-
- // if *iter can merge with with 'range', merge them
- if (iter == run.end() || !try_merge(run, iter, range))
- {
- // no overlap, insert 'range'
- run.insert(iter, range);
- }
- }
-
- template <typename Char>
- void
- range_run<Char>::clear(range_type const& range)
- {
- BOOST_ASSERT(is_valid(range));
- if (!run.empty())
- {
- // search the ranges for one that potentially includes 'range'
- typename storage_type::iterator iter =
- std::upper_bound(
- run.begin(), run.end(), range,
- range_compare<range_type>()
- );
-
- // 'range' starts with or after another range:
- if (iter != run.begin())
- {
- typename storage_type::iterator const left_iter = iter-1;
-
- // 'range' starts after '*left_iter':
- if (left_iter->first < range.first)
- {
- // if 'range' is completely included inside '*left_iter':
- // need to break it apart into two ranges (punch a hole),
- if (left_iter->last > range.last)
- {
- Char save_last = left_iter->last;
- left_iter->last = range.first-1;
- run.insert(iter, range_type(range.last+1, save_last));
- return;
- }
- // if 'range' contains 'left_iter->last':
- // truncate '*left_iter' (clip its right)
- else if (left_iter->last >= range.first)
- {
- left_iter->last = range.first-1;
- }
- }
-
- // 'range' has the same left bound as '*left_iter': it
- // must be removed or truncated by the code below
- else
- {
- iter = left_iter;
- }
- }
-
- // remove or truncate subsequent ranges that overlap with 'range':
- typename storage_type::iterator i = iter;
- // 1. skip subsequent ranges completely included in 'range'
- while (i != run.end() && i->last <= range.last)
- ++i;
- // 2. clip left of next range if overlapping with 'range'
- if (i != run.end() && i->first <= range.last)
- i->first = range.last+1;
-
- // erase all ranges that 'range' contained
- run.erase(iter, i);
- }
- }
-
- template <typename Char>
- inline void
- range_run<Char>::clear()
- {
- run.clear();
- }
-}}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/common_terminals.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/common_terminals.hpp
deleted file mode 100644
index 7bf65312e6..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/common_terminals.hpp
+++ /dev/null
@@ -1,439 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_COMMON_PLACEHOLDERS_OCTOBER_16_2008_0102PM
-#define BOOST_SPIRIT_COMMON_PLACEHOLDERS_OCTOBER_16_2008_0102PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/terminal.hpp>
-#include <boost/spirit/home/support/char_encoding/standard.hpp>
-#include <boost/spirit/home/support/char_encoding/standard_wide.hpp>
-#include <boost/spirit/home/support/char_encoding/ascii.hpp>
-#include <boost/spirit/home/support/char_encoding/iso8859_1.hpp>
-#include <boost/spirit/home/support/char_class.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/proto/traits.hpp>
-
-#if defined(BOOST_SPIRIT_UNICODE)
-# include <boost/spirit/home/support/char_encoding/unicode.hpp>
-#endif
-
-namespace boost { namespace spirit
-{
- typedef mpl::vector<
- spirit::char_encoding::ascii
- , spirit::char_encoding::iso8859_1
- , spirit::char_encoding::standard
- , spirit::char_encoding::standard_wide
-#if defined(BOOST_SPIRIT_UNICODE)
- , spirit::char_encoding::unicode
-#endif
- >
- char_encodings;
-
- template <typename T>
- struct is_char_encoding : mpl::false_ {};
-
- template <>
- struct is_char_encoding<spirit::char_encoding::ascii> : mpl::true_ {};
-
- template <>
- struct is_char_encoding<spirit::char_encoding::iso8859_1> : mpl::true_ {};
-
- template <>
- struct is_char_encoding<spirit::char_encoding::standard> : mpl::true_ {};
-
- template <>
- struct is_char_encoding<spirit::char_encoding::standard_wide> : mpl::true_ {};
-
-#if defined(BOOST_SPIRIT_UNICODE)
- template <>
- struct is_char_encoding<spirit::char_encoding::unicode> : mpl::true_ {};
-#endif
-
- template <typename Encoding>
- struct encoding
- : proto::terminal<tag::char_code<tag::encoding, Encoding> >::type
- {};
-
- // Our basic terminals
- BOOST_SPIRIT_DEFINE_TERMINALS_NAME(
- ( verbatim, verbatim_type )
- ( no_delimit, no_delimit_type )
- ( lexeme, lexeme_type )
- ( no_skip, no_skip_type )
- ( omit, omit_type )
- ( raw, raw_type )
- ( as_string, as_string_type )
- ( as_wstring, as_wstring_type )
- ( inf, inf_type )
- ( eol, eol_type )
- ( eoi, eoi_type )
- ( buffer, buffer_type )
- ( true_, true_type )
- ( false_, false_type )
- ( matches, matches_type )
- ( hold, hold_type )
- ( strict, strict_type )
- ( relaxed, relaxed_type )
- ( duplicate, duplicate_type )
- ( expect, expect_type )
- )
-
- // Our extended terminals
- BOOST_SPIRIT_DEFINE_TERMINALS_NAME_EX(
- ( lit, lit_type )
- ( bin, bin_type )
- ( oct, oct_type )
- ( hex, hex_type )
- ( bool_, bool_type )
- ( ushort_, ushort_type )
- ( ulong_, ulong_type )
- ( uint_, uint_type )
- ( short_, short_type )
- ( long_, long_type )
- ( int_, int_type )
- ( ulong_long, ulong_long_type )
- ( long_long, long_long_type )
- ( float_, float_type )
- ( double_, double_type )
- ( long_double, long_double_type )
- ( repeat, repeat_type )
- ( eps, eps_type )
- ( pad, pad_type )
- ( byte_, byte_type )
- ( word, word_type )
- ( big_word, big_word_type )
- ( little_word, little_word_type )
- ( dword, dword_type )
- ( big_dword, big_dword_type )
- ( little_dword, little_dword_type )
- ( qword, qword_type )
- ( big_qword, big_qword_type )
- ( little_qword, little_qword_type )
- ( bin_float, bin_float_type )
- ( big_bin_float, big_bin_float_type )
- ( little_bin_float, little_bin_float_type )
- ( bin_double, bin_double_type )
- ( big_bin_double, big_bin_double_type )
- ( little_bin_double, little_bin_double_type )
- ( skip, skip_type )
- ( delimit, delimit_type )
- ( stream, stream_type )
- ( wstream, wstream_type )
- ( left_align, left_align_type )
- ( right_align, right_align_type )
- ( center, center_type )
- ( maxwidth, maxwidth_type )
- ( set_state, set_state_type )
- ( in_state, in_state_type )
- ( token, token_type )
- ( tokenid, tokenid_type )
- ( raw_token, raw_token_type )
- ( tokenid_mask, tokenid_mask_type )
- ( attr, attr_type )
- ( columns, columns_type )
- ( auto_, auto_type )
- )
-
- // special tags (used mainly for stateful tag types)
- namespace tag
- {
- struct attr_cast { BOOST_SPIRIT_IS_TAG() };
- struct as { BOOST_SPIRIT_IS_TAG() };
- }
-}}
-
-///////////////////////////////////////////////////////////////////////////////
-// Here we place the character-set sensitive placeholders. We have one set
-// each for ascii, iso8859_1, standard and standard_wide and unicode. These
-// placeholders are placed in its char-set namespace. For example, there exist
-// a placeholder spirit::ascii::alnum for ascii versions of alnum.
-
-#define BOOST_SPIRIT_TAG_CHAR_SPEC(charset) \
- typedef tag::char_code<tag::char_, charset> char_; \
- typedef tag::char_code<tag::string, charset> string; \
- /***/
-
-#ifdef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
-
-#define BOOST_SPIRIT_CHAR_SPEC(charset) \
- typedef spirit::terminal<tag::charset::char_> char_type; \
- typedef spirit::terminal<tag::charset::string> string_type; \
- /***/
-
-#else
-
-#define BOOST_SPIRIT_CHAR_SPEC(charset) \
- typedef spirit::terminal<tag::charset::char_> char_type; \
- char_type const char_ = char_type(); \
- \
- inline void silence_unused_warnings_##char_() { (void) char_; } \
- \
- typedef spirit::terminal<tag::charset::string> string_type; \
- string_type const string = string_type(); \
- \
- inline void silence_unused_warnings_##string() { (void) string; } \
- /***/
-
-#endif
-
-#ifdef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
-
-#define BOOST_SPIRIT_CHAR_CODE(name, charset) \
- typedef proto::terminal<tag::char_code<tag::name, charset> >::type \
- name##_type; \
- /***/
-
-#else
-
-#define BOOST_SPIRIT_CHAR_CODE(name, charset) \
- typedef proto::terminal<tag::char_code<tag::name, charset> >::type \
- name##_type; \
- name##_type const name = name##_type(); \
- \
- inline void silence_unused_warnings_##name() { (void) name; } \
- /***/
-
-
-#endif
-
-#define BOOST_SPIRIT_DEFINE_CHAR_CODES(charset) \
- namespace boost { namespace spirit { namespace tag { namespace charset \
- { \
- BOOST_SPIRIT_TAG_CHAR_SPEC(spirit::char_encoding::charset) \
- }}}} \
- namespace boost { namespace spirit { namespace charset \
- { \
- BOOST_SPIRIT_CHAR_SPEC(charset) \
- \
- BOOST_SPIRIT_CHAR_CODE(alnum, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(alpha, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(blank, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(cntrl, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(digit, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(graph, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(print, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(punct, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(space, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(xdigit, spirit::char_encoding::charset) \
- \
- BOOST_SPIRIT_CHAR_CODE(no_case, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(lower, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(upper, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(lowernum, spirit::char_encoding::charset) \
- BOOST_SPIRIT_CHAR_CODE(uppernum, spirit::char_encoding::charset) \
- }}} \
- /***/
-
-BOOST_SPIRIT_DEFINE_CHAR_CODES(ascii)
-BOOST_SPIRIT_DEFINE_CHAR_CODES(iso8859_1)
-BOOST_SPIRIT_DEFINE_CHAR_CODES(standard)
-BOOST_SPIRIT_DEFINE_CHAR_CODES(standard_wide)
-
-namespace boost { namespace spirit { namespace traits
-{
- template <typename Char>
- struct char_encoding_from_char;
-
- template <>
- struct char_encoding_from_char<char>
- : mpl::identity<spirit::char_encoding::standard>
- {};
-
- template <>
- struct char_encoding_from_char<wchar_t>
- : mpl::identity<spirit::char_encoding::standard_wide>
- {};
-
- template <typename T>
- struct char_encoding_from_char<T const>
- : char_encoding_from_char<T>
- {};
-}}}
-
-#if defined(BOOST_SPIRIT_UNICODE)
-BOOST_SPIRIT_DEFINE_CHAR_CODES(unicode)
-
- namespace boost { namespace spirit { namespace tag { namespace unicode
- {
- BOOST_SPIRIT_TAG_CHAR_SPEC(spirit::char_encoding::unicode)
- }}}}
-
- namespace boost { namespace spirit { namespace unicode
- {
-#define BOOST_SPIRIT_UNICODE_CHAR_CODE(name) \
- BOOST_SPIRIT_CHAR_CODE(name, spirit::char_encoding::unicode) \
-
- ///////////////////////////////////////////////////////////////////////////
- // Unicode Major Categories
- ///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CHAR_CODE(letter)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(mark)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(number)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(separator)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(other)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(punctuation)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(symbol)
-
- ///////////////////////////////////////////////////////////////////////////
- // Unicode General Categories
- ///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CHAR_CODE(uppercase_letter)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(lowercase_letter)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(titlecase_letter)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(modifier_letter)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(other_letter)
-
- BOOST_SPIRIT_UNICODE_CHAR_CODE(nonspacing_mark)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(enclosing_mark)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(spacing_mark)
-
- BOOST_SPIRIT_UNICODE_CHAR_CODE(decimal_number)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(letter_number)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(other_number)
-
- BOOST_SPIRIT_UNICODE_CHAR_CODE(space_separator)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(line_separator)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(paragraph_separator)
-
- BOOST_SPIRIT_UNICODE_CHAR_CODE(control)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(format)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(private_use)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(surrogate)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(unassigned)
-
- BOOST_SPIRIT_UNICODE_CHAR_CODE(dash_punctuation)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(open_punctuation)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(close_punctuation)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(connector_punctuation)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(other_punctuation)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(initial_punctuation)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(final_punctuation)
-
- BOOST_SPIRIT_UNICODE_CHAR_CODE(math_symbol)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(currency_symbol)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(modifier_symbol)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(other_symbol)
-
- ///////////////////////////////////////////////////////////////////////////
- // Unicode Derived Categories
- ///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CHAR_CODE(alphabetic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(uppercase)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(lowercase)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(white_space)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(hex_digit)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(noncharacter_code_point)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(default_ignorable_code_point)
-
- ///////////////////////////////////////////////////////////////////////////
- // Unicode Scripts
- ///////////////////////////////////////////////////////////////////////////
- BOOST_SPIRIT_UNICODE_CHAR_CODE(arabic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(imperial_aramaic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(armenian)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(avestan)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(balinese)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(bamum)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(bengali)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(bopomofo)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(braille)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(buginese)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(buhid)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(canadian_aboriginal)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(carian)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(cham)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(cherokee)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(coptic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(cypriot)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(cyrillic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(devanagari)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(deseret)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(egyptian_hieroglyphs)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(ethiopic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(georgian)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(glagolitic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(gothic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(greek)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(gujarati)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(gurmukhi)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(hangul)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(han)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(hanunoo)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(hebrew)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(hiragana)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(katakana_or_hiragana)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(old_italic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(javanese)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(kayah_li)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(katakana)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(kharoshthi)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(khmer)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(kannada)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(kaithi)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(tai_tham)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(lao)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(latin)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(lepcha)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(limbu)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(linear_b)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(lisu)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(lycian)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(lydian)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(malayalam)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(mongolian)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(meetei_mayek)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(myanmar)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(nko)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(ogham)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(ol_chiki)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(old_turkic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(oriya)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(osmanya)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(phags_pa)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(inscriptional_pahlavi)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(phoenician)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(inscriptional_parthian)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(rejang)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(runic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(samaritan)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(old_south_arabian)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(saurashtra)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(shavian)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(sinhala)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(sundanese)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(syloti_nagri)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(syriac)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(tagbanwa)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(tai_le)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(new_tai_lue)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(tamil)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(tai_viet)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(telugu)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(tifinagh)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(tagalog)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(thaana)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(thai)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(tibetan)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(ugaritic)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(vai)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(old_persian)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(cuneiform)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(yi)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(inherited)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(common)
- BOOST_SPIRIT_UNICODE_CHAR_CODE(unknown)
-
-#undef BOOST_SPIRIT_UNICODE_CHAR_CODE
- }}}
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/container.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/container.hpp
deleted file mode 100644
index 3df9e80c52..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/container.hpp
+++ /dev/null
@@ -1,588 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_CONTAINER_FEBRUARY_06_2007_1001AM)
-#define BOOST_SPIRIT_CONTAINER_FEBRUARY_06_2007_1001AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/attributes_fwd.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/optional.hpp>
-#include <boost/variant.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repeat.hpp>
-#include <boost/range/range_fwd.hpp>
-#include <iterator> // for std::iterator_traits
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- // This file contains some container utils for stl containers. The
- // utilities provided also accept spirit's unused_type; all no-ops.
- // Compiler optimization will easily strip these away.
- ///////////////////////////////////////////////////////////////////////////
-
- namespace detail
- {
- BOOST_MPL_HAS_XXX_TRAIT_DEF(value_type)
- BOOST_MPL_HAS_XXX_TRAIT_DEF(iterator)
- BOOST_MPL_HAS_XXX_TRAIT_DEF(size_type)
- BOOST_MPL_HAS_XXX_TRAIT_DEF(reference)
- }
-
- template <typename T, typename Enable/* = void*/>
- struct is_container
- : mpl::bool_<
- detail::has_value_type<T>::value &&
- detail::has_iterator<T>::value &&
- detail::has_size_type<T>::value &&
- detail::has_reference<T>::value>
- {};
-
- template <typename T>
- struct is_container<T&>
- : is_container<T>
- {};
-
- template <typename T>
- struct is_container<boost::optional<T> >
- : is_container<T>
- {};
-
-#if !defined(BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES)
- template<typename T>
- struct is_container<boost::variant<T> >
- : is_container<T>
- {};
-
- template<typename T0, typename T1, typename ...TN>
- struct is_container<boost::variant<T0, T1, TN...> >
- : mpl::bool_<is_container<T0>::value ||
- is_container<boost::variant<T1, TN...> >::value>
- {};
-
-#else
-#define BOOST_SPIRIT_IS_CONTAINER(z, N, data) \
- is_container<BOOST_PP_CAT(T, N)>::value || \
- /***/
-
- // make sure unused variant parameters do not affect the outcome
- template <>
- struct is_container<boost::detail::variant::void_>
- : mpl::false_
- {};
-
- template <BOOST_VARIANT_ENUM_PARAMS(typename T)>
- struct is_container<variant<BOOST_VARIANT_ENUM_PARAMS(T)> >
- : mpl::bool_<BOOST_PP_REPEAT(BOOST_VARIANT_LIMIT_TYPES
- , BOOST_SPIRIT_IS_CONTAINER, _) false>
- {};
-
-#undef BOOST_SPIRIT_IS_CONTAINER
-#endif
-
- template <typename T, typename Enable/* = void*/>
- struct is_iterator_range
- : mpl::false_
- {};
-
- template <typename T>
- struct is_iterator_range<iterator_range<T> >
- : mpl::true_
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename T>
- struct remove_value_const
- {
- typedef T type;
- };
-
- template <typename T>
- struct remove_value_const<T const>
- : remove_value_const<T>
- {};
-
- template <typename F, typename S>
- struct remove_value_const<std::pair<F, S> >
- {
- typedef typename remove_value_const<F>::type first_type;
- typedef typename remove_value_const<S>::type second_type;
- typedef std::pair<first_type, second_type> type;
- };
- }
-
- ///////////////////////////////////////////////////////////////////////
- //[customization_container_value_default
- template <typename Container, typename Enable/* = void*/>
- struct container_value
- : detail::remove_value_const<typename Container::value_type>
- {};
- //]
-
- template <typename T>
- struct container_value<T&>
- : container_value<T>
- {};
-
- // this will be instantiated if the optional holds a container
- template <typename T>
- struct container_value<boost::optional<T> >
- : container_value<T>
- {};
-
- // this will be instantiated if the variant holds a container
- template <BOOST_VARIANT_ENUM_PARAMS(typename T)>
- struct container_value<variant<BOOST_VARIANT_ENUM_PARAMS(T)> >
- {
- typedef typename
- variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types
- types;
- typedef typename
- mpl::find_if<types, is_container<mpl::_1> >::type
- iter;
-
- typedef typename container_value<
- typename mpl::if_<
- is_same<iter, typename mpl::end<types>::type>
- , unused_type, typename mpl::deref<iter>::type
- >::type
- >::type type;
- };
-
- //[customization_container_value_unused
- template <>
- struct container_value<unused_type>
- {
- typedef unused_type type;
- };
- //]
-
- template <>
- struct container_value<unused_type const>
- {
- typedef unused_type type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Container, typename Enable/* = void*/>
- struct container_iterator
- {
- typedef typename Container::iterator type;
- };
-
- template <typename Container>
- struct container_iterator<Container&>
- : container_iterator<Container>
- {};
-
- template <typename Container>
- struct container_iterator<Container const>
- {
- typedef typename Container::const_iterator type;
- };
-
- template <typename T>
- struct container_iterator<optional<T> >
- : container_iterator<T>
- {};
-
- template <typename T>
- struct container_iterator<optional<T> const>
- : container_iterator<T const>
- {};
-
- template <typename Iterator>
- struct container_iterator<iterator_range<Iterator> >
- {
- typedef Iterator type;
- };
-
- template <>
- struct container_iterator<unused_type>
- {
- typedef unused_type const* type;
- };
-
- template <>
- struct container_iterator<unused_type const>
- {
- typedef unused_type const* type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable/* = void*/>
- struct optional_attribute
- {
- typedef T const& type;
-
- static type call(T const& val)
- {
- return val;
- }
-
- static bool is_valid(T const&)
- {
- return true;
- }
- };
-
- template <typename T>
- struct optional_attribute<boost::optional<T> >
- {
- typedef T const& type;
-
- static type call(boost::optional<T> const& val)
- {
- return boost::get<T>(val);
- }
-
- static bool is_valid(boost::optional<T> const& val)
- {
- return !!val;
- }
- };
-
- template <typename T>
- typename optional_attribute<T>::type
- optional_value(T const& val)
- {
- return optional_attribute<T>::call(val);
- }
-
- inline unused_type optional_value(unused_type)
- {
- return unused;
- }
-
- template <typename T>
- bool has_optional_value(T const& val)
- {
- return optional_attribute<T>::is_valid(val);
- }
-
- inline bool has_optional_value(unused_type)
- {
- return true;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Container, typename T>
- bool push_back(Container& c, T const& val);
-
- //[customization_push_back_default
- template <typename Container, typename T, typename Enable/* = void*/>
- struct push_back_container
- {
- static bool call(Container& c, T const& val)
- {
- c.insert(c.end(), val);
- return true;
- }
- };
- //]
-
- template <typename Container, typename T>
- struct push_back_container<optional<Container>, T>
- {
- static bool call(boost::optional<Container>& c, T const& val)
- {
- if (!c)
- c = Container();
- return push_back(boost::get<Container>(c), val);
- }
- };
-
- namespace detail
- {
- template <typename T>
- struct push_back_visitor : public static_visitor<>
- {
- typedef bool result_type;
-
- push_back_visitor(T const& t) : t_(t) {}
-
- template <typename Container>
- bool push_back_impl(Container& c, mpl::true_) const
- {
- return push_back(c, t_);
- }
-
- template <typename T_>
- bool push_back_impl(T_&, mpl::false_) const
- {
- // this variant doesn't hold a container
- BOOST_ASSERT(false && "This variant doesn't hold a container");
- return false;
- }
-
- template <typename T_>
- bool operator()(T_& c) const
- {
- return push_back_impl(c, typename is_container<T_>::type());
- }
-
- T const& t_;
- };
- }
-
- template <BOOST_VARIANT_ENUM_PARAMS(typename T_), typename T>
- struct push_back_container<variant<BOOST_VARIANT_ENUM_PARAMS(T_)>, T>
- {
- static bool call(variant<BOOST_VARIANT_ENUM_PARAMS(T_)>& c, T const& val)
- {
- return apply_visitor(detail::push_back_visitor<T>(val), c);
- }
- };
-
- template <typename Container, typename T>
- bool push_back(Container& c, T const& val)
- {
- return push_back_container<Container, T>::call(c, val);
- }
-
- //[customization_push_back_unused
- template <typename Container>
- bool push_back(Container&, unused_type)
- {
- return true;
- }
- //]
-
- template <typename T>
- bool push_back(unused_type, T const&)
- {
- return true;
- }
-
- inline bool push_back(unused_type, unused_type)
- {
- return true;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Container, typename Enable/* = void*/>
- struct is_empty_container
- {
- static bool call(Container const& c)
- {
- return c.empty();
- }
- };
-
- template <typename Container>
- bool is_empty(Container const& c)
- {
- return is_empty_container<Container>::call(c);
- }
-
- inline bool is_empty(unused_type)
- {
- return true;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Ensure the attribute is actually a container type
- template <typename Container, typename Enable/* = void*/>
- struct make_container_attribute
- {
- static void call(Container&)
- {
- // for static types this function does nothing
- }
- };
-
- template <typename T>
- void make_container(T& t)
- {
- make_container_attribute<T>::call(t);
- }
-
- inline void make_container(unused_type)
- {
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Container, typename Enable/* = void*/>
- struct begin_container
- {
- static typename container_iterator<Container>::type call(Container& c)
- {
- return c.begin();
- }
- };
-
- template <typename Container>
- typename spirit::result_of::begin<Container>::type
- begin(Container& c)
- {
- return begin_container<Container>::call(c);
- }
-
- inline unused_type const*
- begin(unused_type)
- {
- return &unused;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Container, typename Enable/* = void*/>
- struct end_container
- {
- static typename container_iterator<Container>::type call(Container& c)
- {
- return c.end();
- }
- };
-
- template <typename Container>
- inline typename spirit::result_of::end<Container>::type
- end(Container& c)
- {
- return end_container<Container>::call(c);
- }
-
- inline unused_type const*
- end(unused_type)
- {
- return &unused;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Iterator, typename Enable/* = void*/>
- struct deref_iterator
- {
- typedef typename std::iterator_traits<Iterator>::reference type;
- static type call(Iterator& it)
- {
- return *it;
- }
- };
-
- template <typename Iterator>
- typename deref_iterator<Iterator>::type
- deref(Iterator& it)
- {
- return deref_iterator<Iterator>::call(it);
- }
-
- inline unused_type
- deref(unused_type const*)
- {
- return unused;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Iterator, typename Enable/* = void*/>
- struct next_iterator
- {
- static void call(Iterator& it)
- {
- ++it;
- }
- };
-
- template <typename Iterator>
- void next(Iterator& it)
- {
- next_iterator<Iterator>::call(it);
- }
-
- inline void next(unused_type const*)
- {
- // do nothing
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Iterator, typename Enable/* = void*/>
- struct compare_iterators
- {
- static bool call(Iterator const& it1, Iterator const& it2)
- {
- return it1 == it2;
- }
- };
-
- template <typename Iterator>
- bool compare(Iterator& it1, Iterator& it2)
- {
- return compare_iterators<Iterator>::call(it1, it2);
- }
-
- inline bool compare(unused_type const*, unused_type const*)
- {
- return false;
- }
-}}}
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit { namespace result_of
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct optional_value
- {
- typedef T type;
- };
-
- template <typename T>
- struct optional_value<boost::optional<T> >
- {
- typedef T type;
- };
-
- template <typename T>
- struct optional_value<boost::optional<T> const>
- {
- typedef T const type;
- };
-
- template <>
- struct optional_value<unused_type>
- {
- typedef unused_type type;
- };
-
- template <>
- struct optional_value<unused_type const>
- {
- typedef unused_type type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Container>
- struct begin
- : traits::container_iterator<Container>
- {};
-
- template <typename Container>
- struct end
- : traits::container_iterator<Container>
- {};
-
- template <typename Iterator>
- struct deref
- : traits::deref_iterator<Iterator>
- {};
-
- template <>
- struct deref<unused_type const*>
- {
- typedef unused_type type;
- };
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/context.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/context.hpp
deleted file mode 100644
index 3e7e35d578..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/context.hpp
+++ /dev/null
@@ -1,302 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2011 Thomas Heller
-
- Distributed under the 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_CONTEXT_OCTOBER_31_2008_0654PM)
-#define BOOST_SPIRIT_CONTEXT_OCTOBER_31_2008_0654PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/spirit/home/support/nonterminal/expand_arg.hpp>
-#include <boost/spirit/home/support/assert_msg.hpp>
-#include <boost/spirit/home/support/argument.hpp>
-#include <boost/spirit/home/support/limits.hpp>
-#include <boost/fusion/include/at.hpp>
-#include <boost/fusion/include/size.hpp>
-#include <boost/fusion/include/as_list.hpp>
-#include <boost/fusion/include/transform.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/at.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/terminal.hpp>
-#include <boost/phoenix/core/v2_eval.hpp>
-#include <boost/proto/proto_fwd.hpp> // for transform placeholders
-
-///////////////////////////////////////////////////////////////////////////////
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
-
-#define SPIRIT_DECLARE_ATTRIBUTE(z, n, data) \
- typedef phoenix::actor<attribute<n> > \
- BOOST_PP_CAT(BOOST_PP_CAT(_r, n), _type); \
- phoenix::actor<attribute<n> > const \
- BOOST_PP_CAT(_r, n) = BOOST_PP_CAT(BOOST_PP_CAT(_r, n), _type)();
- /***/
-#define SPIRIT_USING_ATTRIBUTE(z, n, data) \
- using spirit::BOOST_PP_CAT(BOOST_PP_CAT(_r, n), _type); \
- using spirit::BOOST_PP_CAT(_r, n); \
- /***/
-
-#else
-
-#define SPIRIT_DECLARE_ATTRIBUTE(z, n, data) \
- typedef phoenix::actor<attribute<n> > \
- BOOST_PP_CAT(BOOST_PP_CAT(_r, n), _type); \
- /***/
-#define SPIRIT_USING_ATTRIBUTE(z, n, data) \
- using spirit::BOOST_PP_CAT(BOOST_PP_CAT(_r, n), _type); \
- /***/
-
-#endif
-
-namespace boost { namespace spirit
-{
- template <int>
- struct attribute;
-
- template <int>
- struct local_variable;
-}}
-
-BOOST_PHOENIX_DEFINE_CUSTOM_TERMINAL(
- template <int N>
- , boost::spirit::attribute<N>
- , mpl::false_ // is not nullary
- , v2_eval(
- proto::make<
- boost::spirit::attribute<N>()
- >
- , proto::call<
- functional::env(proto::_state)
- >
- )
-)
-
-BOOST_PHOENIX_DEFINE_CUSTOM_TERMINAL(
- template <int N>
- , boost::spirit::local_variable<N>
- , mpl::false_ // is not nullary
- , v2_eval(
- proto::make<
- boost::spirit::local_variable<N>()
- >
- , proto::call<
- functional::env(proto::_state)
- >
- )
-)
-
-namespace boost { namespace spirit
-{
- template <typename Attributes, typename Locals>
- struct context
- {
- typedef Attributes attributes_type;
- typedef Locals locals_type;
-
- context(typename Attributes::car_type attribute)
- : attributes(attribute, fusion::nil_()), locals() {}
-
- template <typename Args, typename Context>
- context(
- typename Attributes::car_type attribute
- , Args const& args
- , Context& caller_context
- ) : attributes(
- attribute
- , fusion::as_list(
- fusion::transform(
- args
- , detail::expand_arg<Context>(caller_context)
- )
- )
- )
- , locals() {}
-
- context(Attributes const& attributes_)
- : attributes(attributes_), locals() {}
-
- Attributes attributes; // The attributes
- Locals locals; // Local variables
- };
-
- template <typename Context>
- struct attributes_of
- {
- typedef typename Context::attributes_type type;
- };
-
- template <typename Context>
- struct attributes_of<Context const>
- {
- typedef typename Context::attributes_type const type;
- };
-
- template <typename Context>
- struct attributes_of<Context &>
- : attributes_of<Context>
- {};
-
- template <typename Context>
- struct locals_of
- {
- typedef typename Context::locals_type type;
- };
-
- template <typename Context>
- struct locals_of<Context const>
- {
- typedef typename Context::locals_type const type;
- };
-
- template <typename Context>
- struct locals_of<Context &>
- {
- typedef typename Context::locals_type type;
- };
-
- template <int N>
- struct attribute
- {
- typedef mpl::true_ no_nullary;
-
- template <typename Env>
- struct result
- {
- typedef typename
- attributes_of<typename
- mpl::at_c<typename Env::args_type, 1>::type
- >::type
- attributes_type;
-
- typedef typename
- fusion::result_of::size<attributes_type>::type
- attributes_size;
-
- // report invalid argument not found (N is out of bounds)
- BOOST_SPIRIT_ASSERT_MSG(
- (N < attributes_size::value),
- index_is_out_of_bounds, ());
-
- typedef typename
- fusion::result_of::at_c<attributes_type, N>::type
- type;
- };
-
- template <typename Env>
- typename result<Env>::type
- eval(Env const& env) const
- {
- return fusion::at_c<N>((fusion::at_c<1>(env.args())).attributes);
- }
- };
-
- template <int N>
- struct local_variable
- {
- typedef mpl::true_ no_nullary;
-
- template <typename Env>
- struct result
- {
- typedef typename
- locals_of<typename
- mpl::at_c<typename Env::args_type, 1>::type
- >::type
- locals_type;
-
- typedef typename
- fusion::result_of::size<locals_type>::type
- locals_size;
-
- // report invalid argument not found (N is out of bounds)
- BOOST_SPIRIT_ASSERT_MSG(
- (N < locals_size::value),
- index_is_out_of_bounds, ());
-
- typedef typename
- fusion::result_of::at_c<locals_type, N>::type
- type;
- };
-
- template <typename Env>
- typename result<Env>::type
- eval(Env const& env) const
- {
- return get_arg<N>((fusion::at_c<1>(env.args())).locals);
- }
- };
-
- typedef phoenix::actor<attribute<0> > _val_type;
- typedef phoenix::actor<attribute<0> > _r0_type;
- typedef phoenix::actor<attribute<1> > _r1_type;
- typedef phoenix::actor<attribute<2> > _r2_type;
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- // _val refers to the 'return' value of a rule (same as _r0)
- // _r1, _r2, ... refer to the rule arguments
- _val_type const _val = _val_type();
- _r0_type const _r0 = _r0_type();
- _r1_type const _r1 = _r1_type();
- _r2_type const _r2 = _r2_type();
-#endif
-
- // Bring in the rest of the attributes (_r4 .. _rN+1), using PP
- BOOST_PP_REPEAT_FROM_TO(
- 3, SPIRIT_ATTRIBUTES_LIMIT, SPIRIT_DECLARE_ATTRIBUTE, _)
-
- typedef phoenix::actor<local_variable<0> > _a_type;
- typedef phoenix::actor<local_variable<1> > _b_type;
- typedef phoenix::actor<local_variable<2> > _c_type;
- typedef phoenix::actor<local_variable<3> > _d_type;
- typedef phoenix::actor<local_variable<4> > _e_type;
- typedef phoenix::actor<local_variable<5> > _f_type;
- typedef phoenix::actor<local_variable<6> > _g_type;
- typedef phoenix::actor<local_variable<7> > _h_type;
- typedef phoenix::actor<local_variable<8> > _i_type;
- typedef phoenix::actor<local_variable<9> > _j_type;
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- // _a, _b, ... refer to the local variables of a rule
- _a_type const _a = _a_type();
- _b_type const _b = _b_type();
- _c_type const _c = _c_type();
- _d_type const _d = _d_type();
- _e_type const _e = _e_type();
- _f_type const _f = _f_type();
- _g_type const _g = _g_type();
- _h_type const _h = _h_type();
- _i_type const _i = _i_type();
- _j_type const _j = _j_type();
-#endif
-
- // You can bring these in with the using directive
- // without worrying about bringing in too much.
- namespace labels
- {
- BOOST_PP_REPEAT(SPIRIT_ARGUMENTS_LIMIT, SPIRIT_USING_ARGUMENT, _)
- BOOST_PP_REPEAT(SPIRIT_ATTRIBUTES_LIMIT, SPIRIT_USING_ATTRIBUTE, _)
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
- using spirit::_val;
- using spirit::_a;
- using spirit::_b;
- using spirit::_c;
- using spirit::_d;
- using spirit::_e;
- using spirit::_f;
- using spirit::_g;
- using spirit::_h;
- using spirit::_i;
- using spirit::_j;
-#endif
- }
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/as_variant.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/as_variant.hpp
deleted file mode 100644
index 9312042ed7..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/as_variant.hpp
+++ /dev/null
@@ -1,114 +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)
-==============================================================================*/
-#ifndef BOOST_PP_IS_ITERATING
-#if !defined(BOOST_SPIRIT_AS_VARIANT_NOVEMBER_16_2007_0420PM)
-#define BOOST_SPIRIT_AS_VARIANT_NOVEMBER_16_2007_0420PM
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/variant/variant_fwd.hpp>
-#include <boost/fusion/include/size.hpp>
-#include <boost/fusion/include/begin.hpp>
-#include <boost/fusion/include/next.hpp>
-#include <boost/fusion/include/value_of.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/push_back.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/limits/list.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit { namespace detail
-{
- template <int size>
- struct as_variant_impl;
-
-#if !defined(BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES)
-#else
- template <>
- struct as_variant_impl<0>
- {
- template <typename Iterator>
- struct apply
- {
- typedef variant<> type;
- };
- };
-#endif
-
-#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \
- typedef typename fusion::result_of::next<BOOST_PP_CAT(I, n)>::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<BOOST_PP_CAT(I, n)>::type \
- BOOST_PP_CAT(T, n);
-
-#define BOOST_PP_FILENAME_1 <boost/spirit/home/support/detail/as_variant.hpp>
-
-#if !defined(BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES)
-#define BOOST_PP_ITERATION_LIMITS (1, BOOST_MPL_LIMIT_LIST_SIZE)
-#else
-#define BOOST_PP_ITERATION_LIMITS (1, BOOST_VARIANT_LIMIT_TYPES)
-#endif
-
-#include BOOST_PP_ITERATE()
-
-#undef BOOST_FUSION_NEXT_ITERATOR
-#undef BOOST_FUSION_NEXT_CALL_ITERATOR
-#undef BOOST_FUSION_VALUE_OF_ITERATOR
-
- template <typename Sequence>
- struct as_variant
- {
- // build a variant generator being able to generate a variant holding
- // all of the types as given in the typelist
- typedef typename
- detail::as_variant_impl<fusion::result_of::size<Sequence>::value>
- gen;
-
- // use this generator to create the actual variant
- typedef typename gen::template apply<
- typename fusion::result_of::begin<Sequence>::type
- >::type
- type;
- };
-}}}
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
- template <>
- struct as_variant_impl<N>
- {
- template <typename I0>
- struct apply
- {
- BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _)
- BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _)
- typedef variant<BOOST_PP_ENUM_PARAMS(N, T)> type;
- };
- };
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/get_encoding.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/get_encoding.hpp
deleted file mode 100644
index ac514a918d..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/get_encoding.hpp
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// 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(BOOST_SPIRIT_GET_ENCODING_JANUARY_13_2009_1255PM)
-#define BOOST_SPIRIT_GET_ENCODING_JANUARY_13_2009_1255PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/identity.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit { namespace detail
-{
- template <typename Modifiers, typename Encoding>
- struct get_implicit_encoding
- {
- // Extract the implicit encoding from the Modifiers
- // If one is not found, Encoding is used. The explicit
- // encoding is the first viable encoding that can be
- // extracted from the Modifiers (there can be more than one).
-
- typedef typename
- mpl::find_if<
- char_encodings,
- has_modifier<Modifiers, tag::char_encoding_base<mpl::_1> >
- >::type
- iter;
-
- typedef typename
- mpl::eval_if<
- is_same<iter, typename mpl::end<char_encodings>::type>,
- mpl::identity<Encoding>,
- mpl::deref<iter>
- >::type
- type;
- };
-
- template <typename Modifiers, typename Encoding>
- struct get_encoding
- {
- // Extract the explicit encoding from the Modifiers
- // If one is not found, get implicit encoding (see above).
- // Explicit encoding is the encoding explicitly declared
- // using the encoding[c] directive.
-
- typedef typename
- mpl::find_if<
- char_encodings,
- has_modifier<Modifiers, tag::char_code<tag::encoding, mpl::_1> >
- >::type
- iter;
-
- typedef typename
- mpl::eval_if<
- is_same<iter, typename mpl::end<char_encodings>::type>,
- get_implicit_encoding<Modifiers, Encoding>,
- mpl::deref<iter>
- >::type
- type;
- };
-
- template <typename Modifiers, typename Encoding, bool case_modifier = false>
- struct get_encoding_with_case : mpl::identity<Encoding> {};
-
- template <typename Modifiers, typename Encoding>
- struct get_encoding_with_case<Modifiers, Encoding, true>
- : get_encoding<Modifiers, Encoding> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/hold_any.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/hold_any.hpp
deleted file mode 100644
index 5d1bdfa632..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/hold_any.hpp
+++ /dev/null
@@ -1,475 +0,0 @@
-/*=============================================================================
- Copyright (c) 2007-2011 Hartmut Kaiser
- Copyright (c) Christopher Diggins 2005
- Copyright (c) Pablo Aguilar 2005
- Copyright (c) Kevlin Henney 2001
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- The class boost::spirit::hold_any is built based on the any class
- published here: http://www.codeproject.com/cpp/dynamic_typing.asp. It adds
- support for std streaming operator<<() and operator>>().
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_HOLD_ANY_MAY_02_2007_0857AM)
-#define BOOST_SPIRIT_HOLD_ANY_MAY_02_2007_0857AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/type_traits/is_reference.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/static_assert.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/assert.hpp>
-#include <boost/core/typeinfo.hpp>
-
-#include <algorithm>
-#include <iosfwd>
-#include <stdexcept>
-#include <typeinfo>
-
-///////////////////////////////////////////////////////////////////////////////
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(push)
-# pragma warning(disable: 4100) // 'x': unreferenced formal parameter
-# pragma warning(disable: 4127) // conditional expression is constant
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit
-{
- struct bad_any_cast
- : std::bad_cast
- {
- bad_any_cast(boost::core::typeinfo const& src, boost::core::typeinfo const& dest)
- : from(src.name()), to(dest.name())
- {}
-
- const char* what() const BOOST_NOEXCEPT_OR_NOTHROW BOOST_OVERRIDE
- {
- return "bad any cast";
- }
-
- const char* from;
- const char* to;
- };
-
- namespace detail
- {
- // function pointer table
- template <typename Char>
- struct fxn_ptr_table
- {
- boost::core::typeinfo const& (*get_type)();
- void (*static_delete)(void**);
- void (*destruct)(void**);
- void (*clone)(void* const*, void**);
- void (*move)(void* const*, void**);
- std::basic_istream<Char>& (*stream_in)(std::basic_istream<Char>&, void**);
- std::basic_ostream<Char>& (*stream_out)(std::basic_ostream<Char>&, void* const*);
- };
-
- // static functions for small value-types
- template <typename Small>
- struct fxns;
-
- template <>
- struct fxns<mpl::true_>
- {
- template<typename T, typename Char>
- struct type
- {
- static boost::core::typeinfo const& get_type()
- {
- return BOOST_CORE_TYPEID(T);
- }
- static void static_delete(void** x)
- {
- reinterpret_cast<T*>(x)->~T();
- }
- static void destruct(void** x)
- {
- reinterpret_cast<T*>(x)->~T();
- }
- static void clone(void* const* src, void** dest)
- {
- new (dest) T(*reinterpret_cast<T const*>(src));
- }
- static void move(void* const* src, void** dest)
- {
- *reinterpret_cast<T*>(dest) =
- *reinterpret_cast<T const*>(src);
- }
- static std::basic_istream<Char>&
- stream_in (std::basic_istream<Char>& i, void** obj)
- {
- i >> *reinterpret_cast<T*>(obj);
- return i;
- }
- static std::basic_ostream<Char>&
- stream_out(std::basic_ostream<Char>& o, void* const* obj)
- {
- o << *reinterpret_cast<T const*>(obj);
- return o;
- }
- };
- };
-
- // static functions for big value-types (bigger than a void*)
- template <>
- struct fxns<mpl::false_>
- {
- template<typename T, typename Char>
- struct type
- {
- static boost::core::typeinfo const& get_type()
- {
- return BOOST_CORE_TYPEID(T);
- }
- static void static_delete(void** x)
- {
- // destruct and free memory
- delete static_cast<T*>(*x);
- }
- static void destruct(void** x)
- {
- // destruct only, we'll reuse memory
- static_cast<T*>(*x)->~T();
- }
- static void clone(void* const* src, void** dest)
- {
- *dest = new T(*static_cast<T const*>(*src));
- }
- static void move(void* const* src, void** dest)
- {
- *static_cast<T*>(*dest) =
- *static_cast<T const*>(*src);
- }
- static std::basic_istream<Char>&
- stream_in(std::basic_istream<Char>& i, void** obj)
- {
- i >> *static_cast<T*>(*obj);
- return i;
- }
- static std::basic_ostream<Char>&
- stream_out(std::basic_ostream<Char>& o, void* const* obj)
- {
- o << *static_cast<T const*>(*obj);
- return o;
- }
- };
- };
-
- template <typename T>
- struct get_table
- {
- typedef mpl::bool_<(sizeof(T) <= sizeof(void*))> is_small;
-
- template <typename Char>
- static fxn_ptr_table<Char>* get()
- {
- static fxn_ptr_table<Char> static_table =
- {
- fxns<is_small>::template type<T, Char>::get_type,
- fxns<is_small>::template type<T, Char>::static_delete,
- fxns<is_small>::template type<T, Char>::destruct,
- fxns<is_small>::template type<T, Char>::clone,
- fxns<is_small>::template type<T, Char>::move,
- fxns<is_small>::template type<T, Char>::stream_in,
- fxns<is_small>::template type<T, Char>::stream_out
- };
- return &static_table;
- }
- };
-
- ///////////////////////////////////////////////////////////////////////
- struct empty {};
-
- template <typename Char>
- inline std::basic_istream<Char>&
- operator>> (std::basic_istream<Char>& i, empty&)
- {
- // If this assertion fires you tried to insert from a std istream
- // into an empty hold_any instance. This simply can't work, because
- // there is no way to figure out what type to extract from the
- // stream.
- // The only way to make this work is to assign an arbitrary
- // value of the required type to the hold_any instance you want to
- // stream to. This assignment has to be executed before the actual
- // call to the operator>>().
- BOOST_ASSERT(false &&
- "Tried to insert from a std istream into an empty "
- "hold_any instance");
- return i;
- }
-
- template <typename Char>
- inline std::basic_ostream<Char>&
- operator<< (std::basic_ostream<Char>& o, empty const&)
- {
- return o;
- }
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Char>
- class basic_hold_any
- {
- public:
- // constructors
- template <typename T>
- explicit basic_hold_any(T const& x)
- : table(spirit::detail::get_table<T>::template get<Char>()), object(0)
- {
- new_object(object, x,
- typename spirit::detail::get_table<T>::is_small());
- }
-
- basic_hold_any()
- : table(spirit::detail::get_table<spirit::detail::empty>::template get<Char>()),
- object(0)
- {
- }
-
- basic_hold_any(basic_hold_any const& x)
- : table(spirit::detail::get_table<spirit::detail::empty>::template get<Char>()),
- object(0)
- {
- assign(x);
- }
-
- ~basic_hold_any()
- {
- table->static_delete(&object);
- }
-
- // assignment
- basic_hold_any& assign(basic_hold_any const& x)
- {
- if (&x != this) {
- // are we copying between the same type?
- if (table == x.table) {
- // if so, we can avoid reallocation
- table->move(&x.object, &object);
- }
- else {
- reset();
- x.table->clone(&x.object, &object);
- table = x.table;
- }
- }
- return *this;
- }
-
- template <typename T>
- basic_hold_any& assign(T const& x)
- {
- // are we copying between the same type?
- spirit::detail::fxn_ptr_table<Char>* x_table =
- spirit::detail::get_table<T>::template get<Char>();
- if (table == x_table) {
- // if so, we can avoid deallocating and re-use memory
- table->destruct(&object); // first destruct the old content
- if (spirit::detail::get_table<T>::is_small::value) {
- // create copy on-top of object pointer itself
- new (&object) T(x);
- }
- else {
- // create copy on-top of old version
- new (object) T(x);
- }
- }
- else {
- if (spirit::detail::get_table<T>::is_small::value) {
- // create copy on-top of object pointer itself
- table->destruct(&object); // first destruct the old content
- new (&object) T(x);
- }
- else {
- reset(); // first delete the old content
- object = new T(x);
- }
- table = x_table; // update table pointer
- }
- return *this;
- }
-
- template <typename T>
- static void new_object(void*& object, T const& x, mpl::true_)
- {
- new (&object) T(x);
- }
-
- template <typename T>
- static void new_object(void*& object, T const& x, mpl::false_)
- {
- object = new T(x);
- }
-
- // assignment operator
-#ifdef BOOST_HAS_RVALUE_REFS
- template <typename T>
- basic_hold_any& operator=(T&& x)
- {
- return assign(std::forward<T>(x));
- }
-#else
- template <typename T>
- basic_hold_any& operator=(T& x)
- {
- return assign(x);
- }
-
- template <typename T>
- basic_hold_any& operator=(T const& x)
- {
- return assign(x);
- }
-#endif
- // copy assignment operator
- basic_hold_any& operator=(basic_hold_any const& x)
- {
- return assign(x);
- }
-
- // utility functions
- basic_hold_any& swap(basic_hold_any& x)
- {
- std::swap(table, x.table);
- std::swap(object, x.object);
- return *this;
- }
-
- boost::core::typeinfo const& type() const
- {
- return table->get_type();
- }
-
- template <typename T>
- T const& cast() const
- {
- if (type() != BOOST_CORE_TYPEID(T))
- throw bad_any_cast(type(), BOOST_CORE_TYPEID(T));
-
- return spirit::detail::get_table<T>::is_small::value ?
- *reinterpret_cast<T const*>(&object) :
- *reinterpret_cast<T const*>(object);
- }
-
-// implicit casting is disabled by default for compatibility with boost::any
-#ifdef BOOST_SPIRIT_ANY_IMPLICIT_CASTING
- // automatic casting operator
- template <typename T>
- operator T const& () const { return cast<T>(); }
-#endif // implicit casting
-
- bool empty() const
- {
- return table == spirit::detail::get_table<spirit::detail::empty>::template get<Char>();
- }
-
- void reset()
- {
- if (!empty())
- {
- table->static_delete(&object);
- table = spirit::detail::get_table<spirit::detail::empty>::template get<Char>();
- object = 0;
- }
- }
-
- // these functions have been added in the assumption that the embedded
- // type has a corresponding operator defined, which is completely safe
- // because spirit::hold_any is used only in contexts where these operators
- // do exist
- template <typename Char_>
- friend inline std::basic_istream<Char_>&
- operator>> (std::basic_istream<Char_>& i, basic_hold_any<Char_>& obj)
- {
- return obj.table->stream_in(i, &obj.object);
- }
-
- template <typename Char_>
- friend inline std::basic_ostream<Char_>&
- operator<< (std::basic_ostream<Char_>& o, basic_hold_any<Char_> const& obj)
- {
- return obj.table->stream_out(o, &obj.object);
- }
-
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
- private: // types
- template <typename T, typename Char_>
- friend T* any_cast(basic_hold_any<Char_> *);
-#else
- public: // types (public so any_cast can be non-friend)
-#endif
- // fields
- spirit::detail::fxn_ptr_table<Char>* table;
- void* object;
- };
-
- // boost::any-like casting
- template <typename T, typename Char>
- inline T* any_cast (basic_hold_any<Char>* operand)
- {
- if (operand && operand->type() == BOOST_CORE_TYPEID(T)) {
- return spirit::detail::get_table<T>::is_small::value ?
- reinterpret_cast<T*>(&operand->object) :
- reinterpret_cast<T*>(operand->object);
- }
- return 0;
- }
-
- template <typename T, typename Char>
- inline T const* any_cast(basic_hold_any<Char> const* operand)
- {
- return any_cast<T>(const_cast<basic_hold_any<Char>*>(operand));
- }
-
- template <typename T, typename Char>
- T any_cast(basic_hold_any<Char>& operand)
- {
- typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type nonref;
-
-
- nonref* result = any_cast<nonref>(&operand);
- if(!result)
- boost::throw_exception(bad_any_cast(operand.type(), BOOST_CORE_TYPEID(T)));
- return *result;
- }
-
- template <typename T, typename Char>
- T const& any_cast(basic_hold_any<Char> const& operand)
- {
- typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type nonref;
-
-
- return any_cast<nonref const&>(const_cast<basic_hold_any<Char> &>(operand));
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // backwards compatibility
- typedef basic_hold_any<char> hold_any;
- typedef basic_hold_any<wchar_t> whold_any;
-
- namespace traits
- {
- template <typename T>
- struct is_hold_any : mpl::false_ {};
-
- template <typename Char>
- struct is_hold_any<basic_hold_any<Char> > : mpl::true_ {};
- }
-
-}} // namespace boost::spirit
-
-///////////////////////////////////////////////////////////////////////////////
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(pop)
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/is_spirit_tag.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/is_spirit_tag.hpp
deleted file mode 100644
index e8f9f6dc2a..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/is_spirit_tag.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_SUPPORT_DETAIL_IS_SPIRIT_TAG_MAR_28_2011_0341PM)
-#define BOOST_SPIRIT_SUPPORT_DETAIL_IS_SPIRIT_TAG_MAR_28_2011_0341PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#define BOOST_SPIRIT_IS_TAG() typedef void is_spirit_tag;
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/make_cons.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/make_cons.hpp
deleted file mode 100644
index 488f19c4cc..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/make_cons.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_MAKE_CONS_OCTOBER_16_2008_1252PM
-#define BOOST_SPIRIT_MAKE_CONS_OCTOBER_16_2008_1252PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/fusion/include/cons.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/type_traits/is_abstract.hpp>
-#include <boost/type_traits/is_function.hpp>
-#include <boost/type_traits/add_reference.hpp>
-#include <boost/utility/enable_if.hpp>
-
-namespace boost { namespace spirit { namespace detail
-{
- template <typename T>
- struct as_meta_element
- : mpl::eval_if_c<is_abstract<T>::value || is_function<T>::value
- , add_reference<T>, remove_const<T> >
- {};
-
- template <typename T>
- struct as_meta_element<T&> : as_meta_element<T> // always store by value
- {};
-
- template <typename T, int N>
- struct as_meta_element<T[N]>
- {
- typedef const T(&type)[N];
- };
-
- namespace result_of
- {
- template <typename Car, typename Cdr = fusion::nil_>
- struct make_cons
- {
- typedef typename as_meta_element<Car>::type car_type; typedef typename fusion::cons<car_type, Cdr> type;
- };
- }
-
- template <typename Car, typename Cdr>
- fusion::cons<typename as_meta_element<Car>::type, Cdr>
- make_cons(Car const& car, Cdr const& cdr)
- {
- typedef typename as_meta_element<Car>::type car_type;
- typedef typename fusion::cons<car_type, Cdr> result;
- return result(car, cdr);
- }
-
- template <typename Car>
- fusion::cons<typename as_meta_element<Car>::type>
- make_cons(Car const& car)
- {
- typedef typename as_meta_element<Car>::type car_type;
- typedef typename fusion::cons<car_type> result;
- return result(car);
- }
-
-#if defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ == 0)
- // workaround for gcc-4.0 bug where illegal function types
- // can be formed (const is added to function type)
- // description: http://lists.boost.org/Archives/boost/2009/04/150743.php
- template <typename Car>
- fusion::cons<typename as_meta_element<Car>::type>
- make_cons(Car& car, typename enable_if<is_function<Car> >::type* = 0)
- {
- typedef typename as_meta_element<Car>::type car_type;
- typedef typename fusion::cons<car_type> result;
- return result(car);
- }
-#endif
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/make_vector.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/make_vector.hpp
deleted file mode 100644
index 32a1eabaca..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/make_vector.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2010 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_SPIRIT_SUPPORT_DETAIL_MAKE_VECTOR_HPP
-#define BOOST_SPIRIT_SUPPORT_DETAIL_MAKE_VECTOR_HPP
-
-#include <boost/fusion/include/make_vector.hpp>
-
-namespace boost { namespace spirit { namespace detail
-{
- namespace result_of
- {
- using fusion::result_of::make_vector;
- }
- using fusion::make_vector;
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/pow10.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/pow10.hpp
deleted file mode 100644
index 4559d7d939..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/pow10.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_SUPPORT_DETAIL_POW10_HPP
-#define BOOST_SPIRIT_SUPPORT_DETAIL_POW10_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <cfloat>
-#include <boost/config/no_tr1/cmath.hpp>
-#include <boost/limits.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/numeric_traits.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(push)
-# pragma warning(disable: 4244) // conversion from 'double' to 'float', possible loss of data
-#endif
-
-namespace boost { namespace spirit { namespace traits
-{
- template <typename T, typename Enable/* = void*/>
- struct pow10_helper
- {
- static T call(unsigned dim)
- {
- using namespace std; // allow for ADL to find the correct overload
- return pow(T(10), T(dim));
- }
- };
-
- template <>
- struct pow10_helper<unused_type>
- {
- static unused_type call(unused_type)
- {
- return unused;
- }
- };
-
-#if (DBL_MAX_10_EXP == 308) // for IEEE-754
- template <>
- struct pow10_helper<double>
- {
- static double call(unsigned dim)
- {
- static double const exponents[] =
- {
- 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
- 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,
- 1e20, 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29,
- 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38, 1e39,
- 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46, 1e47, 1e48, 1e49,
- 1e50, 1e51, 1e52, 1e53, 1e54, 1e55, 1e56, 1e57, 1e58, 1e59,
- 1e60, 1e61, 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69,
- 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77, 1e78, 1e79,
- 1e80, 1e81, 1e82, 1e83, 1e84, 1e85, 1e86, 1e87, 1e88, 1e89,
- 1e90, 1e91, 1e92, 1e93, 1e94, 1e95, 1e96, 1e97, 1e98, 1e99,
- 1e100, 1e101, 1e102, 1e103, 1e104, 1e105, 1e106, 1e107, 1e108, 1e109,
- 1e110, 1e111, 1e112, 1e113, 1e114, 1e115, 1e116, 1e117, 1e118, 1e119,
- 1e120, 1e121, 1e122, 1e123, 1e124, 1e125, 1e126, 1e127, 1e128, 1e129,
- 1e130, 1e131, 1e132, 1e133, 1e134, 1e135, 1e136, 1e137, 1e138, 1e139,
- 1e140, 1e141, 1e142, 1e143, 1e144, 1e145, 1e146, 1e147, 1e148, 1e149,
- 1e150, 1e151, 1e152, 1e153, 1e154, 1e155, 1e156, 1e157, 1e158, 1e159,
- 1e160, 1e161, 1e162, 1e163, 1e164, 1e165, 1e166, 1e167, 1e168, 1e169,
- 1e170, 1e171, 1e172, 1e173, 1e174, 1e175, 1e176, 1e177, 1e178, 1e179,
- 1e180, 1e181, 1e182, 1e183, 1e184, 1e185, 1e186, 1e187, 1e188, 1e189,
- 1e190, 1e191, 1e192, 1e193, 1e194, 1e195, 1e196, 1e197, 1e198, 1e199,
- 1e200, 1e201, 1e202, 1e203, 1e204, 1e205, 1e206, 1e207, 1e208, 1e209,
- 1e210, 1e211, 1e212, 1e213, 1e214, 1e215, 1e216, 1e217, 1e218, 1e219,
- 1e220, 1e221, 1e222, 1e223, 1e224, 1e225, 1e226, 1e227, 1e228, 1e229,
- 1e230, 1e231, 1e232, 1e233, 1e234, 1e235, 1e236, 1e237, 1e238, 1e239,
- 1e240, 1e241, 1e242, 1e243, 1e244, 1e245, 1e246, 1e247, 1e248, 1e249,
- 1e250, 1e251, 1e252, 1e253, 1e254, 1e255, 1e256, 1e257, 1e258, 1e259,
- 1e260, 1e261, 1e262, 1e263, 1e264, 1e265, 1e266, 1e267, 1e268, 1e269,
- 1e270, 1e271, 1e272, 1e273, 1e274, 1e275, 1e276, 1e277, 1e278, 1e279,
- 1e280, 1e281, 1e282, 1e283, 1e284, 1e285, 1e286, 1e287, 1e288, 1e289,
- 1e290, 1e291, 1e292, 1e293, 1e294, 1e295, 1e296, 1e297, 1e298, 1e299,
- 1e300, 1e301, 1e302, 1e303, 1e304, 1e305, 1e306, 1e307, 1e308,
- };
- BOOST_ASSERT(dim < sizeof(exponents)/sizeof(double));
- return exponents[dim];
- }
- };
-
- template <>
- struct pow10_helper<float>
- {
- static float call(unsigned dim)
- {
- return pow10_helper<double>::call(dim);
- }
- };
-#endif // for IEEE-754
-
- template <typename T>
- inline T pow10(unsigned dim)
- {
- return pow10_helper<T>::call(dim);
- }
-}}}
-
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400)
-# pragma warning(pop)
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/scoped_enum_emulation.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/scoped_enum_emulation.hpp
deleted file mode 100644
index 4fa9f9240c..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/scoped_enum_emulation.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) 2001-2011 Hartmut Kaiser
-// http://spirit.sourceforge.net/
-//
-// Distributed under the 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_SPIRIT_SCOPED_ENUM_EMULATION_HPP
-#define BOOST_SPIRIT_SCOPED_ENUM_EMULATION_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/version.hpp>
-#include <boost/config.hpp>
-
-#if BOOST_VERSION >= 105600
-# include <boost/core/scoped_enum.hpp>
-#elif BOOST_VERSION >= 104000
-# include <boost/detail/scoped_enum_emulation.hpp>
-#else
-# if !defined(BOOST_NO_CXX11_SCOPED_ENUMS)
-# define BOOST_NO_CXX11_SCOPED_ENUMS
-# endif
-# define BOOST_SCOPED_ENUM_START(name) struct name { enum enum_type
-# define BOOST_SCOPED_ENUM_END };
-# define BOOST_SCOPED_ENUM(name) name::enum_type
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/what_function.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/what_function.hpp
deleted file mode 100644
index e4b7a19998..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/detail/what_function.hpp
+++ /dev/null
@@ -1,47 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_SUPPORT_DETAIL_WHAT_FUNCTION_HPP
-#define BOOST_SPIRIT_SUPPORT_DETAIL_WHAT_FUNCTION_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <string>
-#include <boost/spirit/home/support/info.hpp>
-#include <boost/detail/workaround.hpp>
-
-namespace boost { namespace spirit { namespace detail
-{
- template <typename Context>
- struct what_function
- {
- what_function(info& what_, Context& context_)
- : what(what_), context(context_)
- {
- what.value = std::list<info>();
- }
-
- template <typename Component>
- void operator()(Component const& component) const
- {
-#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
- (void)component; // suppresses warning: C4100: 'component' : unreferenced formal parameter
-#endif
- boost::get<std::list<info> >(what.value).
- push_back(component.what(context));
- }
-
- info& what;
- Context& context;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(what_function& operator= (what_function const&))
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/handles_container.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/handles_container.hpp
deleted file mode 100644
index 876c9a9217..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/handles_container.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_HANDLES_CONTAINER_DEC_18_2010_0920AM)
-#define BOOST_SPIRIT_HANDLES_CONTAINER_DEC_18_2010_0920AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/attributes_fwd.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/find_if.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit { namespace traits
-{
- // Finds out whether a component handles container attributes intrinsically
- // (or whether container attributes need to be split up separately).
- template <typename T, typename Attribute, typename Context
- , typename Iterator, typename Enable>
- struct handles_container : mpl::false_ {};
-
- template <typename Subject, typename Attribute, typename Context
- , typename Iterator>
- struct unary_handles_container
- : handles_container<Subject, Attribute, Context, Iterator> {};
-
- template <typename Left, typename Right, typename Attribute
- , typename Context, typename Iterator>
- struct binary_handles_container
- : mpl::or_<
- handles_container<Left, Attribute, Context, Iterator>
- , handles_container<Right, Attribute, Context, Iterator> >
- {};
-
- template <typename Elements, typename Attribute, typename Context
- , typename Iterator>
- struct nary_handles_container
- : mpl::not_<
- is_same<
- typename mpl::find_if<
- Elements, handles_container<mpl::_, Attribute
- , Context, Iterator>
- >::type
- , typename mpl::end<Elements>::type> >
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/has_semantic_action.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/has_semantic_action.hpp
deleted file mode 100644
index b4cb4e7c54..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/has_semantic_action.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_HAS_SEMANTIC_ACTION_SEP_20_2009_0626PM)
-#define BOOST_SPIRIT_HAS_SEMANTIC_ACTION_SEP_20_2009_0626PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/find_if.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit { namespace traits
-{
- // finding out, whether a component contains a semantic action
- template <typename T, typename Enable = void>
- struct has_semantic_action
- : mpl::false_ {};
-
- template <typename Subject>
- struct unary_has_semantic_action
- : has_semantic_action<Subject> {};
-
- template <typename Left, typename Right>
- struct binary_has_semantic_action
- : mpl::or_<has_semantic_action<Left>, has_semantic_action<Right> > {};
-
- template <typename Elements>
- struct nary_has_semantic_action
- : mpl::not_<
- is_same<
- typename mpl::find_if<
- Elements, has_semantic_action<mpl::_>
- >::type
- , typename mpl::end<Elements>::type
- >
- > {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/info.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/info.hpp
deleted file mode 100644
index a433176b0f..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/info.hpp
+++ /dev/null
@@ -1,157 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_INFO_NOVEMBER_22_2008_1132AM)
-#define BOOST_SPIRIT_INFO_NOVEMBER_22_2008_1132AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/variant/variant.hpp>
-#include <boost/variant/recursive_variant.hpp>
-#include <boost/variant/apply_visitor.hpp>
-#include <boost/spirit/home/support/utf8.hpp>
-#include <list>
-#include <iterator>
-#include <utility>
-
-namespace boost { namespace spirit
-{
- // info provides information about a component. Each component
- // has a what member function that returns an info object.
- // strings in the info object are assumed to be encoded as UTF8
- // for uniformity.
- struct info
- {
- struct nil_ {};
-
- typedef
- boost::variant<
- nil_
- , utf8_string
- , recursive_wrapper<info>
- , recursive_wrapper<std::pair<info, info> >
- , recursive_wrapper<std::list<info> >
- >
- value_type;
-
- explicit info(utf8_string const& tag_)
- : tag(tag_), value(nil_()) {}
-
- template <typename T>
- info(utf8_string const& tag_, T const& value_)
- : tag(tag_), value(value_) {}
-
- info(utf8_string const& tag_, char value_)
- : tag(tag_), value(utf8_string(1, value_)) {}
-
- info(utf8_string const& tag_, wchar_t value_)
- : tag(tag_), value(to_utf8(value_)) {}
-
- info(utf8_string const& tag_, ucs4_char value_)
- : tag(tag_), value(to_utf8(value_)) {}
-
- template <typename Char>
- info(utf8_string const& tag_, Char const* str)
- : tag(tag_), value(to_utf8(str)) {}
-
- template <typename Char, typename Traits, typename Allocator>
- info(utf8_string const& tag_
- , std::basic_string<Char, Traits, Allocator> const& str)
- : tag(tag_), value(to_utf8(str)) {}
-
- utf8_string tag;
- value_type value;
- };
-
- template <typename Callback>
- struct basic_info_walker
- {
- typedef void result_type;
- typedef basic_info_walker<Callback> this_type;
-
- basic_info_walker(Callback& callback_, utf8_string const& tag_, int depth_)
- : callback(callback_), tag(tag_), depth(depth_) {}
-
- void operator()(info::nil_) const
- {
- callback.element(tag, "", depth);
- }
-
- void operator()(utf8_string const& str) const
- {
- callback.element(tag, str, depth);
- }
-
- void operator()(info const& what) const
- {
- boost::apply_visitor(
- this_type(callback, what.tag, depth+1), what.value);
- }
-
- void operator()(std::pair<info, info> const& pair) const
- {
- callback.element(tag, "", depth);
- boost::apply_visitor(
- this_type(callback, pair.first.tag, depth+1), pair.first.value);
- boost::apply_visitor(
- this_type(callback, pair.second.tag, depth+1), pair.second.value);
- }
-
- void operator()(std::list<info> const& l) const
- {
- callback.element(tag, "", depth);
- for (std::list<info>::const_iterator it = l.begin(),
- end = l.end(); it != end; ++it)
- {
- boost::apply_visitor(
- this_type(callback, it->tag, depth+1), it->value);
- }
- }
-
- Callback& callback;
- utf8_string const& tag;
- int depth;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(basic_info_walker& operator= (basic_info_walker const&))
- };
-
- // bare-bones print support
- template <typename Out>
- struct simple_printer
- {
- typedef utf8_string string;
-
- simple_printer(Out& out_)
- : out(out_) {}
-
- void element(string const& tag, string const& value, int /*depth*/) const
- {
- if (value.empty())
- out << '<' << tag << '>';
- else
- out << '"' << value << '"';
- }
-
- Out& out;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(simple_printer& operator= (simple_printer const&))
- };
-
- template <typename Out>
- Out& operator<<(Out& out, info const& what)
- {
- simple_printer<Out> pr(out);
- basic_info_walker<simple_printer<Out> > walker(pr, what.tag, 0);
- boost::apply_visitor(walker, what.value);
- return out;
- }
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/iterators/ostream_iterator.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/iterators/ostream_iterator.hpp
deleted file mode 100644
index b51e8caa6a..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/iterators/ostream_iterator.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_OSTREAM_ITERATOR_JAN_13_2010_0211PM)
-#define BOOST_SPIRIT_OSTREAM_ITERATOR_JAN_13_2010_0211PM
-
-#include <boost/spirit/home/karma/stream/ostream_iterator.hpp>
-
-namespace boost { namespace spirit
-{
- typedef karma::ostream_iterator<char, char> ostream_iterator;
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/lazy.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/lazy.hpp
deleted file mode 100644
index 9faa8e28bd..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/lazy.hpp
+++ /dev/null
@@ -1,46 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_LAZY_NOVEMBER_04_2008_1157AM)
-#define BOOST_SPIRIT_LAZY_NOVEMBER_04_2008_1157AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/modify.hpp>
-#include <boost/spirit/home/support/detail/is_spirit_tag.hpp>
-#include <boost/proto/traits.hpp>
-
-namespace boost { namespace phoenix
-{
- template <typename Expr>
- struct actor;
-}}
-
-namespace boost { namespace spirit
-{
- template <typename Eval>
- typename proto::terminal<phoenix::actor<Eval> >::type
- lazy(phoenix::actor<Eval> const& f)
- {
- return proto::terminal<phoenix::actor<Eval> >::type::make(f);
- }
-
- namespace tag
- {
- struct lazy_eval
- {
- BOOST_SPIRIT_IS_TAG()
- };
- }
-
- template <typename Domain>
- struct is_modifier_directive<Domain, tag::lazy_eval>
- : mpl::true_ {};
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/limits.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/limits.hpp
deleted file mode 100644
index 563ce5694b..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/limits.hpp
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_SUPPORT_LIMITS_MAR_26_2011_0833PM)
-#define BOOST_SPIRIT_SUPPORT_LIMITS_MAR_26_2011_0833PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/phoenix/core/limits.hpp>
-
-#if !defined(SPIRIT_ARGUMENTS_LIMIT)
-# define SPIRIT_ARGUMENTS_LIMIT BOOST_PHOENIX_LIMIT
-#endif
-#if !defined(SPIRIT_ATTRIBUTES_LIMIT)
-# define SPIRIT_ATTRIBUTES_LIMIT BOOST_PHOENIX_LIMIT
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/make_component.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/make_component.hpp
deleted file mode 100644
index 0a8c39152b..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/make_component.hpp
+++ /dev/null
@@ -1,450 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_MAKE_COMPONENT_OCTOBER_16_2008_1250PM
-#define BOOST_SPIRIT_MAKE_COMPONENT_OCTOBER_16_2008_1250PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/detail/make_cons.hpp>
-#include <boost/spirit/home/support/modify.hpp>
-#include <boost/phoenix/core/actor.hpp>
-#include <boost/phoenix/core/is_actor.hpp>
-#include <boost/proto/tags.hpp>
-#include <boost/proto/traits.hpp>
-#include <boost/proto/transform.hpp>
-
-namespace boost { namespace spirit
-{
- // There is no real "component" class. Each domain is responsible
- // for creating its own components. You need to specialize this for
- // each component in your domain. Use this as a guide.
-
- template <typename Domain, typename Tag, typename Enable = void>
- struct make_component
- {
- template <typename Sig>
- struct result;
-
- template <typename This, typename Elements, typename Modifiers>
- struct result<This(Elements, Modifiers)>;
-
- template <typename Elements, typename Modifiers>
- typename result<make_component(Elements, Modifiers)>::type
- operator()(Elements const& elements, Modifiers const& modifiers) const;
- };
-
- namespace tag
- {
- // Normally, we use proto tags as-is to distinguish operators.
- // The special case is proto::tag::subscript. Spirit uses this
- // as either sementic actions or directives. To distinguish between
- // the two, we use these special tags below.
-
- struct directive;
- struct action;
- }
-
- template <typename Domain, typename T, typename Enable = void>
- struct flatten_tree;
-}}
-
-namespace boost { namespace spirit { namespace detail
-{
- template <typename Expr, typename State, typename Data, typename Domain>
- struct make_terminal_impl
- : proto::transform_impl<Expr, State, Data>
- {
- typedef typename
- proto::result_of::value<Expr>::type
- value;
-
- typedef typename result_of::make_cons<value>::type elements;
-
- typedef
- make_component<Domain, proto::tag::terminal>
- make_component_;
-
- typedef typename
- make_component_::template
- result<make_component_(elements, Data)>::type
- result_type;
-
- result_type operator()(
- typename make_terminal_impl::expr_param expr
- , typename make_terminal_impl::state_param /*state*/
- , typename make_terminal_impl::data_param data
- ) const
- {
- return typename make_terminal_impl::make_component_()(
- detail::make_cons(proto::value(expr))
- , data
- );
- }
- };
-
- template <typename Expr, typename State, typename Data, typename Domain>
- struct make_terminal_impl<phoenix::actor<Expr>, State, Data, Domain>
- : proto::transform_impl<phoenix::actor<Expr>, State, Data>
- {
- typedef phoenix::actor<Expr> value;
- typedef typename result_of::make_cons<value>::type elements;
- typedef make_component<Domain, proto::tag::terminal> make_component_;
-
- typedef typename
- make_component_::template
- result<make_component_(elements, Data)>::type
- result_type;
-
- result_type operator()(
- typename make_terminal_impl::expr_param expr
- , typename make_terminal_impl::state_param /*state*/
- , typename make_terminal_impl::data_param data
- ) const
- {
- return typename make_terminal_impl::make_component_()(
- detail::make_cons(expr)
- , data
- );
- }
- };
-
- template <typename Expr, typename State, typename Data, typename Domain>
- struct make_terminal_impl<phoenix::actor<Expr> &, State, Data, Domain>
- : make_terminal_impl<phoenix::actor<Expr>, State, Data, Domain>
- {};
-
- template <typename Expr, typename State, typename Data, typename Domain>
- struct make_terminal_impl<phoenix::actor<Expr> const &, State, Data, Domain>
- : make_terminal_impl<phoenix::actor<Expr>, State, Data, Domain>
- {};
-
- template <typename Domain>
- struct make_terminal : proto::transform<make_terminal<Domain> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl : make_terminal_impl<Expr, State, Data, Domain> {};
- };
-
- template <typename Domain, typename Tag, typename Grammar>
- struct make_unary : proto::transform<make_unary<Domain, Tag, Grammar> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl : proto::transform_impl<Expr, State, Data>
- {
- typedef typename
- proto::result_of::child_c<Expr, 0>::type
- child;
-
- typedef typename Grammar::
- template result<Grammar(child, State, Data)>::type
- child_component;
-
- typedef typename
- result_of::make_cons<child_component>::type
- elements;
-
- typedef make_component<Domain, Tag> make_component_;
-
- typedef typename
- make_component_::template
- result<make_component_(elements, Data)>::type
- result_type;
-
- result_type operator()(
- typename impl::expr_param expr
- , typename impl::state_param state
- , typename impl::data_param data
- ) const
- {
- return typename impl::make_component_()(
- detail::make_cons(
- Grammar()(proto::child(expr), state, data))
- , data
- );
- }
- };
- };
-
- // un-flattened version
- template <typename Domain, typename Tag, typename Grammar,
- bool flatten = flatten_tree<Domain, Tag>::value>
- struct make_binary
- {
- template<typename Expr, typename State, typename Data>
- struct impl : proto::transform_impl<Expr, State, Data>
- {
- typedef typename Grammar::
- template result<Grammar(
- typename proto::result_of::child_c<Expr, 0>::type
- , State, Data)>::type
- lhs_component;
-
- typedef typename Grammar::
- template result<Grammar(
- typename proto::result_of::child_c<Expr, 1>::type
- , State, Data)>::type
- rhs_component;
-
- typedef typename
- result_of::make_cons<
- lhs_component
- , typename result_of::make_cons<rhs_component>::type
- >::type
- elements_type;
-
- typedef make_component<Domain, Tag> make_component_;
-
- typedef typename
- make_component_::template
- result<make_component_(elements_type, Data)>::type
- result_type;
-
- result_type operator()(
- typename impl::expr_param expr
- , typename impl::state_param state
- , typename impl::data_param data
- ) const
- {
- elements_type elements =
- detail::make_cons(
- Grammar()(
- proto::child_c<0>(expr), state, data) // LHS
- , detail::make_cons(
- Grammar()(
- proto::child_c<1>(expr), state, data) // RHS
- )
- );
-
- return make_component_()(elements, data);
- }
- };
- };
-
- template <typename Grammar>
- struct make_binary_helper : proto::transform<make_binary_helper<Grammar> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl : proto::transform_impl<Expr, State, Data>
- {
- typedef typename Grammar::
- template result<Grammar(Expr, State, Data)>::type
- lhs;
-
- typedef typename result_of::make_cons<lhs, State>::type result_type;
-
- result_type operator()(
- typename impl::expr_param expr
- , typename impl::state_param state
- , typename impl::data_param data
- ) const
- {
- return detail::make_cons(Grammar()(expr, state, data), state);
- }
- };
- };
-
- // Flattened version
- template <typename Domain, typename Tag, typename Grammar>
- struct make_binary<Domain, Tag, Grammar, true>
- : proto::transform<make_binary<Domain, Tag, Grammar> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl : proto::transform_impl<Expr, State, Data>
- {
- typedef typename
- proto::reverse_fold_tree<
- proto::_
- , proto::make<fusion::nil_>
- , make_binary_helper<Grammar>
- >::template impl<Expr, State, Data>
- reverse_fold_tree;
-
- typedef typename reverse_fold_tree::result_type elements;
- typedef make_component<Domain, Tag> make_component_;
-
- typedef typename
- make_component_::template
- result<make_component_(elements, Data)>::type
- result_type;
-
- result_type operator()(
- typename impl::expr_param expr
- , typename impl::state_param state
- , typename impl::data_param data
- ) const
- {
- return make_component_()(
- reverse_fold_tree()(expr, state, data), data);
- }
- };
- };
-
- template <typename Domain, typename Grammar>
- struct make_directive : proto::transform<make_directive<Domain, Grammar> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl : proto::transform_impl<Expr, State, Data>
- {
- typedef typename
- proto::result_of::child_c<Expr, 0>::type
- lhs;
-
- typedef typename
- proto::result_of::value<lhs>::type
- tag_type;
-
- typedef typename modify<Domain>::
- template result<modify<Domain>(tag_type, Data)>::type
- modifier_type;
-
- typedef typename Grammar::
- template result<Grammar(
- typename proto::result_of::child_c<Expr, 1>::type
- , State
- , modifier_type
- )>::type
- rhs_component;
-
- typedef typename
- result_of::make_cons<
- tag_type
- , typename result_of::make_cons<rhs_component>::type
- >::type
- elements_type;
-
- typedef make_component<Domain, tag::directive> make_component_;
-
- typedef typename
- make_component_::template
- result<make_component_(elements_type, Data)>::type
- result_type;
-
- result_type operator()(
- typename impl::expr_param expr
- , typename impl::state_param state
- , typename impl::data_param data
- ) const
- {
- tag_type tag = proto::value(proto::child_c<0>(expr));
- typename remove_reference<modifier_type>::type
- modifier = modify<Domain>()(tag, data);
-
- elements_type elements =
- detail::make_cons(
- tag // LHS
- , detail::make_cons(
- Grammar()(
- proto::child_c<1>(expr) // RHS
- , state, modifier)
- )
- );
-
- return make_component_()(elements, data);
- }
- };
- };
-
- template <typename Domain, typename Grammar>
- struct make_action : proto::transform<make_action<Domain, Grammar> >
- {
- template<typename Expr, typename State, typename Data>
- struct impl : proto::transform_impl<Expr, State, Data>
- {
- typedef typename Grammar::
- template result<Grammar(
- typename proto::result_of::child_c<Expr, 0>::type
- , State
- , Data
- )>::type
- lhs_component;
-
- typedef
- typename mpl::eval_if_c<
- phoenix::is_actor<
- typename proto::result_of::child_c<Expr, 1>::type
- >::type::value
- , proto::result_of::child_c<Expr, 1>
- , proto::result_of::value<
- typename proto::result_of::child_c<Expr, 1>::type
- >
- >::type
- rhs_component;
-
- typedef typename
- result_of::make_cons<
- lhs_component
- , typename result_of::make_cons<rhs_component>::type
- >::type
- elements_type;
-
- typedef make_component<Domain, tag::action> make_component_;
-
- typedef typename
- make_component_::template
- result<make_component_(elements_type, Data)>::type
- result_type;
-
- result_type operator()(
- typename impl::expr_param expr
- , typename impl::state_param state
- , typename impl::data_param data
- ) const
- {
- return
- (*this)(
- expr
- , state
- , data
- , typename phoenix::is_actor<
- typename proto::result_of::child_c<Expr, 1>::type
- >::type()
- );
- }
-
- result_type operator()(
- typename impl::expr_param expr
- , typename impl::state_param state
- , typename impl::data_param data
- , mpl::false_
- ) const
- {
- elements_type elements =
- detail::make_cons(
- Grammar()(
- proto::child_c<0>(expr), state, data) // LHS
- , detail::make_cons(
- proto::value(proto::child_c<1>(expr))) // RHS
- );
-
- return make_component_()(elements, data);
- }
-
- result_type operator()(
- typename impl::expr_param expr
- , typename impl::state_param state
- , typename impl::data_param data
- , mpl::true_
- ) const
- {
- elements_type elements =
- detail::make_cons(
- Grammar()(
- proto::child_c<0>(expr), state, data) // LHS
- , detail::make_cons(
- proto::child_c<1>(expr)) // RHS
- );
-
- return make_component_()(elements, data);
- }
- };
- };
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/meta_compiler.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/meta_compiler.hpp
deleted file mode 100644
index b490755782..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/meta_compiler.hpp
+++ /dev/null
@@ -1,321 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_META_COMPILER_OCTOBER_16_2008_1258PM
-#define BOOST_SPIRIT_META_COMPILER_OCTOBER_16_2008_1258PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/detail/workaround.hpp>
-#include <boost/spirit/home/support/make_component.hpp>
-#include <boost/spirit/home/support/modify.hpp>
-#include <boost/spirit/home/support/detail/make_cons.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/assert_msg.hpp>
-#include <boost/core/enable_if.hpp>
-#include <boost/proto/matches.hpp>
-#include <boost/proto/tags.hpp>
-#include <boost/proto/traits.hpp>
-#include <boost/proto/proto_fwd.hpp> // for transform placeholders
-#include <boost/type_traits/remove_reference.hpp>
-
-namespace boost { namespace spirit
-{
- // Some defaults...
-
- template <typename Domain, typename Tag, typename Enable = void>
- struct use_operator : mpl::false_ {};
-
- template <typename Domain, typename T, typename Enable = void>
- struct use_function : mpl::false_ {};
-
- template <typename Domain, typename T, typename Enable = void>
- struct use_directive : mpl::false_ {};
-
- template <typename Domain, typename T, typename Enable /* = void */>
- struct is_modifier_directive : mpl::false_ {};
-
- template <typename Domain, typename T, typename Enable = void>
- struct use_terminal : mpl::false_ {};
-
- template <typename Domain, typename T, typename Enable /*= void*/>
- struct flatten_tree : mpl::false_ {};
-
- // Our meta-compiler. This is the main engine that hooks Spirit
- // to the proto expression template engine.
-
- template <typename Domain>
- struct meta_compiler
- {
- struct meta_grammar;
-
- BOOST_SPIRIT_ASSERT_MSG((
- !use_operator<Domain, proto::tag::subscript>::value
- ), error_proto_tag_subscript_cannot_be_used, ());
-
-#if !BOOST_WORKAROUND(BOOST_MSVC, < 1400)
- // this is the non-broken part for compilers properly supporting
- // partial template specialization (VC7.1 does not)
- struct cases
- {
- template <typename Tag, typename Enable = void>
- struct case_
- : proto::not_<proto::_>
- {};
-
- ///////////////////////////////////////////////////////////////////
- // terminals
- ///////////////////////////////////////////////////////////////////
- template <typename Enable>
- struct case_<proto::tag::terminal, Enable>
- : proto::when<
- proto::if_<use_terminal<Domain, proto::_value>()>,
- detail::make_terminal<Domain>
- >
- {};
-
- template <typename Tag>
- struct case_<Tag, typename enable_if<use_operator<Domain, Tag> >::type>
- : proto::or_<
- ///////////////////////////////////////////////////////////////////
- // binary operators
- ///////////////////////////////////////////////////////////////////
- proto::when<proto::binary_expr<Tag, meta_grammar, meta_grammar>,
- detail::make_binary<Domain, Tag, meta_grammar>
- >,
- ///////////////////////////////////////////////////////////////////
- // unary operators
- ///////////////////////////////////////////////////////////////////
- proto::when<proto::unary_expr<Tag, meta_grammar>,
- detail::make_unary<Domain, Tag, meta_grammar>
- >
- >
- {};
-
- template <typename Enable>
- struct case_<proto::tag::subscript, Enable>
- : proto::or_<
- ///////////////////////////////////////////////////////////////////
- // directives
- ///////////////////////////////////////////////////////////////////
- proto::when<proto::binary_expr<proto::tag::subscript
- , proto::and_<
- proto::terminal<proto::_>
- , proto::if_<use_directive<Domain, proto::_value >()> >
- , meta_grammar>,
- detail::make_directive<Domain, meta_grammar>
- >,
- ///////////////////////////////////////////////////////////////////
- // semantic actions
- ///////////////////////////////////////////////////////////////////
- proto::when<proto::binary_expr<proto::tag::subscript
- , meta_grammar, proto::_>,
- detail::make_action<Domain, meta_grammar>
- >
- >
- {};
- };
-#else
- // this part actually constitutes invalid C++ code, but it allows us to
- // convince VC7.1 to do what we want
- struct cases
- {
- template <typename Tag, typename Enable = void>
- struct case_
- : proto::not_<proto::_>
- {};
-
- ///////////////////////////////////////////////////////////////////
- // terminals
- ///////////////////////////////////////////////////////////////////
- template <>
- struct case_<proto::tag::terminal>
- : proto::when<
- proto::if_<use_terminal<Domain, proto::_value>()>,
- detail::make_terminal<Domain>
- >
- {};
-
- template <typename Tag>
- struct case_<Tag>
- : proto::or_<
- ///////////////////////////////////////////////////////////////////
- // binary operators
- ///////////////////////////////////////////////////////////////////
- proto::when<proto::binary_expr<
- typename enable_if<use_operator<Domain, Tag>, Tag>::type
- , meta_grammar, meta_grammar>
- , detail::make_binary<Domain, Tag, meta_grammar>
- >,
- ///////////////////////////////////////////////////////////////////
- // unary operators
- ///////////////////////////////////////////////////////////////////
- proto::when<proto::unary_expr<
- typename enable_if<use_operator<Domain, Tag>, Tag>::type
- , meta_grammar>
- , detail::make_unary<Domain, Tag, meta_grammar>
- >
- >
- {};
-
- template <>
- struct case_<proto::tag::subscript>
- : proto::or_<
- ///////////////////////////////////////////////////////////////////
- // directives
- ///////////////////////////////////////////////////////////////////
- proto::when<proto::binary_expr<proto::tag::subscript
- , proto::and_<
- proto::terminal<proto::_>
- , proto::if_<use_directive<Domain, proto::_value >()> >
- , meta_grammar>,
- detail::make_directive<Domain, meta_grammar>
- >,
- ///////////////////////////////////////////////////////////////////
- // semantic actions
- ///////////////////////////////////////////////////////////////////
- proto::when<proto::binary_expr<proto::tag::subscript
- , meta_grammar, proto::_>,
- detail::make_action<Domain, meta_grammar>
- >
- >
- {};
- };
-#endif
-
- struct meta_grammar
- : proto::switch_<cases>
- {};
- };
-
- namespace result_of
- {
- // Default case
- template <typename Domain, typename Expr
- , typename Modifiers = unused_type, typename Enable = void>
- struct compile
- {
- typedef typename meta_compiler<Domain>::meta_grammar meta_grammar;
- typedef typename meta_grammar::
- template result<meta_grammar(Expr, mpl::void_, Modifiers)>::type
- type;
- };
-
- // If Expr is not a proto expression, make it a terminal
- template <typename Domain, typename Expr, typename Modifiers>
- struct compile<Domain, Expr, Modifiers,
- typename disable_if<proto::is_expr<Expr> >::type>
- : compile<Domain, typename proto::terminal<Expr>::type, Modifiers> {};
- }
-
- namespace traits
- {
- // Check if Expr matches the domain's grammar
- template <typename Domain, typename Expr>
- struct matches :
- proto::matches<
- typename proto::result_of::as_expr<
- typename remove_reference<Expr>::type>::type,
- typename meta_compiler<Domain>::meta_grammar
- >
- {
- };
- }
-
- namespace detail
- {
- template <typename Domain>
- struct compiler
- {
- // Default case
- template <typename Expr, typename Modifiers>
- static typename spirit::result_of::compile<Domain, Expr, Modifiers>::type
- compile(Expr const& expr, Modifiers modifiers, mpl::true_)
- {
- typename meta_compiler<Domain>::meta_grammar compiler;
- return compiler(expr, mpl::void_(), modifiers);
- }
-
- // If Expr is not a proto expression, make it a terminal
- template <typename Expr, typename Modifiers>
- static typename spirit::result_of::compile<Domain, Expr, Modifiers>::type
- compile(Expr const& expr, Modifiers modifiers, mpl::false_)
- {
- typename meta_compiler<Domain>::meta_grammar compiler;
- typedef typename detail::as_meta_element<Expr>::type expr_;
- typename proto::terminal<expr_>::type term = {expr};
- return compiler(term, mpl::void_(), modifiers);
- }
- };
- }
-
- template <typename Domain, typename Expr>
- inline typename result_of::compile<Domain, Expr, unused_type>::type
- compile(Expr const& expr)
- {
- typedef typename proto::is_expr<Expr>::type is_expr;
- return detail::compiler<Domain>::compile(expr, unused, is_expr());
- }
-
- template <typename Domain, typename Expr, typename Modifiers>
- inline typename result_of::compile<Domain, Expr, Modifiers>::type
- compile(Expr const& expr, Modifiers modifiers)
- {
- typedef typename proto::is_expr<Expr>::type is_expr;
- return detail::compiler<Domain>::compile(expr, modifiers, is_expr());
- }
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Elements, template <typename Subject> class generator>
- struct make_unary_composite
- {
- typedef typename
- fusion::result_of::value_at_c<Elements, 0>::type
- element_type;
- typedef generator<element_type> result_type;
- result_type operator()(Elements const& elements, unused_type) const
- {
- return result_type(fusion::at_c<0>(elements));
- }
- };
-
- template <typename Elements, template <typename Left, typename Right> class generator>
- struct make_binary_composite
- {
- typedef typename
- fusion::result_of::value_at_c<Elements, 0>::type
- left_type;
- typedef typename
- fusion::result_of::value_at_c<Elements, 1>::type
- right_type;
- typedef generator<left_type, right_type> result_type;
-
- result_type operator()(Elements const& elements, unused_type) const
- {
- return result_type(
- fusion::at_c<0>(elements)
- , fusion::at_c<1>(elements)
- );
- }
- };
-
- template <typename Elements, template <typename Elements_> class generator>
- struct make_nary_composite
- {
- typedef generator<Elements> result_type;
- result_type operator()(Elements const& elements, unused_type) const
- {
- return result_type(elements);
- }
- };
-
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/modify.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/modify.hpp
deleted file mode 100644
index a8777924b8..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/modify.hpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_MODIFY_OCTOBER_25_2008_0142PM
-#define BOOST_SPIRIT_MODIFY_OCTOBER_25_2008_0142PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/type_traits/is_base_of.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-
-namespace boost { namespace spirit
-{
- template <typename Domain, typename T, typename Enable = void>
- struct is_modifier_directive;
-
- // Testing if a modifier set includes a modifier T involves
- // checking for inheritance (i.e. Modifiers is derived from T)
- template <typename Modifiers, typename T>
- struct has_modifier
- : is_base_of<T, Modifiers> {};
-
- // Adding modifiers is done using multi-inheritance
- template <typename Current, typename New, typename Enable = void>
- struct compound_modifier : Current, New
- {
- compound_modifier()
- : Current(), New() {}
-
- compound_modifier(Current const& current, New const& new_)
- : Current(current), New(new_) {}
- };
-
- // Don't add if New is already in Current
- template <typename Current, typename New>
- struct compound_modifier<
- Current, New, typename enable_if<has_modifier<Current, New> >::type>
- : Current
- {
- compound_modifier()
- : Current() {}
-
- compound_modifier(Current const& current, New const&)
- : Current(current) {}
- };
-
- // Special case if Current is unused_type
- template <typename New, typename Enable>
- struct compound_modifier<unused_type, New, Enable> : New
- {
- compound_modifier()
- : New() {}
-
- compound_modifier(unused_type, New const& new_)
- : New(new_) {}
- };
-
- // Domains may specialize this modify metafunction to allow
- // directives to add information to the Modifier template
- // parameter that is passed to the make_component metafunction.
- // By default, we return the modifiers untouched
- template <typename Domain, typename Enable = void>
- struct modify
- {
- typedef void proto_is_callable_;
-
- template <typename Sig>
- struct result;
-
- template <typename This, typename Tag, typename Modifiers>
- struct result<This(Tag, Modifiers)>
- {
- typedef typename remove_const<
- typename remove_reference<Tag>::type>::type
- tag_type;
- typedef typename remove_const<
- typename remove_reference<Modifiers>::type>::type
- modifiers_type;
-
- typedef typename mpl::if_<
- is_modifier_directive<Domain, tag_type>
- , compound_modifier<modifiers_type, tag_type>
- , Modifiers>::type
- type;
- };
-
- template <typename Tag, typename Modifiers>
- typename result<modify(Tag, Modifiers)>::type
- operator()(Tag tag, Modifiers modifiers) const
- {
- return op(tag, modifiers, is_modifier_directive<Domain, Tag>());
- }
-
- template <typename Tag, typename Modifiers>
- Modifiers
- op(Tag /*tag*/, Modifiers modifiers, mpl::false_) const
- {
- return modifiers;
- }
-
- template <typename Tag, typename Modifiers>
- compound_modifier<Modifiers, Tag>
- op(Tag tag, Modifiers modifiers, mpl::true_) const
- {
- return compound_modifier<Modifiers, Tag>(modifiers, tag);
- }
- };
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/multi_pass_wrapper.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/multi_pass_wrapper.hpp
deleted file mode 100644
index ec5fa36f45..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/multi_pass_wrapper.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_ITERATOR_MULTI_PASS_WRAPPER_JUL_12_2009_0914PM)
-#define BOOST_SPIRIT_ITERATOR_MULTI_PASS_WRAPPER_JUL_12_2009_0914PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/bool.hpp>
-#include <boost/spirit/home/support/detail/scoped_enum_emulation.hpp>
-
-namespace boost { namespace spirit { namespace traits
-{
- // declare special functions allowing to integrate any multi_pass iterator
- // with expectation points
-
- // normal iterators require no special handling
- BOOST_SCOPED_ENUM_START(clear_mode)
- {
- clear_if_enabled,
- clear_always
- };
- BOOST_SCOPED_ENUM_END
-
- template <typename Iterator>
- void clear_queue(Iterator&
- , BOOST_SCOPED_ENUM(clear_mode) /*mode*/ = clear_mode::clear_if_enabled)
- {}
-
- template <typename Iterator>
- void inhibit_clear_queue(Iterator&, bool)
- {}
-
- template <typename Iterator>
- bool inhibit_clear_queue(Iterator&)
- {
- return false;
- }
-
- // Helper template to recognize a multi_pass iterator. This specialization
- // will be instantiated for any non-multi_pass iterator.
- template <typename Iterator>
- struct is_multi_pass : mpl::false_ {};
-
-}}}
-
-#endif
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/expand_arg.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/expand_arg.hpp
deleted file mode 100644
index 32400e6826..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/expand_arg.hpp
+++ /dev/null
@@ -1,88 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_EXPAND_ARG_FEB_19_2007_1107AM)
-#define BOOST_SPIRIT_EXPAND_ARG_FEB_19_2007_1107AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/utility/result_of.hpp>
-#include <boost/type_traits/is_scalar.hpp>
-#include <boost/spirit/home/support/string_traits.hpp>
-
-namespace boost { namespace spirit { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- template <typename Context>
- struct expand_arg
- {
- template <typename T>
- struct result_type
- {
- // This is a temporary hack. The better way is to detect if T
- // can be called given unused context.
- typedef typename
- mpl::eval_if<
- mpl::or_<is_scalar<T>, traits::is_string<T> >
- , mpl::identity<T const &>
- , boost::result_of<T(unused_type, Context)>
- >::type
- type;
- };
-
- template <typename T>
- struct result;
-
- template <typename F, typename A0>
- struct result<F(A0)>
- : result_type<A0> {};
-
- template <typename F, typename A0>
- struct result<F(A0&)>
- : result_type<A0> {};
-
- expand_arg(Context& context_)
- : context(context_)
- {
- }
-
- template <typename T>
- typename result_type<T>::type
- call(T const& f, mpl::false_) const
- {
- return f(unused, context);
- }
-
- template <typename T>
- typename result_type<T>::type
- call(T const& val, mpl::true_) const
- {
- return val;
- }
-
- template <typename T>
- typename result_type<T>::type
- operator()(T const& x) const
- {
- return call(x, mpl::or_<is_scalar<T>, traits::is_string<T> >());
- }
-
- Context& context;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(expand_arg& operator= (expand_arg const&))
- expand_arg(const expand_arg&) = default;
- };
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/extract_param.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/extract_param.hpp
deleted file mode 100644
index eeab61f3d1..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/extract_param.hpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2009 Francois Barel
-
- Distributed under the 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_EXTRACT_PARAM_AUGUST_08_2009_0848AM)
-#define BOOST_SPIRIT_EXTRACT_PARAM_AUGUST_08_2009_0848AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/meta_compiler.hpp>
-#include <boost/spirit/home/support/nonterminal/locals.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/common_terminals.hpp>
-
-#include <boost/function_types/is_function.hpp>
-#include <boost/function_types/parameter_types.hpp>
-#include <boost/function_types/result_type.hpp>
-#include <boost/fusion/include/as_list.hpp>
-#include <boost/fusion/include/as_vector.hpp>
-#include <boost/mpl/deref.hpp>
-#include <boost/mpl/end.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/find_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/or.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-namespace boost { namespace spirit { namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////
- // Helpers to extract params (locals, attributes, ...) from nonterminal
- // template arguments
- ///////////////////////////////////////////////////////////////////////////
- template <typename Types, typename Pred, typename Default>
- struct extract_param
- {
- typedef typename mpl::find_if<Types, Pred>::type pos;
-
- typedef typename
- mpl::eval_if<
- is_same<pos, typename mpl::end<Types>::type>
- , mpl::identity<Default>
- , mpl::deref<pos>
- >::type
- type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Types>
- struct extract_locals
- : fusion::result_of::as_vector<
- typename extract_param<
- Types
- , is_locals<mpl::_>
- , locals<>
- >::type
- >
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Domain, typename Types>
- struct extract_component
- : spirit::result_of::compile<
- Domain
- , typename extract_param<
- Types
- , traits::matches<Domain, mpl::_>
- , unused_type
- >::type
- >
- {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct make_function_type : mpl::identity<T()> {};
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Types, typename Encoding, typename Domain>
- struct extract_sig
- {
- typedef typename
- extract_param<
- Types
- , mpl::or_<
- function_types::is_function<mpl::_>
- , mpl::and_<
- mpl::not_<is_locals<mpl::_> >
- , mpl::not_<is_same<mpl::_, Encoding> >
- , mpl::not_<traits::matches<Domain, mpl::_> >
- , mpl::not_<is_same<mpl::_, unused_type> >
- >
- >
- , void()
- >::type
- attr_of_ftype;
-
- typedef typename
- mpl::eval_if<
- function_types::is_function<attr_of_ftype>
- , mpl::identity<attr_of_ftype>
- , make_function_type<attr_of_ftype>
- >::type
- type;
- };
-
- template <typename Sig>
- struct attr_from_sig
- {
- typedef typename function_types::result_type<Sig>::type attr;
-
- typedef typename
- mpl::if_<
- is_same<attr, void>
- , unused_type
- , attr
- >::type
- type;
- };
-
- template <typename Sig>
- struct params_from_sig
- {
- typedef typename function_types::parameter_types<Sig>::type params;
-
- typedef typename fusion::result_of::as_list<params>::type type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- template <typename Types>
- struct extract_encoding
- : extract_param<
- Types
- , is_char_encoding<mpl::_>
- , unused_type
- >
- {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/locals.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/locals.hpp
deleted file mode 100644
index 4db0349053..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/nonterminal/locals.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_LOCALS_APRIL_03_2007_0506PM)
-#define BOOST_SPIRIT_LOCALS_APRIL_03_2007_0506PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/bool.hpp>
-
-#if !defined(BOOST_SPIRIT_MAX_LOCALS_SIZE)
-# define BOOST_SPIRIT_MAX_LOCALS_SIZE 10
-#else
-# if BOOST_SPIRIT_MAX_LOCALS_SIZE < 3
-# undef BOOST_SPIRIT_MAX_LOCALS_SIZE
-# define BOOST_SPIRIT_MAX_LOCALS_SIZE 10
-# endif
-#endif
-
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- template <
- BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(
- BOOST_SPIRIT_MAX_LOCALS_SIZE, typename T, mpl::na)
- >
- struct locals
- : mpl::vector<BOOST_PP_ENUM_PARAMS(BOOST_SPIRIT_MAX_LOCALS_SIZE, T)> {};
-
- ///////////////////////////////////////////////////////////////////////////
- namespace detail
- {
- template <typename T>
- struct is_locals
- : mpl::false_
- {};
-
- template <BOOST_PP_ENUM_PARAMS(BOOST_SPIRIT_MAX_LOCALS_SIZE, typename T)>
- struct is_locals<locals<BOOST_PP_ENUM_PARAMS(BOOST_SPIRIT_MAX_LOCALS_SIZE, T)> >
- : mpl::true_
- {};
- }
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/numeric_traits.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/numeric_traits.hpp
deleted file mode 100644
index 9e03fe06f7..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/numeric_traits.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-// Copyright (c) 2001-2011 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)
-
-#if !defined(BOOST_SPIRIT_NUMERIC_TRAITS_JAN_07_2011_0722AM)
-#define BOOST_SPIRIT_NUMERIC_TRAITS_JAN_07_2011_0722AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/limits.hpp>
-#include <boost/mpl/bool.hpp>
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- // Determine if T is a boolean type
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct is_bool : mpl::false_ {};
-
- template <typename T>
- struct is_bool<T const> : is_bool<T> {};
-
- template <>
- struct is_bool<bool> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- // Determine if T is a signed integer type
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct is_int : mpl::false_ {};
-
- template <typename T>
- struct is_int<T const> : is_int<T> {};
-
- template <>
- struct is_int<short> : mpl::true_ {};
-
- template <>
- struct is_int<int> : mpl::true_ {};
-
- template <>
- struct is_int<long> : mpl::true_ {};
-
-#ifdef BOOST_HAS_LONG_LONG
- template <>
- struct is_int<boost::long_long_type> : mpl::true_ {};
-#endif
-
- ///////////////////////////////////////////////////////////////////////////
- // Determine if T is an unsigned integer type
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct is_uint : mpl::false_ {};
-
- template <typename T>
- struct is_uint<T const> : is_uint<T> {};
-
-#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
- template <>
- struct is_uint<unsigned short> : mpl::true_ {};
-#endif
-
- template <>
- struct is_uint<unsigned int> : mpl::true_ {};
-
- template <>
- struct is_uint<unsigned long> : mpl::true_ {};
-
-#ifdef BOOST_HAS_LONG_LONG
- template <>
- struct is_uint<boost::ulong_long_type> : mpl::true_ {};
-#endif
-
- ///////////////////////////////////////////////////////////////////////////
- // Determine if T is a floating point type
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct is_real : mpl::false_ {};
-
- template <typename T>
- struct is_real<T const> : is_uint<T> {};
-
- template <>
- struct is_real<float> : mpl::true_ {};
-
- template <>
- struct is_real<double> : mpl::true_ {};
-
- template <>
- struct is_real<long double> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- // customization points for numeric operations
- ///////////////////////////////////////////////////////////////////////////
- template <typename T, typename Enable = void>
- struct absolute_value;
-
- template <typename T, typename Enable = void>
- struct is_negative;
-
- template <typename T, typename Enable = void>
- struct is_zero;
-
- template <typename T, typename Enable = void>
- struct pow10_helper;
-
- template <typename T, typename Enable = void>
- struct is_nan;
-
- template <typename T, typename Enable = void>
- struct is_infinite;
-
- template <typename T, typename Enable = void>
- struct check_overflow : mpl::bool_<std::numeric_limits<T>::is_bounded> {};
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/sequence_base_id.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/sequence_base_id.hpp
deleted file mode 100644
index d2f72148d4..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/sequence_base_id.hpp
+++ /dev/null
@@ -1,39 +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)
-=============================================================================*/
-#ifndef BOOST_SPIRIT_SUPPORT_SEQUENCE_BASE_ID_HPP
-#define BOOST_SPIRIT_SUPPORT_SEQUENCE_BASE_ID_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/spirit/home/support/attributes.hpp>
-
-namespace boost { namespace spirit { namespace traits
-{
- namespace detail
- {
- BOOST_MPL_HAS_XXX_TRAIT_DEF(sequence_base_id)
- }
-
- // We specialize this for sequences (see support/attributes.hpp).
- // For sequences, we only wrap the attribute in a tuple IFF
- // it is not already a fusion tuple.
- //
- // Note: in the comment above, "sequence" is a spirit sequence
- // component (parser or generator), and a tuple is a fusion sequence
- // (to avoid terminology confusion).
- template <typename Derived, typename Attribute>
- struct pass_attribute<Derived, Attribute,
- typename enable_if<detail::has_sequence_base_id<Derived> >::type>
- : wrap_if_not_tuple<Attribute> {};
-
-}}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/string_traits.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/string_traits.hpp
deleted file mode 100644
index f890cf962b..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/string_traits.hpp
+++ /dev/null
@@ -1,358 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2010 Bryce Lelbach
-
- Distributed under the 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_STRING_TRAITS_OCTOBER_2008_1252PM)
-#define BOOST_SPIRIT_STRING_TRAITS_OCTOBER_2008_1252PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/container.hpp>
-#include <string>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/proto/proto_fwd.hpp> // for BOOST_PROTO_DISABLE_IF_IS_CONST
-#include <boost/type_traits/is_const.hpp>
-#if defined(__GNUC__) && (__GNUC__ < 4)
-#include <boost/type_traits/add_const.hpp>
-#endif
-
-namespace boost { namespace spirit { namespace traits
-{
- ///////////////////////////////////////////////////////////////////////////
- // Determine if T is a character type
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct is_char : mpl::false_ {};
-
- template <typename T>
- struct is_char<T const> : is_char<T> {};
-
- template <>
- struct is_char<char> : mpl::true_ {};
-
- template <>
- struct is_char<wchar_t> : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- // Determine if T is a string
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct is_string : mpl::false_ {};
-
- template <typename T>
- struct is_string<T const> : is_string<T> {};
-
- template <>
- struct is_string<char const*> : mpl::true_ {};
-
- template <>
- struct is_string<wchar_t const*> : mpl::true_ {};
-
- template <>
- struct is_string<char*> : mpl::true_ {};
-
- template <>
- struct is_string<wchar_t*> : mpl::true_ {};
-
- template <std::size_t N>
- struct is_string<char[N]> : mpl::true_ {};
-
- template <std::size_t N>
- struct is_string<wchar_t[N]> : mpl::true_ {};
-
- template <std::size_t N>
- struct is_string<char const[N]> : mpl::true_ {};
-
- template <std::size_t N>
- struct is_string<wchar_t const[N]> : mpl::true_ {};
-
- template <std::size_t N>
- struct is_string<char(&)[N]> : mpl::true_ {};
-
- template <std::size_t N>
- struct is_string<wchar_t(&)[N]> : mpl::true_ {};
-
- template <std::size_t N>
- struct is_string<char const(&)[N]> : mpl::true_ {};
-
- template <std::size_t N>
- struct is_string<wchar_t const(&)[N]> : mpl::true_ {};
-
- template <typename T, typename Traits, typename Allocator>
- struct is_string<std::basic_string<T, Traits, Allocator> > : mpl::true_ {};
-
- ///////////////////////////////////////////////////////////////////////////
- // Get the underlying char type of a string
- ///////////////////////////////////////////////////////////////////////////
- template <typename T>
- struct char_type_of;
-
- template <typename T>
- struct char_type_of<T const> : char_type_of<T> {};
-
- template <>
- struct char_type_of<char> : mpl::identity<char> {};
-
- template <>
- struct char_type_of<wchar_t> : mpl::identity<wchar_t> {};
-
- template <>
- struct char_type_of<char const*> : mpl::identity<char const> {};
-
- template <>
- struct char_type_of<wchar_t const*> : mpl::identity<wchar_t const> {};
-
- template <>
- struct char_type_of<char*> : mpl::identity<char> {};
-
- template <>
- struct char_type_of<wchar_t*> : mpl::identity<wchar_t> {};
-
- template <std::size_t N>
- struct char_type_of<char[N]> : mpl::identity<char> {};
-
- template <std::size_t N>
- struct char_type_of<wchar_t[N]> : mpl::identity<wchar_t> {};
-
- template <std::size_t N>
- struct char_type_of<char const[N]> : mpl::identity<char const> {};
-
- template <std::size_t N>
- struct char_type_of<wchar_t const[N]> : mpl::identity<wchar_t const> {};
-
- template <std::size_t N>
- struct char_type_of<char(&)[N]> : mpl::identity<char> {};
-
- template <std::size_t N>
- struct char_type_of<wchar_t(&)[N]> : mpl::identity<wchar_t> {};
-
- template <std::size_t N>
- struct char_type_of<char const(&)[N]> : mpl::identity<char const> {};
-
- template <std::size_t N>
- struct char_type_of<wchar_t const(&)[N]> : mpl::identity<wchar_t const> {};
-
- template <typename T, typename Traits, typename Allocator>
- struct char_type_of<std::basic_string<T, Traits, Allocator> >
- : mpl::identity<T> {};
-
- ///////////////////////////////////////////////////////////////////////////
- // Get the C string from a string
- ///////////////////////////////////////////////////////////////////////////
- template <typename String>
- struct extract_c_string;
-
- template <typename String>
- struct extract_c_string
- {
- typedef typename char_type_of<String>::type char_type;
-
- template <typename T>
- static T const* call (T* str)
- {
- return (T const*)str;
- }
-
- template <typename T>
- static T const* call (T const* str)
- {
- return str;
- }
- };
-
- // Forwarder that strips const
- template <typename T>
- struct extract_c_string<T const>
- {
- typedef typename extract_c_string<T>::char_type char_type;
-
- static typename extract_c_string<T>::char_type const* call (T const str)
- {
- return extract_c_string<T>::call(str);
- }
- };
-
- // Forwarder that strips references
- template <typename T>
- struct extract_c_string<T&>
- {
- typedef typename extract_c_string<T>::char_type char_type;
-
- static typename extract_c_string<T>::char_type const* call (T& str)
- {
- return extract_c_string<T>::call(str);
- }
- };
-
- // Forwarder that strips const references
- template <typename T>
- struct extract_c_string<T const&>
- {
- typedef typename extract_c_string<T>::char_type char_type;
-
- static typename extract_c_string<T>::char_type const* call (T const& str)
- {
- return extract_c_string<T>::call(str);
- }
- };
-
- template <typename T, typename Traits, typename Allocator>
- struct extract_c_string<std::basic_string<T, Traits, Allocator> >
- {
- typedef T char_type;
-
- typedef std::basic_string<T, Traits, Allocator> string;
-
- static T const* call (string const& str)
- {
- return str.c_str();
- }
- };
-
- template <typename T>
- typename extract_c_string<T*>::char_type const*
- get_c_string (T* str)
- {
- return extract_c_string<T*>::call(str);
- }
-
- template <typename T>
- typename extract_c_string<T const*>::char_type const*
- get_c_string (T const* str)
- {
- return extract_c_string<T const*>::call(str);
- }
-
- template <typename String>
- typename extract_c_string<String>::char_type const*
- get_c_string (String& str)
- {
- return extract_c_string<String>::call(str);
- }
-
- template <typename String>
- typename extract_c_string<String>::char_type const*
- get_c_string (String const& str)
- {
- return extract_c_string<String>::call(str);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // Get the begin/end iterators from a string
- ///////////////////////////////////////////////////////////////////////////
-
- // Implementation for C-style strings.
-
-// gcc 3.x.x has problems resolving ambiguities here
-#if defined(__GNUC__) && (__GNUC__ < 4)
- template <typename T>
- inline typename add_const<T>::type * get_begin(T* str) { return str; }
-
- template <typename T>
- inline typename add_const<T>::type* get_end(T* str)
- {
- T* last = str;
- while (*last)
- last++;
- return last;
- }
-#else
- template <typename T>
- inline T const* get_begin(T const* str) { return str; }
-
- template <typename T>
- inline T* get_begin(T* str) { return str; }
-
- template <typename T>
- inline T const* get_end(T const* str)
- {
- T const* last = str;
- while (*last)
- last++;
- return last;
- }
-
- template <typename T>
- inline T* get_end(T* str)
- {
- T* last = str;
- while (*last)
- last++;
- return last;
- }
-#endif
-
- // Implementation for containers (includes basic_string).
- template <typename T, typename Str>
- inline typename Str::const_iterator get_begin(Str const& str)
- { return str.begin(); }
-
- template <typename T, typename Str>
- inline typename Str::iterator
- get_begin(Str& str BOOST_PROTO_DISABLE_IF_IS_CONST(Str))
- { return str.begin(); }
-
- template <typename T, typename Str>
- inline typename Str::const_iterator get_end(Str const& str)
- { return str.end(); }
-
- template <typename T, typename Str>
- inline typename Str::iterator
- get_end(Str& str BOOST_PROTO_DISABLE_IF_IS_CONST(Str))
- { return str.end(); }
-
- // Default implementation for other types: try a C-style string
- // conversion.
- // These overloads are explicitly disabled for containers,
- // as they would be ambiguous with the previous ones.
- template <typename T, typename Str>
- inline typename disable_if<is_container<Str>
- , T const*>::type get_begin(Str const& str)
- { return str; }
-
- template <typename T, typename Str>
- inline typename disable_if<is_container<Str>
- , T const*>::type get_end(Str const& str)
- { return get_end(get_begin<T>(str)); }
-}
-
-namespace result_of
-{
- template <typename Char, typename T, typename Enable = void>
- struct get_begin
- {
- typedef typename traits::char_type_of<T>::type char_type;
-
- typedef typename mpl::if_<
- is_const<char_type>
- , char_type const
- , char_type
- >::type* type;
- };
-
- template <typename Char, typename Str>
- struct get_begin<Char, Str
- , typename enable_if<traits::is_container<Str> >::type>
- {
- typedef typename mpl::if_<
- is_const<Str>
- , typename Str::const_iterator
- , typename Str::iterator
- >::type type;
- };
-
- template <typename Char, typename T>
- struct get_end : get_begin<Char, T> {};
-}
-
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/terminal.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/terminal.hpp
deleted file mode 100644
index ca11e5f1e2..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/terminal.hpp
+++ /dev/null
@@ -1,698 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2011 Thomas Heller
-
- Distributed under the 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_TERMINAL_NOVEMBER_04_2008_0906AM)
-#define BOOST_SPIRIT_TERMINAL_NOVEMBER_04_2008_0906AM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/spirit/home/support/meta_compiler.hpp>
-#include <boost/spirit/home/support/detail/make_vector.hpp>
-#include <boost/spirit/home/support/unused.hpp>
-#include <boost/spirit/home/support/detail/is_spirit_tag.hpp>
-#include <boost/spirit/home/support/terminal_expression.hpp>
-#include <boost/phoenix/core/as_actor.hpp>
-#include <boost/phoenix/core/is_actor.hpp>
-#include <boost/phoenix/core/terminal_fwd.hpp>
-#include <boost/phoenix/core/value.hpp> // includes as_actor specialization
-#include <boost/phoenix/function/function.hpp>
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/proto/extends.hpp>
-#include <boost/proto/traits.hpp>
-
-namespace boost { namespace spirit
-{
- template <typename Terminal, typename Args>
- struct terminal_ex
- {
- typedef Terminal terminal_type;
- typedef Args args_type;
-
- terminal_ex(Args const& args_)
- : args(args_) {}
- terminal_ex(Args const& args_, Terminal const& term_)
- : args(args_), term(term_) {}
-
- Args args; // Args is guaranteed to be a fusion::vectorN so you
- // can use that template for detection and specialization
- Terminal term;
- };
-
- template <typename Terminal, typename Actor, int Arity>
- struct lazy_terminal
- {
- typedef Terminal terminal_type;
- typedef Actor actor_type;
- static int const arity = Arity;
-
- lazy_terminal(Actor const& actor_)
- : actor(actor_) {}
- lazy_terminal(Actor const& actor_, Terminal const& term_)
- : actor(actor_), term(term_) {}
-
- Actor actor;
- Terminal term;
- };
-
- template <typename Domain, typename Terminal, int Arity, typename Enable = void>
- struct use_lazy_terminal : mpl::false_ {};
-
- template <typename Domain, typename Terminal, int Arity, typename Enable = void>
- struct use_lazy_directive : mpl::false_ {};
-
- template <typename Terminal>
- struct terminal;
-
- template <typename Domain, typename Terminal>
- struct use_terminal<Domain, terminal<Terminal> >
- : use_terminal<Domain, Terminal> {};
-
- template <typename Domain, typename Terminal, int Arity, typename Actor>
- struct use_terminal<Domain, lazy_terminal<Terminal, Actor, Arity> >
- : use_lazy_terminal<Domain, Terminal, Arity> {};
-
- template <typename Domain, typename Terminal, int Arity, typename Actor>
- struct use_directive<Domain, lazy_terminal<Terminal, Actor, Arity> >
- : use_lazy_directive<Domain, Terminal, Arity> {};
-
- template <
- typename F
- , typename A0 = unused_type
- , typename A1 = unused_type
- , typename A2 = unused_type
- , typename Unused = unused_type
- >
- struct make_lazy;
-
- template <typename F, typename A0>
- struct make_lazy<F, A0>
- {
- typedef typename
- proto::terminal<
- lazy_terminal<
- typename F::terminal_type
- , typename phoenix::detail::expression::function_eval<F, A0>::type
- , 1 // arity
- >
- >::type
- result_type;
- typedef result_type type;
-
- result_type
- operator()(F f, A0 const& _0_) const
- {
- typedef typename result_type::proto_child0 child_type;
- return result_type::make(child_type(
- phoenix::detail::expression::function_eval<F, A0>::make(f, _0_)
- , f.proto_base().child0
- ));
- }
- };
-
- template <typename F, typename A0, typename A1>
- struct make_lazy<F, A0, A1>
- {
- typedef typename
- proto::terminal<
- lazy_terminal<
- typename F::terminal_type
- , typename phoenix::detail::expression::function_eval<F, A0, A1>::type
- , 2 // arity
- >
- >::type
- result_type;
- typedef result_type type;
-
- result_type
- operator()(F f, A0 const& _0_, A1 const& _1_) const
- {
- typedef typename result_type::proto_child0 child_type;
- return result_type::make(child_type(
- phoenix::detail::expression::function_eval<F, A0, A1>::make(f, _0_, _1_)
- , f.proto_base().child0
- ));
- }
- };
-
- template <typename F, typename A0, typename A1, typename A2>
- struct make_lazy<F, A0, A1, A2>
- {
- typedef typename
- proto::terminal<
- lazy_terminal<
- typename F::terminal_type
- , typename phoenix::detail::expression::function_eval<F, A0, A1, A2>::type
- , 3 // arity
- >
- >::type
- result_type;
- typedef result_type type;
-
- result_type
- operator()(F f, A0 const& _0_, A1 const& _1_, A2 const& _2_) const
- {
- typedef typename result_type::proto_child0 child_type;
- return result_type::make(child_type(
- phoenix::detail::expression::function_eval<F, A0, A1, A2>::make(f, _0_, _1_, _2_)
- , f.proto_base().child0
- ));
- }
- };
-
- namespace detail
- {
- // Helper struct for SFINAE purposes
- template <bool C> struct bool_;
-
- template <>
- struct bool_<true> : mpl::bool_<true>
- {
- typedef bool_<true>* is_true;
- };
-
- template <>
- struct bool_<false> : mpl::bool_<false>
- {
- typedef bool_<false>* is_false;
- };
-
- // Metafunction to detect if at least one arg is a Phoenix actor
- template <
- typename A0
- , typename A1 = unused_type
- , typename A2 = unused_type
- >
- struct contains_actor
- : bool_<
- phoenix::is_actor<A0>::value
- || phoenix::is_actor<A1>::value
- || phoenix::is_actor<A2>::value
- >
- {};
-
- // to_lazy_arg: convert a terminal arg type to the type make_lazy needs
- template <typename A>
- struct to_lazy_arg
- : phoenix::as_actor<A> // wrap A in a Phoenix actor if not already one
- {};
-
- template <typename A>
- struct to_lazy_arg<const A>
- : to_lazy_arg<A>
- {};
-
- template <typename A>
- struct to_lazy_arg<A &>
- : to_lazy_arg<A>
- {};
-
- template <>
- struct to_lazy_arg<unused_type>
- {
- // unused arg: make_lazy wants unused_type
- typedef unused_type type;
- };
-
- // to_nonlazy_arg: convert a terminal arg type to the type make_vector needs
- template <typename A>
- struct to_nonlazy_arg
- {
- // identity
- typedef A type;
- };
-
- template <typename A>
- struct to_nonlazy_arg<const A>
- : to_nonlazy_arg<A>
- {};
-
- template <typename A>
- struct to_nonlazy_arg<A &>
- : to_nonlazy_arg<A>
- {};
-
- // incomplete type: should not be appeared unused_type in nonlazy arg.
- template <>
- struct to_nonlazy_arg<unused_type>;
- }
-
- template <typename Terminal>
- struct terminal
- : proto::extends<
- typename proto::terminal<Terminal>::type
- , terminal<Terminal>
- >
- {
- typedef terminal<Terminal> this_type;
- typedef Terminal terminal_type;
-
- typedef proto::extends<
- typename proto::terminal<Terminal>::type
- , terminal<Terminal>
- > base_type;
-
- terminal() {}
-
- terminal(Terminal const& t)
- : base_type(proto::terminal<Terminal>::type::make(t))
- {}
-
-#if defined(BOOST_MSVC)
-#pragma warning(push)
-// warning C4348: 'boost::spirit::terminal<...>::result_helper': redefinition of default parameter: parameter 3, 4
-#pragma warning(disable: 4348)
-#endif
-
- template <
- bool Lazy
- , typename A0
- , typename A1 = unused_type
- , typename A2 = unused_type
- >
- struct result_helper;
-
-#if defined(BOOST_MSVC)
-#pragma warning(pop)
-#endif
-
- template <
- typename A0
- >
- struct result_helper<false, A0>
- {
- typedef typename
- proto::terminal<
- terminal_ex<
- Terminal
- , typename detail::result_of::make_vector<
- typename detail::to_nonlazy_arg<A0>::type>::type>
- >::type
- type;
- };
-
- template <
- typename A0
- , typename A1
- >
- struct result_helper<false, A0, A1>
- {
- typedef typename
- proto::terminal<
- terminal_ex<
- Terminal
- , typename detail::result_of::make_vector<
- typename detail::to_nonlazy_arg<A0>::type
- , typename detail::to_nonlazy_arg<A1>::type>::type>
- >::type
- type;
- };
-
- template <
- typename A0
- , typename A1
- , typename A2
- >
- struct result_helper<false, A0, A1, A2>
- {
- typedef typename
- proto::terminal<
- terminal_ex<
- Terminal
- , typename detail::result_of::make_vector<
- typename detail::to_nonlazy_arg<A0>::type
- , typename detail::to_nonlazy_arg<A1>::type
- , typename detail::to_nonlazy_arg<A2>::type>::type>
- >::type
- type;
- };
-
- template <
- typename A0
- , typename A1
- , typename A2
- >
- struct result_helper<true, A0, A1, A2>
- {
- typedef typename
- make_lazy<this_type
- , typename detail::to_lazy_arg<A0>::type
- , typename detail::to_lazy_arg<A1>::type
- , typename detail::to_lazy_arg<A2>::type>::type
- type;
- };
-
- // FIXME: we need to change this to conform to the result_of protocol
- template <
- typename A0
- , typename A1 = unused_type
- , typename A2 = unused_type // Support up to 3 args
- >
- struct result
- {
- typedef typename
- result_helper<
- detail::contains_actor<A0, A1, A2>::value
- , A0, A1, A2
- >::type
- type;
- };
-
- template <typename This, typename A0>
- struct result<This(A0)>
- {
- typedef typename
- result_helper<
- detail::contains_actor<A0, unused_type, unused_type>::value
- , A0, unused_type, unused_type
- >::type
- type;
- };
-
- template <typename This, typename A0, typename A1>
- struct result<This(A0, A1)>
- {
- typedef typename
- result_helper<
- detail::contains_actor<A0, A1, unused_type>::value
- , A0, A1, unused_type
- >::type
- type;
- };
-
-
- template <typename This, typename A0, typename A1, typename A2>
- struct result<This(A0, A1, A2)>
- {
- typedef typename
- result_helper<
- detail::contains_actor<A0, A1, A2>::value
- , A0, A1, A2
- >::type
- type;
- };
-
- // Note: in the following overloads, SFINAE cannot
- // be done on return type because of gcc bug #24915:
- // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24915
- // Hence an additional, fake argument is used for SFINAE,
- // using a type which can never be a real argument type.
-
- // Non-lazy overloads. Only enabled when all
- // args are immediates (no Phoenix actor).
-
- template <typename A0>
- typename result<A0>::type
- operator()(A0 const& _0_
- , typename detail::contains_actor<A0>::is_false = 0) const
- {
- typedef typename result<A0>::type result_type;
- typedef typename result_type::proto_child0 child_type;
- return result_type::make(
- child_type(
- detail::make_vector(_0_)
- , this->proto_base().child0)
- );
- }
-
- template <typename A0, typename A1>
- typename result<A0, A1>::type
- operator()(A0 const& _0_, A1 const& _1_
- , typename detail::contains_actor<A0, A1>::is_false = 0) const
- {
- typedef typename result<A0, A1>::type result_type;
- typedef typename result_type::proto_child0 child_type;
- return result_type::make(
- child_type(
- detail::make_vector(_0_, _1_)
- , this->proto_base().child0)
- );
- }
-
- template <typename A0, typename A1, typename A2>
- typename result<A0, A1, A2>::type
- operator()(A0 const& _0_, A1 const& _1_, A2 const& _2_
- , typename detail::contains_actor<A0, A1, A2>::is_false = 0) const
- {
- typedef typename result<A0, A1, A2>::type result_type;
- typedef typename result_type::proto_child0 child_type;
- return result_type::make(
- child_type(
- detail::make_vector(_0_, _1_, _2_)
- , this->proto_base().child0)
- );
- }
-
- // Lazy overloads. Enabled when at
- // least one arg is a Phoenix actor.
- template <typename A0>
- typename result<A0>::type
- operator()(A0 const& _0_
- , typename detail::contains_actor<A0>::is_true = 0) const
- {
- return make_lazy<this_type
- , typename phoenix::as_actor<A0>::type>()(*this
- , phoenix::as_actor<A0>::convert(_0_));
- }
-
- template <typename A0, typename A1>
- typename result<A0, A1>::type
- operator()(A0 const& _0_, A1 const& _1_
- , typename detail::contains_actor<A0, A1>::is_true = 0) const
- {
- return make_lazy<this_type
- , typename phoenix::as_actor<A0>::type
- , typename phoenix::as_actor<A1>::type>()(*this
- , phoenix::as_actor<A0>::convert(_0_)
- , phoenix::as_actor<A1>::convert(_1_));
- }
-
- template <typename A0, typename A1, typename A2>
- typename result<A0, A1, A2>::type
- operator()(A0 const& _0_, A1 const& _1_, A2 const& _2_
- , typename detail::contains_actor<A0, A1, A2>::is_true = 0) const
- {
- return make_lazy<this_type
- , typename phoenix::as_actor<A0>::type
- , typename phoenix::as_actor<A1>::type
- , typename phoenix::as_actor<A2>::type>()(*this
- , phoenix::as_actor<A0>::convert(_0_)
- , phoenix::as_actor<A1>::convert(_1_)
- , phoenix::as_actor<A2>::convert(_2_));
- }
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(terminal& operator= (terminal const&))
- terminal(const terminal&) = default;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- namespace result_of
- {
- // Calculate the type of the compound terminal if generated by one of
- // the spirit::terminal::operator() overloads above
-
- // The terminal type itself is passed through without modification
- template <typename Tag>
- struct terminal
- {
- typedef spirit::terminal<Tag> type;
- };
-
- template <typename Tag, typename A0>
- struct terminal<Tag(A0)>
- {
- typedef typename spirit::terminal<Tag>::
- template result<A0>::type type;
- };
-
- template <typename Tag, typename A0, typename A1>
- struct terminal<Tag(A0, A1)>
- {
- typedef typename spirit::terminal<Tag>::
- template result<A0, A1>::type type;
- };
-
- template <typename Tag, typename A0, typename A1, typename A2>
- struct terminal<Tag(A0, A1, A2)>
- {
- typedef typename spirit::terminal<Tag>::
- template result<A0, A1, A2>::type type;
- };
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // support for stateful tag types
- namespace tag
- {
- template <
- typename Data, typename Tag
- , typename DataTag1 = unused_type, typename DataTag2 = unused_type>
- struct stateful_tag
- {
- BOOST_SPIRIT_IS_TAG()
-
- typedef Data data_type;
-
- stateful_tag() {}
- stateful_tag(data_type const& data) : data_(data) {}
-
- data_type data_;
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(stateful_tag& operator= (stateful_tag const&))
- stateful_tag(const stateful_tag&) = default;
- };
- }
-
- template <
- typename Data, typename Tag
- , typename DataTag1 = unused_type, typename DataTag2 = unused_type>
- struct stateful_tag_type
- : spirit::terminal<tag::stateful_tag<Data, Tag, DataTag1, DataTag2> >
- {
- typedef tag::stateful_tag<Data, Tag, DataTag1, DataTag2> tag_type;
-
- stateful_tag_type() {}
- stateful_tag_type(Data const& data)
- : spirit::terminal<tag_type>(data)
- {}
-
- // silence MSVC warning C4512: assignment operator could not be generated
- BOOST_DELETED_FUNCTION(stateful_tag_type& operator= (stateful_tag_type const&))
- };
-
- namespace detail
- {
- // extract expression if this is a Tag
- template <typename StatefulTag>
- struct get_stateful_data
- {
- typedef typename StatefulTag::data_type data_type;
-
- // is invoked if given tag is != Tag
- template <typename Tag_>
- static data_type call(Tag_) { return data_type(); }
-
- // this is invoked if given tag is same as'Tag'
- static data_type const& call(StatefulTag const& t) { return t.data_; }
- };
- }
-
-}}
-
-namespace boost { namespace phoenix
-{
- template <typename Tag>
- struct is_custom_terminal<Tag, typename Tag::is_spirit_tag>
- : mpl::true_
- {};
-
- template <typename Tag>
- struct custom_terminal<Tag, typename Tag::is_spirit_tag>
- {
-#ifndef BOOST_PHOENIX_NO_SPECIALIZE_CUSTOM_TERMINAL
- typedef void _is_default_custom_terminal; // fix for #7730
-#endif
-
- typedef spirit::terminal<Tag> result_type;
-
- template <typename Context>
- result_type operator()(Tag const & t, Context const &)
- {
- return spirit::terminal<Tag>(t);
- }
- };
-}}
-
-// Define a spirit terminal. This macro may be placed in any namespace.
-// Common placeholders are placed in the main boost::spirit namespace
-// (see common_terminals.hpp)
-
-#define BOOST_SPIRIT_TERMINAL_X(x, y) ((x, y)) BOOST_SPIRIT_TERMINAL_Y
-#define BOOST_SPIRIT_TERMINAL_Y(x, y) ((x, y)) BOOST_SPIRIT_TERMINAL_X
-#define BOOST_SPIRIT_TERMINAL_X0
-#define BOOST_SPIRIT_TERMINAL_Y0
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
-
-#define BOOST_SPIRIT_TERMINAL_NAME(name, type_name) \
- namespace tag { struct name { BOOST_SPIRIT_IS_TAG() }; } \
- typedef boost::proto::terminal<tag::name>::type type_name; \
- type_name const name = {{}}; \
- inline void BOOST_PP_CAT(silence_unused_warnings_, name)() { (void) name; } \
- /***/
-
-#else
-
-#define BOOST_SPIRIT_TERMINAL_NAME(name, type_name) \
- namespace tag { struct name { BOOST_SPIRIT_IS_TAG() }; } \
- typedef boost::proto::terminal<tag::name>::type type_name; \
- /***/
-
-#endif
-
-#define BOOST_SPIRIT_TERMINAL(name) \
- BOOST_SPIRIT_TERMINAL_NAME(name, name ## _type) \
- /***/
-
-#define BOOST_SPIRIT_DEFINE_TERMINALS_NAME_A(r, _, names) \
- BOOST_SPIRIT_TERMINAL_NAME( \
- BOOST_PP_TUPLE_ELEM(2, 0, names), \
- BOOST_PP_TUPLE_ELEM(2, 1, names) \
- ) \
- /***/
-
-#define BOOST_SPIRIT_DEFINE_TERMINALS_NAME(seq) \
- BOOST_PP_SEQ_FOR_EACH(BOOST_SPIRIT_DEFINE_TERMINALS_NAME_A, _, \
- BOOST_PP_CAT(BOOST_SPIRIT_TERMINAL_X seq, 0)) \
- /***/
-
-// Define a spirit extended terminal. This macro may be placed in any namespace.
-// Common placeholders are placed in the main boost::spirit namespace
-// (see common_terminals.hpp)
-
-#ifndef BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
-
-#define BOOST_SPIRIT_TERMINAL_NAME_EX(name, type_name) \
- namespace tag { struct name { BOOST_SPIRIT_IS_TAG() }; } \
- typedef boost::spirit::terminal<tag::name> type_name; \
- type_name const name = type_name(); \
- inline void BOOST_PP_CAT(silence_unused_warnings_, name)() { (void) name; } \
- /***/
-
-#else
-
-#define BOOST_SPIRIT_TERMINAL_NAME_EX(name, type_name) \
- namespace tag { struct name { BOOST_SPIRIT_IS_TAG() }; } \
- typedef boost::spirit::terminal<tag::name> type_name; \
- /***/
-
-#endif
-
-#define BOOST_SPIRIT_TERMINAL_EX(name) \
- BOOST_SPIRIT_TERMINAL_NAME_EX(name, name ## _type) \
- /***/
-
-#define BOOST_SPIRIT_DEFINE_TERMINALS_NAME_EX_A(r, _, names) \
- BOOST_SPIRIT_TERMINAL_NAME_EX( \
- BOOST_PP_TUPLE_ELEM(2, 0, names), \
- BOOST_PP_TUPLE_ELEM(2, 1, names) \
- ) \
- /***/
-
-#define BOOST_SPIRIT_DEFINE_TERMINALS_NAME_EX(seq) \
- BOOST_PP_SEQ_FOR_EACH(BOOST_SPIRIT_DEFINE_TERMINALS_NAME_EX_A, _, \
- BOOST_PP_CAT(BOOST_SPIRIT_TERMINAL_X seq, 0)) \
- /***/
-
-#endif
-
-
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/terminal_expression.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/terminal_expression.hpp
deleted file mode 100644
index 0d206bfd9f..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/terminal_expression.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- Copyright (c) 2011 Thomas Heller
-
- Distributed under the 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_TERMINAL_EXPRESSION_MARCH_24_2011_1210AM)
-#define BOOST_SPIRIT_TERMINAL_EXPRESSION_MARCH_24_2011_1210AM
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/unused.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/unused.hpp
deleted file mode 100644
index f8e4323169..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/unused.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_UNUSED_APRIL_16_2006_0616PM)
-#define BOOST_SPIRIT_UNUSED_APRIL_16_2006_0616PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/mpl/bool.hpp>
-
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit
-{
- ///////////////////////////////////////////////////////////////////////////
- // We do not import fusion ::unused_type anymore to avoid boost::fusion
- // being turned into an associate namespace for boost::spirit, as this
- // interferes with ADL in unexpected ways. We rather copy the full
- // unused_type implementation from boost::fusion.
- ///////////////////////////////////////////////////////////////////////////
- struct unused_type
- {
- BOOST_DEFAULTED_FUNCTION(unused_type(), {})
-
- unused_type(const unused_type& a) = default;
-
- template <typename T>
- unused_type(T const&)
- {
- }
-
- template <typename T>
- unused_type const&
- operator=(T const&) const
- {
- return *this;
- }
-
- template <typename T>
- unused_type&
- operator=(T const&)
- {
- return *this;
- }
- };
-
- unused_type const unused = unused_type();
-
- namespace detail
- {
- struct unused_only
- {
- unused_only(unused_type const&) {}
- };
- }
-
- template <typename Out>
- inline Out& operator<<(Out& out, detail::unused_only const&)
- {
- return out;
- }
-
- template <typename In>
- inline In& operator>>(In& in, unused_type&)
- {
- return in;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- namespace traits
- {
- // We use this test to detect if the argument is not an unused_type
- template <typename T> struct not_is_unused : mpl::true_ {};
- template <> struct not_is_unused<unused_type> : mpl::false_ {};
- }
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/utf8.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/utf8.hpp
deleted file mode 100644
index 59fcb9881e..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/utf8.hpp
+++ /dev/null
@@ -1,111 +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)
-==============================================================================*/
-#if !defined(BOOST_SPIRIT_UC_TYPES_NOVEMBER_23_2008_0840PM)
-#define BOOST_SPIRIT_UC_TYPES_NOVEMBER_23_2008_0840PM
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/cstdint.hpp>
-#include <boost/regex/pending/unicode_iterator.hpp>
-#include <boost/type_traits/make_unsigned.hpp>
-#include <iterator>
-#include <string>
-
-namespace boost { namespace spirit
-{
- typedef ::boost::uint32_t ucs4_char;
- typedef char utf8_char;
- typedef std::basic_string<ucs4_char> ucs4_string;
- typedef std::basic_string<utf8_char> utf8_string;
-
- template <typename Char>
- inline utf8_string to_utf8(Char value)
- {
- // always store as UTF8
- utf8_string result;
- typedef std::back_insert_iterator<utf8_string> insert_iter;
- insert_iter out_iter(result);
- utf8_output_iterator<insert_iter> utf8_iter(out_iter);
- typedef typename make_unsigned<Char>::type UChar;
- *utf8_iter = (UChar)value;
- return result;
- }
-
- template <typename Char>
- inline utf8_string to_utf8(Char const* str)
- {
- // always store as UTF8
- utf8_string result;
- typedef std::back_insert_iterator<utf8_string> insert_iter;
- insert_iter out_iter(result);
- utf8_output_iterator<insert_iter> utf8_iter(out_iter);
- typedef typename make_unsigned<Char>::type UChar;
- while (*str)
- *utf8_iter++ = (UChar)*str++;
- return result;
- }
-
- template <typename Char, typename Traits, typename Allocator>
- inline utf8_string
- to_utf8(std::basic_string<Char, Traits, Allocator> const& str)
- {
- // always store as UTF8
- utf8_string result;
- typedef std::back_insert_iterator<utf8_string> insert_iter;
- insert_iter out_iter(result);
- utf8_output_iterator<insert_iter> utf8_iter(out_iter);
- typedef typename make_unsigned<Char>::type UChar;
- for (Char const* ptr = str.data(),
- * end = ptr + str.size(); ptr < end; ++ptr)
- {
- *utf8_iter++ = (UChar)*ptr;
- }
- return result;
- }
-
- // Assume wchar_t content is UTF-16 on MSVC, or mingw/wineg++ with -fshort-wchar
-#if defined(_MSC_VER) || defined(__SIZEOF_WCHAR_T__) && __SIZEOF_WCHAR_T__ == 2
- inline utf8_string to_utf8(wchar_t value)
- {
- utf8_string result;
- typedef std::back_insert_iterator<utf8_string> insert_iter;
- insert_iter out_iter(result);
- utf8_output_iterator<insert_iter> utf8_iter(out_iter);
-
- u16_to_u32_iterator<wchar_t const*, ucs4_char> ucs4_iter(&value);
- *utf8_iter++ = *ucs4_iter;
-
- return result;
- }
-
- inline utf8_string to_utf8(wchar_t const* str)
- {
- utf8_string result;
- typedef std::back_insert_iterator<utf8_string> insert_iter;
- insert_iter out_iter(result);
- utf8_output_iterator<insert_iter> utf8_iter(out_iter);
-
- u16_to_u32_iterator<wchar_t const*, ucs4_char> ucs4_iter(str);
- for (ucs4_char c; (c = *ucs4_iter) != ucs4_char(); ++ucs4_iter) {
- *utf8_iter++ = c;
- }
-
- return result;
- }
-
- template <typename Traits, typename Allocator>
- inline utf8_string
- to_utf8(std::basic_string<wchar_t, Traits, Allocator> const& str)
- {
- return to_utf8(str.c_str());
- }
-#endif
-}}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/utree/utree_traits_fwd.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/home/support/utree/utree_traits_fwd.hpp
deleted file mode 100644
index 7830c7950f..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/home/support/utree/utree_traits_fwd.hpp
+++ /dev/null
@@ -1,24 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 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)
-=============================================================================*/
-#if !defined(BOOST_SPIRIT_OUTPUT_UTREE_TRAITS_FWD_FEB_14_2011_0632AM)
-#define BOOST_SPIRIT_OUTPUT_UTREE_TRAITS_FWD_FEB_14_2011_0632AM
-
-///////////////////////////////////////////////////////////////////////////////
-// forward declarations only
-///////////////////////////////////////////////////////////////////////////////
-namespace boost { namespace spirit
-{
- class utree;
-}}
-
-namespace boost
-{
- template <typename T>
- inline T get(boost::spirit::utree const& x);
-}
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/include/karma_generate.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/include/karma_generate.hpp
deleted file mode 100644
index 4ad2f15272..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/include/karma_generate.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_INCLUDE_KARMA_GENERATE
-#define BOOST_SPIRIT_INCLUDE_KARMA_GENERATE
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/karma/generate.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/include/karma_uint.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/include/karma_uint.hpp
deleted file mode 100644
index ca66c26081..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/include/karma_uint.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_INCLUDE_KARMA_UINT
-#define BOOST_SPIRIT_INCLUDE_KARMA_UINT
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/karma/numeric/uint.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/include/qi_core.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/include/qi_core.hpp
deleted file mode 100644
index 0cf618106d..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/include/qi_core.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_INCLUDE_QI_CORE
-#define BOOST_SPIRIT_INCLUDE_QI_CORE
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/parser.hpp>
-#include <boost/spirit/home/qi/parse.hpp>
-#include <boost/spirit/home/qi/what.hpp>
-#include <boost/spirit/home/qi/action.hpp>
-#include <boost/spirit/home/qi/char.hpp>
-#include <boost/spirit/home/qi/directive.hpp>
-#include <boost/spirit/home/qi/nonterminal.hpp>
-#include <boost/spirit/home/qi/numeric.hpp>
-#include <boost/spirit/home/qi/operator.hpp>
-#include <boost/spirit/home/qi/string.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/include/qi_parse.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/include/qi_parse.hpp
deleted file mode 100644
index 79e5e039dd..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/include/qi_parse.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_INCLUDE_QI_PARSE
-#define BOOST_SPIRIT_INCLUDE_QI_PARSE
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/parse.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/include/qi_uint.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/include/qi_uint.hpp
deleted file mode 100644
index e70295e489..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/include/qi_uint.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_INCLUDE_QI_UINT
-#define BOOST_SPIRIT_INCLUDE_QI_UINT
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/qi/numeric/uint.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/include/support_standard.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/include/support_standard.hpp
deleted file mode 100644
index 24ea6a7977..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/include/support_standard.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_INCLUDE_SUPPORT_STANDARD
-#define BOOST_SPIRIT_INCLUDE_SUPPORT_STANDARD
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/char_encoding/standard.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/spirit/include/boost/spirit/include/support_standard_wide.hpp b/contrib/restricted/boost/spirit/include/boost/spirit/include/support_standard_wide.hpp
deleted file mode 100644
index 74c85b06e9..0000000000
--- a/contrib/restricted/boost/spirit/include/boost/spirit/include/support_standard_wide.hpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/*=============================================================================
- Copyright (c) 2001-2011 Joel de Guzman
- Copyright (c) 2001-2011 Hartmut Kaiser
- http://spirit.sourceforge.net/
-
- Distributed under the 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_SPIRIT_INCLUDE_SUPPORT_STANDARD_WIDE
-#define BOOST_SPIRIT_INCLUDE_SUPPORT_STANDARD_WIDE
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/spirit/home/support/char_encoding/standard_wide.hpp>
-
-#endif
diff --git a/contrib/restricted/boost/utility/include/boost/utility/detail/in_place_factory_prefix.hpp b/contrib/restricted/boost/utility/include/boost/utility/detail/in_place_factory_prefix.hpp
deleted file mode 100644
index afd76b5a85..0000000000
--- a/contrib/restricted/boost/utility/include/boost/utility/detail/in_place_factory_prefix.hpp
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-// Copyright (C) 2007, Tobias Schwinger.
-//
-// 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/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-// fernando_cacciola@hotmail.com
-//
-#ifndef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
-#define BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
-
-#include <new>
-#include <cstddef>
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/punctuation/paren.hpp>
-#include <boost/preprocessor/iteration/iterate.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/repetition/enum.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-
-#define BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT(z,n,_) BOOST_PP_CAT(m_a,n) BOOST_PP_LPAREN() BOOST_PP_CAT(a,n) BOOST_PP_RPAREN()
-#define BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL(z,n,_) BOOST_PP_CAT(A,n) const& BOOST_PP_CAT(m_a,n);
-
-#define BOOST_MAX_INPLACE_FACTORY_ARITY 10
-
-#undef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
-
-#endif
-
diff --git a/contrib/restricted/boost/utility/include/boost/utility/detail/in_place_factory_suffix.hpp b/contrib/restricted/boost/utility/include/boost/utility/detail/in_place_factory_suffix.hpp
deleted file mode 100644
index 58f48c708c..0000000000
--- a/contrib/restricted/boost/utility/include/boost/utility/detail/in_place_factory_suffix.hpp
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-// Copyright (C) 2007, Tobias Schwinger.
-//
-// 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/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-// fernando_cacciola@hotmail.com
-//
-#ifndef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
-#define BOOST_UTILITY_DETAIL_INPLACE_FACTORY_SUFFIX_04APR2007_HPP
-
-#undef BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT
-#undef BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL
-#undef BOOST_MAX_INPLACE_FACTORY_ARITY
-
-#undef BOOST_UTILITY_DETAIL_INPLACE_FACTORY_PREFIX_04APR2007_HPP
-
-#endif
-
diff --git a/contrib/restricted/boost/utility/include/boost/utility/in_place_factory.hpp b/contrib/restricted/boost/utility/include/boost/utility/in_place_factory.hpp
deleted file mode 100644
index 1a62ace10a..0000000000
--- a/contrib/restricted/boost/utility/include/boost/utility/in_place_factory.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright (C) 2003, Fernando Luis Cacciola Carballal.
-// Copyright (C) 2007, Tobias Schwinger.
-//
-// 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/libs/optional for documentation.
-//
-// You are welcome to contact the author at:
-// fernando_cacciola@hotmail.com
-//
-#ifndef BOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP
-#ifndef BOOST_PP_IS_ITERATING
-
-#include <boost/utility/detail/in_place_factory_prefix.hpp>
-
-namespace boost {
-
-class in_place_factory_base {} ;
-
-#define BOOST_PP_ITERATION_LIMITS (0, BOOST_MAX_INPLACE_FACTORY_ARITY)
-#define BOOST_PP_FILENAME_1 <boost/utility/in_place_factory.hpp>
-#include BOOST_PP_ITERATE()
-
-} // namespace boost
-
-#include <boost/utility/detail/in_place_factory_suffix.hpp>
-
-#define BOOST_UTILITY_INPLACE_FACTORY_04APR2007_HPP
-#else
-#define N BOOST_PP_ITERATION()
-
-#if N
-template< BOOST_PP_ENUM_PARAMS(N, class A) >
-#endif
-class BOOST_PP_CAT(in_place_factory,N)
- :
- public in_place_factory_base
-{
-public:
-
- explicit BOOST_PP_CAT(in_place_factory,N)
- ( BOOST_PP_ENUM_BINARY_PARAMS(N,A,const& a) )
-#if N > 0
- : BOOST_PP_ENUM(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_INIT, _)
-#endif
- {}
-
- template<class T>
- void* apply(void* address) const
- {
- return new(address) T( BOOST_PP_ENUM_PARAMS(N, m_a) );
- }
-
- template<class T>
- void* apply(void* address, std::size_t n) const
- {
- for(char* next = address = this->BOOST_NESTED_TEMPLATE apply<T>(address);
- !! --n;)
- this->BOOST_NESTED_TEMPLATE apply<T>(next = next+sizeof(T));
- return address;
- }
-
- BOOST_PP_REPEAT(N, BOOST_DEFINE_INPLACE_FACTORY_CLASS_MEMBER_DECL, _)
-};
-
-#if N > 0
-template< BOOST_PP_ENUM_PARAMS(N, class A) >
-inline BOOST_PP_CAT(in_place_factory,N)< BOOST_PP_ENUM_PARAMS(N, A) >
-in_place( BOOST_PP_ENUM_BINARY_PARAMS(N, A, const& a) )
-{
- return BOOST_PP_CAT(in_place_factory,N)< BOOST_PP_ENUM_PARAMS(N, A) >
- ( BOOST_PP_ENUM_PARAMS(N, a) );
-}
-#else
-inline in_place_factory0 in_place()
-{
- return in_place_factory0();
-}
-#endif
-
-#undef N
-#endif
-#endif
-
diff --git a/contrib/restricted/boost/utility/include/boost/utility/string_ref_fwd.hpp b/contrib/restricted/boost/utility/include/boost/utility/string_ref_fwd.hpp
deleted file mode 100644
index f58b98c1fb..0000000000
--- a/contrib/restricted/boost/utility/include/boost/utility/string_ref_fwd.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- Copyright (c) Marshall Clow 2012-2012.
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- For more information, see http://www.boost.org
-
- Based on the StringRef implementation in LLVM (http://llvm.org) and
- N3422 by Jeffrey Yasskin
- http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3442.html
-
-*/
-
-#ifndef BOOST_STRING_REF_FWD_HPP
-#define BOOST_STRING_REF_FWD_HPP
-
-#include <boost/config.hpp>
-#include <string>
-
-namespace boost {
-
- template<typename charT, typename traits = std::char_traits<charT> > class basic_string_ref;
- typedef basic_string_ref<char, std::char_traits<char> > string_ref;
- typedef basic_string_ref<wchar_t, std::char_traits<wchar_t> > wstring_ref;
-
-#ifndef BOOST_NO_CXX11_CHAR16_T
- typedef basic_string_ref<char16_t, std::char_traits<char16_t> > u16string_ref;
-#endif
-
-#ifndef BOOST_NO_CXX11_CHAR32_T
- typedef basic_string_ref<char32_t, std::char_traits<char32_t> > u32string_ref;
-#endif
-
-}
-
-#endif
diff --git a/contrib/restricted/boost/utility/include/boost/utility/string_view_fwd.hpp b/contrib/restricted/boost/utility/include/boost/utility/string_view_fwd.hpp
deleted file mode 100644
index dbda0de46a..0000000000
--- a/contrib/restricted/boost/utility/include/boost/utility/string_view_fwd.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- Copyright (c) Marshall Clow 2012-2012.
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
- For more information, see http://www.boost.org
-
- Based on the StringRef implementation in LLVM (http://llvm.org) and
- N3422 by Jeffrey Yasskin
- http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3442.html
- Updated July 2015 to reflect the Library Fundamentals TS
- http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4480.html
-
-*/
-
-#ifndef BOOST_STRING_VIEW_FWD_HPP
-#define BOOST_STRING_VIEW_FWD_HPP
-
-#include <boost/config.hpp>
-#include <string>
-
-namespace boost {
-
- template<typename charT, typename traits = std::char_traits<charT> > class basic_string_view;
- typedef basic_string_view<char, std::char_traits<char> > string_view;
- typedef basic_string_view<wchar_t, std::char_traits<wchar_t> > wstring_view;
-
-#ifndef BOOST_NO_CXX11_CHAR16_T
- typedef basic_string_view<char16_t, std::char_traits<char16_t> > u16string_view;
-#endif
-
-#ifndef BOOST_NO_CXX11_CHAR32_T
- typedef basic_string_view<char32_t, std::char_traits<char32_t> > u32string_view;
-#endif
-
-}
-
-#endif
diff --git a/contrib/restricted/boost/winapi/include/boost/winapi/thread_pool.hpp b/contrib/restricted/boost/winapi/include/boost/winapi/thread_pool.hpp
deleted file mode 100644
index 546a68579d..0000000000
--- a/contrib/restricted/boost/winapi/include/boost/winapi/thread_pool.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright 2013 Andrey Semashev
- *
- * Distributed under the Boost Software License, Version 1.0.
- * See http://www.boost.org/LICENSE_1_0.txt
- */
-
-#ifndef BOOST_WINAPI_THREAD_POOL_HPP_INCLUDED_
-#define BOOST_WINAPI_THREAD_POOL_HPP_INCLUDED_
-
-#include <boost/winapi/config.hpp>
-
-#ifdef BOOST_HAS_PRAGMA_ONCE
-#pragma once
-#endif
-
-#if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K
-
-#include <boost/winapi/basic_types.hpp>
-#include <boost/winapi/detail/header.hpp>
-
-#if !defined( BOOST_USE_WINDOWS_H )
-extern "C" {
-#if BOOST_WINAPI_PARTITION_DESKTOP
-typedef boost::winapi::VOID_ (BOOST_WINAPI_NTAPI_CC *WAITORTIMERCALLBACKFUNC)
- (boost::winapi::PVOID_, boost::winapi::BOOLEAN_);
-typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK;
-
-BOOST_WINAPI_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
-RegisterWaitForSingleObject(
- boost::winapi::PHANDLE_ phNewWaitObject,
- boost::winapi::HANDLE_ hObject,
- WAITORTIMERCALLBACK Callback,
- boost::winapi::PVOID_ Context,
- boost::winapi::ULONG_ dwMilliseconds,
- boost::winapi::ULONG_ dwFlags);
-#endif
-} // extern "C"
-#endif
-
-// MinGW is buggy - it is missing these function declarations for Win2000
-#if !defined( BOOST_USE_WINDOWS_H ) || (defined(BOOST_WINAPI_IS_MINGW) && BOOST_USE_WINAPI_VERSION < BOOST_WINAPI_VERSION_WINXP)
-extern "C" {
-#if BOOST_WINAPI_PARTITION_DESKTOP
-BOOST_WINAPI_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
-UnregisterWait(boost::winapi::HANDLE_ WaitHandle);
-#endif
-
-#if BOOST_WINAPI_PARTITION_DESKTOP || BOOST_WINAPI_PARTITION_SYSTEM
-BOOST_WINAPI_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
-UnregisterWaitEx(
- boost::winapi::HANDLE_ WaitHandle,
- boost::winapi::HANDLE_ CompletionEvent);
-#endif
-} // extern "C"
-#endif
-
-namespace boost {
-namespace winapi {
-
-#if BOOST_WINAPI_PARTITION_DESKTOP
-typedef ::WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACKFUNC_;
-typedef ::WAITORTIMERCALLBACK WAITORTIMERCALLBACK_;
-
-using ::RegisterWaitForSingleObject;
-using ::UnregisterWait;
-#endif
-
-#if BOOST_WINAPI_PARTITION_DESKTOP || BOOST_WINAPI_PARTITION_SYSTEM
-using ::UnregisterWaitEx;
-#endif
-#if defined( BOOST_USE_WINDOWS_H )
-
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEDEFAULT_ = WT_EXECUTEDEFAULT;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINIOTHREAD_ = WT_EXECUTEINIOTHREAD;
-#if defined( BOOST_WINAPI_IS_MINGW )
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINUITHREAD_ = 0x00000002;
-#else
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINUITHREAD_ = WT_EXECUTEINUITHREAD;
-#endif
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINWAITTHREAD_ = WT_EXECUTEINWAITTHREAD;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEONLYONCE_ = WT_EXECUTEONLYONCE;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINTIMERTHREAD_ = WT_EXECUTEINTIMERTHREAD;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTELONGFUNCTION_ = WT_EXECUTELONGFUNCTION;
-#if defined( BOOST_WINAPI_IS_MINGW )
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINPERSISTENTIOTHREAD_ = 0x00000040;
-#else
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINPERSISTENTIOTHREAD_ = WT_EXECUTEINPERSISTENTIOTHREAD;
-#endif
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINPERSISTENTTHREAD_ = WT_EXECUTEINPERSISTENTTHREAD;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_TRANSFER_IMPERSONATION_ = WT_TRANSFER_IMPERSONATION;
-
-#else // defined( BOOST_USE_WINDOWS_H )
-
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEDEFAULT_ = 0x00000000;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINIOTHREAD_ = 0x00000001;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINUITHREAD_ = 0x00000002;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINWAITTHREAD_ = 0x00000004;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEONLYONCE_ = 0x00000008;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINTIMERTHREAD_ = 0x00000020;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTELONGFUNCTION_ = 0x00000010;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINPERSISTENTIOTHREAD_ = 0x00000040;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_EXECUTEINPERSISTENTTHREAD_ = 0x00000080;
-BOOST_CONSTEXPR_OR_CONST ULONG_ WT_TRANSFER_IMPERSONATION_ = 0x00000100;
-
-#endif // defined( BOOST_USE_WINDOWS_H )
-
-BOOST_FORCEINLINE BOOST_CONSTEXPR ULONG_ wt_set_max_threadpool_threads(ULONG_ flags, ULONG_ limit) BOOST_NOEXCEPT
-{
- // Note: We don't use WT_SET_MAX_THREADPOOL_THREADS here because the way it's defined
- // the function no longer meets C++11 constexpr requirements.
- return flags | (limit << 16);
-}
-
-BOOST_CONSTEXPR_OR_CONST ULONG_ wt_execute_default = WT_EXECUTEDEFAULT_;
-BOOST_CONSTEXPR_OR_CONST ULONG_ wt_execute_in_io_thread = WT_EXECUTEINIOTHREAD_;
-BOOST_CONSTEXPR_OR_CONST ULONG_ wt_execute_in_ui_thread = WT_EXECUTEINUITHREAD_;
-BOOST_CONSTEXPR_OR_CONST ULONG_ wt_execute_in_wait_thread = WT_EXECUTEINWAITTHREAD_;
-BOOST_CONSTEXPR_OR_CONST ULONG_ wt_execute_only_once = WT_EXECUTEONLYONCE_;
-BOOST_CONSTEXPR_OR_CONST ULONG_ wt_execute_in_timer_thread = WT_EXECUTEINTIMERTHREAD_;
-BOOST_CONSTEXPR_OR_CONST ULONG_ wt_execute_long_function = WT_EXECUTELONGFUNCTION_;
-BOOST_CONSTEXPR_OR_CONST ULONG_ wt_execute_in_persistent_io_thread = WT_EXECUTEINPERSISTENTIOTHREAD_;
-BOOST_CONSTEXPR_OR_CONST ULONG_ wt_execute_in_persistent_thread = WT_EXECUTEINPERSISTENTTHREAD_;
-BOOST_CONSTEXPR_OR_CONST ULONG_ wt_transfer_impersonation = WT_TRANSFER_IMPERSONATION_;
-
-}
-}
-
-#include <boost/winapi/detail/footer.hpp>
-
-#endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K
-#endif // BOOST_WINAPI_THREAD_POOL_HPP_INCLUDED_
diff --git a/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/dynamic.hpp b/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/dynamic.hpp
deleted file mode 100644
index 62e418ada4..0000000000
--- a/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/dynamic.hpp
+++ /dev/null
@@ -1,337 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// dynamic.hpp
-//
-// Copyright 2008 Eric Niebler. Distributed under the 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_XPRESSIVE_DETAIL_DYNAMIC_DYNAMIC_HPP_EAN_10_04_2005
-#define BOOST_XPRESSIVE_DETAIL_DYNAMIC_DYNAMIC_HPP_EAN_10_04_2005
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <vector>
-#include <utility>
-#include <algorithm>
-#include <boost/assert.hpp>
-#include <boost/mpl/int.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/xpressive/detail/detail_fwd.hpp>
-#include <boost/xpressive/detail/core/quant_style.hpp>
-#include <boost/xpressive/detail/dynamic/matchable.hpp>
-#include <boost/xpressive/detail/dynamic/sequence.hpp>
-#include <boost/xpressive/detail/core/icase.hpp>
-
-namespace boost { namespace xpressive { namespace detail
-{
-
-///////////////////////////////////////////////////////////////////////////////
-// invalid_xpression
-template<typename BidiIter>
-struct invalid_xpression
- : matchable_ex<BidiIter>
-{
- invalid_xpression()
- : matchable_ex<BidiIter>()
- {
- intrusive_ptr_add_ref(this); // keep alive forever
- }
-
- bool match(match_state<BidiIter> &) const
- {
- BOOST_ASSERT(false);
- return false;
- }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// get_invalid_xpression
-template<typename BidiIter>
-inline shared_matchable<BidiIter> const &get_invalid_xpression()
-{
- static invalid_xpression<BidiIter> const invalid_xpr;
- static intrusive_ptr<matchable_ex<BidiIter> const> const invalid_ptr(&invalid_xpr);
- static shared_matchable<BidiIter> const invalid_matchable(invalid_ptr);
- return invalid_matchable;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// dynamic_xpression
-template<typename Matcher, typename BidiIter>
-struct dynamic_xpression
- : Matcher
- , matchable_ex<BidiIter>
-{
- typedef typename iterator_value<BidiIter>::type char_type;
-
- dynamic_xpression(Matcher const &matcher = Matcher())
- : Matcher(matcher)
- , next_(get_invalid_xpression<BidiIter>())
- {
- }
-
- virtual bool match(match_state<BidiIter> &state) const
- {
- return this->Matcher::match(state, *this->next_.matchable());
- }
-
- virtual void link(xpression_linker<char_type> &linker) const
- {
- linker.accept(*static_cast<Matcher const *>(this), this->next_.matchable().get());
- this->next_.link(linker);
- }
-
- virtual void peek(xpression_peeker<char_type> &peeker) const
- {
- this->peek_next_(peeker.accept(*static_cast<Matcher const *>(this)), peeker);
- }
-
- virtual void repeat(quant_spec const &spec, sequence<BidiIter> &seq) const
- {
- this->repeat_(spec, seq, quant_type<Matcher>(), is_same<Matcher, mark_begin_matcher>());
- }
-
-private:
- friend struct sequence<BidiIter>;
-
- void peek_next_(mpl::true_, xpression_peeker<char_type> &peeker) const
- {
- this->next_.peek(peeker);
- }
-
- void peek_next_(mpl::false_, xpression_peeker<char_type> &) const
- {
- // no-op
- }
-
- void repeat_(quant_spec const &spec, sequence<BidiIter> &seq, mpl::int_<quant_none>, mpl::false_) const
- {
- if(quant_none == seq.quant())
- {
- BOOST_THROW_EXCEPTION(
- regex_error(regex_constants::error_badrepeat, "expression cannot be quantified")
- );
- }
- else
- {
- this->repeat_(spec, seq, mpl::int_<quant_variable_width>(), mpl::false_());
- }
- }
-
- void repeat_(quant_spec const &spec, sequence<BidiIter> &seq, mpl::int_<quant_fixed_width>, mpl::false_) const
- {
- if(this->next_ == get_invalid_xpression<BidiIter>())
- {
- make_simple_repeat(spec, seq, matcher_wrapper<Matcher>(*this));
- }
- else
- {
- this->repeat_(spec, seq, mpl::int_<quant_variable_width>(), mpl::false_());
- }
- }
-
- void repeat_(quant_spec const &spec, sequence<BidiIter> &seq, mpl::int_<quant_variable_width>, mpl::false_) const
- {
- if(!is_unknown(seq.width()) && seq.pure())
- {
- make_simple_repeat(spec, seq);
- }
- else
- {
- make_repeat(spec, seq);
- }
- }
-
- void repeat_(quant_spec const &spec, sequence<BidiIter> &seq, mpl::int_<quant_fixed_width>, mpl::true_) const
- {
- make_repeat(spec, seq, this->mark_number_);
- }
-
- shared_matchable<BidiIter> next_;
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// make_dynamic
-template<typename BidiIter, typename Matcher>
-inline sequence<BidiIter> make_dynamic(Matcher const &matcher)
-{
- typedef dynamic_xpression<Matcher, BidiIter> xpression_type;
- intrusive_ptr<xpression_type> xpr(new xpression_type(matcher));
- return sequence<BidiIter>(xpr);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// alternates_vector
-template<typename BidiIter>
-struct alternates_vector
- : std::vector<shared_matchable<BidiIter> >
-{
- BOOST_STATIC_CONSTANT(std::size_t, width = unknown_width::value);
- BOOST_STATIC_CONSTANT(bool, pure = false);
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// matcher_wrapper
-template<typename Matcher>
-struct matcher_wrapper
- : Matcher
-{
- matcher_wrapper(Matcher const &matcher = Matcher())
- : Matcher(matcher)
- {
- }
-
- template<typename BidiIter>
- bool match(match_state<BidiIter> &state) const
- {
- return this->Matcher::match(state, matcher_wrapper<true_matcher>());
- }
-
- template<typename Char>
- void link(xpression_linker<Char> &linker) const
- {
- linker.accept(*static_cast<Matcher const *>(this), 0);
- }
-
- template<typename Char>
- void peek(xpression_peeker<Char> &peeker) const
- {
- peeker.accept(*static_cast<Matcher const *>(this));
- }
-};
-
-//////////////////////////////////////////////////////////////////////////
-// make_simple_repeat
-template<typename BidiIter, typename Xpr>
-inline void
-make_simple_repeat(quant_spec const &spec, sequence<BidiIter> &seq, Xpr const &xpr)
-{
- if(spec.greedy_)
- {
- simple_repeat_matcher<Xpr, mpl::true_> quant(xpr, spec.min_, spec.max_, seq.width().value());
- seq = make_dynamic<BidiIter>(quant);
- }
- else
- {
- simple_repeat_matcher<Xpr, mpl::false_> quant(xpr, spec.min_, spec.max_, seq.width().value());
- seq = make_dynamic<BidiIter>(quant);
- }
-}
-
-//////////////////////////////////////////////////////////////////////////
-// make_simple_repeat
-template<typename BidiIter>
-inline void
-make_simple_repeat(quant_spec const &spec, sequence<BidiIter> &seq)
-{
- seq += make_dynamic<BidiIter>(true_matcher());
- make_simple_repeat(spec, seq, seq.xpr());
-}
-
-//////////////////////////////////////////////////////////////////////////
-// make_optional
-template<typename BidiIter>
-inline void
-make_optional(quant_spec const &spec, sequence<BidiIter> &seq)
-{
- typedef shared_matchable<BidiIter> xpr_type;
- seq += make_dynamic<BidiIter>(alternate_end_matcher());
- if(spec.greedy_)
- {
- optional_matcher<xpr_type, mpl::true_> opt(seq.xpr());
- seq = make_dynamic<BidiIter>(opt);
- }
- else
- {
- optional_matcher<xpr_type, mpl::false_> opt(seq.xpr());
- seq = make_dynamic<BidiIter>(opt);
- }
-}
-
-//////////////////////////////////////////////////////////////////////////
-// make_optional
-template<typename BidiIter>
-inline void
-make_optional(quant_spec const &spec, sequence<BidiIter> &seq, int mark_nbr)
-{
- typedef shared_matchable<BidiIter> xpr_type;
- seq += make_dynamic<BidiIter>(alternate_end_matcher());
- if(spec.greedy_)
- {
- optional_mark_matcher<xpr_type, mpl::true_> opt(seq.xpr(), mark_nbr);
- seq = make_dynamic<BidiIter>(opt);
- }
- else
- {
- optional_mark_matcher<xpr_type, mpl::false_> opt(seq.xpr(), mark_nbr);
- seq = make_dynamic<BidiIter>(opt);
- }
-}
-
-//////////////////////////////////////////////////////////////////////////
-// make_repeat
-template<typename BidiIter>
-inline void
-make_repeat(quant_spec const &spec, sequence<BidiIter> &seq)
-{
- // only bother creating a repeater if max is greater than one
- if(1 < spec.max_)
- {
- // create a hidden mark so this expression can be quantified
- int mark_nbr = -static_cast<int>(++*spec.hidden_mark_count_);
- seq = make_dynamic<BidiIter>(mark_begin_matcher(mark_nbr)) + seq
- + make_dynamic<BidiIter>(mark_end_matcher(mark_nbr));
- make_repeat(spec, seq, mark_nbr);
- return;
- }
-
- // if min is 0, the repeat must be made optional
- if(0 == spec.min_)
- {
- make_optional(spec, seq);
- }
-}
-
-//////////////////////////////////////////////////////////////////////////
-// make_repeat
-template<typename BidiIter>
-inline void
-make_repeat(quant_spec const &spec, sequence<BidiIter> &seq, int mark_nbr)
-{
- BOOST_ASSERT(spec.max_); // we should never get here if max is 0
-
- // only bother creating a repeater if max is greater than one
- if(1 < spec.max_)
- {
- // TODO: statically bind the repeat matchers to the mark matchers for better perf
- unsigned int min = spec.min_ ? spec.min_ : 1U;
- repeat_begin_matcher repeat_begin(mark_nbr);
- if(spec.greedy_)
- {
- repeat_end_matcher<mpl::true_> repeat_end(mark_nbr, min, spec.max_);
- seq = make_dynamic<BidiIter>(repeat_begin) + seq
- + make_dynamic<BidiIter>(repeat_end);
- }
- else
- {
- repeat_end_matcher<mpl::false_> repeat_end(mark_nbr, min, spec.max_);
- seq = make_dynamic<BidiIter>(repeat_begin) + seq
- + make_dynamic<BidiIter>(repeat_end);
- }
- }
-
- // if min is 0, the repeat must be made optional
- if(0 == spec.min_)
- {
- make_optional(spec, seq, mark_nbr);
- }
-}
-
-}}} // namespace boost::xpressive::detail
-
-#endif
diff --git a/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parse_charset.hpp b/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parse_charset.hpp
deleted file mode 100644
index 972c09be71..0000000000
--- a/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parse_charset.hpp
+++ /dev/null
@@ -1,368 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// parse_charset.hpp
-//
-// Copyright 2008 Eric Niebler. Distributed under the 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_XPRESSIVE_DETAIL_DYNAMIC_PARSE_CHARSET_HPP_EAN_10_04_2005
-#define BOOST_XPRESSIVE_DETAIL_DYNAMIC_PARSE_CHARSET_HPP_EAN_10_04_2005
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <boost/config.hpp>
-#include <boost/integer.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/numeric/conversion/converter.hpp>
-#include <boost/xpressive/detail/detail_fwd.hpp>
-#include <boost/xpressive/detail/dynamic/parser_enum.hpp>
-#include <boost/xpressive/detail/utility/literals.hpp>
-#include <boost/xpressive/detail/utility/chset/chset.hpp>
-#include <boost/xpressive/regex_constants.hpp>
-
-namespace boost { namespace xpressive { namespace detail
-{
-
-enum escape_type
-{
- escape_char
- , escape_mark
- , escape_class
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// escape_value
-//
-template<typename Char, typename Class>
-struct escape_value
-{
- Char ch_;
- int mark_nbr_;
- Class class_;
- escape_type type_;
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// char_overflow_handler
-//
-struct char_overflow_handler
-{
- void operator ()(numeric::range_check_result result) const // throw(regex_error)
- {
- if(numeric::cInRange != result)
- {
- BOOST_THROW_EXCEPTION(
- regex_error(
- regex_constants::error_escape
- , "character escape too large to fit in target character type"
- )
- );
- }
- }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// parse_escape
-//
-template<typename FwdIter, typename CompilerTraits>
-escape_value<typename iterator_value<FwdIter>::type, typename CompilerTraits::regex_traits::char_class_type>
-parse_escape(FwdIter &begin, FwdIter end, CompilerTraits &tr)
-{
- using namespace regex_constants;
- typedef typename iterator_value<FwdIter>::type char_type;
- typedef typename CompilerTraits::regex_traits regex_traits;
- typedef typename regex_traits::char_class_type char_class_type;
-
- // define an unsigned type the same size as char_type
- typedef typename boost::uint_t<CHAR_BIT * sizeof(char_type)>::least uchar_t;
- BOOST_MPL_ASSERT_RELATION(sizeof(uchar_t), ==, sizeof(char_type));
- typedef numeric::conversion_traits<uchar_t, int> converstion_traits;
-
- BOOST_XPR_ENSURE_(begin != end, error_escape, "unexpected end of pattern found");
- numeric::converter<int, uchar_t, converstion_traits, char_overflow_handler> converter;
- escape_value<char_type,char_class_type> esc = { 0, 0, 0, escape_char };
- bool const icase = (0 != (regex_constants::icase_ & tr.flags()));
- regex_traits const &rxtraits = tr.traits();
- FwdIter tmp;
-
- esc.class_ = rxtraits.lookup_classname(begin, begin + 1, icase);
- if(0 != esc.class_)
- {
- esc.type_ = escape_class;
- return esc;
- }
-
- if(-1 != rxtraits.value(*begin, 8))
- {
- esc.ch_ = converter(toi(begin, end, rxtraits, 8, 0777));
- return esc;
- }
-
- switch(*begin)
- {
- // bell character
- case BOOST_XPR_CHAR_(char_type, 'a'):
- esc.ch_ = BOOST_XPR_CHAR_(char_type, '\a');
- ++begin;
- break;
- // escape character
- case BOOST_XPR_CHAR_(char_type, 'e'):
- esc.ch_ = converter(27);
- ++begin;
- break;
- // control character
- case BOOST_XPR_CHAR_(char_type, 'c'):
- BOOST_XPR_ENSURE_(++begin != end, error_escape, "unexpected end of pattern found");
- BOOST_XPR_ENSURE_
- (
- rxtraits.in_range(BOOST_XPR_CHAR_(char_type, 'a'), BOOST_XPR_CHAR_(char_type, 'z'), *begin)
- || rxtraits.in_range(BOOST_XPR_CHAR_(char_type, 'A'), BOOST_XPR_CHAR_(char_type, 'Z'), *begin)
- , error_escape
- , "invalid escape control letter; must be one of a-z or A-Z"
- );
- // Convert to character according to ECMA-262, section 15.10.2.10:
- esc.ch_ = converter(*begin % 32);
- ++begin;
- break;
- // formfeed character
- case BOOST_XPR_CHAR_(char_type, 'f'):
- esc.ch_ = BOOST_XPR_CHAR_(char_type, '\f');
- ++begin;
- break;
- // newline
- case BOOST_XPR_CHAR_(char_type, 'n'):
- esc.ch_ = BOOST_XPR_CHAR_(char_type, '\n');
- ++begin;
- break;
- // return
- case BOOST_XPR_CHAR_(char_type, 'r'):
- esc.ch_ = BOOST_XPR_CHAR_(char_type, '\r');
- ++begin;
- break;
- // horizontal tab
- case BOOST_XPR_CHAR_(char_type, 't'):
- esc.ch_ = BOOST_XPR_CHAR_(char_type, '\t');
- ++begin;
- break;
- // vertical tab
- case BOOST_XPR_CHAR_(char_type, 'v'):
- esc.ch_ = BOOST_XPR_CHAR_(char_type, '\v');
- ++begin;
- break;
- // hex escape sequence
- case BOOST_XPR_CHAR_(char_type, 'x'):
- BOOST_XPR_ENSURE_(++begin != end, error_escape, "unexpected end of pattern found");
- tmp = begin;
- esc.ch_ = converter(toi(begin, end, rxtraits, 16, 0xff));
- BOOST_XPR_ENSURE_(2 == std::distance(tmp, begin), error_escape, "invalid hex escape : "
- "must be \\x HexDigit HexDigit");
- break;
- // Unicode escape sequence
- case BOOST_XPR_CHAR_(char_type, 'u'):
- BOOST_XPR_ENSURE_(++begin != end, error_escape, "unexpected end of pattern found");
- tmp = begin;
- esc.ch_ = converter(toi(begin, end, rxtraits, 16, 0xffff));
- BOOST_XPR_ENSURE_(4 == std::distance(tmp, begin), error_escape, "invalid Unicode escape : "
- "must be \\u HexDigit HexDigit HexDigit HexDigit");
- break;
- // backslash
- case BOOST_XPR_CHAR_(char_type, '\\'):
- //esc.ch_ = BOOST_XPR_CHAR_(char_type, '\\');
- //++begin;
- //break;
- // all other escaped characters represent themselves
- default:
- esc.ch_ = *begin;
- ++begin;
- break;
- }
-
- return esc;
-}
-
-//////////////////////////////////////////////////////////////////////////
-// parse_charset
-//
-template<typename FwdIter, typename RegexTraits, typename CompilerTraits>
-inline void parse_charset
-(
- FwdIter &begin
- , FwdIter end
- , compound_charset<RegexTraits> &chset
- , CompilerTraits &tr
-)
-{
- using namespace regex_constants;
- typedef typename RegexTraits::char_type char_type;
- typedef typename RegexTraits::char_class_type char_class_type;
- BOOST_XPR_ENSURE_(begin != end, error_brack, "unexpected end of pattern found");
- RegexTraits const &rxtraits = tr.traits();
- bool const icase = (0 != (regex_constants::icase_ & tr.flags()));
- FwdIter iprev = FwdIter();
- escape_value<char_type, char_class_type> esc = {0, 0, 0, escape_char};
- bool invert = false;
-
- // check to see if we have an inverse charset
- if(begin != end && token_charset_invert == tr.get_charset_token(iprev = begin, end))
- {
- begin = iprev;
- invert = true;
- }
-
- // skip the end token if-and-only-if it is the first token in the charset
- if(begin != end && token_charset_end == tr.get_charset_token(iprev = begin, end))
- {
- for(; begin != iprev; ++begin)
- {
- chset.set_char(*begin, rxtraits, icase);
- }
- }
-
- compiler_token_type tok;
- char_type ch_prev = char_type(), ch_next = char_type();
- bool have_prev = false;
-
- BOOST_XPR_ENSURE_(begin != end, error_brack, "unexpected end of pattern found");
-
- // remember the current position and grab the next token
- iprev = begin;
- tok = tr.get_charset_token(begin, end);
- do
- {
- BOOST_XPR_ENSURE_(begin != end, error_brack, "unexpected end of pattern found");
-
- if(token_charset_hyphen == tok && have_prev)
- {
- // remember the current position
- FwdIter iprev2 = begin;
- have_prev = false;
-
- // ch_prev is lower bound of a range
- switch(tr.get_charset_token(begin, end))
- {
- case token_charset_hyphen:
- case token_charset_invert:
- begin = iprev2; // un-get these tokens and fall through
- BOOST_FALLTHROUGH;
- case token_literal:
- ch_next = *begin++;
- BOOST_XPR_ENSURE_(ch_prev <= ch_next, error_range, "invalid charset range");
- chset.set_range(ch_prev, ch_next, rxtraits, icase);
- continue;
- case token_charset_backspace:
- ch_next = char_type(8); // backspace
- BOOST_XPR_ENSURE_(ch_prev <= ch_next, error_range, "invalid charset range");
- chset.set_range(ch_prev, ch_next, rxtraits, icase);
- continue;
- case token_escape:
- esc = parse_escape(begin, end, tr);
- if(escape_char == esc.type_)
- {
- BOOST_XPR_ENSURE_(ch_prev <= esc.ch_, error_range, "invalid charset range");
- chset.set_range(ch_prev, esc.ch_, rxtraits, icase);
- continue;
- }
- BOOST_FALLTHROUGH;
- case token_charset_end:
- default: // not a range.
- begin = iprev; // backup to hyphen token
- chset.set_char(ch_prev, rxtraits, icase);
- chset.set_char(*begin++, rxtraits, icase);
- continue;
- }
- }
-
- if(have_prev)
- {
- chset.set_char(ch_prev, rxtraits, icase);
- have_prev = false;
- }
-
- switch(tok)
- {
- case token_charset_hyphen:
- case token_charset_invert:
- case token_charset_end:
- case token_posix_charset_end:
- begin = iprev; // un-get these tokens
- ch_prev = *begin++;
- have_prev = true;
- continue;
-
- case token_charset_backspace:
- ch_prev = char_type(8); // backspace
- have_prev = true;
- continue;
-
- case token_posix_charset_begin:
- {
- FwdIter tmp = begin, start = begin;
- bool invert = (token_charset_invert == tr.get_charset_token(tmp, end));
- if(invert)
- {
- begin = start = tmp;
- }
- while(token_literal == (tok = tr.get_charset_token(begin, end)))
- {
- tmp = ++begin;
- BOOST_XPR_ENSURE_(begin != end, error_brack, "unexpected end of pattern found");
- }
- if(token_posix_charset_end == tok)
- {
- char_class_type chclass = rxtraits.lookup_classname(start, tmp, icase);
- BOOST_XPR_ENSURE_(0 != chclass, error_ctype, "unknown class name");
- chset.set_class(chclass, invert);
- continue;
- }
- begin = iprev; // un-get this token
- ch_prev = *begin++;
- have_prev = true;
- }
- continue;
-
- case token_escape:
- esc = parse_escape(begin, end, tr);
- if(escape_char == esc.type_)
- {
- ch_prev = esc.ch_;
- have_prev = true;
- }
- else if(escape_class == esc.type_)
- {
- char_class_type upper_ = lookup_classname(rxtraits, "upper");
- BOOST_ASSERT(0 != upper_);
- chset.set_class(esc.class_, rxtraits.isctype(*begin++, upper_));
- }
- else
- {
- BOOST_ASSERT(false);
- }
- continue;
-
- default:
- ch_prev = *begin++;
- have_prev = true;
- continue;
- }
- }
- while(BOOST_XPR_ENSURE_((iprev = begin) != end, error_brack, "unexpected end of pattern found"),
- token_charset_end != (tok = tr.get_charset_token(begin, end)));
-
- if(have_prev)
- {
- chset.set_char(ch_prev, rxtraits, icase);
- }
-
- if(invert)
- {
- chset.inverse();
- }
-}
-
-}}} // namespace boost::xpressive::detail
-
-#endif
diff --git a/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser.hpp b/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser.hpp
deleted file mode 100644
index 00d4bbf375..0000000000
--- a/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser.hpp
+++ /dev/null
@@ -1,359 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/// \file parser.hpp
-/// Contains the definition of regex_compiler, a factory for building regex objects
-/// from strings.
-//
-// Copyright 2008 Eric Niebler. Distributed under the 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_XPRESSIVE_DETAIL_DYNAMIC_PARSER_HPP_EAN_10_04_2005
-#define BOOST_XPRESSIVE_DETAIL_DYNAMIC_PARSER_HPP_EAN_10_04_2005
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-# pragma warning(push)
-# pragma warning(disable : 4127) // conditional expression is constant
-#endif
-
-#include <boost/assert.hpp>
-#include <boost/xpressive/regex_constants.hpp>
-#include <boost/xpressive/detail/detail_fwd.hpp>
-#include <boost/xpressive/detail/core/matchers.hpp>
-#include <boost/xpressive/detail/utility/ignore_unused.hpp>
-#include <boost/xpressive/detail/dynamic/dynamic.hpp>
-
-// The Regular Expression grammar, in pseudo BNF:
-//
-// expression = alternates ;
-//
-// alternates = sequence, *('|', sequence) ;
-//
-// sequence = quant, *(quant) ;
-//
-// quant = atom, [*+?] ;
-//
-// atom = literal |
-// '.' |
-// '\' any |
-// '(' expression ')' ;
-//
-// literal = not a meta-character ;
-//
-
-namespace boost { namespace xpressive { namespace detail
-{
-
-///////////////////////////////////////////////////////////////////////////////
-// make_char_xpression
-//
-template<typename BidiIter, typename Char, typename Traits>
-inline sequence<BidiIter> make_char_xpression
-(
- Char ch
- , regex_constants::syntax_option_type flags
- , Traits const &tr
-)
-{
- if(0 != (regex_constants::icase_ & flags))
- {
- literal_matcher<Traits, mpl::true_, mpl::false_> matcher(ch, tr);
- return make_dynamic<BidiIter>(matcher);
- }
- else
- {
- literal_matcher<Traits, mpl::false_, mpl::false_> matcher(ch, tr);
- return make_dynamic<BidiIter>(matcher);
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// make_any_xpression
-//
-template<typename BidiIter, typename Traits>
-inline sequence<BidiIter> make_any_xpression
-(
- regex_constants::syntax_option_type flags
- , Traits const &tr
-)
-{
- using namespace regex_constants;
- typedef typename iterator_value<BidiIter>::type char_type;
- typedef detail::set_matcher<Traits, mpl::int_<2> > set_matcher;
- typedef literal_matcher<Traits, mpl::false_, mpl::true_> literal_matcher;
-
- char_type const newline = tr.widen('\n');
- set_matcher s;
- s.set_[0] = newline;
- s.set_[1] = 0;
- s.inverse();
-
- switch(((int)not_dot_newline | not_dot_null) & flags)
- {
- case not_dot_null:
- return make_dynamic<BidiIter>(literal_matcher(char_type(0), tr));
-
- case not_dot_newline:
- return make_dynamic<BidiIter>(literal_matcher(newline, tr));
-
- case (int)not_dot_newline | not_dot_null:
- return make_dynamic<BidiIter>(s);
-
- default:
- return make_dynamic<BidiIter>(any_matcher());
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// make_literal_xpression
-//
-template<typename BidiIter, typename Traits>
-inline sequence<BidiIter> make_literal_xpression
-(
- typename Traits::string_type const &literal
- , regex_constants::syntax_option_type flags
- , Traits const &tr
-)
-{
- BOOST_ASSERT(0 != literal.size());
- if(1 == literal.size())
- {
- return make_char_xpression<BidiIter>(literal[0], flags, tr);
- }
-
- if(0 != (regex_constants::icase_ & flags))
- {
- string_matcher<Traits, mpl::true_> matcher(literal, tr);
- return make_dynamic<BidiIter>(matcher);
- }
- else
- {
- string_matcher<Traits, mpl::false_> matcher(literal, tr);
- return make_dynamic<BidiIter>(matcher);
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// make_backref_xpression
-//
-template<typename BidiIter, typename Traits>
-inline sequence<BidiIter> make_backref_xpression
-(
- int mark_nbr
- , regex_constants::syntax_option_type flags
- , Traits const &tr
-)
-{
- if(0 != (regex_constants::icase_ & flags))
- {
- return make_dynamic<BidiIter>
- (
- mark_matcher<Traits, mpl::true_>(mark_nbr, tr)
- );
- }
- else
- {
- return make_dynamic<BidiIter>
- (
- mark_matcher<Traits, mpl::false_>(mark_nbr, tr)
- );
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// merge_charset
-//
-template<typename Char, typename Traits>
-inline void merge_charset
-(
- basic_chset<Char> &basic
- , compound_charset<Traits> const &compound
- , Traits const &tr
-)
-{
- detail::ignore_unused(tr);
- if(0 != compound.posix_yes())
- {
- typename Traits::char_class_type mask = compound.posix_yes();
- for(int i = 0; i <= static_cast<int>(UCHAR_MAX); ++i)
- {
- if(tr.isctype((Char)i, mask))
- {
- basic.set((Char)i);
- }
- }
- }
-
- if(!compound.posix_no().empty())
- {
- for(std::size_t j = 0; j < compound.posix_no().size(); ++j)
- {
- typename Traits::char_class_type mask = compound.posix_no()[j];
- for(int i = 0; i <= static_cast<int>(UCHAR_MAX); ++i)
- {
- if(!tr.isctype((Char)i, mask))
- {
- basic.set((Char)i);
- }
- }
- }
- }
-
- if(compound.is_inverted())
- {
- basic.inverse();
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// make_charset_xpression
-//
-template<typename BidiIter, typename Traits>
-inline sequence<BidiIter> make_charset_xpression
-(
- compound_charset<Traits> &chset
- , Traits const &tr
- , regex_constants::syntax_option_type flags
-)
-{
- typedef typename Traits::char_type char_type;
- bool const icase = (0 != (regex_constants::icase_ & flags));
- bool const optimize = is_narrow_char<char_type>::value && 0 != (regex_constants::optimize & flags);
-
- // don't care about compile speed -- fold eveything into a bitset<256>
- if(optimize)
- {
- typedef basic_chset<char_type> charset_type;
- charset_type charset(chset.base());
- if(icase)
- {
- charset_matcher<Traits, mpl::true_, charset_type> matcher(charset);
- merge_charset(matcher.charset_, chset, tr);
- return make_dynamic<BidiIter>(matcher);
- }
- else
- {
- charset_matcher<Traits, mpl::false_, charset_type> matcher(charset);
- merge_charset(matcher.charset_, chset, tr);
- return make_dynamic<BidiIter>(matcher);
- }
- }
-
- // special case to make [[:digit:]] fast
- else if(chset.base().empty() && chset.posix_no().empty())
- {
- BOOST_ASSERT(0 != chset.posix_yes());
- posix_charset_matcher<Traits> matcher(chset.posix_yes(), chset.is_inverted());
- return make_dynamic<BidiIter>(matcher);
- }
-
- // default, slow
- else
- {
- if(icase)
- {
- charset_matcher<Traits, mpl::true_> matcher(chset);
- return make_dynamic<BidiIter>(matcher);
- }
- else
- {
- charset_matcher<Traits, mpl::false_> matcher(chset);
- return make_dynamic<BidiIter>(matcher);
- }
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// make_posix_charset_xpression
-//
-template<typename BidiIter, typename Traits>
-inline sequence<BidiIter> make_posix_charset_xpression
-(
- typename Traits::char_class_type m
- , bool no
- , regex_constants::syntax_option_type //flags
- , Traits const & //traits
-)
-{
- posix_charset_matcher<Traits> charset(m, no);
- return make_dynamic<BidiIter>(charset);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// make_assert_begin_line
-//
-template<typename BidiIter, typename Traits>
-inline sequence<BidiIter> make_assert_begin_line
-(
- regex_constants::syntax_option_type flags
- , Traits const &tr
-)
-{
- if(0 != (regex_constants::single_line & flags))
- {
- return detail::make_dynamic<BidiIter>(detail::assert_bos_matcher());
- }
- else
- {
- detail::assert_bol_matcher<Traits> matcher(tr);
- return detail::make_dynamic<BidiIter>(matcher);
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// make_assert_end_line
-//
-template<typename BidiIter, typename Traits>
-inline sequence<BidiIter> make_assert_end_line
-(
- regex_constants::syntax_option_type flags
- , Traits const &tr
-)
-{
- if(0 != (regex_constants::single_line & flags))
- {
- return detail::make_dynamic<BidiIter>(detail::assert_eos_matcher());
- }
- else
- {
- detail::assert_eol_matcher<Traits> matcher(tr);
- return detail::make_dynamic<BidiIter>(matcher);
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// make_assert_word
-//
-template<typename BidiIter, typename Cond, typename Traits>
-inline sequence<BidiIter> make_assert_word(Cond, Traits const &tr)
-{
- return detail::make_dynamic<BidiIter>
- (
- detail::assert_word_matcher<Cond, Traits>(tr)
- );
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// make_independent_end_xpression
-//
-template<typename BidiIter>
-inline sequence<BidiIter> make_independent_end_xpression(bool pure)
-{
- if(pure)
- {
- return detail::make_dynamic<BidiIter>(detail::true_matcher());
- }
- else
- {
- return detail::make_dynamic<BidiIter>(detail::independent_end_matcher());
- }
-}
-
-}}} // namespace boost::xpressive::detail
-
-#if defined(_MSC_VER)
-# pragma warning(pop)
-#endif
-
-#endif
diff --git a/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser_enum.hpp b/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser_enum.hpp
deleted file mode 100644
index 3c738cc925..0000000000
--- a/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser_enum.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// parser_enum.hpp
-//
-// Copyright 2008 Eric Niebler. Distributed under the 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_XPRESSIVE_DETAIL_DYNAMIC_PARSER_ENUM_HPP_EAN_10_04_2005
-#define BOOST_XPRESSIVE_DETAIL_DYNAMIC_PARSER_ENUM_HPP_EAN_10_04_2005
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-namespace boost { namespace xpressive { namespace regex_constants
-{
-
-///////////////////////////////////////////////////////////////////////////////
-// compiler_token_type
-//
-enum compiler_token_type
-{
- token_literal,
- token_any, // .
- token_escape, //
- token_group_begin, // (
- token_group_end, // )
- token_alternate, // |
- token_invalid_quantifier, // {
- token_charset_begin, // [
- token_charset_end, // ]
- token_charset_invert, // ^
- token_charset_hyphen, // -
- token_charset_backspace, // \b
- token_posix_charset_begin, // [:
- token_posix_charset_end, // :]
- token_equivalence_class_begin, // [=
- token_equivalence_class_end, // =]
- token_collation_element_begin, // [.
- token_collation_element_end, // .]
-
- token_quote_meta_begin, // \Q
- token_quote_meta_end, // \E
-
- token_no_mark, // ?:
- token_positive_lookahead, // ?=
- token_negative_lookahead, // ?!
- token_positive_lookbehind, // ?<=
- token_negative_lookbehind, // ?<!
- token_independent_sub_expression, // ?>
- token_comment, // ?#
- token_recurse, // ?R
- token_rule_assign, // ?$[name]=
- token_rule_ref, // ?$[name]
- token_named_mark, // ?P<name>
- token_named_mark_ref, // ?P=name
-
- token_assert_begin_sequence, // \A
- token_assert_end_sequence, // \Z
- token_assert_begin_line, // ^
- token_assert_end_line, // $
- token_assert_word_begin, // \<
- token_assert_word_end, // \>
- token_assert_word_boundary, // \b
- token_assert_not_word_boundary, // \B
-
- token_escape_newline, // \n
- token_escape_escape, // \e
- token_escape_formfeed, // \f
- token_escape_horizontal_tab, // \t
- token_escape_vertical_tab, // \v
- token_escape_bell, // \a
- token_escape_control, // \c
-
- token_end_of_pattern
-};
-
-}}} // namespace boost::xpressive::regex_constants
-
-#endif
diff --git a/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser_traits.hpp b/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser_traits.hpp
deleted file mode 100644
index ab2544c4af..0000000000
--- a/contrib/restricted/boost/xpressive/include/boost/xpressive/detail/dynamic/parser_traits.hpp
+++ /dev/null
@@ -1,475 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// detail/dynamic/parser_traits.hpp
-//
-// Copyright 2008 Eric Niebler. Distributed under the 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_XPRESSIVE_DETAIL_DYNAMIC_PARSER_TRAITS_HPP_EAN_10_04_2005
-#define BOOST_XPRESSIVE_DETAIL_DYNAMIC_PARSER_TRAITS_HPP_EAN_10_04_2005
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <string>
-#include <climits>
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/xpressive/regex_error.hpp>
-#include <boost/xpressive/regex_traits.hpp>
-#include <boost/xpressive/detail/detail_fwd.hpp>
-#include <boost/xpressive/detail/dynamic/matchable.hpp>
-#include <boost/xpressive/detail/dynamic/parser_enum.hpp>
-#include <boost/xpressive/detail/utility/literals.hpp>
-#include <boost/xpressive/detail/utility/algorithm.hpp>
-
-namespace boost { namespace xpressive
-{
-
-///////////////////////////////////////////////////////////////////////////////
-// compiler_traits
-// this works for char and wchar_t. it must be specialized for anything else.
-//
-template<typename RegexTraits>
-struct compiler_traits
-{
- typedef RegexTraits regex_traits;
- typedef typename regex_traits::char_type char_type;
- typedef typename regex_traits::string_type string_type;
- typedef typename regex_traits::locale_type locale_type;
-
- ///////////////////////////////////////////////////////////////////////////////
- // constructor
- explicit compiler_traits(RegexTraits const &traits = RegexTraits())
- : traits_(traits)
- , flags_(regex_constants::ECMAScript)
- , space_(lookup_classname(traits_, "space"))
- , alnum_(lookup_classname(traits_, "alnum"))
- {
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // flags
- regex_constants::syntax_option_type flags() const
- {
- return this->flags_;
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // flags
- void flags(regex_constants::syntax_option_type flags)
- {
- this->flags_ = flags;
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // traits
- regex_traits &traits()
- {
- return this->traits_;
- }
-
- regex_traits const &traits() const
- {
- return this->traits_;
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // imbue
- locale_type imbue(locale_type const &loc)
- {
- locale_type oldloc = this->traits().imbue(loc);
- this->space_ = lookup_classname(this->traits(), "space");
- this->alnum_ = lookup_classname(this->traits(), "alnum");
- return oldloc;
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // getloc
- locale_type getloc() const
- {
- return this->traits().getloc();
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // get_token
- // get a token and advance the iterator
- template<typename FwdIter>
- regex_constants::compiler_token_type get_token(FwdIter &begin, FwdIter end)
- {
- using namespace regex_constants;
- if(this->eat_ws_(begin, end) == end)
- {
- return regex_constants::token_end_of_pattern;
- }
-
- switch(*begin)
- {
- case BOOST_XPR_CHAR_(char_type, '\\'): return this->get_escape_token(++begin, end);
- case BOOST_XPR_CHAR_(char_type, '.'): ++begin; return token_any;
- case BOOST_XPR_CHAR_(char_type, '^'): ++begin; return token_assert_begin_line;
- case BOOST_XPR_CHAR_(char_type, '$'): ++begin; return token_assert_end_line;
- case BOOST_XPR_CHAR_(char_type, '('): ++begin; return token_group_begin;
- case BOOST_XPR_CHAR_(char_type, ')'): ++begin; return token_group_end;
- case BOOST_XPR_CHAR_(char_type, '|'): ++begin; return token_alternate;
- case BOOST_XPR_CHAR_(char_type, '['): ++begin; return token_charset_begin;
-
- case BOOST_XPR_CHAR_(char_type, '*'):
- case BOOST_XPR_CHAR_(char_type, '+'):
- case BOOST_XPR_CHAR_(char_type, '?'):
- return token_invalid_quantifier;
-
- case BOOST_XPR_CHAR_(char_type, ']'):
- case BOOST_XPR_CHAR_(char_type, '{'):
- default:
- return token_literal;
- }
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // get_quant_spec
- template<typename FwdIter>
- bool get_quant_spec(FwdIter &begin, FwdIter end, detail::quant_spec &spec)
- {
- using namespace regex_constants;
- FwdIter old_begin;
-
- if(this->eat_ws_(begin, end) == end)
- {
- return false;
- }
-
- switch(*begin)
- {
- case BOOST_XPR_CHAR_(char_type, '*'):
- spec.min_ = 0;
- spec.max_ = (std::numeric_limits<unsigned int>::max)();
- break;
-
- case BOOST_XPR_CHAR_(char_type, '+'):
- spec.min_ = 1;
- spec.max_ = (std::numeric_limits<unsigned int>::max)();
- break;
-
- case BOOST_XPR_CHAR_(char_type, '?'):
- spec.min_ = 0;
- spec.max_ = 1;
- break;
-
- case BOOST_XPR_CHAR_(char_type, '{'):
- old_begin = this->eat_ws_(++begin, end);
- spec.min_ = spec.max_ = detail::toi(begin, end, this->traits());
- BOOST_XPR_ENSURE_
- (
- begin != old_begin && begin != end, error_brace, "invalid quantifier"
- );
-
- if(*begin == BOOST_XPR_CHAR_(char_type, ','))
- {
- old_begin = this->eat_ws_(++begin, end);
- spec.max_ = detail::toi(begin, end, this->traits());
- BOOST_XPR_ENSURE_
- (
- begin != end && BOOST_XPR_CHAR_(char_type, '}') == *begin
- , error_brace, "invalid quantifier"
- );
-
- if(begin == old_begin)
- {
- spec.max_ = (std::numeric_limits<unsigned int>::max)();
- }
- else
- {
- BOOST_XPR_ENSURE_
- (
- spec.min_ <= spec.max_, error_badbrace, "invalid quantification range"
- );
- }
- }
- else
- {
- BOOST_XPR_ENSURE_
- (
- BOOST_XPR_CHAR_(char_type, '}') == *begin, error_brace, "invalid quantifier"
- );
- }
- break;
-
- default:
- return false;
- }
-
- spec.greedy_ = true;
- if(this->eat_ws_(++begin, end) != end && BOOST_XPR_CHAR_(char_type, '?') == *begin)
- {
- ++begin;
- spec.greedy_ = false;
- }
-
- return true;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // get_group_type
- template<typename FwdIter>
- regex_constants::compiler_token_type get_group_type(FwdIter &begin, FwdIter end, string_type &name)
- {
- using namespace regex_constants;
- if(this->eat_ws_(begin, end) != end && BOOST_XPR_CHAR_(char_type, '?') == *begin)
- {
- this->eat_ws_(++begin, end);
- BOOST_XPR_ENSURE_(begin != end, error_paren, "incomplete extension");
-
- switch(*begin)
- {
- case BOOST_XPR_CHAR_(char_type, ':'): ++begin; return token_no_mark;
- case BOOST_XPR_CHAR_(char_type, '>'): ++begin; return token_independent_sub_expression;
- case BOOST_XPR_CHAR_(char_type, '#'): ++begin; return token_comment;
- case BOOST_XPR_CHAR_(char_type, '='): ++begin; return token_positive_lookahead;
- case BOOST_XPR_CHAR_(char_type, '!'): ++begin; return token_negative_lookahead;
- case BOOST_XPR_CHAR_(char_type, 'R'): ++begin; return token_recurse;
- case BOOST_XPR_CHAR_(char_type, '$'):
- this->get_name_(++begin, end, name);
- BOOST_XPR_ENSURE_(begin != end, error_paren, "incomplete extension");
- if(BOOST_XPR_CHAR_(char_type, '=') == *begin)
- {
- ++begin;
- return token_rule_assign;
- }
- return token_rule_ref;
-
- case BOOST_XPR_CHAR_(char_type, '<'):
- this->eat_ws_(++begin, end);
- BOOST_XPR_ENSURE_(begin != end, error_paren, "incomplete extension");
- switch(*begin)
- {
- case BOOST_XPR_CHAR_(char_type, '='): ++begin; return token_positive_lookbehind;
- case BOOST_XPR_CHAR_(char_type, '!'): ++begin; return token_negative_lookbehind;
- default:
- BOOST_THROW_EXCEPTION(regex_error(error_badbrace, "unrecognized extension"));
- }
-
- case BOOST_XPR_CHAR_(char_type, 'P'):
- this->eat_ws_(++begin, end);
- BOOST_XPR_ENSURE_(begin != end, error_paren, "incomplete extension");
- switch(*begin)
- {
- case BOOST_XPR_CHAR_(char_type, '<'):
- this->get_name_(++begin, end, name);
- BOOST_XPR_ENSURE_(begin != end && BOOST_XPR_CHAR_(char_type, '>') == *begin++, error_paren, "incomplete extension");
- return token_named_mark;
- case BOOST_XPR_CHAR_(char_type, '='):
- this->get_name_(++begin, end, name);
- BOOST_XPR_ENSURE_(begin != end, error_paren, "incomplete extension");
- return token_named_mark_ref;
- default:
- BOOST_THROW_EXCEPTION(regex_error(error_badbrace, "unrecognized extension"));
- }
-
- case BOOST_XPR_CHAR_(char_type, 'i'):
- case BOOST_XPR_CHAR_(char_type, 'm'):
- case BOOST_XPR_CHAR_(char_type, 's'):
- case BOOST_XPR_CHAR_(char_type, 'x'):
- case BOOST_XPR_CHAR_(char_type, '-'):
- return this->parse_mods_(begin, end);
-
- default:
- BOOST_THROW_EXCEPTION(regex_error(error_badbrace, "unrecognized extension"));
- }
- }
-
- return token_literal;
- }
-
- //////////////////////////////////////////////////////////////////////////
- // get_charset_token
- // NOTE: white-space is *never* ignored in a charset.
- template<typename FwdIter>
- regex_constants::compiler_token_type get_charset_token(FwdIter &begin, FwdIter end)
- {
- using namespace regex_constants;
- BOOST_ASSERT(begin != end);
- switch(*begin)
- {
- case BOOST_XPR_CHAR_(char_type, '^'): ++begin; return token_charset_invert;
- case BOOST_XPR_CHAR_(char_type, '-'): ++begin; return token_charset_hyphen;
- case BOOST_XPR_CHAR_(char_type, ']'): ++begin; return token_charset_end;
- case BOOST_XPR_CHAR_(char_type, '['):
- {
- FwdIter next = begin; ++next;
- if(next != end)
- {
- BOOST_XPR_ENSURE_(
- *next != BOOST_XPR_CHAR_(char_type, '=')
- , error_collate
- , "equivalence classes are not yet supported"
- );
-
- BOOST_XPR_ENSURE_(
- *next != BOOST_XPR_CHAR_(char_type, '.')
- , error_collate
- , "collation sequences are not yet supported"
- );
-
- if(*next == BOOST_XPR_CHAR_(char_type, ':'))
- {
- begin = ++next;
- return token_posix_charset_begin;
- }
- }
- }
- break;
- case BOOST_XPR_CHAR_(char_type, ':'):
- {
- FwdIter next = begin; ++next;
- if(next != end && *next == BOOST_XPR_CHAR_(char_type, ']'))
- {
- begin = ++next;
- return token_posix_charset_end;
- }
- }
- break;
- case BOOST_XPR_CHAR_(char_type, '\\'):
- if(++begin != end)
- {
- switch(*begin)
- {
- case BOOST_XPR_CHAR_(char_type, 'b'): ++begin; return token_charset_backspace;
- default:;
- }
- }
- return token_escape;
- default:;
- }
- return token_literal;
- }
-
- //////////////////////////////////////////////////////////////////////////
- // get_escape_token
- template<typename FwdIter>
- regex_constants::compiler_token_type get_escape_token(FwdIter &begin, FwdIter end)
- {
- using namespace regex_constants;
- if(begin != end)
- {
- switch(*begin)
- {
- //case BOOST_XPR_CHAR_(char_type, 'a'): ++begin; return token_escape_bell;
- //case BOOST_XPR_CHAR_(char_type, 'c'): ++begin; return token_escape_control;
- //case BOOST_XPR_CHAR_(char_type, 'e'): ++begin; return token_escape_escape;
- //case BOOST_XPR_CHAR_(char_type, 'f'): ++begin; return token_escape_formfeed;
- //case BOOST_XPR_CHAR_(char_type, 'n'): ++begin; return token_escape_newline;
- //case BOOST_XPR_CHAR_(char_type, 't'): ++begin; return token_escape_horizontal_tab;
- //case BOOST_XPR_CHAR_(char_type, 'v'): ++begin; return token_escape_vertical_tab;
- case BOOST_XPR_CHAR_(char_type, 'A'): ++begin; return token_assert_begin_sequence;
- case BOOST_XPR_CHAR_(char_type, 'b'): ++begin; return token_assert_word_boundary;
- case BOOST_XPR_CHAR_(char_type, 'B'): ++begin; return token_assert_not_word_boundary;
- case BOOST_XPR_CHAR_(char_type, 'E'): ++begin; return token_quote_meta_end;
- case BOOST_XPR_CHAR_(char_type, 'Q'): ++begin; return token_quote_meta_begin;
- case BOOST_XPR_CHAR_(char_type, 'Z'): ++begin; return token_assert_end_sequence;
- // Non-standard extension to ECMAScript syntax
- case BOOST_XPR_CHAR_(char_type, '<'): ++begin; return token_assert_word_begin;
- case BOOST_XPR_CHAR_(char_type, '>'): ++begin; return token_assert_word_end;
- default:; // fall-through
- }
- }
-
- return token_escape;
- }
-
-private:
-
- //////////////////////////////////////////////////////////////////////////
- // parse_mods_
- template<typename FwdIter>
- regex_constants::compiler_token_type parse_mods_(FwdIter &begin, FwdIter end)
- {
- using namespace regex_constants;
- bool set = true;
- do switch(*begin)
- {
- case BOOST_XPR_CHAR_(char_type, 'i'): this->flag_(set, icase_); break;
- case BOOST_XPR_CHAR_(char_type, 'm'): this->flag_(!set, single_line); break;
- case BOOST_XPR_CHAR_(char_type, 's'): this->flag_(!set, not_dot_newline); break;
- case BOOST_XPR_CHAR_(char_type, 'x'): this->flag_(set, ignore_white_space); break;
- case BOOST_XPR_CHAR_(char_type, ':'): ++begin; BOOST_FALLTHROUGH;
- case BOOST_XPR_CHAR_(char_type, ')'): return token_no_mark;
- case BOOST_XPR_CHAR_(char_type, '-'): if(false == (set = !set)) break; BOOST_FALLTHROUGH;
- default: BOOST_THROW_EXCEPTION(regex_error(error_paren, "unknown pattern modifier"));
- }
- while(BOOST_XPR_ENSURE_(++begin != end, error_paren, "incomplete extension"));
- // this return is technically unreachable, but this must
- // be here to work around a bug in gcc 4.0
- return token_no_mark;
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // flag_
- void flag_(bool set, regex_constants::syntax_option_type flag)
- {
- this->flags_ = set ? (this->flags_ | flag) : (this->flags_ & ~flag);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // is_space_
- bool is_space_(char_type ch) const
- {
- return 0 != this->space_ && this->traits().isctype(ch, this->space_);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // is_alnum_
- bool is_alnum_(char_type ch) const
- {
- return 0 != this->alnum_ && this->traits().isctype(ch, this->alnum_);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // get_name_
- template<typename FwdIter>
- void get_name_(FwdIter &begin, FwdIter end, string_type &name)
- {
- this->eat_ws_(begin, end);
- for(name.clear(); begin != end && this->is_alnum_(*begin); ++begin)
- {
- name.push_back(*begin);
- }
- this->eat_ws_(begin, end);
- BOOST_XPR_ENSURE_(!name.empty(), regex_constants::error_paren, "incomplete extension");
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // eat_ws_
- template<typename FwdIter>
- FwdIter &eat_ws_(FwdIter &begin, FwdIter end)
- {
- if(0 != (regex_constants::ignore_white_space & this->flags()))
- {
- while(end != begin && (BOOST_XPR_CHAR_(char_type, '#') == *begin || this->is_space_(*begin)))
- {
- if(BOOST_XPR_CHAR_(char_type, '#') == *begin++)
- {
- while(end != begin && BOOST_XPR_CHAR_(char_type, '\n') != *begin++) {}
- }
- else
- {
- for(; end != begin && this->is_space_(*begin); ++begin) {}
- }
- }
- }
-
- return begin;
- }
-
- regex_traits traits_;
- regex_constants::syntax_option_type flags_;
- typename regex_traits::char_class_type space_;
- typename regex_traits::char_class_type alnum_;
-};
-
-}} // namespace boost::xpressive
-
-#endif
diff --git a/contrib/restricted/boost/xpressive/include/boost/xpressive/regex_compiler.hpp b/contrib/restricted/boost/xpressive/include/boost/xpressive/regex_compiler.hpp
deleted file mode 100644
index 59d24cef06..0000000000
--- a/contrib/restricted/boost/xpressive/include/boost/xpressive/regex_compiler.hpp
+++ /dev/null
@@ -1,759 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/// \file regex_compiler.hpp
-/// Contains the definition of regex_compiler, a factory for building regex objects
-/// from strings.
-//
-// Copyright 2008 Eric Niebler. Distributed under the 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_XPRESSIVE_REGEX_COMPILER_HPP_EAN_10_04_2005
-#define BOOST_XPRESSIVE_REGEX_COMPILER_HPP_EAN_10_04_2005
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <map>
-#include <boost/config.hpp>
-#include <boost/assert.hpp>
-#include <boost/next_prior.hpp>
-#include <boost/range/begin.hpp>
-#include <boost/range/end.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/throw_exception.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_pointer.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/iterator/iterator_traits.hpp>
-#include <boost/xpressive/basic_regex.hpp>
-#include <boost/xpressive/detail/dynamic/parser.hpp>
-#include <boost/xpressive/detail/dynamic/parse_charset.hpp>
-#include <boost/xpressive/detail/dynamic/parser_enum.hpp>
-#include <boost/xpressive/detail/dynamic/parser_traits.hpp>
-#include <boost/xpressive/detail/core/linker.hpp>
-#include <boost/xpressive/detail/core/optimize.hpp>
-
-namespace boost { namespace xpressive
-{
-
-///////////////////////////////////////////////////////////////////////////////
-// regex_compiler
-//
-/// \brief Class template regex_compiler is a factory for building basic_regex objects from a string.
-///
-/// Class template regex_compiler is used to construct a basic_regex object from a string. The string
-/// should contain a valid regular expression. You can imbue a regex_compiler object with a locale,
-/// after which all basic_regex objects created with that regex_compiler object will use that locale.
-/// After creating a regex_compiler object, and optionally imbueing it with a locale, you can call the
-/// compile() method to construct a basic_regex object, passing it the string representing the regular
-/// expression. You can call compile() multiple times on the same regex_compiler object. Two basic_regex
-/// objects compiled from the same string will have different regex_id's.
-template<typename BidiIter, typename RegexTraits, typename CompilerTraits>
-struct regex_compiler
-{
- typedef BidiIter iterator_type;
- typedef typename iterator_value<BidiIter>::type char_type;
- typedef regex_constants::syntax_option_type flag_type;
- typedef RegexTraits traits_type;
- typedef typename traits_type::string_type string_type;
- typedef typename traits_type::locale_type locale_type;
- typedef typename traits_type::char_class_type char_class_type;
-
- explicit regex_compiler(RegexTraits const &traits = RegexTraits())
- : mark_count_(0)
- , hidden_mark_count_(0)
- , traits_(traits)
- , upper_(0)
- , self_()
- , rules_()
- {
- this->upper_ = lookup_classname(this->rxtraits(), "upper");
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // imbue
- /// Specify the locale to be used by a regex_compiler.
- ///
- /// \param loc The locale that this regex_compiler should use.
- /// \return The previous locale.
- locale_type imbue(locale_type loc)
- {
- locale_type oldloc = this->traits_.imbue(loc);
- this->upper_ = lookup_classname(this->rxtraits(), "upper");
- return oldloc;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // getloc
- /// Get the locale used by a regex_compiler.
- ///
- /// \return The locale used by this regex_compiler.
- locale_type getloc() const
- {
- return this->traits_.getloc();
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // compile
- /// Builds a basic_regex object from a range of characters.
- ///
- /// \param begin The beginning of a range of characters representing the
- /// regular expression to compile.
- /// \param end The end of a range of characters representing the
- /// regular expression to compile.
- /// \param flags Optional bitmask that determines how the pat string is
- /// interpreted. (See syntax_option_type.)
- /// \return A basic_regex object corresponding to the regular expression
- /// represented by the character range.
- /// \pre InputIter is a model of the InputIterator concept.
- /// \pre [begin,end) is a valid range.
- /// \pre The range of characters specified by [begin,end) contains a
- /// valid string-based representation of a regular expression.
- /// \throw regex_error when the range of characters has invalid regular
- /// expression syntax.
- template<typename InputIter>
- basic_regex<BidiIter>
- compile(InputIter begin, InputIter end, flag_type flags = regex_constants::ECMAScript)
- {
- typedef typename iterator_category<InputIter>::type category;
- return this->compile_(begin, end, flags, category());
- }
-
- /// \overload
- ///
- template<typename InputRange>
- typename disable_if<is_pointer<InputRange>, basic_regex<BidiIter> >::type
- compile(InputRange const &pat, flag_type flags = regex_constants::ECMAScript)
- {
- return this->compile(boost::begin(pat), boost::end(pat), flags);
- }
-
- /// \overload
- ///
- basic_regex<BidiIter>
- compile(char_type const *begin, flag_type flags = regex_constants::ECMAScript)
- {
- BOOST_ASSERT(0 != begin);
- char_type const *end = begin + std::char_traits<char_type>::length(begin);
- return this->compile(begin, end, flags);
- }
-
- /// \overload
- ///
- basic_regex<BidiIter> compile(char_type const *begin, std::size_t size, flag_type flags)
- {
- BOOST_ASSERT(0 != begin);
- char_type const *end = begin + size;
- return this->compile(begin, end, flags);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // operator[]
- /// Return a reference to the named regular expression. If no such named
- /// regular expression exists, create a new regular expression and return
- /// a reference to it.
- ///
- /// \param name A std::string containing the name of the regular expression.
- /// \pre The string is not empty.
- /// \throw bad_alloc on allocation failure.
- basic_regex<BidiIter> &operator [](string_type const &name)
- {
- BOOST_ASSERT(!name.empty());
- return this->rules_[name];
- }
-
- /// \overload
- ///
- basic_regex<BidiIter> const &operator [](string_type const &name) const
- {
- BOOST_ASSERT(!name.empty());
- return this->rules_[name];
- }
-
-private:
-
- typedef detail::escape_value<char_type, char_class_type> escape_value;
- typedef detail::alternate_matcher<detail::alternates_vector<BidiIter>, RegexTraits> alternate_matcher;
-
- ///////////////////////////////////////////////////////////////////////////
- // compile_
- /// INTERNAL ONLY
- template<typename FwdIter>
- basic_regex<BidiIter> compile_(FwdIter begin, FwdIter end, flag_type flags, std::forward_iterator_tag)
- {
- BOOST_MPL_ASSERT((is_same<char_type, typename iterator_value<FwdIter>::type>));
- using namespace regex_constants;
- this->reset();
- this->traits_.flags(flags);
-
- basic_regex<BidiIter> rextmp, *prex = &rextmp;
- FwdIter tmp = begin;
-
- // Check if this regex is a named rule:
- string_type name;
- if(token_group_begin == this->traits_.get_token(tmp, end) &&
- BOOST_XPR_ENSURE_(tmp != end, error_paren, "mismatched parenthesis") &&
- token_rule_assign == this->traits_.get_group_type(tmp, end, name))
- {
- begin = tmp;
- BOOST_XPR_ENSURE_
- (
- begin != end && token_group_end == this->traits_.get_token(begin, end)
- , error_paren
- , "mismatched parenthesis"
- );
- prex = &this->rules_[name];
- }
-
- this->self_ = detail::core_access<BidiIter>::get_regex_impl(*prex);
-
- // at the top level, a regex is a sequence of alternates
- detail::sequence<BidiIter> seq = this->parse_alternates(begin, end);
- BOOST_XPR_ENSURE_(begin == end, error_paren, "mismatched parenthesis");
-
- // terminate the sequence
- seq += detail::make_dynamic<BidiIter>(detail::end_matcher());
-
- // bundle the regex information into a regex_impl object
- detail::common_compile(seq.xpr().matchable(), *this->self_, this->rxtraits());
-
- this->self_->traits_ = new detail::traits_holder<RegexTraits>(this->rxtraits());
- this->self_->mark_count_ = this->mark_count_;
- this->self_->hidden_mark_count_ = this->hidden_mark_count_;
-
- // References changed, update dependencies.
- this->self_->tracking_update();
- this->self_.reset();
- return *prex;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // compile_
- /// INTERNAL ONLY
- template<typename InputIter>
- basic_regex<BidiIter> compile_(InputIter begin, InputIter end, flag_type flags, std::input_iterator_tag)
- {
- string_type pat(begin, end);
- return this->compile_(boost::begin(pat), boost::end(pat), flags, std::forward_iterator_tag());
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // reset
- /// INTERNAL ONLY
- void reset()
- {
- this->mark_count_ = 0;
- this->hidden_mark_count_ = 0;
- this->traits_.flags(regex_constants::ECMAScript);
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // regex_traits
- /// INTERNAL ONLY
- traits_type &rxtraits()
- {
- return this->traits_.traits();
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // regex_traits
- /// INTERNAL ONLY
- traits_type const &rxtraits() const
- {
- return this->traits_.traits();
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // parse_alternates
- /// INTERNAL ONLY
- template<typename FwdIter>
- detail::sequence<BidiIter> parse_alternates(FwdIter &begin, FwdIter end)
- {
- using namespace regex_constants;
- int count = 0;
- FwdIter tmp = begin;
- detail::sequence<BidiIter> seq;
-
- do switch(++count)
- {
- case 1:
- seq = this->parse_sequence(tmp, end);
- break;
- case 2:
- seq = detail::make_dynamic<BidiIter>(alternate_matcher()) | seq;
- BOOST_FALLTHROUGH;
- default:
- seq |= this->parse_sequence(tmp, end);
- }
- while((begin = tmp) != end && token_alternate == this->traits_.get_token(tmp, end));
-
- return seq;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // parse_group
- /// INTERNAL ONLY
- template<typename FwdIter>
- detail::sequence<BidiIter> parse_group(FwdIter &begin, FwdIter end)
- {
- using namespace regex_constants;
- int mark_nbr = 0;
- bool keeper = false;
- bool lookahead = false;
- bool lookbehind = false;
- bool negative = false;
- string_type name;
-
- detail::sequence<BidiIter> seq, seq_end;
- FwdIter tmp = FwdIter();
-
- syntax_option_type old_flags = this->traits_.flags();
-
- switch(this->traits_.get_group_type(begin, end, name))
- {
- case token_no_mark:
- // Don't process empty groups like (?:) or (?i)
- // BUGBUG this doesn't handle the degenerate (?:)+ correctly
- if(token_group_end == this->traits_.get_token(tmp = begin, end))
- {
- return this->parse_atom(begin = tmp, end);
- }
- break;
-
- case token_negative_lookahead:
- negative = true;
- BOOST_FALLTHROUGH;
- case token_positive_lookahead:
- lookahead = true;
- break;
-
- case token_negative_lookbehind:
- negative = true;
- BOOST_FALLTHROUGH;
- case token_positive_lookbehind:
- lookbehind = true;
- break;
-
- case token_independent_sub_expression:
- keeper = true;
- break;
-
- case token_comment:
- while(BOOST_XPR_ENSURE_(begin != end, error_paren, "mismatched parenthesis"))
- {
- switch(this->traits_.get_token(begin, end))
- {
- case token_group_end:
- return this->parse_atom(begin, end);
- case token_escape:
- BOOST_XPR_ENSURE_(begin != end, error_escape, "incomplete escape sequence");
- BOOST_FALLTHROUGH;
- case token_literal:
- ++begin;
- break;
- default:
- break;
- }
- }
- break;
-
- case token_recurse:
- BOOST_XPR_ENSURE_
- (
- begin != end && token_group_end == this->traits_.get_token(begin, end)
- , error_paren
- , "mismatched parenthesis"
- );
- return detail::make_dynamic<BidiIter>(detail::regex_byref_matcher<BidiIter>(this->self_));
-
- case token_rule_assign:
- BOOST_THROW_EXCEPTION(
- regex_error(error_badrule, "rule assignments must be at the front of the regex")
- );
- break;
-
- case token_rule_ref:
- {
- typedef detail::core_access<BidiIter> access;
- BOOST_XPR_ENSURE_
- (
- begin != end && token_group_end == this->traits_.get_token(begin, end)
- , error_paren
- , "mismatched parenthesis"
- );
- basic_regex<BidiIter> &rex = this->rules_[name];
- shared_ptr<detail::regex_impl<BidiIter> > impl = access::get_regex_impl(rex);
- this->self_->track_reference(*impl);
- return detail::make_dynamic<BidiIter>(detail::regex_byref_matcher<BidiIter>(impl));
- }
-
- case token_named_mark:
- mark_nbr = static_cast<int>(++this->mark_count_);
- for(std::size_t i = 0; i < this->self_->named_marks_.size(); ++i)
- {
- BOOST_XPR_ENSURE_(this->self_->named_marks_[i].name_ != name, error_badmark, "named mark already exists");
- }
- this->self_->named_marks_.push_back(detail::named_mark<char_type>(name, this->mark_count_));
- seq = detail::make_dynamic<BidiIter>(detail::mark_begin_matcher(mark_nbr));
- seq_end = detail::make_dynamic<BidiIter>(detail::mark_end_matcher(mark_nbr));
- break;
-
- case token_named_mark_ref:
- BOOST_XPR_ENSURE_
- (
- begin != end && token_group_end == this->traits_.get_token(begin, end)
- , error_paren
- , "mismatched parenthesis"
- );
- for(std::size_t i = 0; i < this->self_->named_marks_.size(); ++i)
- {
- if(this->self_->named_marks_[i].name_ == name)
- {
- mark_nbr = static_cast<int>(this->self_->named_marks_[i].mark_nbr_);
- return detail::make_backref_xpression<BidiIter>
- (
- mark_nbr, this->traits_.flags(), this->rxtraits()
- );
- }
- }
- BOOST_THROW_EXCEPTION(regex_error(error_badmark, "invalid named back-reference"));
- break;
-
- default:
- mark_nbr = static_cast<int>(++this->mark_count_);
- seq = detail::make_dynamic<BidiIter>(detail::mark_begin_matcher(mark_nbr));
- seq_end = detail::make_dynamic<BidiIter>(detail::mark_end_matcher(mark_nbr));
- break;
- }
-
- // alternates
- seq += this->parse_alternates(begin, end);
- seq += seq_end;
- BOOST_XPR_ENSURE_
- (
- begin != end && token_group_end == this->traits_.get_token(begin, end)
- , error_paren
- , "mismatched parenthesis"
- );
-
- typedef detail::shared_matchable<BidiIter> xpr_type;
- if(lookahead)
- {
- seq += detail::make_independent_end_xpression<BidiIter>(seq.pure());
- detail::lookahead_matcher<xpr_type> lam(seq.xpr(), negative, seq.pure());
- seq = detail::make_dynamic<BidiIter>(lam);
- }
- else if(lookbehind)
- {
- seq += detail::make_independent_end_xpression<BidiIter>(seq.pure());
- detail::lookbehind_matcher<xpr_type> lbm(seq.xpr(), seq.width().value(), negative, seq.pure());
- seq = detail::make_dynamic<BidiIter>(lbm);
- }
- else if(keeper) // independent sub-expression
- {
- seq += detail::make_independent_end_xpression<BidiIter>(seq.pure());
- detail::keeper_matcher<xpr_type> km(seq.xpr(), seq.pure());
- seq = detail::make_dynamic<BidiIter>(km);
- }
-
- // restore the modifiers
- this->traits_.flags(old_flags);
- return seq;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // parse_charset
- /// INTERNAL ONLY
- template<typename FwdIter>
- detail::sequence<BidiIter> parse_charset(FwdIter &begin, FwdIter end)
- {
- detail::compound_charset<traits_type> chset;
-
- // call out to a helper to actually parse the character set
- detail::parse_charset(begin, end, chset, this->traits_);
-
- return detail::make_charset_xpression<BidiIter>
- (
- chset
- , this->rxtraits()
- , this->traits_.flags()
- );
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // parse_atom
- /// INTERNAL ONLY
- template<typename FwdIter>
- detail::sequence<BidiIter> parse_atom(FwdIter &begin, FwdIter end)
- {
- using namespace regex_constants;
- escape_value esc = { 0, 0, 0, detail::escape_char };
- FwdIter old_begin = begin;
-
- switch(this->traits_.get_token(begin, end))
- {
- case token_literal:
- return detail::make_literal_xpression<BidiIter>
- (
- this->parse_literal(begin, end), this->traits_.flags(), this->rxtraits()
- );
-
- case token_any:
- return detail::make_any_xpression<BidiIter>(this->traits_.flags(), this->rxtraits());
-
- case token_assert_begin_sequence:
- return detail::make_dynamic<BidiIter>(detail::assert_bos_matcher());
-
- case token_assert_end_sequence:
- return detail::make_dynamic<BidiIter>(detail::assert_eos_matcher());
-
- case token_assert_begin_line:
- return detail::make_assert_begin_line<BidiIter>(this->traits_.flags(), this->rxtraits());
-
- case token_assert_end_line:
- return detail::make_assert_end_line<BidiIter>(this->traits_.flags(), this->rxtraits());
-
- case token_assert_word_boundary:
- return detail::make_assert_word<BidiIter>(detail::word_boundary<mpl::true_>(), this->rxtraits());
-
- case token_assert_not_word_boundary:
- return detail::make_assert_word<BidiIter>(detail::word_boundary<mpl::false_>(), this->rxtraits());
-
- case token_assert_word_begin:
- return detail::make_assert_word<BidiIter>(detail::word_begin(), this->rxtraits());
-
- case token_assert_word_end:
- return detail::make_assert_word<BidiIter>(detail::word_end(), this->rxtraits());
-
- case token_escape:
- esc = this->parse_escape(begin, end);
- switch(esc.type_)
- {
- case detail::escape_mark:
- return detail::make_backref_xpression<BidiIter>
- (
- esc.mark_nbr_, this->traits_.flags(), this->rxtraits()
- );
- case detail::escape_char:
- return detail::make_char_xpression<BidiIter>
- (
- esc.ch_, this->traits_.flags(), this->rxtraits()
- );
- case detail::escape_class:
- return detail::make_posix_charset_xpression<BidiIter>
- (
- esc.class_
- , this->is_upper_(*begin++)
- , this->traits_.flags()
- , this->rxtraits()
- );
- }
-
- case token_group_begin:
- return this->parse_group(begin, end);
-
- case token_charset_begin:
- return this->parse_charset(begin, end);
-
- case token_invalid_quantifier:
- BOOST_THROW_EXCEPTION(regex_error(error_badrepeat, "quantifier not expected"));
- break;
-
- case token_quote_meta_begin:
- return detail::make_literal_xpression<BidiIter>
- (
- this->parse_quote_meta(begin, end), this->traits_.flags(), this->rxtraits()
- );
-
- case token_quote_meta_end:
- BOOST_THROW_EXCEPTION(
- regex_error(
- error_escape
- , "found quote-meta end without corresponding quote-meta begin"
- )
- );
- break;
-
- case token_end_of_pattern:
- break;
-
- default:
- begin = old_begin;
- break;
- }
-
- return detail::sequence<BidiIter>();
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // parse_quant
- /// INTERNAL ONLY
- template<typename FwdIter>
- detail::sequence<BidiIter> parse_quant(FwdIter &begin, FwdIter end)
- {
- BOOST_ASSERT(begin != end);
- detail::quant_spec spec = { 0, 0, false, &this->hidden_mark_count_ };
- detail::sequence<BidiIter> seq = this->parse_atom(begin, end);
-
- // BUGBUG this doesn't handle the degenerate (?:)+ correctly
- if(!seq.empty() && begin != end && detail::quant_none != seq.quant())
- {
- if(this->traits_.get_quant_spec(begin, end, spec))
- {
- BOOST_ASSERT(spec.min_ <= spec.max_);
-
- if(0 == spec.max_) // quant {0,0} is degenerate -- matches nothing.
- {
- seq = this->parse_quant(begin, end);
- }
- else
- {
- seq.repeat(spec);
- }
- }
- }
-
- return seq;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // parse_sequence
- /// INTERNAL ONLY
- template<typename FwdIter>
- detail::sequence<BidiIter> parse_sequence(FwdIter &begin, FwdIter end)
- {
- detail::sequence<BidiIter> seq;
-
- while(begin != end)
- {
- detail::sequence<BidiIter> seq_quant = this->parse_quant(begin, end);
-
- // did we find a quantified atom?
- if(seq_quant.empty())
- break;
-
- // chain it to the end of the xpression sequence
- seq += seq_quant;
- }
-
- return seq;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // parse_literal
- // scan ahead looking for char literals to be globbed together into a string literal
- /// INTERNAL ONLY
- template<typename FwdIter>
- string_type parse_literal(FwdIter &begin, FwdIter end)
- {
- using namespace regex_constants;
- BOOST_ASSERT(begin != end);
- BOOST_ASSERT(token_literal == this->traits_.get_token(begin, end));
- escape_value esc = { 0, 0, 0, detail::escape_char };
- string_type literal(1, *begin);
-
- for(FwdIter prev = begin, tmp = ++begin; begin != end; prev = begin, begin = tmp)
- {
- detail::quant_spec spec = { 0, 0, false, &this->hidden_mark_count_ };
- if(this->traits_.get_quant_spec(tmp, end, spec))
- {
- if(literal.size() != 1)
- {
- begin = prev;
- literal.erase(boost::prior(literal.end()));
- }
- return literal;
- }
- else switch(this->traits_.get_token(tmp, end))
- {
- case token_escape:
- esc = this->parse_escape(tmp, end);
- if(detail::escape_char != esc.type_) return literal;
- literal.insert(literal.end(), esc.ch_);
- break;
- case token_literal:
- literal.insert(literal.end(), *tmp++);
- break;
- default:
- return literal;
- }
- }
-
- return literal;
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // parse_quote_meta
- // scan ahead looking for char literals to be globbed together into a string literal
- /// INTERNAL ONLY
- template<typename FwdIter>
- string_type parse_quote_meta(FwdIter &begin, FwdIter end)
- {
- using namespace regex_constants;
- FwdIter old_begin = begin, old_end;
- while(end != (old_end = begin))
- {
- switch(this->traits_.get_token(begin, end))
- {
- case token_quote_meta_end:
- return string_type(old_begin, old_end);
- case token_escape:
- BOOST_XPR_ENSURE_(begin != end, error_escape, "incomplete escape sequence");
- BOOST_FALLTHROUGH;
- case token_invalid_quantifier:
- case token_literal:
- ++begin;
- break;
- default:
- break;
- }
- }
- return string_type(old_begin, begin);
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // parse_escape
- /// INTERNAL ONLY
- template<typename FwdIter>
- escape_value parse_escape(FwdIter &begin, FwdIter end)
- {
- BOOST_XPR_ENSURE_(begin != end, regex_constants::error_escape, "incomplete escape sequence");
-
- // first, check to see if this can be a backreference
- if(0 < this->rxtraits().value(*begin, 10))
- {
- // Parse at most 3 decimal digits.
- FwdIter tmp = begin;
- int mark_nbr = detail::toi(tmp, end, this->rxtraits(), 10, 999);
-
- // If the resulting number could conceivably be a backref, then it is.
- if(10 > mark_nbr || mark_nbr <= static_cast<int>(this->mark_count_))
- {
- begin = tmp;
- escape_value esc = {0, mark_nbr, 0, detail::escape_mark};
- return esc;
- }
- }
-
- // Not a backreference, defer to the parse_escape helper
- return detail::parse_escape(begin, end, this->traits_);
- }
-
- bool is_upper_(char_type ch) const
- {
- return 0 != this->upper_ && this->rxtraits().isctype(ch, this->upper_);
- }
-
- std::size_t mark_count_;
- std::size_t hidden_mark_count_;
- CompilerTraits traits_;
- typename RegexTraits::char_class_type upper_;
- shared_ptr<detail::regex_impl<BidiIter> > self_;
- std::map<string_type, basic_regex<BidiIter> > rules_;
-};
-
-}} // namespace boost::xpressive
-
-#endif
diff --git a/contrib/restricted/boost/xpressive/include/boost/xpressive/xpressive_dynamic.hpp b/contrib/restricted/boost/xpressive/include/boost/xpressive/xpressive_dynamic.hpp
deleted file mode 100644
index 18c7ff97e3..0000000000
--- a/contrib/restricted/boost/xpressive/include/boost/xpressive/xpressive_dynamic.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/// \file xpressive_dynamic.hpp
-/// Includes everything you need to write and use dynamic regular expressions.
-//
-// Copyright 2008 Eric Niebler. Distributed under the 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_XPRESSIVE_DYNAMIC_HPP_EAN_10_04_2005
-#define BOOST_XPRESSIVE_DYNAMIC_HPP_EAN_10_04_2005
-
-// MS compatible compilers support #pragma once
-#if defined(_MSC_VER)
-# pragma once
-#endif
-
-#include <boost/xpressive/regex_compiler.hpp>
-#include <boost/xpressive/basic_regex.hpp>
-#include <boost/xpressive/sub_match.hpp>
-#include <boost/xpressive/match_results.hpp>
-#include <boost/xpressive/regex_algorithms.hpp>
-#include <boost/xpressive/regex_iterator.hpp>
-#include <boost/xpressive/regex_token_iterator.hpp>
-
-#endif